АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Суперскалярная архитектура

Читайте также:
  1. Архитектура Древнего Востока. Монументальная культовая архитектура.
  2. АРХИТЕКТУРА.
  3. АРХИТЕКТУРА.
  4. Города и архитектура.
  5. Мегалитическая архитектура.
  6. Поздневизантийская архитектура.
  7. Средневизантийская архитектура.
  8. Судовая архитектура.

Конвейеры в процессорах компании Intel появились, только начиная с 486-ой модели, содержавшей один конвейер. Pentium содержит 2 конвейера из 5 стадий (рис.6.7), причём главный конвейер U-конвейер может выполнять произвольные команды, второй- V-конвейер может выполнять только простые команды и одну команду с плавающей точкой (FXCH).

 

С1 С2 С3 С4 С5

 

       
 
 
   
Рис.6.7. Двойной конвейер из пяти стадий с общим отделом вызова команд

 

 


В процессорах Intel все операции с плавающей точкой выполняет специальное устройство FPU с собственными регистрами и набором команд, начиная с 486 оно встроено в основной процессор, ранее сопроцессор FXCH.

Имеются сложные правила определения совместимости пар команд. Pentium содержит особые компиляторы, которые объединяют совместимые команды в пары и могут порождать программы, выполняющиеся быстрее чем в предыдущих версиях процессоров.

Переход к большему количеству конвейеров возможен, но требует создания громоздкого аппаратного обеспечения, поэтому используется другой подход. Основная идея – один конвейер с большим количеством функциональных блоков, для обозначения этого подхода был введён термин суперскалярная архитектура. Стадия 3 выпускает команды значительно быстрее, чем стадия 4 способна их выполнять, поэтому вводится несколько функциональных блоков 4 стадии. Большинство функциональных блоков 4-ой стадии для выполнения требуют значительно больше времени, чем занимает один цикл (это блоки доступа к памяти, блок выполнения операция с плавающей точкой).

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

Суперскалярным называется центральный процессор, который одновременно выполняет более чем одну скалярную операцию. Это достигается за счет включения в центральный процессор нескольких самостоятельных функциональных (испольнительных) блоков, каждый из которых отвечает за свой класс операций и может присутствовать в процессоре в нескольких экземплярах (рис.6.8).



Рис.6.8. Суперскалярный процессор с пятью функциональными блоками
Блок возврата  
Блок сохранения
Блок загрузки
АЛУ
АЛУ
Блок выборки операндов
Блок декодирования
Блок выборки команд
Блок с плавающей точкой

 

Суперскалярные процессоры конца 90-х годов могли исполнять до 4-6 инструкций за один машинный цикл. На практике они выполняют в среднем 1,5 инструкции за такт. «Продвинутые» суперскалярные процессоры (Advanced superscalar) смогут выполнять от 16 до 32 инструкций за такт. Чем это обернется на практике, пока сказать трудно, но и для «суперскалярной» архитектуры существенным ограничением является поток обрабатываемых данных.

В общем виде «продвинутая» суперскалярная архитектура состоит из 24-48 высокооптимизированных конвейерных блоков (например, блоков, выполняющих операции с плавающей точкой или обрабатывающих целые числа). Как и в простых суперскалярных архитектурах, каждый блок получает свою собственную «резервацию» - временное место хранения, где накапливается очередь инструкций, выполняемых данным блоком.

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

 


[1] Подобные решения были приняты разработчиками ЭВМ различных фирм с учётом требований программистов.

[2]При использовании комбинации обоих методов обычно производится трансляция программы, создаётся новая программа, в которой простые команды выполняются на языке нулевого уровня непосредственно (например: команда сдвига регистра на 1разряд), а сложные команды (например: команда умножения) интерпретируются, т.е. запускается на выполнение микропрограмма этой команды.

‡агрузка...

[3] Полужирным шрифтом здесь и далее выделен знак числа.

[4] В некоторых источниках статический способ представления информации называют импульсным, динамический способ - потенциальным.

[5] Количество сигналов, их последовательность, временные выдержки между сигналами определяется в протоколах согласования работы узлов ВМ.

[6] Такт-это время выполнения одной элементарной операции

[7] Предикация-способ обработки условных ветвлений, компилятор указывает, что обе ветви выполняются на процессоре параллельно.

[8] Омнибусами в Англии стали называть двухэтажные автомобили, которые стали первым общественным транспортом в Лондоне, т.е. транспортом для всех. В дальнейшем вторая часть слова омнибус стала основой для появления таких названий как автобус, троллейбус, а теперь и названием шины ВМ.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 |


Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.)