19-10-2023
Суперскалярность — архитектура вычислительного ядра, использующая несколько декодеров команд, которые могут загружать работой множество исполнительных блоков. Планирование исполнения потока команд является динамическим и осуществляется самим вычислительным ядром.
Если в процессе работы команды, обрабатываемые конвейером, не противоречат друг другу, и одна не зависит от результата другой, то такое устройство (ядро) может осуществить параллельное выполнение команд. В суперскалярных системах решение о запуске инструкции на исполнение принимает сам вычислительный модуль, что требует много ресурсов. В более поздних системах, таких как Эльбрус-3 и Itanium, используется статпланирование, то есть параллельные инструкции объединяются компилятором в длинную команду, в которой все инструкции заведомо параллельные (архитектура VLIW).
Существует спор относительно того, какую ЭВМ можно считать первой суперскалярной. В иностранной литературе чаще всего указывается CDC 6600 (англ.) (1964) разработанная Сеймуром Крэем.[1] В СССР первой суперскалярной ЭВМ считался «Эльбрус», разработка которого велась в 1973—1979 годах в ИТМиВТ. Основным структурным отличием Эльбруса от CDC 6600 (кроме, естественно, совершенно другой видимой программисту системы команд — стекового типа) являлось то, что все модули исполнения в нём были конвейеризованы, как в современных суперскалярных микропроцессорах. На основании этого факта Б. А. Бабаян заявлял о приоритете советских ЭВМ в вопросе построения суперскалярных вычислительных машин, однако уже следующая за CDC 6600 машина фирмы Cоntrol Data, CDC 7600 (англ.) 1969 года имела конвейеризацию исполнительных устройств. Кроме того, несколько ранее (1967) фирмой IBM была выпущена машина IBM 360/91, использующая out-of order execution, переименование регистров и конвейеризацию исполнительных устройств[2] Первым же коммерчески широкодоступным суперскалярным микропроцессором стал I960, вышедший в 1988 году. В 1990-е годы основным производителем суперскалярных микропроцессоров стал Intel.
Содержание |
Процессоры, поддерживающие суперскалярность:
Архитектура | Первая реализация | Год | Разработчик | Другие разработчики суперскалярных ЭВМ на данной архитектуре | Примечание |
---|---|---|---|---|---|
CDC 6600 | CDC 6600 | 1964 | Control Data Corporation | Конвейер исполнения команд, несколько исполнительных устройств (но не конвейеризованных). | |
CDC 7600 | CDC 7600 | 1969 | Control Data Corporation | Полная конвейеризация — и исполнения команд, и самих исполнительных устройств. | |
IBM 360/91 | IBM 360/91 | 1967 | IBM | Полная конвейеризация с динамическим переименованием регистров, исполнением команд не в очередности их поступления и предсказанием переходов | |
Эльбрус | Эльбрус-1 | 1979 | ИТМиВТ | ||
I960 | I960 | 1988 | Intel | ||
SPARC | SuperSPARC | 1992 | Sun Microsystems | Fujitsu, МЦСТ | |
x86 | Pentium | 1993 | Intel | AMD, VIA | |
MIPS | R8000 | 1994 | MIPS Technologies | Toshiba | |
ARM | Cortex A8 | ARM |
В суперскалярных вычислительных машинах используется ряд методов для ускорения вычислений, характерных прежде всего для них, однако такие методики могут использоваться и в других типах архитектур:
Также используются общие методики увеличения производительности, применяемые и в других типах вычислительных машин:
Технологии цифровых процессоров | |||||||||
---|---|---|---|---|---|---|---|---|---|
Архитектура |
CISC · EDGE · EPIC · MISC · URISC · RISC · VLIW · ZISC · Фон Неймана · Гарвардская |
||||||||
Параллелизм |
|
||||||||
Реализации | DSP · GPU · SoC · PPU · Векторный процессор · Математический сопроцессор • Микропроцессор · Микроконтроллер | ||||||||
Компоненты | Barrel shifter · FPU · BSB · MMU · TLB · Регистровый файл · control unit · АЛУ • Демультиплексор · Мультиплексор · Микрокод · Тактовая частота • Корпус • Регистры • Кэш (Кэш процессора) | ||||||||
Управление питанием | APM · ACPI · Clock gating · Динамическое изменение частоты • Динамическое изменение напряжения |
Это заготовка статьи о компьютерах. Вы можете помочь проекту, исправив и дополнив её. Это примечание по возможности следует заменить более точным. |
Суперскалярность.