содержимого регистра 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)
└────────┴────┴────┘
0 15
Команда CR производит сравнение содержимого (R2) и (R1) и
устанавливает признак результата в соответствии с этой разностью.
Содержимое регистров остается неизменным.
РК ВО ОП ЗР Т = 4*Тм
└────┴────┴────┴────┘ Т =
15) Операция сдвига влево/вправо (регистр-память):
┌────────┬────┬────┬────┬────────────┐
│ КОП │ R1 │ │ В2 │ D2 │ SLL R1,D2(B2)
└────────┴────┴────┴────┴────────────┘
0 31
Команда SLL производит сдвиг содержимого регистра R1 влево на
количество разрядов, указанное как адрес второго операнда.
Принимается средне вероятное значение сдвига на 3 разряда.
РК ВА ВК ЗР Т = 6*Тм
└────┴────┴---------┴────┘ Т =
16) Определим время Тп, исходя из таблицы значений зависимости
вероятности обращения к буферной памяти от ее емкости:
Таблица 1.
┌──────────────────────────────┬────┬────┬────┬────┬────┬────┬────┐
│ Емкость буферной памяти (Кб) │ 2 │ 4 │ 8 │ 16 │ 32 │ 64 │128 │
├──────────────────────────────┼────┼────┼────┼────┼────┼────┼────┤
│ Вероятность обращения (р) │ 90 │ 92 │ 94 │ 96 │ 97 │ 98 │ 99 │
└──────────────────────────────┴────┴────┴────┴────┴────┴────┴────┘
Время обращения к памяти будем определять условно в количестве
машинных тактов и исходя из следующего выражения:
Тп = р*Тб + (1-р)*Тц; Тп =
где р - вероятность нахождения информации в кэш-памяти;
Тб - цикл обращения буферной памяти;
Тц - цикл обращения основной памяти.
РАСЧЕТ ПРОИЗВОДИТЕЛЬНОСТИ ПРОЦЕССОРА:
Таблица 2.
┌───┬────────────────────────┬───────┬─────────────┬──────────────┐
│ NN│ Наименование │ Вес │Длитель.(такт) Среднее знач.│
│ пп│ и тип операции │команды├──────┬──────┼──────┬───────┤
│ │ │ % │б/совм│совмещ│такт*%│ мкс*% │
├───┼────────────────────────┼───────┼──────┼──────┼──────┼───────┤
│ 1.│Загрузка:память-регистр │ 12.4 │ │ │ │ │
│ 2.│ регистр-память │ 6.2 │ │ │ │ │
│ 3.│ регистр-регистр│ 21.6 │ │ │ │ │
│ │Сложение/вычитание: │ │ │ │ │ │
│ 4.│ ф.зпт, регистр-регистр│ 14.4 │ │ │ │ │
│ 5.│ ф.зпт, регистр-память │ 8.5 │ │ │ │ │
│ 6.│ пл.зпт, регистр-регистр│ 6.4 │ │ │ │ │
│ 7.│ пл.зпт, регистр-память │ 3.5 │ │ │ │ │
│ │Умножение: │ │ │ │ │ │
│ 8.│ ф.зпт, регистр-регистр│ 1.8 │ │ │ │ │
│ 9.│ пл.зпт, регистр-регистр│ 2.6 │ │ │ │ │
│ │Деление: │ │ │ │ │ │
│10.│ ф.зпт, регистр-регистр│ 0.6 │ │ │ │ │
│11.│ пл.зпт, регистр-регистр│ 1.2 │ │ │ │ │
│ │Условный переход: │ │ │ │ │ │
│12.│ успешный │ 10.4 │ │ │ │ │
│13.│ неуспешный │ 2.2 │ │ │ │ │
│ │Логические операции: │ │ │ │ │ │
│14.│ сравнение (ф.зпт) │ 4.8 │ │ │ │ │
│15.│ сдвиг (на 3 разряда) │ 3.4 │ │ │ │ │
├───┼────────────────────────┼───────┼──────┼──────┼──────┼───────┤