Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

ЛЕКЦИЯ 8.

Читайте также:
  1. Лекция (1 час).
  2. Лекция (1 час).
  3. ЛЕКЦИЯ (методическая разработка)
  4. ЛЕКЦИЯ (методическая разработка)
  5. ЛЕКЦИЯ (методическая разработка)
  6. Лекция 1
  7. Лекция 1

Процессоры потока данных.

Существует два типа управления выполнением программы: управление от потока команд (IF − Instruction Flow) и управление от потока данных (DF − Data Flow). Если в ЭВМ первого типа используется традиционное выполнение команд по ходу их расположения в программе, то применение ЭВМ второго типа предполагает активацию операторов по мере их текущей готовности.

В случае DF все узлы информационного графа задачи представляются в виде отдельных операторов:

КОП О1, О2, A3, БС

где О1, О2 — поля для приема первого и второго операндов от других операторов; A3 − адрес (имя) оператора, куда посылается результат; БС − блок событий. В БС записывается число, равное количеству операндов, которое нужно принять, чтобы начать выполнение данного оператора. После приема очередного операнда из БС вычитается единица, когда в БС оказывается нуль, оператор начинает выполняться. Программа полностью повторяет ИГ, но ее операторы могут располагаться в памяти в произвольном порядке. Выполняться они будут независимо от начального расположения строго в соответствии с зависимостью по данным. Это и есть управление потоком данных. Считается, что такая форма представления ИГ обеспечивает наибольший потенциальный параллелизм.

В случае зависимостной архитектуры компилятор или программист выяв-

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

зависимостей между операциями в машинной программе. Аппаратура все же

еще должна определить на этапе исполнения, когда каждая операция становит-

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

Но прежде рассмотрим вопрос о влиянии количества регистров общего на-

значения РОН на величину параллелизма. Существует несколько видов памяти

с разным временем доступа и объемом хранимой информации:

 

Тип памяти Время доступа, такты Обьем
РОН   Обычно до 16 байт
Кэш 1-2 Сотни килобайт
Оперативная память 20-50 гигабайты

Регистры – самая быстрая память. Обычно их немного. Рассмотрим сле-

дующую ситуацию. Пусть требуется сложить четыре числа - .

Рассмотрим эту операцию для двух случаев: в микропроцессоре имеется 2 или 4 РОН. В программе для двух РОН из-за недостатка регистров приходится промежуточные результаты записывать в память, поэтому программы удлиняется и в нейт нет параллелизма. Если предположить, что одно обращение к памяти занимает 3 такта, а сложение – 1 такт, то приведенная программа выполняется за 30 тактов.

Программа

mov r1, [a1]

mov r2, [a2]

r1=r1+r2

 

mov [b1], r1

mov r1, [a3]

mov r2, [a4]

r1=r1+r2

 

mov [b2], r1

mov r1, [b1]

mov r2, [b2]

r1=r1+r2

mov [c], r1

 

Увеличение числа регистров до 4 –ех устраняет использование промежу-

точных переменных и позволяет параллельное выполнение операций:

mov r1, [a1]

mov r2, [a2]

mov r3, [a3]

mov r4, [a4]

r1=r1+r2, r3=r3+r4

r1=r1+r2

mov [c], r1

Итого, 17 тактов, что значительно меньше, чем в предыдущем случае. При увеличении объема данных и числа РОН выигрыш будет намного больше.

Микропроцессор Pentium Pro компании Intel (рис) построен по принципу

управления от потока данных (DF), отсюда и получил название потокового.

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

Блок ВД (выборка и декодирование команд) по существу является микро-

программной частью компилятора. Он обеспечивает:

• Чтение команд из КЭШ и их преобразование из формата i86 в формат DF (управление от потока данных)

• Запись команд в буфер команд в буфер команд БК. В БК команды пред-

ставлены в трехадресном формате. Поскольку в системе команд i 86 мало

РОН (всего 8), то для устранения ложных зависимостей по данным в МП

Pentium Pro введено 40 дополнительных регистров, которые недоступны

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

результатов. Обозначим эти регистры временного хранения через V. Тогда

 

на рисунке V1, V2 и VР обозначают соответственно номера регистров для

хранения первого, второго операндов и результата.

Блок ПВ (планирование и выполнение) является центральным блоком МП Pentium Pro. Именно он выполняет команды в порядке их готовности. ПВ содержит несколько АЛУ и устройств обращения к памяти. За один такт ПВ выполняет следующие действия:

• Выделяет в БК команды, готовые к исполнению.

• Планирует и назначает на исполнение до пяти команд, поскольку в ПВ

имеется пять исполнительных устройств.

• Выполняет эти команды.

• Передает результаты в блок БК, вычитает единицу из БС и в случае воз

можности устанавливает в командах признак готовности.

Чтобы блок ПВ мог выполнять за один такт до 3...5 команд, необходимо,

чтобы в БК находилось до 20...30 команд. По статистике среди такого объема

команд в среднем имеется имеется 4...5 команд условных переходов. Следова-

тельно, в БК находится некоторая трасса выполнения команд. Выбор таких

наиболее вероятных трасс является новой функцией МП с непоследовательным

выполнением команд. Эта функция выполняется в блоке ВД на основе расши-

ренного до 512 входов буфера истории переходов.

Поскольку реально вычисленный в ПВ адрес перехода не всегда совпадает с предсказанным в блоке ВД, то вычисление в ПВ выполняется условно, т. е. результат записывается в регистр временного хранения. Только после того, как

установлено, что переход выполнен правильно, блок удаления команд УК вы-

водит из БК все выполненные команды, расположенные за командой условного

перехода, преобразует их в формат системы i 86 и производит запись результа-

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

 


Дата добавления: 2015-07-08; просмотров: 200 | Нарушение авторских прав


Читайте в этой же книге: Введение | Большие задачи. | Методы повышения быстродействия | Формы параллелизма | Параллелизм независимых ветвей | Каждые 2 года количество транзисторов на кристалле удваивается | Основные этапы развития параллельной обработки | МЕЛКОЗЕРНИСТЫЙ ПАРАЛЛЕЛИЗМ | Алгоритм автоматического распараллеливания арифметических | Метод списочных расписаний. |
<== предыдущая страница | следующая страница ==>
Классификация Фишера для мелкозернистого паралеллизма| Независимостные архитектуры.

mybiblioteka.su - 2015-2024 год. (0.009 сек.)