Суперскалярность — архитектура вычислительного ядра, использующая несколько декодеров команд, которые могут нагружать работой множество исполнительных блоков. Планирование исполнения потока команд является динамическим и осуществляется самим вычислительным ядром.
Если в процессе работы команды, обрабатываемые конвейером, не противоречат друг другу, и одна не зависит от результата другой, то такое устройство может осуществить параллельное выполнение команд. В суперскалярных системах решение о запуске инструкции на исполнение принимает сам вычислительный модуль, что требует много ресурсов. В более поздних системах, таких как Эльбрус-3 и Itanium, используется статпланирование, то есть параллельные инструкции объединяются компилятором в длинную команду, в которой все инструкции заведомо параллельные (архитектура VLIW).
Существует спор относительно того, какую ЭВМ можно считать первой суперскалярной. В иностранной литературе чаще всего указываетсяCDC 6600 (англ.) (1964) разработанная Сеймуром Крейем.[1] В СССР первой суперскалярной ЭВМ считался «Эльбрус», разработка которого велась в 1973—1979 годах в ИТМиВТ. Основным структурным отличием Эльбруса от CDC 6600 (кроме, естественно, совершенно другой видимой программисту системы команд — стекового типа) являлось то, что все модули исполнения в нём были конвейеризованы, как в современных суперскалярных микропроцессорах. На основании этого факта Б. А. Бабаян заявлял о приоритете советских ЭВМ в вопросе построения суперскалярных вычислительных машин, однако его мнение лишено достаточных оснований[источник не указан 363 дня], ибо уже следующая за 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[источник не указан 343 дня] CDC 7600 1969 Control Data Corporation Полная конвейеризация — и исполнения команд, и самих исполнительных устройств. IBM 360/91[источник не указан 343 дня] IBM 360/91 1967 IBM Полная конвейеризация с динамическим переименованием регистров, исполнением команд не в очередности их поступления и предсказанием переходов Эльбрус Эльбрус-1 1979 ИТМиВТ I960 I960 1988 Интел SPARC SuperSPARC 1992 Sun Microsystems Fujitsu, МЦСТ x86 Pentium 1993 Intel AMD, VIA MIPS R8000 1994 MIPS Technologies Toshiba ARM Cortex A8 ARM