- •Принцип двоичного кодирования
- •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)
Superscalar Architectures
Вместо
увеличения количества конвейеров -
один конвейер
с большим количеством функциональных
блоков
(PentiumII).
Первая В^1 с суперскалярной архитектурой
- СЕЗС 6600(10 блоков ДОО не - след . кем
).
S4

Instruction
fetch
unit
S2
Instruction decode
unit
Слайд 13
Суперконвейерная
vs
суперскалярной
обработки
8
и
ЕК
во
ЕК
во
ЕК
ЕК
ВА
ЕЛ
во
во
Суперскалярная
ЕА
ВО
ВА
во
ВА
во
ЕА
во
к,

во,
ДС-i
к.
г В=, ВЭ2 „^
«i*.*»
ЕА,
ЕА, ВЭ, Юа
Э3, ?,
Супфконвейерная
к,
к
ВА, ВА,
во,
WC
Э3, ?,
<1
[дс,
ВО,
ИС-i ?,
I
ас
1
№,
ВО] I В02
НС ] I
Printed
with FinePrint- purchase atwww.fineprint.com

й П
фуперконвейерная vs суперскалярной обработки
8
Ю 11
ЕК
EA
во
ЕК
ВК
ЕА
EO
ЕК
ЕК
ЕК
ЕК
EO
I/K
BO
Суперскалярная
ЕК
EK
EA
EO
ЕК
EA
EK
BO
I/K
ЕК
EA
EK
BA
EO
ЕК
BO
EK
EA
BO
I/K
к,

ВА,
ffi,
ИС,
ВА,
ВЭ-
к,
№■:
ffl,
BD,
ffi.
HC,
ВЭ-
HC . I
Супррскйлярная + суперконвейерная
к,
к,
ffi
ви,
BD
HC
,
1 "Ч ?1 Pi
ek2

Слайд 15
Суперконвейерные процессоры
Применение
суперскалярного подхода -> увеличение
производительности
ЕМ от 1£ до 8 раз .
Суперскалярность + суперконвейеризация реализованы в ЦП фирмы /М D - Athlon и Duron . Данное совмещение имеет место не только в конвейере команд , го и в блоке обработки чисел с плавающей запятой .
Слайд 16
Printed with FinePrint- purchase atwww.fineprint.com
Особенности реализации суперскалярных процессоров
Проблемы , присущие конвейеру , в суперскалярных процессорах лишь усугубляются . Дополнительные неувязки :1. проблема последовательности поступления команд на исполнение и 2 проблема последовательности завершения команд .
1. Очередность вьщачи декодированных команд на исполнительные блоки отличается от последовательности предписанной программой -неупорядоченная выдача команд (out-of-orderissue ),
Упорядоченная выдача команд (h -orderissue) - команды покидают ступени , предшествующие ступени исполнения в порядке , определённом программой .2. В обоих случаях завершение команд обычно не упорядочено (out-of-order completion). Упорядоченное завершение - знач . реже ^ v
Особенности
реализации суперскалярных
процессоров
Out-of-ordercompletion , пример :
MULR1,R2,R3 ADDR4,R5,R6
Конфликта го данным нет. hb даже при поступлении в таком порядке на исполнение - команда MUL будет завершена позже , чем АГХ> (требуется больше циклов ).
Взаимозависимость команд - серьёзная проблема .
Дол . фактор , характерный только для суперскаляров -конфликт го функциональному блоку , если на него претендуют несколько команд из разных конвейеров .
ADDR1,R2,R3 SUBR4, R5,R6
CitSid
Бели в ЦП только одно АЛУ - одновременное выполнение данных команд невозможно .
Printed
with FinePrint- purchase atwww.fineprint.com
Стратегии вьщачи и завершения команд
Г(эи паралл . выполнении нескольких команд ф должен знать , в какой очерёдности ем/ следует :
-выбирать команды из памяти
-выполнять команды
-позволять командам менять содержимое per. и памяти .
Суперскал . Ц1 должен уметь варьировать все указанные виды зависимостей , с тем , чтобы результат 6>1Л в соотв . с программой . Три стратегии вьщачи и завершения команд :
упорядоченная выдача и упорядоченное завершение
упорядоченная вьщача и неупорядоченное завершение
неупорядоченная вьщача и неупорядоченное завершение .Пример : 1_П с двумя конвейерами , три <Ш и два блока записирезультата . Команды : D- требует два цикла Ц1 , Б и Н -конфликт за обладание одним <Ш, Б зависит от результата 14,Б и Б конфликтуют за обладание одним и тем же <Ш .
Стратегии
вьщачи и завершения команд 
Упорядоченная выдача и упорядоченное завершение .
Наиболее простая стратегия . Первые Pentium (сейчас практически не встречается ). Принцип - всё , что затрудняет завершение команды в одном конвейере , останавливает и другой конвейер , т.к. команды должны покидать конвейеры в порядке поступления .
Для
принятия очередных команд
, 1_П должен ждать пока освободятся
обе части ступени Д<.
Для упорядочивания завершения
вьщача приостанавливается
при конфликте
за общий ®Ь
или
если
блоку требуется более одного
такта Ц1 .
|
Ц/КЛ |
д< |
|
| ||||
|
1 |
й |
В |
|
|
|
|
|
|
2 |
В |
И |
й |
12 |
|
|
|
|
3 |
В |
И |
й |
|
|
|
|
|
4 |
|
И |
|
|
В |
й |
2 |
|
5 |
Б |
Б |
|
|
|
|
|
|
6 |
|
Б |
|
Б |
|
В |
И |
|
7 |
|
|
|
Б |
|
|
|
|
8 |
|
|
|
|
|
Б |
Б |
Слайд Т)
Printed
with FinePrint- purchase atwww.fineprint.com
Стратегии вьщачи и завершения команд
Упорядоченная выдача и неупорядоченное завершение
ф позволяет «забегать » вперёд одним командам го отношению к другим , го должен гарантировать , что результаты не будут записаны в память и в регистры в неправильной последовательности .
Е
завершена до окончания 11.11 и
13 завершается в одном такте . Выигрыш
один такт.
|
Ц/КЛ |
д< |
|
| ||||
|
1 |
й |
В |
|
|
|
|
|
|
2 |
В |
К |
И |
12 |
|
|
|
|
3 |
|
И |
И |
|
В |
2 |
|
|
4 |
Б |
Б |
|
|
й |
И |
В |
|
5 |
|
Б |
|
Б |
|
И |
|
|
6 |
|
|
|
Б |
|
Б |
|
|
7 |
|
|
|
|
|
Б |
|
|
8 |
|
|
|
|
|
|
|
Слайд Ъ.
Стратегии
вьщачи и завершения команд 
Неупорядоченная
выдача и неупорядоченное завершение
|
|
д< |
Qq-o |
И< |
3> | |||||
|
1 |
й |
12 |
|
|
|
|
|
| |
|
2 |
В |
Н |
11Д |
й |
12 |
|
|
| |
|
3 |
Б |
Б |
13,14 |
И |
|
В |
2 |
| |
|
4 |
|
|
14Д5Д6 |
|
Б |
В |
а |
в | |
|
5 |
|
|
|
|
Б |
|
и |
Б | |
|
6 |
|
|
|
|
|
|
Б |
| |
|
7 |
|
|
|
|
|
|
|
| |
|
8 |
|
|
|
|
|
|
|
| |
Для обеспечения возможности неупорядоченной вьщачи команд в конвейере д.б. максимально «развязаны » ступени Д< и 1/К - обеспечивается с помощью буфера (окно команд ). Каждая декодированная команда - сперва в буфер , Ц1 может выбирать и декодировать команды до полного заполнения буфера .
Вьщача команд из буфера - пэ мере готовности операндов . Вьщача Б возможна до Б, так как Б зависит от 14, а Б - нет . Разница между данной и предыдущей стратегиями - к выдаче готово больше команд -> меньше вероятность останова конвейера .
Printed with FinePrint- purchase atwww.fineprint.com
Слюй 22
Аппаратная поддержка суперскалярных операций
Две основные проблемы :
устранение зависимостей команд го данным (ЧГВ иЗГВ).
сохранить опред . порядок выполнения команд , с тем ,чтобы результат бьш идентичен получаемому пристрогом соблюдении программной последовательности .
Возможные решения - программные и аппаратные . Аппаратные решения :
Для первой проблемы - переименование регистров
Для второй - переупорядочивание команд и откладывание
исполнения команд .
Слайд Ъ
Параллелизм
Уровни
параллелизма :
Уровень заданий - несколько независимых заданий на разных процессорах (фактически без взаимодействия друг с другом ). Реализуется многопроцессорными К в многозадачном режиме .
Уровень программ - части одной задачи выполняются на множестве процессоров . Реализуется на параллельных К .
Уровень команд - выполнение команд делится на фазы , фазы нескольких последовательных команд могут быть перекрыты зз счёт конвейеризации . Уровень достижим на fM с одним процессором .
Уровень битов (арифметический уровень ) - если биты слова обрабатываются последовательно -то эю биг-последовательная операция . Если обрабатываются одновременно -то бит-параллельная обработка .Уровень реализуется как в обычных так и суперскалярных процессорах^
Printed
with FinePrint- purchase atwww.fineprint.com
Параллелизм
Гранулярность
- мера отношения объёма вычислений ,
выполняемых
параллельно , к объёму коммуникаций .
Слепень гранулярности - от мелкозернистой (finegrained) и среднезернистой (mediumgrained) до крупнозернистой (coarsegrained).
Крупнозернистый параллелизм - каждое параллельное вычисление достаточно независимо от других , требуется редкий обмен информацией . Единицы распараллеливания - большие и независимые программы (тысячи команд ) Уровень обеспечивается средствами ОС.
Сред незернистый параллелизм - единицы распараллеливания -вызываемые процедуры (сотни команд ) Достигается программистом + компилятором .
Мелкозернистый параллелизм - каждое параллельное вычисление мало и элементарно (десятки команд ) Характерная особенность -приблизительное равенство затрат на вычисления и обмен информацией . Реализует распараллеливающий компилятор .
Параллелизм
Если
коммуникационная задержка минимальна
, то наилучшая производительность
при мелкозернистом параллелизме
(параллелизм
данных ).
Бели коммуникационная задержка велика (слабосвязанные системы ) - то лучше крупнозернистый параллелизм .
Уровень программ - два случая : а) независимые участки , которые можно выполнять параллельно , б) в пределах одного программного цикла , если итерации не зависят друг от друга .
Пример : for (I=0;I<N;I++) a(I) = B(I) + C(I);
Printed with FinePrint- purchase atwww.fineprint.com
Метрики параллельных
вычислении
Для
вычисления эффективности параллельных
вычислений используют
специфическую систему метрик .



Профиль параллелизма программы . Число процессоров , участвующих в каждый момент времени t в параллельном выполнении программы - степень параллелизма D(t) (DOP, Degree of Parallelism). Графическое представление D(t) как функции времени - профиль параллелизма программы .
ва-ь |раллелизма
Слайд 27
2 4 6 8 Ю 12 М 16 IS 20 22 24 26 28 3)
DOP : :
Метрики
параллельных
вычислении
Общий
объём вычислительной работы W
-
площадь под кривой
: W
=
XPtj
(i=l ДО m -
максимальное кип -вэ Ц1).
Средний параллелизм - А = W/ Для данного примера А =3772.
уррва-ь
|раллелизма
DOP
2 4 6 8 Ю 12 14 16 18 20 22 24 26 28 3)
Printed
with FinePrint- purchase atwww.fineprint.com
Метрики параллельных вычислений
0(п) - общее число операций , выполненных на п-процессорной системе .
Т(п) - время выполнения О(п) операций в виде квантов времени .
В общем случае Т(п)<О(п), если в единицу времени п-процессорами выполняется более чем одна команда , п>2.
Ускорение (speedup) за счёт параллелизма - отношение
времени , требуемого для выполнения наилучшего из последовательных алгоритмов на одном У1 и времени параллельного вычисления на п- процессорах .
S(n)=T(iyT(n), Как правило S(n) <n.
Эффективность (efficiency ) - ускорение на один процессор :
= T(l)/(n*T(n))-
Мефики
параллельных вычислений
Часто при параллелизме -дополнительные издержки .
Избыточность (redundancy ) - отражает степень соответствия между программными и аппаратными издержками .
Коэффициент полезного использования (utilization) -U(n) = R(n)*E(n) = O(n)/(n*T(n)) .
Пример . Наилучший последовательный алгоритм - 8 сек, а параллельный на пяти процессорах - 2 сек .
Тогда : S(n)= S(5) = 8/2 =4
E(n)=E(5)=4/5=0,8 R(n)=l/0,8 -1 = 0,25; U(n)= U(5) = 0,25*0,8 = 0,2;
Слайд ЗЭ
Printed with FinePrint- purchase atwww.fineprint.com
Метрики параллельных вычислений
Собственное ускорение - результат реализации параллельного алгоритма на одном процессоре .
Беги ускорение Sp ) =n , то - алгоритм показывает линейное ускорение .
В исключительных ситуациях S(n)>n , тогда - суперлинейное ускорение . Пример :
Последовательный алгоритм выполняется в малом объёме памяти - частые подкачки и промахи гаи . В параллельной версии - локальность го данным не требует частых подкачек .
Виды издержек :
- программные . Параллельные алгоритмы будут вычислять дсп . индексы для декомпозиции данных , различные виды учётных операций .
с*™»
Метрики параллельных вычислений
Издержки из-за дисбаланса загрузки процессоров - между точками синхронизации каждый из процессоров должен быть загружен одинаково - иначе простой . Ускорение ограничивается самым медленным из процессоров .
Коммуникационные издержки - если обмен информацией и вычисления перекрываются , то любые коммуникации между процессорами снижают ускорение .
Качество параллельного выполнения программы -
объединение ускорения , эффективности и избыточности
Q(n) = S(n)*E(n) *R(n) Пример сл.ЗО: Q(n) = Q(5) = 4*0,8*0,25 = 0,8
Слайд 32
Printed with FinePrint- purchase atwww.fineprint.com
Закон Амдала
В
идеале система из п процессоров может
ускорить вычисления
в п раз . В реальности - hs
так
. Главная причина полное
распараллеливание невозможно .
Как правило в каждой программе часть кеда выполняется только последовательно и одним процессором .
Вопрос - как оценить реальное ускорение .
Джин Амдал (одт из разработчиков IBM360) в 1967 гаду предложил формулу , отражающую зависимость ускорения вычисления от числа процессоров и соотношения между последовательной и параллельной частями программы .
Пусть объём задачи остаётся постоянным . Последовательная доля вычислений - f,0 <f < 1 тогда параллельные части занимают 1-f.
Слайд 33
Закон Амдала
S
= Ts/ Tp
Тр =f*Ts+((l -f)*Ts)/n Б результате - закон А|^щала :
S = Ts/Tp =n/(l+(n -l)*f) Беги взять предел гри п->оо, то
h S=l/f
Следствия - если в программе В/о последовательных операций , т.е. f=0,l , то сколько процессоров нэ использовать , ускорения более чем в Ю раз hs получить . И то Ю - это наилучший теоретический вариант без учёта издержек .
Слайд 34
Printed with FinePrint- purchase atwww.fineprint.com
Закон Гусгафсона
В
1980 -х годах , Густафсон решал на ВС из
1024 процессоров
три задачи с Ё= от 0,4 д? Q8
и получил ускорения
равные 1021,1020 и 1016. Согласно закону
Амдала теоретическое ускорение ье
должно было
превысить 201.
Ответ скрывался в предпосылке , что объём вычислений остается таким ж. ЬЬ самом деле объём задачи при распараллеливании увеличивается , при этом f -сокращается .
Пример : Для решения дф .уравнений в частных производных для 1000 узловых точек f =0,1. При увеличении узлов до 100000 f снизится до 0,1%.
Слайд 35
Закон Гусгафсона
Было
отмечено , что гри первом приближении
объём работы
, выполняемой параллельно увеличивается
линейно с ростом числа процессоров
в системе .
Потому рекомендуется использовать след . выражение :
S = Ts/Tp =n
Данное выражение получило название закон
масштабируемого ускорения или закон Густафсона .
Пэи этом закон Густафсона не противоречит закону Амдала . Сн лишь утилизирует дополнительную мощность , возникающую при увеличении числа процессоров .
Слюд 36
Printed
with FinePrint- purchase atwww.fineprint.com
Структурная и функциональная организация ЗЁМ (ComputerOrganizationandDesign )
БГУИР
кафедра
доцент Сам ал ь Дмитрий Иванович
т.284 -2L -61, dmitry_samal@mail.ru ,
a.5Q2 -5
Лекция 22 «Параллелизм »
2G07
План
лекции
Классификация Флинна .

Организация памяти вычислительных систем .
Модели архитектур совместно используемойпамяти .
Модели архитектур распределённой памяти .
Мультипроцессорная когерентность паи -памяти
Printed
with FinePrint- purchase atwww.fineprint.com
Слайд 2
Архитектуры параллельных W\
Private
memory




Shared memory \
Computer

![]()
CPU
Coprocessor
CPU
Main
CPU
1
CPU
CPU



irrter^
Tightly
coupled


Loosely coupled
(a)
(b)
(a)On -chip parallelism, (b) A coprocessor, (c) A multiprocessor, (d) A multicomputer, (e) A grid.
Слайд 3
Классификация
параллельных ВС
В
1966 М.Фпинн предложил классификацию
на основе понятия
«потока » - последовательности элементов
-команд
или данных , обрабатываемых процессором
.
В зависимости от количества потоков команд и потоков данных выделяется четыре класса архитектур :
