Разделы презентаций


Параллелизм уровня команд. Типы зависимостей

Содержание

Зависимость между инструкциямизависимость по данным;зависимость по именам;зависимость по управлению.

Слайды и текст этой презентации

Слайд 1Параллелизм уровня команд
Параллелизмом уровня команд называется наличие в коде

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

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

Слайд 2Зависимость между инструкциями
зависимость по данным;
зависимость по именам;
зависимость по управлению.


Зависимость между инструкциямизависимость по данным;зависимость по именам;зависимость по управлению.

Слайд 3Зависимость по данным.
Инструкция J зависит по данным от инструкции I

если результат работы инструкция I может быть использован инструкцией J.
Отношение

зависимости между инструкциями обладает свойством транзитивности, то есть если инструкция J зависит от инструкции K, а инструкция K зависит от инструкции I, то инструкция J зависит от инструкции I.
Зависимость по данным.Инструкция J зависит по данным от инструкции I если результат работы инструкция I может быть

Слайд 4Зависимость по данным (пример).
Loop: L.D F0,0(R1)

ADD.D F4,F0,F2

S.D F4,0(R1)

DADDIU R1,R1,-8

BNE R1,R2,Loop

Зависимость по данным (пример).Loop:	L.D F0,0(R1)	ADD.D F4,F0,F2	S.D F4,0(R1)	DADDIU R1,R1,-8		BNE R1,R2,Loop

Слайд 5Связь между инструкциями
Через регистры
Просто выявить на этапе компиляции. Связь

по имени регистра.
Через память
Сложно, иногда невозможно выявить на этапе компиляции.

Связь по значению регистра.
Связь между инструкциямиЧерез регистры Просто выявить на этапе компиляции. Связь по имени регистра.Через памятьСложно, иногда невозможно выявить

Слайд 6Зависимость по именам.
Две инструкции зависят по именам, если использую одинаковые

регистры или одинаковые ячейки в памяти, но при этом нет

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

Слайд 7Тип зависимости по именам
1. Анти зависимость
между инструкциями I и

J существует, когда инструкция J пишет в ячейку памяти или

регистр, которую инструкция I читает.
2. Зависимость по выходу
существует , когда инструкция I и J пишут в одну ячейку памяти или регистр.


Тип зависимости по именам1. Анти зависимость между инструкциями I и J существует, когда инструкция J пишет в

Слайд 8Пример зависимостей по именам.
DIV.D F0,F2,F4

ADD.D F6,F0,F8

S.D F6,0(R1)

SUB.D F8,F10,F14

MULT.D F6,F10,F8

Анти зависимость

Зависимость

по выходу

Пример зависимостей по именам.DIV.D F0,F2,F4ADD.D F6,F0,F8S.D F6,0(R1)SUB.D F8,F10,F14MULT.D F6,F10,F8Анти зависимостьЗависимость по выходу

Слайд 9Базовый блок
Это максимальная непрерывная последовательность инструкций, в которой не происходит

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

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

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

Слайд 10Граф потока управления (Control Flow Graph)
Узлами графа являются базовые блоки.
Направленная

дуга идет от блока B1 к B2, если блок B2

может следовать за блоком B1 в некоторой последовательности исполнения.
Граф потока управления  (Control Flow Graph)Узлами графа являются базовые блоки.Направленная дуга идет от блока B1 к

Слайд 11Пример граф потока управления

Пример граф потока управления

Слайд 12Зависимость по управлению
Это зависимость всех инструкций базового блока от инструкции

ветвления, которая ссылается на это блок.

Зависимость по управлениюЭто зависимость всех инструкций базового блока от инструкции ветвления, которая ссылается на это блок.

Слайд 13Пример зависимости по управлению
mov ebx, mas
mov edx, res
xor esi,esi
m1:
mov

eax,[ebx+esi]
add eax,2
mov [edx+esi],eax
add esi,4
cmp esi,40
jl m1
xor esi,esi
……….



Пример зависимости по управлениюmov ebx, masmov edx, resxor esi,esi m1:mov eax,[ebx+esi]add eax,2mov [edx+esi],eaxadd esi,4cmp esi,40jl m1xor esi,esi……….

Слайд 14Граф потока данных.
Узлы графа – инструкции.
Дуга связывает инструкцию производителя с

инструкциями потребителями.

Граф потока данных.Узлы графа – инструкции.Дуга связывает инструкцию производителя с инструкциями потребителями.

Слайд 15Критерии сохранения корректности программы
1. Сохранение потока данных
Поток значений передаваемых между

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

данных динамическим.
2. Сохранение поведения исключений
Порядок, количество и тип генерируемых исключений должен сохраниться.


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

Слайд 16Когда применяются критерии?
1. При перестановки инструкции в программе.
2. При переходе

от последовательного к параллельному исполнению.

Когда применяются критерии?1. При перестановки инструкции в программе.2. При переходе от последовательного к параллельному исполнению.

Слайд 17Сохранение потока данных (пример).
DADDU R1,R2,R3
BEQZ R4,L
DSUBU R1,R5,R6
L:
OR R7,R1,R8

DADDU R1,R2,R3
BEQZ R12,skipnext
DSUBU

R4,R5,R6
DADDU R5,R4,R9
skipnext:
OR R7,R8,R9





Сохранение потока данных (пример).DADDU R1,R2,R3BEQZ R4,LDSUBU R1,R5,R6L:OR R7,R1,R8DADDU R1,R2,R3BEQZ R12,skipnextDSUBU R4,R5,R6DADDU R5,R4,R9skipnext: OR R7,R8,R9

Слайд 18Сохранение поведения исключений (пример)
Может быть сгенерировано исключение, если R2=0.
DADDU R2,R3,R4
BEQZ

R2,L1
LW R1,0(R2)
L1:



Сохранение поведения исключений (пример)Может быть сгенерировано исключение, если R2=0.DADDU R2,R3,R4BEQZ R2,L1LW R1,0(R2)L1:

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика