71
Организация ЭВМ и систем Тема: Новые архитектурные решения VLIW архитектура Особенности IA – 64 Особенности EPIC

Лекция №10 Организация ЭВМ и систем

Embed Size (px)

Citation preview

Page 1: Лекция №10 Организация ЭВМ и систем

Организация ЭВМ и систем

Тема: Новые архитектурные решения

• VLIW архитектура• Особенности IA – 64• Особенности EPIC

Page 2: Лекция №10 Организация ЭВМ и систем

Есть абсолютная догма; Есть абсолютная догма;

надо, чтобы машины были быстрые, надо, чтобы машины были быстрые, с большой памятью, с большой памятью,

удобные для программирования.удобные для программирования.Это ведь легко понятная задача.Это ведь легко понятная задача.

Борис Арташесович Бабаян

Page 3: Лекция №10 Организация ЭВМ и систем

Создание процессора проходит несколько этапов. Создание процессора проходит несколько этапов. Сначала продумывается архитектураСначала продумывается архитектура..

•А что такое архитектура и почему она так важна?А что такое архитектура и почему она так важна?•Раньше, Раньше, до середины 60-хдо середины 60-х, вообще , вообще не было не было

понятия архитектуры, каждая машина была понятия архитектуры, каждая машина была уникальнауникальна.. А потом постепенно возникла проблема А потом постепенно возникла проблема совместимости. В общем, архитектура – это совместимости. В общем, архитектура – это логическое устройство машины – в отличие от логическое устройство машины – в отличие от технологии, «железа». (Б.А.Бабаян)технологии, «железа». (Б.А.Бабаян)

Потом разрабатывается ее описание на одном из Потом разрабатывается ее описание на одном из специальных языков высокого уровняспециальных языков высокого уровня, например, , например, Verilog.Verilog.

Как сделать процессорКак сделать процессор

Page 4: Лекция №10 Организация ЭВМ и систем

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

общему основанию.общему основанию.

Нужны ли новые архитектурные Нужны ли новые архитектурные решения для построения процессоров?решения для построения процессоров?И возможно ли придумать что-то новое?И возможно ли придумать что-то новое?

Page 5: Лекция №10 Организация ЭВМ и систем

Ее цель – групповое решение проблемы с одновременной тренировкой участников в соответствующих коммуникативных умениях и навыках. Этот вид дискуссии состоит из 5 этапов:

зарождение идеи (участникам дается время на выдвижение идей о путях решения данной проблемы);

все предложения выписываются на доске; обсуждается каждый предложенный вариант; рассматриваются наиболее подходящие варианты,

затем они располагаются по степени значимости, т.е. осуществляется верификация идей;

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

Прогрессивная дискуссияПрогрессивная дискуссия

Page 6: Лекция №10 Организация ЭВМ и систем

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

Чтобы ваше выступление было кратким и ясным, Чтобы ваше выступление было кратким и ясным, можно воспользоваться ПОПС-формулой:можно воспользоваться ПОПС-формулой:

П П – – позиция позиция (в чем заключается ваша точка зрения) – Я (в чем заключается ваша точка зрения) – Я считаю, что…считаю, что…

ОО – – обоснованиеобоснование (на чем вы основываетесь, довод в (на чем вы основываетесь, довод в поддержку вашей позиции) - …потому, что…поддержку вашей позиции) - …потому, что…

ПП – – примерпример (факты, иллюстрирующие ваш довод) - … (факты, иллюстрирующие ваш довод) - …например…например…

СС – – следствиеследствие (вывод, что надо сделать, призыв к (вывод, что надо сделать, призыв к принятию вашей позиции) -…поэтому….принятию вашей позиции) -…поэтому….

ПОПС-формулу часто называют МОПС-формулой ПОПС-формулу часто называют МОПС-формулой ((Мнение-Объяснение-Пример-Следствие).Мнение-Объяснение-Пример-Следствие).

ПОПС-формулаПОПС-формулаРекомендации для участника дискуссииРекомендации для участника дискуссии

Page 7: Лекция №10 Организация ЭВМ и систем

1.1.ПП2.2.ОО3.3.ПП4.4.СС

ПредложенияПредложения

Page 8: Лекция №10 Организация ЭВМ и систем

1991 год1991 годHP и Intel начали сотрудничество в области HP и Intel начали сотрудничество в области

микропроцессоров в 1989 году. HP требовался процессор микропроцессоров в 1989 году. HP требовался процессор следующего поколения для замены удачных серий следующего поколения для замены удачных серий рабочих станций и серверов, построенных на базе рабочих станций и серверов, построенных на базе процессоров с архитектурой PA-RISC, и компания хотела процессоров с архитектурой PA-RISC, и компания хотела воспользоваться достижениями и опытом Intel в воспользоваться достижениями и опытом Intel в разработке и производстве микрочипов.разработке и производстве микрочипов.

Новый процессор должен был использовать набор Новый процессор должен был использовать набор инструкций с явным параллелизмом (EPIC),инструкций с явным параллелизмом (EPIC), в котором в котором компилятор должен выстраивать инструкции для компилятор должен выстраивать инструкции для параллельного исполнения.параллельного исполнения. Были добавлены Были добавлены возможности для совместимости с приложениями возможности для совместимости с приложениями разработанными как для Intel x86, так и для PA-RISC. разработанными как для Intel x86, так и для PA-RISC.

ИсторияИстория

Page 9: Лекция №10 Организация ЭВМ и систем

Ожидалось, что разрабатываемый процессор будет Ожидалось, что разрабатываемый процессор будет доминировать на рынке серверов, рабочих станций и, доминировать на рынке серверов, рабочих станций и, возможно, даже настольных ПК, вытеснив вездесущую возможно, даже настольных ПК, вытеснив вездесущую архитектуру x86. Предполагалось, что конкуренты Intel, в архитектуру x86. Предполагалось, что конкуренты Intel, в первую очередь AMD, не смогут повторить новую первую очередь AMD, не смогут повторить новую архитектуру.архитектуру.

Первое поколение процессоров, имеющее кодовое Первое поколение процессоров, имеющее кодовое имя Merced, было выпущено в 2001 году. имя Merced, было выпущено в 2001 году.

Page 10: Лекция №10 Организация ЭВМ и систем

Предложенные в IA – 64 архитектурные идеи близки к Предложенные в IA – 64 архитектурные идеи близки к концепции концепции VLIWVLIW (Very Large Instruction World – сверх (Very Large Instruction World – сверх большое командное слово).большое командное слово).

VLIW - это набор команд, реализующий горизонтальный микрокод.

Несколько (4-8) простых команд упаковываются Несколько (4-8) простых команд упаковываются компилятором в длинное слово. Такое слово компилятором в длинное слово. Такое слово соответствует набору функциональных устройств. соответствует набору функциональных устройств. VLIW VLIW архитектуру можно рассматривать, как статическую архитектуру можно рассматривать, как статическую суперскалярную архитектурусуперскалярную архитектуру.. Имея ввиду, что Имея ввиду, что распараллеливание кода производится на этапе распараллеливание кода производится на этапе компиляции,компиляции, а не динамически во время исполнения. а не динамически во время исполнения. То есть, в машинном коде VLIW присутствует явный То есть, в машинном коде VLIW присутствует явный параллелизм.параллелизм.

VLIW архитектураVLIW архитектура

Page 11: Лекция №10 Организация ЭВМ и систем

В В IA – 64IA – 64 2 нововведения по сравнению с 2 нововведения по сравнению с RISC процессорами:RISC процессорами:

Применение технологии явного Применение технологии явного параллелизма на уровне команд параллелизма на уровне команд ((EPICEPIC – – Ecplicitly Parallel Instruction Computing).Ecplicitly Parallel Instruction Computing).

Применение предикатных вычисленийПрименение предикатных вычислений. . Предикаты Предикаты – способ обработки ветвлений – способ обработки ветвлений (условных переходов).(условных переходов).

Особенности IA – 64Особенности IA – 64

Page 12: Лекция №10 Организация ЭВМ и систем

Особенности EPICОсобенности EPIC

Большое количество регистровБольшое количество регистров..Масштабируемость архитектуры до большого Масштабируемость архитектуры до большого

количества функциональных устройствколичества функциональных устройств. Это свойство . Это свойство представители фирмы Intel и HP называют представители фирмы Intel и HP называют «наследственно масштабируемый набор команд».«наследственно масштабируемый набор команд».

Явный параллелизм в машинном кодеЯвный параллелизм в машинном коде. . Поиск Поиск зависимостей между командами производит не зависимостей между командами производит не процессор, а компилятор.процессор, а компилятор.

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

Загрузка по предположениюЗагрузка по предположению.. Данные из Данные из

медленной основной памяти загружаются заранеемедленной основной памяти загружаются заранее. .

Page 13: Лекция №10 Организация ЭВМ и систем

Описание IA - 64Описание IA - 64

Регистры IA – 64Регистры IA – 64::128 64-разрядных регистров общего назначения.128 64-разрядных регистров общего назначения.128 80-разрядных регистров вещественной 128 80-разрядных регистров вещественной

арифметики.арифметики.64 1-разрядных предикатных регистров.64 1-разрядных предикатных регистров.Формат команды IA – 64Формат команды IA – 64::Идентификатор команды.Идентификатор команды.Три 7-разрядных поля операндов – 1 приемник и 2 Три 7-разрядных поля операндов – 1 приемник и 2

источника (операндами могут быть только регистры, а их источника (операндами могут быть только регистры, а их - 128=2- 128=277) .) .

Особые поля для вещественной и целой Особые поля для вещественной и целой арифметики.арифметики.

6-разрядное предикатное поле (64=26-разрядное предикатное поле (64=266).).ПредикацияПредикацияЗагрузка по предположениюЗагрузка по предположению

Page 14: Лекция №10 Организация ЭВМ и систем

РегистрыРегистры

В их число входят: В их число входят: 128 регистров общего назначения128 регистров общего назначения GR; GR; 128 регистров с плавающей запятой128 регистров с плавающей запятой FR; FR; 64 64 регистра предикатоврегистра предикатов PR; PR; 8 регистров перехода8 регистров перехода BR; BR; 128 128 прикладных регистраприкладных регистра AR; не менее AR; не менее 4 регистров 4 регистров идентификатора процессора CPUIDидентификатора процессора CPUID; ; счетчик командсчетчик команд IP, IP, указывающий на адрес связки, содержащей исполняемую указывающий на адрес связки, содержащей исполняемую команду; команду; регистр маркера текущего окнарегистр маркера текущего окна CFM, CFM, описывающий окно стека регистров и др. описывающий окно стека регистров и др.

Регистры CPUID являются 64-разрядными. Регистры CPUID являются 64-разрядными. В CPUID-В CPUID-регистрах 0 и 1 лежит информация о производителе, в регистрах 0 и 1 лежит информация о производителе, в регистре 2 находится серийный номер процессора, а в регистре 2 находится серийный номер процессора, а в регистре 3 задается тип процессорарегистре 3 задается тип процессора (семейство, (семейство, модель, версия архитектуры и т.п.) модель, версия архитектуры и т.п.) и число CPUID-и число CPUID-регистроврегистров. . Разряды регистра 4 указывают на Разряды регистра 4 указывают на поддержку конкретных особенностей IA-64поддержку конкретных особенностей IA-64, т.е. тех, , т.е. тех, которые реализованы в данном процессоре. которые реализованы в данном процессоре.

Page 15: Лекция №10 Организация ЭВМ и систем

Команды IA - 64Команды IA - 64

Команды IA-64 упаковываются (группируются) Команды IA-64 упаковываются (группируются) компилятором в "связку" длиною в 128 pазpядов. Связка компилятором в "связку" длиною в 128 pазpядов. Связка содержит 3 команды и шаблон, в котором будут указаны содержит 3 команды и шаблон, в котором будут указаны зависимости между командами.зависимости между командами.

Перечислим все варианты составления связки из 3-х Перечислим все варианты составления связки из 3-х команд: команд:

i1 || i2 || i3 i1 || i2 || i3 - все команды исполняются - все команды исполняются параллельно; параллельно;

i1 & i1 & i2 || i3i2 || i3 - сначала i1, затем исполняются - сначала i1, затем исполняются параллельно i2 и i3; параллельно i2 и i3;

i1 || i2i1 || i2 & i3 & i3 - параллельно исполняются i1 и i2, - параллельно исполняются i1 и i2, после них - i3; после них - i3;

i1 & i2 & i3i1 & i2 & i3 - последовательно исполняются i1, i2, i3. - последовательно исполняются i1, i2, i3.

Page 16: Лекция №10 Организация ЭВМ и систем
Page 17: Лекция №10 Организация ЭВМ и систем

Одна такая Одна такая связкасвязка, состоящая , состоящая из трех командиз трех команд, , соответствует набору из трех функциональных соответствует набору из трех функциональных устройств процессораустройств процессора. .

Процессоры IA-64 могут содержать разное Процессоры IA-64 могут содержать разное количество таких блоков, оставаясь при этом количество таких блоков, оставаясь при этом совместимыми по коду. Ведь благодаря тому, что в совместимыми по коду. Ведь благодаря тому, что в шаблоне указана зависимость и между связками, шаблоне указана зависимость и между связками, процессору с N одинаковыми блоками из трех процессору с N одинаковыми блоками из трех функциональных устройства будет соответствовать функциональных устройства будет соответствовать командное слово из N*3 командкомандное слово из N*3 команд ( N связок ). ( N связок ). Таким Таким образом должна обеспечиваться масштабируемость образом должна обеспечиваться масштабируемость IA-64. IA-64.

Page 18: Лекция №10 Организация ЭВМ и систем

Недостатки IA-64:Недостатки IA-64:

без перекомпиляции код с одного процессора без перекомпиляции код с одного процессора семейства IA-64 не будет эффективно исполняться на семейства IA-64 не будет эффективно исполняться на другом;другом;

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

размер кода для IA-64 будет больше, чем для RISC размер кода для IA-64 будет больше, чем для RISC процессоров, потому что на 3 команды IA-64 приходится процессоров, потому что на 3 команды IA-64 приходится 128 бит, а длина RISC команды обычно равна 32 бит, то 128 бит, а длина RISC команды обычно равна 32 бит, то есть, в 128 битах содержатся 4 команды RISC. есть, в 128 битах содержатся 4 команды RISC.

Page 19: Лекция №10 Организация ЭВМ и систем

ПредикацияПредикация

Если в исходной программе встречается условное Если в исходной программе встречается условное ветвление ветвление (по статистике - через каждые 6 команд),(по статистике - через каждые 6 команд), то то команды из разных ветвей помечаются разными команды из разных ветвей помечаются разными предикатными регистрамипредикатными регистрами (команды имеют для этого (команды имеют для этого предикатные поля),предикатные поля), далее далее они выполняются они выполняются совместносовместно,, но их результаты не записываются, пока но их результаты не записываются, пока значения предикатных регистров неопределенны. значения предикатных регистров неопределенны. КогдаКогда, , наконец, наконец, вычисляется условие ветвления, вычисляется условие ветвления, предикатный регистр, соответствующий предикатный регистр, соответствующий "правильной" ветви, устанавливается в 1, а другой - "правильной" ветви, устанавливается в 1, а другой - в 0в 0. Перед записью результатов процессор будет . Перед записью результатов процессор будет проверять предикатное поле и записывать результаты проверять предикатное поле и записывать результаты только тех команд, предикатное поле которых содержит только тех команд, предикатное поле которых содержит предикатный регистр, установленный в 1. предикатный регистр, установленный в 1.

Page 20: Лекция №10 Организация ЭВМ и систем

Загрузка по предположениюЗагрузка по предположению Компилятор перемещает команды загрузки данных из Компилятор перемещает команды загрузки данных из

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

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

Page 21: Лекция №10 Организация ЭВМ и систем
Page 22: Лекция №10 Организация ЭВМ и систем

Первая версия процессора под кодовым именем Первая версия процессора под кодовым именем Merced (назван в честь города вблизи Сан-Хосе, США) Merced (назван в честь города вблизи Сан-Хосе, США) поступила в продажу в июне 2001 года. Произведённый по поступила в продажу в июне 2001 года. Произведённый по 180 нм технологии с площадью кристалла в 25 мм², 180 нм технологии с площадью кристалла в 25 мм², напряжением на ядре 2 В и тепловыделением в 150 Вт, он напряжением на ядре 2 В и тепловыделением в 150 Вт, он работал на частотах 733 МГц и 800 МГц с частотой работал на частотах 733 МГц и 800 МГц с частотой системной шины 266 МГц, кэш-памятью 3-го уровня системной шины 266 МГц, кэш-памятью 3-го уровня размером в 2 МБ или в 4 МБ. Поддерживались SIMD размером в 2 МБ или в 4 МБ. Поддерживались SIMD инструкции MMX и SSE. Рассчитан на установку в Slot M и инструкции MMX и SSE. Рассчитан на установку в Slot M и память SDRAM (PC 100). Стоили чипы от $1200 до более память SDRAM (PC 100). Стоили чипы от $1200 до более чем $4000.чем $4000.

В режиме IA-64 это был самый быстрый процессор В режиме IA-64 это был самый быстрый процессор для вычислений с плавающей запятой, имеющийся на для вычислений с плавающей запятой, имеющийся на рынкерынке. В то же время, в целочисленных вычислениях он . В то же время, в целочисленных вычислениях он лишь немного превосходил процессоры равной частоты с лишь немного превосходил процессоры равной частоты с системой команд x86.системой команд x86.

Page 23: Лекция №10 Организация ЭВМ и систем

Продажи процессора оказались менее успешными, чем Продажи процессора оказались менее успешными, чем предполагалась. Основными причинами этому были предполагалась. Основными причинами этому были проблемы с производительностью и малое количество проблемы с производительностью и малое количество оптимизированного под Merced программного оптимизированного под Merced программного обеспечения. Несмотря на то, что процессор мог обеспечения. Несмотря на то, что процессор мог исполнять инструкции x86, производительность такого исполнять инструкции x86, производительность такого решения была значительно ниже в сравнении с x86-решения была значительно ниже в сравнении с x86-системами от Intel и AMD. системами от Intel и AMD.

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

Page 24: Лекция №10 Организация ЭВМ и систем

Архитектура ItaniumАрхитектура Itanium

Itanium — микропроцессор Itanium — микропроцессор с архитектурой IA-64,с архитектурой IA-64, разработанный совместно разработанный совместно компаниями Intel и Hewlett-компаниями Intel и Hewlett-Packard. Packard.

Впервые был представлен Впервые был представлен 29 мая 2001 года29 мая 2001 года. Производство . Производство Itanium прекращено в июле 2002 Itanium прекращено в июле 2002 года одновременно с выходом года одновременно с выходом Itanium 2. Однако в ноябре 2007 Itanium 2. Однако в ноябре 2007 года Intel переименовала серию года Intel переименовала серию процессоров Itanium 2 обратно в процессоров Itanium 2 обратно в Itanium.Itanium.

Page 25: Лекция №10 Организация ЭВМ и систем

Внутреннее устройство процессора Внутреннее устройство процессора Intel Itanium 2Intel Itanium 2

Процессор Intel Itanium 2 состоит из следующих функциональных модулей:

6 целочисленных АЛУ; 6 мультимедийных АЛУ; 2 вещественных арифметических устройства

повышенной точности; 2 вещественных арифметических устройства обычной

точности; 2 устройства чтения; 2 устройства записи; 3 устройства ветвления.

Page 26: Лекция №10 Организация ЭВМ и систем
Page 27: Лекция №10 Организация ЭВМ и систем
Page 28: Лекция №10 Организация ЭВМ и систем

Конвейер процессора Intel Itanium 2 состоит из 8 Конвейер процессора Intel Itanium 2 состоит из 8 этаповэтапов и может параллельно обрабатывать до 6 и может параллельно обрабатывать до 6 инструкций за один такт.инструкций за один такт.

На первой стадии (IPG – Instruction Pointer Generation) На первой стадии (IPG – Instruction Pointer Generation) происходит доставка инструкций из кэша первого уровня.происходит доставка инструкций из кэша первого уровня.

На второй стадии (ROT – Rotate stage) происходит На второй стадии (ROT – Rotate stage) происходит «выравнивание» инструкций и их размещение в «выравнивание» инструкций и их размещение в специальном буфере для организации возможности специальном буфере для организации возможности параллельной обработки. параллельной обработки.

Page 29: Лекция №10 Организация ЭВМ и систем

На третьей стадии (EXP – Expand stage) производится На третьей стадии (EXP – Expand stage) производится декодирование инструкций и непосредственное их декодирование инструкций и непосредственное их распределение по функциональным модулям. Всего может распределение по функциональным модулям. Всего может быть загружено максимум 6 инструкций. быть загружено максимум 6 инструкций.

На следующей стадии (REN – Rename stage) На следующей стадии (REN – Rename stage) происходит сопоставление «виртуальных» ассемблерных происходит сопоставление «виртуальных» ассемблерных регистров, физическим ячейкам кристалла. регистров, физическим ячейкам кристалла.

На пятой стадии (REG – Register Read stage) На пятой стадии (REG – Register Read stage) происходит считывание значений регистров происходит считывание значений регистров функциональными модулями. функциональными модулями.

На шестой стадии (EXE – Execution stage) собственно На шестой стадии (EXE – Execution stage) собственно осуществляются функциональные вычисления. осуществляются функциональные вычисления.

На седьмой стадии (DET – Detection stage) На седьмой стадии (DET – Detection stage) производится контроль возникновения исключений. производится контроль возникновения исключений.

На последней стадии конвейера (WRB – Write Back На последней стадии конвейера (WRB – Write Back stage) происходит запись результатов вычислений обратно stage) происходит запись результатов вычислений обратно в регистры.в регистры.

Page 30: Лекция №10 Организация ЭВМ и систем

Процессоры Intel Itanium 2 имеют в своем составе Процессоры Intel Itanium 2 имеют в своем составе кэши трех уровней.кэши трех уровней. Кэш первого уровня составляет 32 Кб Кэш первого уровня составляет 32 Кб и работает на скорости работы процессораи работает на скорости работы процессора. . Кэш второго Кэш второго уровня составляет 256 Кб и работает на скорости 64 уровня составляет 256 Кб и работает на скорости 64 ГБ/сек.ГБ/сек. Кэш третьего уровня может достигать 24 Мб и Кэш третьего уровня может достигать 24 Мб и является самым медленным, работает на скорости 32 является самым медленным, работает на скорости 32 ГБ/сек.ГБ/сек.

Архитектура Intel Itanium зарекомендовала себя как, Архитектура Intel Itanium зарекомендовала себя как, вполне жизнеспособная, и по многим показателям намного вполне жизнеспособная, и по многим показателям намного превосходящая альтернатива распространенным на превосходящая альтернатива распространенным на сегодняшний день RISC и CISC архитектурам. В сегодняшний день RISC и CISC архитектурам. В настоящее время сфера применения процессоров Intel настоящее время сфера применения процессоров Intel Itanium ограничена наукоемкими расчетными задачами, а Itanium ограничена наукоемкими расчетными задачами, а также критическими бизнес приложениями. также критическими бизнес приложениями.

Page 31: Лекция №10 Организация ЭВМ и систем

Помимо семейства IA-64 шли разработки еще Помимо семейства IA-64 шли разработки еще нескольких универсальных процессоров с VLIW-подобной нескольких универсальных процессоров с VLIW-подобной архитектурой. архитектурой.

Page 32: Лекция №10 Организация ЭВМ и систем
Page 33: Лекция №10 Организация ЭВМ и систем
Page 34: Лекция №10 Организация ЭВМ и систем
Page 35: Лекция №10 Организация ЭВМ и систем

Б.А. БабаянБ.А. Бабаян, удостоенный в 1987 году звания лауреата , удостоенный в 1987 году звания лауреата Ленинской премии за разработку и внедрение Ленинской премии за разработку и внедрение многопроцессорной системы “Эльбрус-2”, сохраняет, с одной многопроцессорной системы “Эльбрус-2”, сохраняет, с одной стороны, пост директора Института микропроцессорных стороны, пост директора Института микропроцессорных вычислительных систем РАН, с другой стороны, Б.А. Бабаян с вычислительных систем РАН, с другой стороны, Б.А. Бабаян с августа 2004 года занимает должность директора по августа 2004 года занимает должность директора по архитектуре в подразделении программных решений архитектуре в подразделении программных решений корпорации Intel и руководит глобальным проектом по корпорации Intel и руководит глобальным проектом по технологии безопасных вычислений. Он технологии безопасных вычислений. Он стал первым стал первым европейским ученым, получившим звание заслуженного европейским ученым, получившим звание заслуженного инженера – исследователя Intel,инженера – исследователя Intel, ряд его изобретений ряд его изобретений

внедряются корпорацией.внедряются корпорацией.

Page 36: Лекция №10 Организация ЭВМ и систем

Архитектура Е2КАрхитектура Е2К (реализована в суперкомпьютере Эльбрус 3)(реализована в суперкомпьютере Эльбрус 3)

В E2K используются В E2K используются команды переменной длиныкоманды переменной длины. . Общий формат команд E2K представлен на рисунке. Общий формат команд E2K представлен на рисунке.

Команда E2K состоит из слогов длиной 32 разряда Команда E2K состоит из слогов длиной 32 разряда каждый. Число этих слогов может меняться от 2 до 16, каждый. Число этих слогов может меняться от 2 до 16, причем данную архитектуру можно еще расширить – до причем данную архитектуру можно еще расширить – до 32 слогов.32 слогов.

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

Слог заголовка Слог 1 … Слог №

Page 37: Лекция №10 Организация ЭВМ и систем

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

В E2K есть В E2K есть два почти симметричных кластера, два почти симметричных кластера, каждый из которых содержит по 256 регистровкаждый из которых содержит по 256 регистров. . Всего в Всего в этом процессоре имеется 30 регистровых портов: 20 портов этом процессоре имеется 30 регистровых портов: 20 портов чтения (по 10 портов на кластер) и 10 портов записи.чтения (по 10 портов на кластер) и 10 портов записи.

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

Page 38: Лекция №10 Организация ЭВМ и систем

Еще одна особенность E2K – Еще одна особенность E2K – регистровое окно для регистровое окно для процедурыпроцедуры. . Это решение является традиционным для машин Это решение является традиционным для машин серии «Эльбрус», однако особенно важным оно является для серии «Эльбрус», однако особенно важным оно является для архитектуры E2K, поскольку содержит сверхбольшое количество архитектуры E2K, поскольку содержит сверхбольшое количество регистров – 256.регистров – 256.

Затраты на сохранение/восстановление регистров в Затраты на сохранение/восстановление регистров в данной ситуации становятся весьма значительными. данной ситуации становятся весьма значительными. Поэтому реализация в E2K Поэтому реализация в E2K аппаратного механизма аппаратного механизма переключения оконпереключения окон представляется актуальной. представляется актуальной. Окно Окно регистров в E2K имеет переменную длину (до 192 регистров в E2K имеет переменную длину (до 192 регистров).регистров). Адресация регистров внутри контекста происходит Адресация регистров внутри контекста происходит относительно текущей базы, и при вызове другой процедуры относительно текущей базы, и при вызове другой процедуры достаточно сменить значение базы.достаточно сменить значение базы.

Кэш данных первого уровняКэш данных первого уровня в E2K имеет емкость в E2K имеет емкость всего всего 8 Кбайт8 Кбайт и и продублирован в каждом из кластеровпродублирован в каждом из кластеров. . Этот кэш является прямоадресуемым, использует алгоритм Этот кэш является прямоадресуемым, использует алгоритм сквозной записи данных. сквозной записи данных.

Page 39: Лекция №10 Организация ЭВМ и систем

Кэш данных второго уровняКэш данных второго уровня в E2K имеет емкость в E2K имеет емкость 256 256 КбайтКбайт при времени доступа в 8 тактов. Он является при времени доступа в 8 тактов. Он является двухканальным частично-ассоциативнымдвухканальным частично-ассоциативным и имеет и имеет 4 4 банкабанка, то есть обеспечивает 4-кратное расслоение кэш-, то есть обеспечивает 4-кратное расслоение кэш-памяти. В кэше данных второго уровня памяти. В кэше данных второго уровня применяется применяется алгоритм обратной записиалгоритм обратной записи. Он также является . Он также является неблокирующим.неблокирующим.

Кроме этого в E2K представлен Кроме этого в E2K представлен специализированный специализированный кэш предварительной выборкикэш предварительной выборки, который разработчики , который разработчики назвали назвали буфером предварительной подкачкибуфером предварительной подкачки. . Он является Он является частью устройства доступа к массивам и задействуется только частью устройства доступа к массивам и задействуется только при работе с массивами в циклах.при работе с массивами в циклах. Его емкость составляет Его емкость составляет всего всего 4 Кбайт4 Кбайт, и он , и он состоит из 2 банковсостоит из 2 банков с 2 портами в с 2 портами в каждом из них. каждом из них. За один такт в буфер можно считать, За один такт в буфер можно считать, следовательно, до 4 слов длиной 8 байт. Буфер организован как следовательно, до 4 слов длиной 8 байт. Буфер организован как очередь FIFO и имеет до 64 зон предварительной выборки.очередь FIFO и имеет до 64 зон предварительной выборки.

Page 40: Лекция №10 Организация ЭВМ и систем

В Е2К предусматриваются В Е2К предусматриваются два варианта подключения два варианта подключения третьего уровня кэштретьего уровня кэш: непосредственно к процессору Е2К, : непосредственно к процессору Е2К, что позволяет разгрузить «системную шину» – коммутатор, что позволяет разгрузить «системную шину» – коммутатор, или через набор коммутаторных микросхем. или через набор коммутаторных микросхем.

Функциональные устройства (ФУ) E2K разнесены Функциональные устройства (ФУ) E2K разнесены по двум кластерампо двум кластерам. Эти кластеры содержат по . Эти кластеры содержат по 3 3 одинаковых целочисленных конвейера – АЛУодинаковых целочисленных конвейера – АЛУ (правда, (правда, один из кластеров имеет также ФУ деления – один из кластеров имеет также ФУ деления – целочисленного и с плавающей запятой). целочисленного и с плавающей запятой).

В каждом кластере представлены также адресные В каждом кластере представлены также адресные сумматоры, которые имеются для 2 из 3 путей («каналов») сумматоры, которые имеются для 2 из 3 путей («каналов») данных. В результате данных. В результате каждый кластер может каждый кластер может одновременно выполнять до 2 операций загрузки одновременно выполнять до 2 операций загрузки регистров или 1 операцию записи в оперативную регистров или 1 операцию записи в оперативную памятьпамять. Возможен и смешанный случай: 2 загрузки плюс . Возможен и смешанный случай: 2 загрузки плюс одна запись.одна запись.

Page 41: Лекция №10 Организация ЭВМ и систем

Кроме того, имеется 4 канала для данных с плавающей Кроме того, имеется 4 канала для данных с плавающей запятой, по 2 на кластер. В каждом канале может запятой, по 2 на кластер. В каждом канале может выполняться выполняться команда типа MADDкоманда типа MADD – «умножить-и- – «умножить-и-сложить», что дает темп 8 результатов с плавающей сложить», что дает темп 8 результатов с плавающей запятой за такт. запятой за такт.

Сам набор команд E2K «богаче», чем у традиционных Сам набор команд E2K «богаче», чем у традиционных RISC-процессоров: в нем представлены RISC-процессоров: в нем представлены четырехадресные командычетырехадресные команды, например, типа d=a+b+c. , например, типа d=a+b+c. Такого нет и в IA-64. Что касается команд с плавающей Такого нет и в IA-64. Что касается команд с плавающей запятой, то кроме полной поддержки IEEE754 в E2K запятой, то кроме полной поддержки IEEE754 в E2K реализована работа с 80-разрядным представлением реализована работа с 80-разрядным представлением Intel x86Intel x86. . При этом операнды хранятся в парах 64-разрядных При этом операнды хранятся в парах 64-разрядных регистров E2K. Правда, сложение/умножение таких чисел не регистров E2K. Правда, сложение/умножение таких чисел не полностью конвейеризовано. Кроме того, для приближенияполностью конвейеризовано. Кроме того, для приближения системы команд E2K к x86 в E2Kсистемы команд E2K к x86 в E2K реализованы также реализованы также команды расширения ММХ.команды расширения ММХ.

Page 42: Лекция №10 Организация ЭВМ и систем

В E2K В E2K целочисленный конвейер имеет длину 8 целочисленный конвейер имеет длину 8 тактовтактов (собственно выполнение идет на седьмом такте, а (собственно выполнение идет на седьмом такте, а обратная запись – на восьмом) против 7 тактов в Alpha обратная запись – на восьмом) против 7 тактов в Alpha 21264. 21264.

Е2К обеспечивает очень высокий уровень Е2К обеспечивает очень высокий уровень одновременно выполняемых операций: в команде их одновременно выполняемых операций: в команде их кодируется до 23 (сюда кроме арифметико-логических кодируется до 23 (сюда кроме арифметико-логических операций входят также доступ в оперативную память, операций входят также доступ в оперативную память, приращение индекса массива и т.п.). Эффективные приращение индекса массива и т.п.). Эффективные показатели параллельной работы ФУ у E2K выше, чем у показатели параллельной работы ФУ у E2K выше, чем у всех суперскалярных процессоров.всех суперскалярных процессоров.

В архитектуре E2K, как и в IA-64, делается все, чтобы В архитектуре E2K, как и в IA-64, делается все, чтобы по возможности исключить обычные операции перехода. по возможности исключить обычные операции перехода. Для этого в E2K Для этого в E2K имеется 32 одноразрядных регистра-имеется 32 одноразрядных регистра-предикатапредиката, причем команда способна сформировать до 7 , причем команда способна сформировать до 7 предикатов: 4 в операциях сравнения в АЛУ и еще 3 – в предикатов: 4 в операциях сравнения в АЛУ и еще 3 – в операциях логики.операциях логики.

Page 43: Лекция №10 Организация ЭВМ и систем

Хотя в IA-64 предикатных регистров формально в 2 Хотя в IA-64 предикатных регистров формально в 2 раза больше, чем в E2K, реально их практически раза больше, чем в E2K, реально их практически столько же, так как в IA-64 хранятся пары – предикат и его столько же, так как в IA-64 хранятся пары – предикат и его отрицание. В IA-64 поля предикатов всегда представлены отрицание. В IA-64 поля предикатов всегда представлены в команде, а в E2K – могут отсутствовать. Предикаты в команде, а в E2K – могут отсутствовать. Предикаты могут использоваться в канале АЛУ или в канале доступа могут использоваться в канале АЛУ или в канале доступа к массивам; для указания на это используются условные к массивам; для указания на это используются условные слоги, содержащие маски предикатов и ФУ. Всего в этих слоги, содержащие маски предикатов и ФУ. Всего в этих слогах может кодироваться до 6 предикатов, указывающих слогах может кодироваться до 6 предикатов, указывающих на то, нужно ли выполнять соответствующие операции из на то, нужно ли выполнять соответствующие операции из «широкой» команды. «широкой» команды.

Page 44: Лекция №10 Организация ЭВМ и систем

Компилятор E2K порождает коды для обоих ветвей Компилятор E2K порождает коды для обоих ветвей программыпрограммы, возникающих при условном переходе, и, , возникающих при условном переходе, и, пользуясь большим числом ФУ и регистров, заставляет пользуясь большим числом ФУ и регистров, заставляет процессоры выполнять обе ветви программы. Та же процессоры выполнять обе ветви программы. Та же процедура применяется и в IA-64. До тех пор, пока процедура применяется и в IA-64. До тех пор, пока условие перехода остается неизвестным, условие перехода остается неизвестным, обе ветви обе ветви выполняются спекулятивновыполняются спекулятивно. Когда, наконец, условие . Когда, наконец, условие найдено, выбираются нужные результаты. Признак найдено, выбираются нужные результаты. Признак спекулятивного выполнения взводится при этом в спекулятивного выполнения взводится при этом в специальном бите в коде операции в соответствующем специальном бите в коде операции в соответствующем слоге. При возникновении ситуации исключения слоге. При возникновении ситуации исключения (exception) результат снабжается тегом (exception) результат снабжается тегом недействительного значения. недействительного значения.

В файле предикатов E2K, как и в регистровом файле, В файле предикатов E2K, как и в регистровом файле, используются окна. используются окна.

Page 45: Лекция №10 Организация ЭВМ и систем

Еще некоторые особенности архитектуры E2K:Еще некоторые особенности архитектуры E2K: тегирование данныхтегирование данных, поддерживаемое во всей , поддерживаемое во всей

линейке процессоров ЭВМ «Эльбрус»;линейке процессоров ЭВМ «Эльбрус»; сегментно-страничная организация памятисегментно-страничная организация памяти;; поддержка мультипрограммирования в стиле поддержка мультипрограммирования в стиле

x86x86.. В сочетании с разработанными средствами В сочетании с разработанными средствами двоичной компиляции и специальными аппаратными двоичной компиляции и специальными аппаратными средствами ее поддержки это позволяет выполнять средствами ее поддержки это позволяет выполнять x86-коды на E2K. x86-коды на E2K.

Поддерживается также двоичная компиляция для Поддерживается также двоичная компиляция для SPARC-архитектуры. SPARC-архитектуры.

По материалам: Отечественные микропроцессоры: Elbrus E2KПо материалам: Отечественные микропроцессоры: Elbrus E2KМихаил Кузьминский/Михаил Кузьминский/17.05.1999. 17.05.1999. Открытые системы, #05-06/1999Открытые системы, #05-06/1999

Page 46: Лекция №10 Организация ЭВМ и систем

Сравнительные характеристики E2K Сравнительные характеристики E2K и Alpha 21264и Alpha 21264

E2KE2K Alpha 21264Alpha 21264

Емкость, КбЕмкость, Кб

I – кэш L1I – кэш L1 Тип Тип

Время доступаВремя доступа

6464

4-канальный частично ассоц.4-канальный частично ассоц.

2 такта2 такта

6464

2-канальный частично ассоц.2-канальный частично ассоц.

3 такта3 такта

Емкость, КбЕмкость, Кб

D – кэш L1 D – кэш L1 ТипТип

Время доступаВремя доступа

8+88+8

ПрямоадресуемыйПрямоадресуемый

2 такта2 такта

6464

2-канальный частично ассоц2-канальный частично ассоц

3 такта3 такта

Емкость, КбЕмкость, Кб

D – кэш L2 D – кэш L2 ТипТип

Время доступа Время доступа

256256

2-канальный частично ассоц.2-канальный частично ассоц.

8 тактов8 тактов

Кэш второго уровня является Кэш второго уровня является внешнимвнешним

I – TLB I – TLB ЕмкостьЕмкость64 строки64 строки 128 строк128 строк

D – TLB D – TLB ЕмкостьЕмкость16 строк (ассоц.) +256 строк 4-16 строк (ассоц.) +256 строк 4-

канальн. частично ассоц.канальн. частично ассоц.128 строк (ассоц.)128 строк (ассоц.)

Регистры Регистры ЧислоЧисло

Число портовЧисло портов

По 256 на кластерПо 256 на кластер

20 чтения, 10 записи20 чтения, 10 записи

80х2 целоч., 72 веществ.80х2 целоч., 72 веществ.

8 чтения, 6 записи (целоч.)8 чтения, 6 записи (целоч.)

Page 47: Лекция №10 Организация ЭВМ и систем

E2KE2K Alpha 21264Alpha 21264

Тактовая частота, Тактовая частота, МГцМГц

12001200 500-667500-667

Число Число транзисторовтранзисторов

28 млн.28 млн. 15,2 млн.15,2 млн.

Площадь, кв.ммПлощадь, кв.мм 126126 302302

Рассеяние тепла, Рассеяние тепла, ВтВт

3535 6060

Технология, мкмТехнология, мкм 0,180,18 0,350,35

SPECint95SPECint95 135135 3030

SPECfp95SPECfp95 350350 6060

Page 48: Лекция №10 Организация ЭВМ и систем

ХарактеристикаХарактеристика IA – 64 (VLIW)IA – 64 (VLIW) E2KE2K

1.1.ФорматФормат

командкоманд

Длина команд Длина команд фиксирована. 3 команды в фиксирована. 3 команды в связке длинной 128 бит. В связке длинной 128 бит. В формат команды вводятся формат команды вводятся маски, которые указывают маски, которые указывают на зависимость между на зависимость между командами.командами.

Команды переменной длины, состоит из Команды переменной длины, состоит из слогов 32 разряда каждый (м.б. 1-16 слога, слогов 32 разряда каждый (м.б. 1-16 слога, можно расширить до 32 слогов).можно расширить до 32 слогов).Во всех командах Во всех командах 1 слог заголовка: 1 слог заголовка: содержит информацию о структуре команды содержит информацию о структуре команды и ее длине ;и ее длине ; позволяет не проводить предварительного позволяет не проводить предварительного декодирования команд перед их декодирования команд перед их перемещением в I-кэш. перемещением в I-кэш.

2.2.РегистрыРегистры

128 – целочисленных 128 – целочисленных регистров и 128 регистров регистров и 128 регистров с плавающей точкой.с плавающей точкой.

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

3.3.Система Система командкоманд

Четырехадресные команды типа d=a+b+c, Четырехадресные команды типа d=a+b+c, поддержка 80-разрядного представления поддержка 80-разрядного представления формата с плавающей точкой Intel х86. формата с плавающей точкой Intel х86. Реализованы Реализованы MMX команды.MMX команды.

4.4. Обработка Обработка командкоманд

64 регистра предиката.64 регистра предиката.

Хранятся пары – предикат Хранятся пары – предикат и его отрицание. Поля и его отрицание. Поля предикатов всегда предикатов всегда представлены в команде. представлены в команде.

32 одноразрядных регистра – предиката. 32 одноразрядных регистра – предиката. Команда способна сформулировать до 7 Команда способна сформулировать до 7 предикатов, но иногда предикаты могут предикатов, но иногда предикаты могут отсутствовать. отсутствовать.

Компилятор порождает коды для обоих ветвей программы и заставляет Компилятор порождает коды для обоих ветвей программы и заставляет процессоры выполнять обе ветви программы (спекулятивно).процессоры выполнять обе ветви программы (спекулятивно).

Тегирование данных (теговая память). Тегирование данных (теговая память). сегментно-страничная организация и сегментно-страничная организация и мульти-мульти- программирование в стиле х86. программирование в стиле х86.

Page 49: Лекция №10 Организация ЭВМ и систем

Некоторые высказывания профессора, Некоторые высказывания профессора, члена-корреспондента Российской академии члена-корреспондента Российской академии

наук Бориса Арташесовича Бабаянанаук Бориса Арташесовича Бабаяна1. Копирование – это ужасно. Не только по своей технической 1. Копирование – это ужасно. Не только по своей технической

неэффективности ужасно, потому что если передираешь, то на много неэффективности ужасно, потому что если передираешь, то на много лет отстанешь. И не только из-за того, что это деквалификация лет отстанешь. И не только из-за того, что это деквалификация коллектива, люди с трудом понимали, как это устроено, а уж почему так коллектива, люди с трудом понимали, как это устроено, а уж почему так – и не задавай таких вопросов…А просто даже это аморально, потому – и не задавай таких вопросов…А просто даже это аморально, потому что это же воровство.что это же воровство.

2. Вообще, 2. Вообще, Intel – в технологии гениальный, а в архитектуре Intel – в технологии гениальный, а в архитектуре они всегда были слабыони всегда были слабы. Merced по всем параметрам очень так себе.. Merced по всем параметрам очень так себе.

3. В жизни не было ни одной машины, которую мы проектировали 3. В жизни не было ни одной машины, которую мы проектировали бы и не сделали! Просто ни одной не было! И обычно нормально бы и не сделали! Просто ни одной не было! И обычно нормально работает первый же кристалл. А потом, работает первый же кристалл. А потом, микропроцессор – он же микропроцессор – он же всегда на бумаге до последнего днявсегда на бумаге до последнего дня. Это же не танк и не самолет. . Это же не танк и не самолет. Привезут tapeout на завод – и через две недели процессор уже в Привезут tapeout на завод – и через две недели процессор уже в «железе».«железе».

4. Многих держат не деньги – интересная работа. И таких знаний, 4. Многих держат не деньги – интересная работа. И таких знаний, как здесь, в Штатах вы не получите никогда!как здесь, в Штатах вы не получите никогда!

5. Потому что никто другой не может сделать. Это вызывающе, это 5. Потому что никто другой не может сделать. Это вызывающе, это же очень здорово! Но прежде всего же очень здорово! Но прежде всего придумывание нового – это придумывание нового – это очень интересный, просто захватывающий процесс. Трудно от очень интересный, просто захватывающий процесс. Трудно от него оторваться. него оторваться.

Журнал «Домашний компьютер», №3, 2000.Журнал «Домашний компьютер», №3, 2000.

Page 50: Лекция №10 Организация ЭВМ и систем

Для самостоятельного изученияДля самостоятельного изучения

Page 51: Лекция №10 Организация ЭВМ и систем

В начале 80-х годов прошлого века, в научно-исследовательской лаборатории компании Hewlett-Packard началась разработка новой, революционной архитектуры центральных процессоров, которая должна была со временем заменить существующие RISC1 и CISC2 архитектуры. В 1994 году к разработкам присоединилась корпорация Intel, путем заключения соглашения с HP о совместном исследовательском проекте. Цель проекта заключалась в разработке 64-разрядного набора команд и оптимизирующих компиляторов. Инженеры двух компаний предполагали, что в скором времени возможности по масштабированию вычислительных мощностей путем наращивания тактовых частот иссякнут, и при разработке новой концепции сделали упор на реализацию технологий параллельных вычислений. Архитектура получила название EPIC – Explicitly Parallel Instruction Computing – вычисления с явно заданным параллелизмом команд – и основными ее особенностями стали возможность распараллеливания инструкций, использование технологии «очень длинного машинного слова» – Very Long Instruction Word, а также возможность выполнения большего количества инструкций за процессорный такт.

Page 52: Лекция №10 Организация ЭВМ и систем

Начиная с 2001 года корпорация Hewlett-Packard начала производство и выпуск серверов на базе процессоров Intel Itanium, которые и явились оконечным продуктом архитектуры EPIC или Intel IA-64. В настоящее время большое количество вендоров – Bull, Fujitsu Siemens Computers, Hitachi, HP, NEC, SGI, Unisys, BEA, Novell, Oracle, Red Hat, SAP, SAS и Sybase поддерживают архитектуру Intel IA-64. В сентябре 2005 года был создан альянс Itanium Solutions Alliance (http://www.itaniumsolutionsalliance.org) по разработке, продвижению и потированию приложений на данную архитектуру.

Архитектура EPIC обладает следующими ключевыми особенностями:

•наличие большого количества регистров в ЦПУ; •явный параллелизм в машинном коде; •предикация – специальная обработка команд условного

ветвления; •загрузка по предположению; •реализация архитектуры VLIW. Рассмотрим подробнее данные особенности.

Page 53: Лекция №10 Организация ЭВМ и систем

Процессорные регистры

Процессоры архитектуры Intel Itanium имеют в своем распоряжении 128 64-х разрядных регистров общего назначения; 128 80-ти разрядных регистров для вещественных чисел; 64 1-разрядных предикатных регистра; 8 64-х разрядных регистров для операций ветвления. Для сравнения, процессоры Intel Xeon последнего поколения располагают только 32-мя регистрами. Наличие такого большого количества регистров позволяет уменьшить конвейер ЦПУ до 8-ми шагов и при не высокой, по сегодняшним меркам, частоте в 1.4 – 1.6 ГГц получить очень высокую производительность. Инструкции, поставляемые центральному процессору упаковываются компилятором в группы или связки размеров по 128 бит. Каждая связка состоит из 3-х команд и шаблона, в котором описана возможность параллельной обработки этих команд. Уменьшенная длина процессорного конвейера позволяет сократить простои в случае промаха при чтении из кэша.

Page 54: Лекция №10 Организация ЭВМ и систем

Параллелизм в машинном кодеУвеличение мощности процессоров осуществляется за счет двух

ключевых факторов: во-первых, это увеличение скорости передачи сигналов (тактовые частоты), во-вторых, более плотное расположение функциональных элементов на кристалле. Оба этих параметра ограничиваются физикой и используемыми при изготовлении технологическими процессами. Дальнейшее увеличение вычислительной мощности возможно путем реализации параллелизма на уровне команд (ILP — Instruction-Level Parallelism). Данный метод стал возможен благодаря использованию средств компиляции, которые ускоряют работу за счет параллельного выполнения отдельных операций. Системы на базе ILP используют программное обеспечение, написанное на традиционных языках высокого уровня, для CISC-процессоров, а обнаружением «скрытого параллелизма» занимается программный компилятор на этапе сборки приложения. Из этого следует, что при разработке программного обеспечения для архитектуры IA-64 разработчику не обязательно становится экспертом в области параллельных вычислений и проектировать программу с учетом необходимости параллельных обработок данных. Эту работу выполняет компилятор, который обладает всеми необходимыми для реализации параллельных вычислений возможностями.

Page 55: Лекция №10 Организация ЭВМ и систем

Предикация

В процессоры архитектуры Intel Itanium встроена возможность предикации, т.е. возможность распараллеливания команд условного ветвления. По статистике операция условного ветвления встречается в исходном коде через каждые шесть команд. Суть этой технологии заключается в следующем: процессор располагает набором специальных предикатных регистров, при обработке операции условного ветвления, каждая из веток помечается своим регистром, значения которых до окончания обработки вычислений остаются не определенными. Обсчет веток осуществляется параллельно. По окончании расчетов, регистр истинной ветки устанавливается в 1, ложной в 0. При выполнении инструкций, процессор будет обрабатывать только те ветки, значение предикатных регистров которых равно единице. Данный метод позволяет перенести задачи сложных расчетов операций условных ветвлений на этап компиляции, что значительно ускоряет процесс исполнения машинного кода.

Page 56: Лекция №10 Организация ЭВМ и систем

Загрузка по предположениюВ архитектуре x86, данные центральному процессору поступают

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

Данная технология получила название Register Stack Engine (RSE). Суть ее заключается в следующем. Каждый раз, при вызове какой-либо функции, ей выделяется определенный буфер, который располагается не в оперативной памяти, а в регистрах центрального процессора. В архитектуре Intel Itanium под эти цели отводятся последние 96 регистров общего назначения. Аппаратная платформа связывает выделенный функции пул регистров с другими пулами, для возможности обмена данными между функциями, если это необходимо. Соответственно, все взаимодействия осуществляются внутри центрального процессора, без использования внешней, медленной оперативной памяти.

Page 57: Лекция №10 Организация ЭВМ и систем

Архитектура VLIWАрхитектура VLIW является одной из реализаций

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

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

Page 58: Лекция №10 Организация ЭВМ и систем

Процессор Itanium 2 представлен в 2002 году и Процессор Itanium 2 представлен в 2002 году и предлагался скорее для серверов предприятия, чем для предлагался скорее для серверов предприятия, чем для целевого диапазона высокопроизводительных целевого диапазона высокопроизводительных вычислений. Первый Itanium 2, получивший кодовое имя вычислений. Первый Itanium 2, получивший кодовое имя McKinley, был выпущен совместными усилиями HP и Intel. McKinley, был выпущен совместными усилиями HP и Intel. Это позволило решить многие из проблем с Это позволило решить многие из проблем с производительностью оригинального процессора Itanium, производительностью оригинального процессора Itanium, которые по большей части вызвала неэффективная которые по большей части вызвала неэффективная подсистема памяти. McKinley содержал 221 миллионов подсистема памяти. McKinley содержал 221 миллионов транзисторов, 25 миллионов из которых были для блоков транзисторов, 25 миллионов из которых были для блоков логики, имел размеры 19,5 мм на 21,6 мм (т. о. его логики, имел размеры 19,5 мм на 21,6 мм (т. о. его площадь составила 421 мм²) и производился по площадь составила 421 мм²) и производился по технологическому процессу 180 нм объемного КМОП с технологическому процессу 180 нм объемного КМОП с шестью уровнями алюминиевой металлизации.шестью уровнями алюминиевой металлизации.

Page 59: Лекция №10 Организация ЭВМ и систем

В дальнейшем Intel и HP продолжили разработку В дальнейшем Intel и HP продолжили разработку архитектуры, результатом чего стало появление в 2003 году архитектуры, результатом чего стало появление в 2003 году процессоров второго поколения Madison и в 2006 году процессоров второго поколения Madison и в 2006 году значительно доработанного двухъядерного McKinley. Начиная с значительно доработанного двухъядерного McKinley. Начиная с McKinley, процессоры Itanium стали показывать McKinley, процессоры Itanium стали показывать конкурентоспособные производительность и тепловыделение. С конкурентоспособные производительность и тепловыделение. С проникновением на рынок постепенно улучшилась поддержка проникновением на рынок постепенно улучшилась поддержка архитектуры и ПО для неё, что отразилось в значительном архитектуры и ПО для неё, что отразилось в значительном росте продаж, начиная с 2004—2005 годов.росте продаж, начиная с 2004—2005 годов.

В 2003 году AMD представил процессор Opteron, в котором В 2003 году AMD представил процессор Opteron, в котором была реализована своя 64-разрядная архитектура (x86-64). была реализована своя 64-разрядная архитектура (x86-64). Opteron быстро заполнил пробел в сегменте серверов масштаба Opteron быстро заполнил пробел в сегменте серверов масштаба предприятия, потому что обеспечил лёгкое обновление с предприятия, потому что обеспечил лёгкое обновление с платформы x86. Intel в 2004 году ответил внедрением x86-64 в платформы x86. Intel в 2004 году ответил внедрением x86-64 в свои процессоры Xeon. В 2003 году Intel выпустил новые модели свои процессоры Xeon. В 2003 году Intel выпустил новые модели процессоров серии Itanium 2 с кодовым именем Madison. В процессоров серии Itanium 2 с кодовым именем Madison. В производстве использовался технологический процесс 130 нм и производстве использовался технологический процесс 130 нм и он стал базой для всех новых процессоров Itanium до выхода в он стал базой для всех новых процессоров Itanium до выхода в июне 2006 года процессора Montecito.июне 2006 года процессора Montecito.

Page 60: Лекция №10 Организация ЭВМ и систем

В марте 2005 года Intel анонсировал работы над новым процессором Itanium с кодовым именем Tukwila, представление которого было запланировано на 2007 год. Tukwila имел четыре процессорных ядра и заменил шину процессора Itanium новой, Common System Interface, которая будет также использоваться процессорами Xeon. Спустя год, Intel перенесла сроки начала отгрузки процессоров Tukwila заказчику за 2008 год.

В ноябре 2005 года основные изготовители серверов на базе Itanium присоединились к Intel и ряду продавцов программного обеспечения, чтобы сформировать «Альянс решений Itanium» (англ. Itanium Solutions Alliance), целью которого было совместно способствовать продвижению архитектуры и ускорять процесс переноса программного обеспечения. Альянс ожидал, что до конца десятилетия его члены инвестируют $10 млн в решения для Itanium.

Page 61: Лекция №10 Организация ЭВМ и систем

Первый двухъядерный Itanium (кодовое имя Montecito), Первый двухъядерный Itanium (кодовое имя Montecito), рекламируемого как серия Itanium 2 9000, был отгружен Intel рекламируемого как серия Itanium 2 9000, был отгружен Intel заказчикам в июле 2006 года. Intel и её партнёры обещали заказчикам в июле 2006 года. Intel и её партнёры обещали увеличение производительности процессора в 2 раза, в то же увеличение производительности процессора в 2 раза, в то же время снижение энергопотребления приблизительно на 20 % по время снижение энергопотребления приблизительно на 20 % по сравнению с одноядерным предшественником. Официальный сравнению с одноядерным предшественником. Официальный план выпуска процессоров Intel включает двухъядерные план выпуска процессоров Intel включает двухъядерные процессоры следующего поколения, произведенные по 65-нм процессоры следующего поколения, произведенные по 65-нм технологическому процессу (Montecito произведен по 90 нм технологическому процессу (Montecito произведен по 90 нм технологии) и два будущих четырёхъядерных процессора. Стоит технологии) и два будущих четырёхъядерных процессора. Стоит заметить, что один или более из этих процессоров будут заметить, что один или более из этих процессоров будут произведены с использованием 45-нм технологического произведены с использованием 45-нм технологического процесса.процесса.

В ноябре 2007 года Intel выпустил серию Itanium 2 9100, под В ноябре 2007 года Intel выпустил серию Itanium 2 9100, под кодовым именем Montvale. На май 2009 года был запланирован кодовым именем Montvale. На май 2009 года был запланирован выпуск Tukwila, его наследника, но дата была снова исправлена выпуск Tukwila, его наследника, но дата была снова исправлена выпуском версии для сборщиков систем, планируемым на выпуском версии для сборщиков систем, планируемым на первый квартал 2010 года.первый квартал 2010 года.

Page 62: Лекция №10 Организация ЭВМ и систем

Технические преимуществаТехнические преимущества Архитектура Intel Itanium была специально Архитектура Intel Itanium была специально

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

Выполнение до 6 инструкций за 1 цикл. Выполнение до 6 инструкций за 1 цикл. Выполнение двух SIMD операций с плавающей точкой Выполнение двух SIMD операций с плавающей точкой

c 98-битными операндами за один цикл. c 98-битными операндами за один цикл. Увеличенные вычислительные ресурсы ядра: 256 Увеличенные вычислительные ресурсы ядра: 256

регистров (128 целочисленных, 128 вещественных) и 64 регистров (128 целочисленных, 128 вещественных) и 64 предикатных регистра. предикатных регистра.

Большой кэш: 24 МБ у двухъядерной версии (по 12 МБ Большой кэш: 24 МБ у двухъядерной версии (по 12 МБ на ядро), предоставляющий данные каждому ядру со на ядро), предоставляющий данные каждому ядру со скоростью до 48 ГБ/с. скоростью до 48 ГБ/с.

Большое адресное пространство: 50-битная адресация Большое адресное пространство: 50-битная адресация физической памяти / 64-битная адресация виртуальной физической памяти / 64-битная адресация виртуальной памяти. памяти.

Page 63: Лекция №10 Организация ЭВМ и систем

Суперкомпьютер «Коламбия»Суперкомпьютер «Коламбия»В списке 500 самых производительных В списке 500 самых производительных

суперкомпьютеров, опубликованном в ноябре 2008 года, суперкомпьютеров, опубликованном в ноябре 2008 года, находятся 9 Itanium-систем. Самой производительной из них находятся 9 Itanium-систем. Самой производительной из них является «Коламбия», названная в честь экипажа погибшего является «Коламбия», названная в честь экипажа погибшего при крушении шаттла «Коламбия». Она находится на 39 при крушении шаттла «Коламбия». Она находится на 39 месте списка, установлена в NASA, содержит 13 824 месте списка, установлена в NASA, содержит 13 824 процессорных ядра и имеет пиковую производительность процессорных ядра и имеет пиковую производительность Rmax = 66,57 тераFLOPS. «Коламбия» была построена Rmax = 66,57 тераFLOPS. «Коламбия» была построена фирмой SGI из 20 узлов SGI Altix 3700 и 4700 и работает под фирмой SGI из 20 узлов SGI Altix 3700 и 4700 и работает под управлением SUSE Linux Enterprise Server 9.управлением SUSE Linux Enterprise Server 9.

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

В редакции от июня 2009 года содержится всего 6 В редакции от июня 2009 года содержится всего 6 систем на базе Itanium. При этом «Коламбия» опустилась на систем на базе Itanium. При этом «Коламбия» опустилась на 58 место.58 место.

Page 64: Лекция №10 Организация ЭВМ и систем

Архитектуры AMD64 (x86-64) и Intel Архитектуры AMD64 (x86-64) и Intel EM64T (IA-32e) EM64T (IA-32e)

Компании Intel и AMD представили Компании Intel и AMD представили 64-разрядные 64-разрядные расширения для 32-разрядной архитектуры Intel.расширения для 32-разрядной архитектуры Intel.

Фирма Intel представила архитектуру IA-64 (Фирма Intel представила архитектуру IA-64 (Intel Intel Architecture, 64-bitArchitecture, 64-bit — 64-разрядная архитектура Intel), — 64-разрядная архитектура Intel), выпустив процессоры Itanium и Itanium 2, однако данная выпустив процессоры Itanium и Itanium 2, однако данная архитектура была архитектура была абсолютно несовместима с 32-разрядной абсолютно несовместима с 32-разрядной архитектурой.архитектурой.

Архитектура IA-64 была анонсирована в 1994 году в Архитектура IA-64 была анонсирована в 1994 году в рамках проекта по разработке компаниями Intel и HP нового рамках проекта по разработке компаниями Intel и HP нового процессора с кодовым именем Merced; первые технические процессора с кодовым именем Merced; первые технические детали были опубликованы в октябре 1997 года. В детали были опубликованы в октябре 1997 года. В результате в 2001 году был выпущен процессор Itanium, результате в 2001 году был выпущен процессор Itanium, поддерживающий архитектуру IA-64.поддерживающий архитектуру IA-64.

Page 65: Лекция №10 Организация ЭВМ и систем

IA-64 не являлась расширением архитектуры IA-32, а IA-64 не являлась расширением архитектуры IA-32, а была совершенно новой архитектурой. Это хорошо для была совершенно новой архитектурой. Это хорошо для рынка серверов (для этого IA-64 и разрабатывалась), рынка серверов (для этого IA-64 и разрабатывалась), однако совершенно неприемлемо для мира ПК, который однако совершенно неприемлемо для мира ПК, который всегда требует обратной совместимости. Хотя архитектура всегда требует обратной совместимости. Хотя архитектура IA-64 и поддерживает эмуляцию IA-32, при этом IA-64 и поддерживает эмуляцию IA-32, при этом обеспечивается очень низкая производительность.обеспечивается очень низкая производительность.

Компания AMDКомпания AMD пошла по другому пути и пошла по другому пути и разработала разработала 64-разрядные расширения для архитектуры IA-32.64-разрядные расширения для архитектуры IA-32. В В результате появилась архитектура AMD64 (которая также результате появилась архитектура AMD64 (которая также называется x86-64). Через некоторое время называется x86-64). Через некоторое время Intel Intel представила собственный набор 64-разрядных представила собственный набор 64-разрядных расширений, который назвала EM64T (IA-32e).расширений, который назвала EM64T (IA-32e). Расширения Расширения Intel практически идентичны расширениям AMD, что Intel практически идентичны расширениям AMD, что означает их совместимость на программном уровне. В означает их совместимость на программном уровне. В результате результате впервые в истории сложилась ситуация, когда впервые в истории сложилась ситуация, когда Intel следовала за AMD в разработке архитектуры ПК.Intel следовала за AMD в разработке архитектуры ПК.

Page 66: Лекция №10 Организация ЭВМ и систем
Page 67: Лекция №10 Организация ЭВМ и систем
Page 68: Лекция №10 Организация ЭВМ и систем

Особенности архитектуры AMD64 (x86-Особенности архитектуры AMD64 (x86-64) и Intel EM64T (IA-32e) 64) и Intel EM64T (IA-32e)

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

Для адресации новых регистров для команд введены Для адресации новых регистров для команд введены так называемые «префиксы расширения регистра», для так называемые «префиксы расширения регистра», для которых был выбран диапазон кодов 40h-4Fh, которых был выбран диапазон кодов 40h-4Fh, использующихся для команд INC <регистр> и DEC использующихся для команд INC <регистр> и DEC <регистр> в 32-битных режимах. Команды INC и DEC в 64-<регистр> в 32-битных режимах. Команды INC и DEC в 64-битном режиме должны кодироваться в более общей, битном режиме должны кодироваться в более общей, двухбайтовой форме.двухбайтовой форме.

Page 69: Лекция №10 Организация ЭВМ и систем

Архитектура x86-64 имеет:Архитектура x86-64 имеет:•16 целочисленных 64-битных регистра общего 16 целочисленных 64-битных регистра общего

назначения (RAX, RBX, RCX, RDX, RBP, RSI, RDI, RSP, R8 назначения (RAX, RBX, RCX, RDX, RBP, RSI, RDI, RSP, R8 — R15),— R15),

•8 80-битных регистров с плавающей точкой (ST0 — 8 80-битных регистров с плавающей точкой (ST0 — ST7),ST7),

•8 64-битных регистров Multimedia Extensions (MM0 — 8 64-битных регистров Multimedia Extensions (MM0 — MM7, имеют общее пространство с регистрами ST0 — MM7, имеют общее пространство с регистрами ST0 — ST7),ST7),

•16 128-битных регистров SSE (XMM0 — XMM15),16 128-битных регистров SSE (XMM0 — XMM15),•64-битный указатель RIP и 64-битный регистр флагов 64-битный указатель RIP и 64-битный регистр флагов

RFLAGS.RFLAGS.x86-64x86-64 представляет собой надмножество из набора инструкций представляет собой надмножество из набора инструкций

x86 архитектуре.x86 архитектуре. Таким образом, x86-64 процессоров можно запускать Таким образом, x86-64 процессоров можно запускать существующие 32-битные или 16-разрядных x86 программы без существующие 32-битные или 16-разрядных x86 программы без ущерба для скорости и совместимости, и, кроме того, они оказывают ущерба для скорости и совместимости, и, кроме того, они оказывают поддержку новых программ, написанных в расширенный набор поддержку новых программ, написанных в расширенный набор инструкций, который имеет 64-разрядное адресное пространство и инструкций, который имеет 64-разрядное адресное пространство и другие возможности другие возможности

Page 70: Лекция №10 Организация ЭВМ и систем

Для того чтобы 64-разрядные вычисления стали Для того чтобы 64-разрядные вычисления стали реальностью, необходимы 64-разрядные операционные реальностью, необходимы 64-разрядные операционные системы и драйверы. системы и драйверы.

В апреле 2005 года компания Microsoft начала В апреле 2005 года компания Microsoft начала распространять пробную версию Windows XP Professional распространять пробную версию Windows XP Professional x64 Edition (поддерживает дополнительные инструкции x64 Edition (поддерживает дополнительные инструкции AMD64 и EM64T); основные поставщики компьютеров уже AMD64 и EM64T); основные поставщики компьютеров уже поставляют готовые системы с предустановленной поставляют готовые системы с предустановленной Windows XP Professional x64. Основные производители Windows XP Professional x64. Основные производители оборудования также разработали 64-разрядные драйверы оборудования также разработали 64-разрядные драйверы для текущих и достаточно современных моделей для текущих и достаточно современных моделей устройств. устройств.

Выпускаются и 64-разрядные версии Linux, благодаря Выпускаются и 64-разрядные версии Linux, благодаря чему каких-либо серьезных препятствий для перехода к 64-чему каких-либо серьезных препятствий для перехода к 64-разрядным вычислениям нет.разрядным вычислениям нет.

Page 71: Лекция №10 Организация ЭВМ и систем

http://habrahabr.ru/company/intel/blog/93831/http://habrahabr.ru/company/intel/blog/93831/

Орлов С.П., Ефимушкина Н.В. Организация Орлов С.П., Ефимушкина Н.В. Организация компьютерных систем: Учебное пособие. - Самара: компьютерных систем: Учебное пособие. - Самара: Самар.гос. техн. ун-т, 2011. - 203 с. [Электронный Самар.гос. техн. ун-т, 2011. - 203 с. [Электронный ресурс]. – Режим доступа: ресурс]. – Режим доступа: http://window.edu.ru/resource/007/77007http://window.edu.ru/resource/007/77007