
- •Принцип двоичного кодирования
- •0 D 0 0 1 0 0 0 инверт
- •1) Проверить, выровнены ли порядки, и. Если нет. То выровнять.
- •2} Сложить мантиссы (одна из них. Возможно, денормализовша).
- •С 1992 г. - неотъемлемая часть Intel и amd.
- •271 Команда - групповые арифметические и логические операции , сдвиги , сравнения , перегруппировка и извлечение отдельных чисел , различные варианты пересылок .
- •Команды управления виртуальной памятью .
- •6} В режиме ss&2
- •3 Register ImmediateFormat 1a
- •Instruction -Level Pa га I lei ism
- •Instruction -Level Parallel ism
- •Su perscalarArch itectu res
- •Intel 486 - один конвейер , Pentium - 2 конвейера из 5 стадий .
- •Su perscalarArch itectu res
- •Su perscalarArch itectu res
- •Instruction
- •1011X j|I 2 - все параллельно
- •1 Упрощается архитектура процессора ; вместо распараллеливающей логики на eric процессоре можно разместить больше регистров , функциональных устройств .
- •BusWidth
- •1. Арбитраж пин
- •3. Методы повышения эффективности пин
- •4. Стандарты шинS Примеры
- •Bus Arbitration (2)
- •Способы расширения полосы пропускания шин :
- •Pci BusTransactions
- •Сокращённые обозначения -kj,Mi7 Gi.Ti.Pi и Ei.
- •Vax/1980 pPra/1996
- •MemoryChips
- •Volatile
- •1. Блочная организация основной памяти
- •2. Микросхемы памяти
- •Расслоение памяти
- •Расслоение памяти
- •1. Динамические сву
- •Динамические сву для видеоадаптеров
- •Многопортовые os/
- •Volatile
- •2. (Пни -память
- •3. Ассоциативные 3/
- •4. Организация fau -памяти
- •Пример 2
- •Пример 2
- •1. Организация fcu -памяти
- •2. Система ввода -вывода
- •Ёмкость каи - 32kb , строки го 25б байт .
- •Address
- •64 Kb cache, direct -mapped,32 -byte cache block
- •32 Kb cache, 2 -wayset -associative, 16 -byteblocks
- •16Kb,4 -wayset-associativecache732 -bitaddress, byte -addressablememory/32 -byte cache blocks/lines
- •Write -through - прежде всего обновляется слово ,
- •Средства обнаружения и защиты от ошибок . Архитектура современных н)¥щ основана на полностью ассоциативном отображении .
- •Структура гу
- •1. Понятие конвейера
- •If: Instruction fetch
- •Id: Instruction decode/ register file read
- •Риск го данным - взаимосвязь команд го данным
- •Pipelined Datapath
- •Hazards
- •Superscalar Architectures
- •Instruction
- •Instruction decode
- •1. Очередность вьщачи декодированных команд на исполнительные блоки отличается от последовательности предписанной программой -неупорядоченная выдача команд (out-of-orderissue ),
- •Sisd,misd,simd,mimd.
- •Классификация Флинна
- •Heterogeneous multiprocessor chip with six cores
- •Организация памяти вс
- •Message-passing interconnection network
- •3 Stages
- •3 Stages
- •Num am ulti processors
- •Interconnection network
- •18Bits 8
- •18Bits 8
- •And memories are not shown.
- •(A) a star, (b) a complete interconnect.
- •(C) a tree, (d) a ring, (e) a grid, (f) a double torus.
- •(G) a cube, (h) a 4d hypercube.
- •Red Storm (2)
Su perscalarArch itectu res
Вместо
увеличения количества конвейеров -
один конвейер
с большим количеством функциональных
блоков
(PentiumII).
Первая ЕМ с суперскалярной архитектурой
- CDC 6600(10
блоков ,100 не - след . кем ).
S4
ALU
ALU
S1
S3
S5
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 легли три основных фактора :
Обратная совместимость .
Обратная совместимость .
Обратная совместимость .
Слайд 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
|
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
|
OP. TYPE |
REGISTER 3 |
REGISTER 2 |
REGISTER 1 |
|
OPERATION GROUP PREDICATE REGISTER
В связке - три команды и шаблон - можно лл запустить с командой 10 параллельно команду \ и 12: