Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции / 3 / 18

.doc
Скачиваний:
26
Добавлен:
16.04.2013
Размер:
45.57 Кб
Скачать

Лекция №18 (17.11.06)

Конвейерная обработка информации

РИС.1.

Выборка (ВК), дешифрация команды (ДК) , выработка адресов операндов (ВАО), выборка операндов (ВО), исполнение команды (ИК), ветвление, прерывание (Пр), изменение программного счетчика (Изм РС), очищение конвейера (Оч.К).

Ком1

ВК

ДК

ВАО

ВО

ИК

Ком2

ВК

ДК

ВАО

*

ВО

ИК

Ком3

ВК

ДК

ВАО

*

*

ВО

ИК

Ком4

ВК

ДК

ВАО

ВО

ИК

**

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

** - данное совмещение возможно, если результат команды №3 размещается в регистрах общего назначения, а выборка команды производится из памяти.

Достоинства: повышение производительности.

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

Каждый этап операций должен быть ориентирован на самую длинную операцию, поэтому неизбежна потеря времени.

Способы:

  1. Использование нескольких потоков.

Конвейер предусматривает возможность одновременного выполнения после команды условного перехода команды, которая следует непосредственно за командой условного перехода и команды, которая бы выбралась при условии перехода. Основной недостаток: конвейер должен обладать интеллектом.

  1. Предварительная выборка операций ветвления.

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

  1. Отложенное ветвление.

Ком1

ВК

ДК

ВАО

ВО

ИК

Ком2

NOP

Ком3

NOP

Ком4

NOP

Ком5

NOP

Ком6

ВК

ДК

ВАО

ВО

ИК

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

  1. Двухступенчатые. I – выборка команды, Е – исполнение команды.

  2. Трехступенчатый. I – выборка команды, Е – исполнение команды, D – обращение к памяти.

  3. Четырехступенчатый. I – выборка команды, Е1 – выборка операндов, Е2 – исполнение команды, D – обращение к памяти, размещение результата.

Разработаны две риск архитектуры: риск1 (RISC-I) и риск2 (RISC-II). На них строятся все остальные процессоры.

RISC-I. Команды: сложение с переносом и без, вычитание с заемом и без, поразрядное и, или, не; сдвиг влево и вправо.

RISC-II. Команды: все вышеперечисленное, умножение, деление.

Формируются 4 флага: результат равен 0, результат отрицательный, выполнение, перенос. Структура команды характерна тем, что все поля имеют строго заранее определенную длину и всегда находятся в строго определенном месте команды, это позволило значительно упростить устройство управления. В RISC-I 138 регистров, которые разбиты на 8 зон и 9 глобальных регистров. Данные регистры доступны из каждой команды. В RISC-II имеется 256 регистров и 24 глобальных.

Архитектура машин, управляемых потоками данных

В классических вычислительных машинах является основой:

  1. последовательное выполнение команд,

  2. пассивная память хранения данных и программ.

В вычислительных машинах с управляемыми потоками данных память является активной, отсутствует последовательность в выполнении команд.

Принцип действия. Автор программного обеспечения Dennis. Это специфический язык, который включает в себя следующее: вводятся обозначения (РИС.2.),

  1. набор команд, которые не готовы к выполнению, о – TOKEN - это признак наличия информации. Считается, что команда готова к выполнению, если данные присутствуют в каждом из входных портов и отсутствуют в выходном. Программа представляет собой направленный граф, образованный соединенными между собой командами. Выходной порт одной команды соединен с входным портом другой команды. Таким образом, порядок выполнения команд определяется не программным счетчиком, как в обычных машинах, а движением данных от команды к команде.

Программа решения квадратного уравнения. РИС.3.

В терминологии языка программирования присутствуют следующие понятия:

  1. исполнительный элемент (это операция, не готовая к выполнению: или отсутствует код операции, или необходима информация),

  2. информация (представляется в виде TOKENов, которые передаются по линиям связи. Разделяется на два вида: данные или управляющие сигналы),

  3. линия связи (однонаправленный тракт. Существуют две разновидности видов связи: линии связи данных, линии управления).

Соседние файлы в папке 3