- Суперскалярность
-
Суперскалярность — архитектура вычислительного ядра, использующая несколько декодеров команд, которые могут загружать работой множество исполнительных блоков. Планирование исполнения потока команд является динамическим и осуществляется самим вычислительным ядром.
Если в процессе работы команды, обрабатываемые конвейером, не противоречат друг другу, и одна не зависит от результата другой, то такое устройство (ядро) может осуществить параллельное выполнение команд. В суперскалярных системах решение о запуске инструкции на исполнение принимает сам вычислительный модуль, что требует много ресурсов. В более поздних системах, таких как Эльбрус-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 Ускорение вычислений
В суперскалярных вычислительных машинах используется ряд методов для ускорения вычислений, характерных прежде всего для них, однако такие методики могут использоваться и в других типах архитектур:
- Внеочередное исполнение
- Переименование регистров
- Объединение нескольких команд в одну
Также используются общие методики увеличения производительности, применяемые и в других типах вычислительных машин:
- Предсказатель переходов
- Кэш
- Конвейер — используется во всех современных суперскалярах
Примечания
- ↑ Классификация Хендлера. PARALLEL.RU - Информационно-аналитический центр по параллельным вычислениям:. Архивировано из первоисточника 26 февраля 2012. Проверено 16 августа 2009.
- ↑ см. http://domino.research.ibm.com/tchjr/journalindex.nsf/ResVolumes!OpenView&Start=1&Count=1000&Expand=42.1#42.1.
Литература
- Э.Таненбаум Архитектура компьютера = Structured Computer Organization. — 5-е изд. — СПб.: Питер, 2007. — С. 81-83. — 848 с. — (Классика Computer Science). — ISBN 5-469-01274-3
Технологии цифровых процессоров Архитектура CISC · EDGE · EPIC · MISC · URISC · RISC · VLIW · ZISC · Фон Неймана · Гарвардская
8 бит · 16 бит · 32 бит · 64 бит · 128 битПараллелизм Pipeline Конвейер · In-Order & Out-of-Order execution · Переименование регистров · Speculative execution Уровни Бит · Инструкций · Суперскалярность · Данных · Задач Потоки Многопоточность · Simultaneous multithreading · Hyperthreading · Superthreading · Аппаратная виртуализация Классификация Флинна SISD · SIMD · MISD · MIMD Реализации DSP · GPU · SoC · PPU · Векторный процессор · Математический сопроцессор • Микропроцессор · Микроконтроллер Компоненты Barrel shifter · FPU · BSB · MMU · TLB · Регистровый файл · control unit · АЛУ • Демультиплексор · Мультиплексор · Микрокод · Тактовая частота • Корпус • Регистры • Кэш (Кэш процессора) Управление питанием APM · ACPI · Clock gating · Динамическое изменение частоты • Динамическое изменение напряжения Это заготовка статьи о компьютерах. Вы можете помочь проекту, исправив и дополнив её.
Это примечание по возможности следует заменить более точным.Категории:- Технологии процессоров
- Параллельные вычислительные системы
Wikimedia Foundation. 2010.