![]() |
|
|
Реферат: Выбор логической структуры процессораобъем оборудования и усложняет схемы управления тем сильнее, чем больше число уровней совмещения. При выборе структуры процессора с совмещением выполнения команд должно быть определено: - количество независимых исполнительных блоков; - структура и алгоритмы работы исполнительных блоков; - организация выполнения команд передачи управления; - организация внутренней памяти процессора; - степень совместного использования оборудования процессора в разных режимах обработки и управления. На рис.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) └────────┴────┴────┘ 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 │ │ │ │ │ ├───┼────────────────────────┼───────┼──────┼──────┼──────┼───────┤ │ │ Суммарное значение │ │ -- │ -- │ │ │ └───┴────────────────────────┴───────┴──────┴──────┴──────┴───────┘ Среднее время выполнения команды (такт): Тст = Ткт/100 Тст = Производительность процессора (ком/такт): Пт = 1/Тст Пт = Требуемый машинный такт (мкс): Тм є Пт/Пз Тм = Среднее время выполнения команды (мкс): Тсм = Ткм/100 Тсм = Реальная производительность процессора (млн.ком/с): Пр = 1/Тсм Пр = Технико-экономическая эффективность (ком/с*руб): Р = Пр/Ср З А К Л Ю Ч Е Н И Е Результаты разработки процессора ЭВМ Единой системы заданной производительности показывает, что для данного уровня производитель- ности технически и экономически целесообразным является использование элементной базы, позволяющей иметь машинный такт не более 60 нс, совмещенная обработка, при которой можно выполнять одновременно до 5 команд, и использование сверхоперативной буферной памяти емкостью не менее 64 Кбайт. Применение других методов ускорения операций: совмещение на этапе выполнения операции - получение промежуточных результатов (полусумм и поразрядных переносов); реализация операций умножения/деления на специальном устройстве с конвейерной обработкой и др., не целесообразно. _ |
Страницы: 1, 2
![]() |
||
НОВОСТИ | ![]() |
![]() |
||
ВХОД | ![]() |
|
Рефераты бесплатно, реферат бесплатно, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, сочинения, курсовые, дипломы, научные работы и многое другое. |
||
При использовании материалов - ссылка на сайт обязательна. |