~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ E3B2BD6A3B8DBD10CBC56877085E7CE4__1717164000 ✰
Заголовок документа оригинал.:
✰ Superscalar processor - Wikipedia ✰
Заголовок документа перевод.:
✰ Суперскалярный процессор — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Superscalar_processor ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/e3/e4/e3b2bd6a3b8dbd10cbc56877085e7ce4.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/e3/e4/e3b2bd6a3b8dbd10cbc56877085e7ce4__translat.html ✰
Дата и время сохранения документа:
✰ 20.06.2024 18:24:49 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 31 May 2024, at 17:00 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Суперскалярный процессор — Википедия Jump to content

Суперскалярный процессор

Из Википедии, бесплатной энциклопедии
Простой суперскалярный конвейер. При одновременной выборке и отправке двух инструкций можно выполнить максимум две инструкции за цикл. (IF = выборка инструкции, ID = декодирование инструкции, EX = выполнение, MEM = доступ к памяти, WB = обратная запись в регистр, i = номер инструкции, t = тактовый цикл [т. е. время])
Процессорная плата суперкомпьютера CRAY T3e с четырьмя суперскалярными Alpha 21164 процессорами

Суперскалярный процессор — это ЦП , который реализует форму параллелизма , называемую параллелизмом на уровне команд, внутри одного процессора. [1] В отличие от скалярного процессора , который может выполнять не более одной инструкции за такт, суперскалярный процессор может выполнять более одной инструкции за такт, одновременно отправляя несколько инструкций различным исполнительным блокам процессора. Таким образом, он обеспечивает большую пропускную способность (количество инструкций, которые могут быть выполнены в единицу времени), чем было бы возможно в противном случае при заданной тактовой частоте . Каждый исполнительный блок — это не отдельный процессор (или ядро, если процессор многоядерный ) , а исполнительный ресурс внутри одного ЦП, например арифметико-логический блок .

Хотя суперскалярный ЦП обычно также является конвейерным , суперскалярное и конвейерное выполнение считаются разными методами повышения производительности. Первый (суперскаляр) выполняет несколько инструкций параллельно, используя несколько исполнительных блоков, тогда как второй (конвейер) выполняет несколько инструкций в одном и том же исполнительном блоке параллельно, разделяя исполнительный блок на разные фазы. На рисунке «Простой суперскалярный конвейер» одновременная выборка двух инструкций представляет собой супермасштабирование, а выборка следующих двух до того, как первая пара будет записана обратно, — это конвейерная обработка.

Суперскалярный метод традиционно связан с несколькими идентифицирующими характеристиками (внутри данного ЦП):

  • Инструкции выдаются из последовательного потока инструкций.
  • ЦП динамически проверяет зависимости данных между инструкциями во время выполнения (в отличие от программной проверки во время компиляции ).
  • ЦП может выполнять несколько инструкций за такт

История [ править ]

Сеймура Крея 1964 CDC 6600 года часто упоминается как первая суперскалярная конструкция. 1967 года IBM System/360 Model 91 была еще одним суперскалярным мэйнфреймом. Intel i960 CA (1989 г.), [2] AMD 29000 -серия 29050 (1990 г.) и Motorola MC88110 (1991 г.), [3] микропроцессоры были первыми коммерческими однокристальными суперскалярными микропроцессорами. Подобные RISC- микропроцессоры были первыми, которые имели суперскалярное выполнение, поскольку в RISC-архитектуре отсутствуют транзисторы и площадь кристалла, которую можно использовать для включения нескольких исполнительных блоков, а традиционная однородность набора команд способствует суперскалярной диспетчеризации (именно поэтому конструкции RISC были быстрее, чем CISC). разрабатывались на протяжении 1980-х и 1990-х годов, и гораздо сложнее выполнять множественную отправку, когда инструкции имеют переменную битовую длину).

За исключением процессоров, используемых в приложениях с низким энергопотреблением , встроенных системах и устройствах с батарейным питанием, практически все процессоры общего назначения, разработанные примерно с 1998 года, являются суперскалярными.

P5 Pentium был первым суперскалярным процессором x86; Nx586 перед , P6 Pentium Pro и AMD K5 были одними из первых разработок, которые асинхронно декодировали x86- инструкции в динамические последовательности микроопераций , подобные микрокоду, фактическим выполнением на суперскалярной микроархитектуре ; это открыло возможности динамического планирования буферизованных частичных инструкций и позволило извлечь больше параллелизма по сравнению с более жесткими методами, используемыми в более простом P5 Pentium ; это также упростило спекулятивное выполнение и позволило повысить тактовые частоты по сравнению с такими конструкциями, как усовершенствованный Cyrix 6x86 .

Скаляр в суперскаляр [ править ]

Простейшими процессорами являются скалярные процессоры. Каждая инструкция, выполняемая скалярным процессором, обычно манипулирует одним или двумя элементами данных одновременно. Напротив, каждая инструкция, выполняемая векторным процессором, одновременно обрабатывает множество элементов данных. Аналогия - это разница между скалярной и векторной арифметикой. Суперскалярный процессор представляет собой смесь этих двух. Каждая инструкция обрабатывает один элемент данных, но в каждом ЦП имеется несколько исполнительных блоков, поэтому несколько инструкций могут обрабатывать отдельные элементы данных одновременно.

Суперскалярный дизайн ЦП направлен на повышение точности диспетчера инструкций и позволяет ему постоянно использовать несколько исполнительных блоков. Это становится все более важным по мере увеличения количества единиц. В то время как ранние суперскалярные процессоры имели два ALU и один FPU , более поздняя конструкция, такая как PowerPC 970, включала четыре ALU, два FPU и два блока SIMD. Если диспетчер не сможет обеспечить все эти подразделения инструкциями, производительность системы будет не лучше, чем у более простой и дешевой конструкции.

Суперскалярный процессор обычно поддерживает скорость выполнения, превышающую одну инструкцию за машинный цикл . Но простая одновременная обработка нескольких инструкций не делает архитектуру суперскалярной, поскольку конвейерные , многопроцессорные или многоядерные архитектуры также достигают этого, но разными методами.

В суперскалярном ЦП диспетчер считывает инструкции из памяти и решает, какие из них могут выполняться параллельно, отправляя каждую из нескольких исполнительных единиц, содержащихся внутри одного ЦП. Следовательно, суперскалярный процессор можно представить как имеющий несколько параллельных конвейеров, каждый из которых одновременно обрабатывает инструкции из одного потока команд.

Большинство современных суперскалярных процессоров также имеют логику для изменения порядка инструкций, чтобы избежать остановок конвейера и увеличить параллельное выполнение.

Ограничения [ править ]

Доступное улучшение производительности с помощью суперскалярных методов ограничено тремя ключевыми областями:

  • Степень внутреннего параллелизма в потоке команд (инструкции, требующие одних и тех же вычислительных ресурсов от ЦП).
  • Сложность и временные затраты на логику проверки зависимостей и переименования регистров. схему
  • Обработка инструкций ветвления

Существующие двоичные исполняемые программы имеют разную степень внутреннего параллелизма. В некоторых случаях инструкции не зависят друг от друга и могут выполняться одновременно. В других случаях они взаимозависимы: одна инструкция влияет либо на ресурсы, либо на результаты другой. Инструкции a = b + c; d = e + fмогут выполняться параллельно, поскольку ни один из результатов не зависит от других вычислений. Однако инструкции a = b + c; b = e + f может быть невозможно выполнять параллельно, в зависимости от порядка выполнения инструкций при прохождении через модули.

Хотя поток команд может не содержать никаких зависимостей между командами, суперскалярный ЦП, тем не менее, должен проверить такую ​​возможность, поскольку в противном случае нет никакой гарантии, и неспособность обнаружить зависимость приведет к неверным результатам.

Независимо от того, насколько развит полупроводниковый процесс или насколько высока скорость переключения, это накладывает практический предел на количество инструкций, которые могут быть отправлены одновременно. Хотя развитие процессов позволит использовать все большее количество исполнительных устройств (например, ALU), бремя проверки зависимостей команд быстро растет, равно как и сложность схем переименования регистров для смягчения некоторых зависимостей. В совокупности потребляемая мощность , сложность и затраты на задержку вентиля ограничивают достижимое суперскалярное ускорение.

Однако даже с учетом бесконечно быстрой логики проверки зависимостей на обычном суперскалярном процессоре, если сам поток команд имеет много зависимостей, это также ограничит возможное ускорение. Таким образом, степень внутреннего параллелизма в потоке кода образует второе ограничение.

Альтернативы [ править ]

В совокупности эти ограничения стимулируют исследование альтернативных архитектурных изменений, таких как очень длинное командное слово (VLIW), явно параллельные вычисления команд (EPIC), одновременная многопоточность (SMT) и многоядерные вычисления .

С помощью VLIW обременительная задача проверки зависимостей аппаратной логикой во время выполнения удаляется и делегируется компилятору . Явно параллельные вычисления команд (EPIC) похожи на VLIW с дополнительными инструкциями по предварительной выборке из кэша.

Одновременная многопоточность (SMT) — это метод повышения общей эффективности суперскалярных процессоров. SMT допускает несколько независимых потоков выполнения, чтобы лучше использовать ресурсы, предоставляемые современными процессорными архитектурами. Тот факт, что они независимы, означает, что мы знаем, что инструкция одного потока может выполняться вне очереди и/или параллельно с инструкцией другого потока. Также один независимый поток не будет создавать пузырь конвейера в потоке кода другого, например, из-за ветвления.

Суперскалярные процессоры отличаются от многоядерных процессоров тем, что несколько исполнительных блоков не являются целыми процессорами. Один процессор состоит из более детальных исполнительных блоков, таких как ALU , целочисленный умножитель , целочисленный сдвиг, FPU и т. д. Может существовать несколько версий каждого исполнительного блока, чтобы обеспечить параллельное выполнение множества инструкций. Это отличается от многоядерного процессора, который одновременно обрабатывает инструкции из нескольких потоков, по одному потоку на процессор (так называемый «ядро»). Он также отличается от конвейерного процессора , в котором несколько инструкций могут одновременно находиться на разных стадиях выполнения, как на конвейере .

Различные альтернативные методы не являются взаимоисключающими — их можно (и часто так и делают) комбинировать в одном процессоре. Таким образом, возможен многоядерный ЦП, в котором каждое ядро ​​представляет собой независимый процессор, содержащий несколько параллельных конвейеров, причем каждый конвейер является суперскалярным. Некоторые процессоры также поддерживают векторную обработку.

См. также [ править ]

Ссылки [ править ]

  1. ^ «Что такое суперскалярный процессор? — Определение из Techopedia» . Techopedia.com . Проверено 29 августа 2022 г.
  2. ^ Макгиди, Стивен (весна 1990 г.). «Реализация i960CA SuperScalar архитектуры 80960». Дайджест статей Compcon Spring '90. Тридцать пятая международная конференция IEEE Computer Society по интеллектуальному использованию . стр. 232–240. дои : 10.1109/CMPCON.1990.63681 . ISBN  0-8186-2028-5 . S2CID   13206773 . {{cite book}}: |journal= игнорируется ( помогите )
  3. ^ Дифендорф, К.; Аллен, М. (весна 1992 г.). «Суперскалярный RISC-микропроцессор Motorola 88110». Дайджест докладов КОМПКОН, весна 1992 г. стр. 157–162. дои : 10.1109/CMPCON.1992.186702 . ISBN  0-8186-2655-0 . S2CID   34913907 . {{cite book}}: |journal= игнорируется ( помогите )
  • Майк Джонсон , Проектирование суперскалярных микропроцессоров , Прентис-Холл, 1991 г., ISBN   0-13-875634-1
  • Сорин Котофана, Стаматис Василиадис, «О сложности проектирования логики суперскалярных машин», EUROMICRO 1998: 10277-10284
  • Стивен Макгиди и др., «Повышение производительности встроенного микропроцессора Superscalar i960MM», Материалы конференции ACM 1991 года по компьютерной архитектуре (Compcon) , 1991, стр. 4–7.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: E3B2BD6A3B8DBD10CBC56877085E7CE4__1717164000
URL1:https://en.wikipedia.org/wiki/Superscalar_processor
Заголовок, (Title) документа по адресу, URL1:
Superscalar processor - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)