Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции 437стр.doc
Скачиваний:
45
Добавлен:
15.06.2014
Размер:
9.54 Mб
Скачать

Su perscalarArch itectu res

Вместо увеличения количества конвейеров - один конвейер с большим количеством функциональных блоков (PentiumII). Первая ЕМ с суперскалярной архитектурой - CDC 6600(10 блоков ,100 не - след . кем ).

S4

ALU

ALU

S1

S3

S5

Instruction

fetch unit

Instruction

decode

unit

Operand fetch

unit

LOAD

STORE

Floating point

Слайд 27

Processor -LevelParallelism

Векторные компьютеры :

Массивно -параллельный процессор (arrayprocessor) -большое число сходных процессоров , одна последовательность команд к разным наборам данных . Первый array processor - ILLIACIV ,4 сектора го 64 зп -та

Control unit

Processor

Memory

В

а

В

в

в в в

J

Broadcasts instructions

> 8 х 8 Processor/memory grid

Printed with FinePrint- purchase atwww.fineprint.com

Сяайд

Processor -LevelParallelism

Векторный процессор (vectorprocessor) - с программной точки зрения аналогичен arrayprocessor . hb все операции сложения выполняются в одном блоке суммирования (с конвейерной структурой ).

Первый vectorprocessor - CRAY-1(1974).

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

Arrayprocessor может быть гораздо быстрее vs vector processor , нэ дороже . Векторный процессор может быть добавлен к обычному , в качестве сопроцессора .

Слайд 29

Processor -LevelParallelism

Мультипроцессор - несколько параллельных процессоров с общей памятью , в отличие от arrayprocessor.

Самый простой - наличие одной шины . Минусы - TR

Плюсы - с разделённой памятью удобно работать . Больше 64 процессоров - переход к мультикомпьютерам .

Local memories

CPU

CPU

CPU

CPU

Shared memory

J^ /

\

Shared nemory

r

CPU

CPU

CPU

CPU

Bus

Bus

(a)

(b)

Printed with FinePrint- purchase atwww.fineprint.com

Слайд ЗЭ

Сравнение наборов команд

Pentium IV — это классическая двухадресная 32 -битная машина CISC. Долгая история ,особые и нерегулярные способы адресации , множество команд обращений к памяти .

UltraSPARC E — это современная трехадресная 64 -битная машина RISC с архитектурой загрузки /сохранения , всего двумя способами адресации и компактным и эффективным набором команд .

В основу разработки компьютера Pentium E легли три основных фактора :

  1. Обратная совместимость .

  2. Обратная совместимость .

  3. Обратная совместимость .

Слайд 31

Сравнение наборов команд

В настоящее время никто не стал б>1 разрабатывать такую нерегулярную машину с таким маленьким количеством абсолютно разных регистров .

Очень сложно писать компиляторы -> недостаток регистров -> компиляторы постоянно сохраняют и загружают переменные в/из памяти -> очень невыгодно даже при наличии трех уровней кэшпамяти .

Реализация Pentiumll требует транзисторов в полтора раза больше , чем UltraSPARC П.

UltraSPARC E содержит полную 64 -битную архитектуру команд (с шиной на 128 битов ). Ц1 содержит много регистров и имеет набор команд , в котором преобладают трехрегистровые операции ,а также имеется небольшая группа команд LOAD и STORE. Вое команды одного размера , хотя число форматов вышло из-под контроля . Большинство новых разработок очень похожи на UltraSPARC Ц, ю содержат меньше форматов команд .

Printed with FinePrint- purchase atwww.fineprint.com

Проблема с Pentiumll

Основная проблема заключалась в том , что IV -32 — это старая архитектура команд с совершенно не подходящими для современной техники свойствами . Это архитектура CESC с командами разной длины и огромным количеством различных форматов , которые трудно декодировать быстро и на лету .

Современная техника лучше всего работает с

архитектурами команд REC с командами одной длины и с кодом операции фиксированной длины , который легко декодировать .

Команды R-32 можно разбить на микрооперации типа REC во время выполнения программы , но для этого требуется дополнительное аппаратное обеспечение

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

Слайд 33

Проблема с Pentiumll

IV -32 — это архитектура , которая ориентирована на двухадресные команды .

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

Поскольку скорость работы процессора растет гораздо быстрее , чем скорость работы памяти , положение дел с R -32 со временем вое

больше ухудшается . Это второй недостаток .

Слайд 34

Printed with FinePrint- purchase atwww.fineprint.com

Проблема с Pentiumll

Архитектура й -32 содержит небольшой и нерегулярный набор регистров . Из-за столь малого числа регистров общего назначения (четыре или шесть, в зависимости от того , как считать ESE и EDI) постоянно нужно записывать в память промежуточные результаты , и поэтому приходится делать дополнительные обращения к памяти , даже когда они го логике вещей не нужны . Это третий недостаток .

Слайд 35

Проблема с Pentiumll

Из-за недостаточного числа регистров возникает множество ситуаций зависимостей , особенно W0R (write after read) -зависимостей , поскольку промежуточные результаты нужно куда -то поместить , а дополнительных регистров нет .

Пэи недостатке регистров требуется переименование регистров в скрытые регистры . Вэ избежание слишком частых промахов каи -памяти команды приходится выполнять не го порядку .

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

Слайд 36

Printed with FinePrint- purchase atwww.fineprint.com

Проблема с Pentiumll

Чтобы скорость работы была высокой , нужна сильно конвейеризированная система (12 стадий ). Однако это значит, что для выполнения команды потребуется 11 циклов . Следовательно , становится существенным точное предсказание переходов , поскольку в конвейер должны попадать только нужные команды .

Из даже при низком проценте неправильных предсказаний существенно снижается производительность . Это пятый недостаток .

Чтобы избежать проблем с неправильным

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

Слайд 37

Й-64 (ItaniumProcessor)-абсолютно новая архитектура .

Июнь 1994 г. Intel и Hewlett -Packard подписывают соглашение о совместной разработке новой 64 -разрядной архитектуры , ориентированной на применение в серверах и рабочих станциях .

Ноябрь 1997 г. Intel и ЬР представляют результат работы совместного коллектива разработчиков -новую микропроцессорную архитектуру ЕРЕС (Explicitly ParallellnstructionComputing , явно -параллельного вычисления инструкций ) - усовершенствованную версию VUW (Very Long Instruction Word) архитектуры .

Анонсируются планы го разработке семейства процессоров Itanium (первы й - Merced ).

Слайд 33

Printed with FinePrint- purchase atwww.fineprint.com

IV-64 - архитектура LOAD/STORE с 64 -bit адресами ,128 PCH (64-bit) и 128 регистров с ГВ (80 bit)+ 64 регистра предикатов (L bit) - данные для Itanium2 .

Bits

41

41


41

instruction 2

Instruction 1

Instruction 0

Template

10

Bits s%

OP. TYPE

REGISTER 3

REGISTER 2

REGISTER 1

OPERATION GROUP

PREDICATE REGISTER

Команды J\ -64 группируются компилятором в связку /пучёк (bundle) длиной в 128 bit.

Bits

41

41


41

Instruction 2

Instruction 1

Instruction 0

Template'

10

Bits *%

OP. TYPE

REGISTER 3

REGISTER 2

REGISTER 1

OPERATION GROUP PREDICATE REGISTER

В связке - три команды и шаблон - можно лл запустить с командой 10 параллельно команду \ и 12: