N такта: 1 2 3 4 5 6 7 8 9 10 11 12
в) выполнение команд в режиме полного совмещения:
Команды: Тк = Топ
ВК РК АО ВО ОП ЗР
N │----├────┼────┤----│════│----│
│ │ ВК │ РК │ АО │ ВО │ ОП │ ЗР
N+1 │ │----├────┼────┤----│════│----│
│ │ │ ВК │ РК │ АО │ ВО │ ОП │ ЗР
N+2 │ │ │----├────┼────┤----│════│----│
│ │ │ │ ВК │ РК │ АО │ ВО │ ОП │ ЗР
N+3 │ │ │ │----├────┼────┤----│════│----│
│ │ │ │ │ ВК │ РК │ АО │ ВО │ ОП │ ЗР
N+4 │ │ │ │ │----├────┼────┤----│════│----│
│ │ │ │ │ │ ВК │ РК │ АО │ ВО │ ОП │ ЗР
N+5 │ │ │ │ │ │----├────┼────┤----│════│----│
│ │ │ │ │ │ │ │ │ │
N такта: 1 2 3 4 5 6 7 8 9 10 11
Рис.2. Принципы совмещения выполнения команд.
Команды от ОП
Буферы ┌───────────┬──────────────┐ ┌────────────
команд ┌──┴──┐ ┌──┴──┐ ┌───┴───────┴────┐
├─────┤ ├─────┤ │Сверхоперативная├───────
├─────┤ ├─────┤ │буферная память │ к ОП
├─────┤ ├─────┤ │ (кэш-память) ├──┬────
└──┬──┘ └──┬──┘ └───┬────────────┘ │
┌ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ┐ │ Операнды │
┌───────┴───────────┴───────┐ │ ┌─────────┐ │
┌──┼──┤ Регистр команд ├──┼───┼──┤Локальная│ │
│ └───────┬───────────────────┘ │ │ память │ │
│ │ │ │ │ └──┬────┬─┘ │
│ БВК │ ┌──────────────┼─────┤ │ │
│ │ ──────┴──── ────┴────── │ │ │ │ │
│ Адресный сумматор │ │ │ │
│ │ ──────────┬────────── │ │ │ │ │
│ └ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ┘ │ │ │ │
│ ├────────────────────┼─────┘ │ │
│ ┌ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ┐ │ │ │
│ ┌─────────────┴─────────────┐ │ │ │
│ │ │ Регистр адреса │ │ │ │ │
│ └─────────────┬─────────────┘ │ │ │
│ │ └────────────────┼───┼──────────┼────┘
│ БВО ┌────────────────────┤ ┌────┤
│ │ │ │ ┌─┴─────┴─┐ │
│ ┌─────────────┴─────────────┐ │Буферная │ │
│ │ │ Регистр операнда │ │ │ память │ │
│ └─────────────┬─────────────┘ │операндов│ │
│ └ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ┘ └─┬───────┘ │
│ ├────────────────────┘ │
│ ┌ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ┐ │
│ ┌─────┴─────┐ ┌─────────────────────┤
│ │ ┌───────┴───┐ ┌────┴───┴──┐ │ │
│ │ Регистр 1 │ │ Регистр 2 │ │
│ │ └───────┬───┘ └────┬──────┘ │ │
│ │ │ │
│ │ ───────┴──── ────┴─────── │ │
└──────── Сумматор │
│ ──────────┬─────────── │ │
┌─────────┴──────────┐ │
│ АЛУ │ Регистр результата ├─────┼──────────────┘
└────────────────────┘
└ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘
Рис.3. Структурная схема процессора с совмещением
выполнения команд.
ВЫБОР АЛГОРИТМА И ВРЕМЕННЫХ ДИАГРАМ ВЫПОЛНЕНИЯ ОСНОВНЫХ ОПЕРАЦИЙ.
Оценим длительность основных операций, имеющих наибольшую
встречаемость (вес) и потому определяющих производительность
процессора (табл.2). Будем делать оценку времени выполнения (Т)
команды в количестве машинных тактов (Тм).
1) Загрузка (регистр-регистр):
┌────────┬────┬────┐
│ КОП │ R1 │ R2 │ L R1,R2 (R2) = (R1)
└────────┴────┴────┘
0 15
По команде LR производится выборка из регистра второго операнда
и запоминание полученного значения в регистре первого операнда, с
одновременным уничтожением его исходного содержимого.
RK BO ЗР Т = 3*Тм
└────┴────┴────┘ Т =
2) Загрузка (память-регистр):
┌────────┬────┬────┬────┬────────────┐
│ КОП │ R1 │ Х2 │ В2 │ D2 │ L R1,D2(X2,B2)
└────────┴────┴────┴────┴────────────┘ {D2+(X2)+(B2)}=(R1)
0 31
Команда L производит пересылку полного слова по адресу
D2+(X2)+(B2) из основной памяти в регистр общего назначения R1.
РK АО BO ЗР Т = 4*Тм + Тп
└────┴────┴----┴────┘ Т =
3) Запоминание (регистр-память):
┌────────┬────┬────┬────┬────────────┐
│ КОП │ R1 │ Х2 │ В2 │ D2 │ ST R1,D2(X2,B2)
└────────┴────┴────┴────┴────────────┘ {D2+(X2)+(B2)}=(R1)
0 31
По команде ST содержимое регистра общего регистра R1 помещается
в основную память по адресу, которой определяется как D2+(X2)+(B2).
РК ВО ЗР Т = 3*Тм + Тп
└────┴────┴----┘ Т =
4) Сложение/вычитание, фиксированная запятая (регистр-регистр):
┌────────┬────┬────┐
│ КОП │ R1 │ R2 │ AR R1,R2 (R1)+(R2) = (R1)
└────────┴────┴────┘
0 15
При выполнение команды AR содержимое регистра R1 складывается с
содержимым регистра R2 и результат помещается в R1.
При выполнение SR от содержимого регистра R1 вычитается содер-
жимое регистра R2 и результат заносится в R1.
РК ВО ОП ЗР
└────┴────┴────┴────┘ Т = 4*Тм ; Т =
5) Сложение/вычитание, фиксированная запятая (регистр-память):
┌────────┬────┬────┬────┬────────────┐
│ КОП │ R1 │ Х2 │ В2 │ D2 │ A R1,D2(X2,B2)
└────────┴────┴────┴────┴────────────┘ (R1)+{D2+(X2)+(B2)}=(R1)
0 31
По команде A содержимое первого операнда, считываемого из R1,
складывается с содержимым второго операнда, находящегося в памяти по
адресу D2+(B2)+(X2). Результат помещается в R1.
РК АО ВО ОП ЗР Т = 5*Тм + Тп
└────┴────┴----┴────┴────┘ Т =
6) Сложение/вычитание, плавающая запятая (регистр-регистр):
┌────────┬────┬────┐
│ КОП │FPR1│FPR2│ AER R1,R2 (FPR1)+(FPR2) = (FPR1)
└────────┴────┴────┘
0 15
При выполнении команды AER содержимое регистра плавающей запятой
FPR1 складывается с содержимым регистра FPR2 в следующей последовате-
льности: сравниваются (СП) и выравниваются порядки (ВП),отрицательный
операнд преобразуется в дополнительный код (ДК), результат операции
(ОП) нормализуется (НР) и записывается в FPR1. При выполнении SER из