Конвейерная обработка
Может быть реализована в системе с одним процессором, если удается разделить его на некоторое число последовательно включенных операционных блоков.
i – номер блока
j – номер задачи
Возникает конвейер, который заполняется последовательно. По принципу организации конвейера можно выделить:
1) конвейер операций
2) конвейер команд
Допустим, осуществляется операция сложения двух чисел A,B в формате с плавающей точкой A+B=C.
Сложение чисел можно разделить на 4 этапа:
1) сравнение порядков
2) выравнивание порядков
3) сложение мантиссы
4) нормализация результата
Конвейер операций
|
|
|
|
B
После выполнения 1 операции результат передается на 2 этап, а на 1 можно передавать новые числа.
Временная диаграмма процесса:
этап | ||||||||||
СП | a1b1 | a2b2 | - | |||||||
ВП | a1b1 | a2b2 | - | |||||||
СМ | a1b1 | a2b2 | - | anbn | ||||||
НР | a1b1 | a2b2 | - | an-1bn-1 | anbn | |||||
C1 | C2 | - | Cn-1 | Cn |
Время обработки конвейерного процесса будет:
Tk=(n+m-1)τ
|
m – количество этапов
τ – время выполнения одного этапа
Конвейер команд
Построен на том, что цикл выполнения команды можно разбить на ряд этапов:
1) формирование адреса команды
2) выбор команды из памяти
3) расшифровка кода
4) формирование адресных операндов
5) выборка операндов
6) арифметическая, логическая операция
ФАК | K1 | K2 | K3 | K4 | - | - | - | - | - |
ВК | - | K1 | K2 | K3 | K4 | - | - | - | - |
РКО | - | - | K1 | K2 | K3 | K4 | - | - | - |
ФАО | - | - | - | K1 | K2 | K3 | K4 | - | - |
ВО | - | - | - | - | K1 | K2 | K3 | K4 | - |
АЛО | - | - | - | - | - | K1 | K2 | K3 | K4 |
Конвейер разрушается при разветвлении.
Лекция №4
Дата добавления: 2022-02-05; просмотров: 222;