64213 (Выбор логической структуры процессора), страница 2
Описание файла
Документ из архива "Выбор логической структуры процессора", который расположен в категории "". Всё это находится в предмете "компьютерные науки" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "компьютерные науки" в общих файлах.
Онлайн просмотр документа "64213"
Текст 2 страницы из документа "64213"
как выполнение следующей команды зависит от результата предыдущей
операции: операция перехода или использование результата как операнда
следующей операции.
Время выполнения выполнения команды процессором, при наличии
совмещения, определяется выражением:
Ткт = (N-Nc+1),
где Ткт - время выполнения команды (тактов);
N - количество тактов выполнения команды;
Nc - количество совмещенных тактов.
Таким образом производительность процессора определяется как
количеством тактов выполнения каждой команды и временем перехода
команд, так и количеством уровней совмещения обработки команд.
Метод совмещения выполнения команд обеспечивает увеличение
пропускной способности устройств и при этом не изменяет время
обработки отдельной команды. Поэтому, если среди команд встречаются
зависимые, то пропускная способность процессора снижается на величину
определенную характером зависимости совмещаемых команд. Зависимость
команд как бы уменьшает число уровней совмещения, а следовательно, и
пропускную способность процессора.
Следует учитывать, что совмещение выполнения команд увеличивает
объем оборудования и усложняет схемы управления тем сильнее, чем
больше число уровней совмещения.
При выборе структуры процессора с совмещением выполнения команд
должно быть определено:
- количество независимых исполнительных блоков;
- структура и алгоритмы работы исполнительных блоков;
- организация выполнения команд передачи управления;
- организация внутренней памяти процессора;
- степень совместного использования оборудования процессора в
разных режимах обработки и управления.
На рис.3 представлена структурная схема процессора с полным
совмещением выполнения команд. Блок выборки команд (БВК) содержит
собственный сумматор для вычисления адреса операнда. Буферы команд
предназначены для хранения последовательности исполняемых команд, в
том числе по двум альтернативным направлениям для быстрого перехода.
Блок выборки операндов имеет раздельные регистры адреса и опреранда,
что позволяет совмещать запрос на выборку и прием предыдущего
операнда. Буферная память операндов хранит последовательность
операндов и коды операций последовательно исполняемых команд.
Арифметико-логическое устройство (АЛУ) имеет регистры на входе и
выходе основного сумматора, что позволяет подавать новые операнды
одновременно с записью результата предыдущей операции.
Сверхоперативная буферная память позволяет сократить время
обращения к основной памяти до 2-х машинных тактов.
Критерием эффективности структурного построения процессора для
всех моделей ЕС ЭВМ является отношение производительности к
стоимости, т.е. достижение заданной производительности при наименьших
затратах оборудования. Технико-экономическая эффективность может быть
определена следующим образом:
Р = Пр/Ср (ком/с*руб),
где Пр - реальная производительность пароцессора (млн.ком/с);
Ср - стоимость процессора (млн.руб).
В расчетах Ср учитываются только основные устройства, указанные
в структуре. Проработка устройства управления не производилась.
а) выполнение одиночной команды: Тк = Твк+Тво+Топ+Тзр+2*Тм
ВК РК АО ВО ОП ЗР
│----├────┼────┤----│════│----│
N такта: 1 2 3 4 5 6
б) выполнения команд с частичным совмещением:
Команды: Тк = Твк+Тво+Топ+Тзр
ВК РК АО ВО ОП ЗР
N │----├────┼────┤----│════│----│
│ │ │ │ │ ВК РК АО ВО ОП ЗР
N+1 │ │ │ │ │----├────┼────┤----│════│----│
│ │ │ │ │ │ │ │ │ ВК РК АО ВО
N+2 │ │ │ │ │ │ │ │ │----├────┼────┤----│
│ │ │ │ │ │ │ │ │ │ │ │ │
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 из
содержимого регистра FPR1 в той же последовательности вычитается
содержимое регистра FPR2, результат нормализуется и заносится в FPR1.
РК ВО СП ВП ДК ОП НР ЗР Т = 8*Тм
└────┴────┴────┴────┴────┴────┴────┴────┘ Т =
7) Сложение/вычитание: плавающая запятая, регистр-память
┌────────┬────┬────┬────┬────────────┐
│ КОП │ R1 │ Х2 │ В2 │ D2 │ AE R1,D2(X2,B2)
└────────┴────┴────┴────┴────────────┘(R1)+{D2+(X2)+(B2)}=(R1)
0 31
По команде AE содержимое первого операнда, считываемого из
регистра с плавающей запятой PPR1, суммируется, в указанном выше
порядке, с содержимым второго операнда, находящегося в памяти по
адресу D2+(B2)+(X2). Результат заносится в FPR1.
РК АО ВО СП ВП ДК ОП НР ЗР Т = 9*Тм + Тп
└────┴────┴----┴────┴────┴────┴────┴────┴────┘
[* конец страницы *] Т =
8) Умножение, фиксированная запятая (регистр-регистр):
┌────────┬────┬────┐
│ КОП │ R1 │ R2 │ МR R1,R2 (R1+1)*(R2) = (R1)
└────────┴────┴────┘
0 15
Сомножители (слово) находятся в регистрах R2 и R1+1. По команде
MR сомножители перемножаются и результат (двойное слово) заносится в
R1 и следующий за ним регистр, обозначаемый как R1+1. Используется
алгоритм умножения одновременно на 2 разряда множимого. Принимается
соотношение коротких и длинных операндов: 80% и 20%.
РК ВО ОП ЗР Т = 10*Тм*0.8+19*Тм*0.2
└────┴────┴-----------┴────┘ Т =
9) Умножение, плавающая запятая (регистр-регистр):
┌────────┬────┬────┐
│ КОП │FPR1│FPR2│ MER R1,R2 (FPR1)*(FPR2) = (FPR1)
└────────┴────┴────┘
0 15
Содержимое регистра FPR1 (двойное слово) умножается на
содержимое регистра FPR2, результат (двойное слово) нормализуется
(НР) и помещается в FPR1. Операция суммирования порядков совмещается
с операцией перемножения мантис. Используется алгоритм умножения
одновременно на 2 разряда множимого. Принимается соотношение коротких
и длинных операндов: 80% и 20%.
РК ВО ОП НР ЗР Т = 16*Тм*0.8 + 30*Тм*0.2
└────┴────┴-----------┴────┴────┘ Т =
10) Деление, фиксированная запятая (регистр-регистр):
┌────────┬────┬────┐
│ КОП │ R1 │ R2 │ DR R1,R2 (R1)/(R2) = (R1,R1+1)
└────────┴────┴────┘
0 15
По команде DR двойное слово в регистре R1 и R1+1 делиться на
содержимое регистра R2. По окончании выполнения деления частное
помещается в R1+1, а остаток - в R1. Применяется алгоритм без
восстановления остатка. Принимается соотношение коротких и длинных
операндов: 80% и 20%.
РК ВО ОП ЗР Т = 19*Тм*0.8 + 35*Тм*0.2
└────┴────┴-----------┴────┘ Т =
11) Деление: плавающая запятая, регистр-регистр
┌────────┬────┬────┐
│ КОП │FPR1│FPR2│ DER R1,R2 (FPR1)/(FPR2) = (FPR1)
└────────┴────┴────┘
0 15
Делимое считывается из FPR1, делитель из FPR2. По окончании
выполнения операции частное нормализуется и помещается в FPR1.
Принимается соотношение коротких и длинных операндов: 80% и 20%.
Преобразование порядка совмещается с операцией деления.
РК ВО ОП НР ЗР Т = 28*Тм*0.8 + 56*Тм*0.2
└────┴────┴-----------┴────┴────┘
Т =
12,13) Условный переход
┌────────┬────┬────┬────┬────────────┐
│ КОП │ M1 │ Х2 │ В2 │ D2 │ BC M1,D2(X2,B2)
└────────┴────┴────┴────┴────────────┘ {D2+(X2)+(B2)}=(RPSW)
0 31
При выполнении условия (ПУ), содержащегося в поле M1, происходит
выбор следующей команды по адресу D2+(B2)+(X2), в противном случае
выполняется следующая по порядку команда. При наличии альтернативного
буфера команд считаем вероятность нахождения команды в буфере р= 0.8.
а) Успешный переход:
РК ПУ ВА ВК Т = 4*Тм*0.8 + Тп*0.2
└────┴────┴────┴----------┘ Т =
б) Неуспешный переход:
РК ПУ Т = 2*Тм ; Т =
└────┴────┘
14) Операция алгебраического сравнения (регистр-регистр):
┌────────┬────┬────┐
│ КОП │ R1 │ R2 │ CR R1,R2 (R1)/(R2) = (R1,R1+1)