|
||
Структуры операционных устройств 331
|
||
|
||
а третье — суммарную стоимость комбинационных схем, реализующих микрооперации Ктипов над N словами.
Затраты времени на выполнение операций типа «сложение» в ОПУ с жесткой
структурой равны
где ίΒ — длительность микрооперации выдачи операндов из регистров; tc— продолжительность микрооперации «сложение»; tn — длительность микрооперации приема результата в регистр.
Достоинством ОПУ с жесткой структурой является высокое быстродействие, недостатком — малая регулярность структуры, что затрудняет реализацию таких ОПУ в виде больших интегральных схем.
Операционные устройства с магистральной структурой
В ОПУ с магистральной структурой все внутренние регистры объединены в отдельный узел регистров общего назначения (РОН)1, а все комбинационные схемы — в операционный блок (ОПБ), который зачастую ассоциируют с термином «арифметико-логическое устройство».
Операционный блок и узел регистров сообщаются между собой с помощью , магистралей — отсюда и название «магистральное ОПУ».
Пример магистрального ОПУ представлен на рис. 7.3.
|
||
|
||
|
||
|
||
В состав узла РОН здесь входят N регистров общего назначения, подключаемых к магистралям А и В ^ерез мультиплексоры MX А и MX В. Каждый из мультиплексоров является управляемым коммутатором, соединяющим выход одного из РОН с соответствующей магистралью. Номер подключаемого регистра определяется адресом а или Ь, подаваемым на адресные входы мультиплексора из устройства управления.
|
||
|
||
В операционных устройствах для обработки чисел с плавающей запятой вместо РОН часто используется отдельный узел регистров с плавающей запятой.
|
||
|
||
|
||
3 3 2 Глава 7. Операционные устройства вычислительных машин
|
||
|
||
По магистралям А и В операнды поступают на входы операционного блока, к которым подключается комбинационная схема, реализующая требуемую микрооперацию (по сигналу управления из УУ). Таким образом, любая микрооперация ОПБ может быть выполнена над содержимым любых регистров ОПУ. Результат микрооперации по магистрали С заносится через демультиплексор ОМХ С в конкретный регистр узла РОН. Демультиплексор представляет собой управляемый коммутатор, имеющий один информационный вход и N информационных выходов. Вход подключается к выходу с заданным адресом с, который поступает на адресные входы DMX С из УУ.
Моделью ОПУ с магистральной структурой является М-автомат. М-автоматом называется модель ОПУ, построенная на основе принципа объединения комбинационных схем и реализующая в каждом такте только одну микрооперацию. Синтез М-автоматов рассматривается в [22].
Используя обозначения, введенные в предыдущем разделе, выражение для оценки аппаратных затрат на магистральное ОПУ можно записать в следующем виде:
где первое слагаемое определяет затраты на N регистров, второе — затраты на связи узла РОН и ОПБ, атретье — суммарную цену ОПБ.
Из сопоставления выражений для затрат следует, что магистральная структура экономичнее жесткой структуры, если
где— количество микроопераций, реализуемых ОПУ с жесткой
структурой.
С учетом последнего неравенства можно сформулировать следующее сильное условие экономичности магистральных структур:
Μ>Ν+Κ.
Затраты времени на сложение в магистральных ОПУ больше, чем в ОПУ с жесткой структурой:
где ίΜυχ — задержка на подключение операндов из РОН к ОПБ; iDMX — задержка на подключение результата к РОН.
Основным достоинством магистральных ОПУ является высокая универсальность и регулярность структуры, что облегчает их реализацию на кристаллах ИС. Вообще говоря, магистральная структура ОПУ в современных ВМ является превалирующей.
Классификация операционных устройств с магистральной структурой
Магистральные ОПУ классифицируют по виду и количеству магистралей, организации узла Р О Н, типу О П Б.
|
||
|
||
|
|||
Структуры операционных устройств 333
|
|||
|
|||
Магистрали ОПУ могут быть однонаправленными и двунаправленными, соответственно обеспечивающими передачу данных в одном или двух различных направлениях. Типичным режимом работы магистрали является разделение времени, при котором магистраль используется для передачи функционально разнотипных данных в различные моменты времени.
По функциональному назначению выделяют:
• магистрали внешних связей, соединяющих ОПУ с памятью и каналами ввода/ вывода ВМ;
• внутренние магистрали ОПУ, отвечающие за связь между узлом РОН и опера-
ционным блоком.
Количество магистралей внешних связей зависит от архитектуры конкретной ВМ и обычно не превышает двух для внешних связей и трех — для внутренних.
Структуратрехмагистрального ОПУ представлена на рис. 7.4, а, а соответствующая ему микропрограмма выполнения операции типа «сложение» — на рис. 7.4, б.
|
|||
|
|||
|
|
||
|
|||
Рис. 7.4. Трехмагистральное ОПУ: а — структура; б— микропрограмма сложения
Данный вариант характеризуется наибольшим быстродействием: выборка операндов из РОН, выполнение микрооперации суммирования и запись результата в РОН — все эти действия производятся за один такт. Основной недостаток трех-магистральной организации — большая площадь, занимаемая магистралями на кристалле БИС (от 0,16 до 0,22 от площади кристалла).
Двухмагистральная организация при меньшей площади, покрываемой магистралями (от 0,06 до 0,19 от площади кристалла), требует введения как минимум одного буферного регистра (БР), предназначенного для временного хранения одного из операндов.(рис. 7-5, а), при этом операция сложения будет выполняться уже за два такта (рис. 7.5, б):
• Такт 1: загрузка БР одним из операндов.
• Такт 2: выполнение микрооперации в ОПБ над содержимым БР и одного из
РОН; запись результата в РОН.1 ' :
Наконец, организация ОПУ на основе только одной магистрали (рис. 7.6, а) минимизирует расходы площади (от 0,03 до 0,09 от площади кристалла).
В одномагистральном ОПУ, вместе с тем, возникает необходимость введения не. менее двух буферных регистров БР1, БР2, и длительность операции возрастает до трех Тактов (рис. 7.6, б):
|
|||
|
|||
|
||
|
||
|
||
|
||
|
||
• Такт 1: загрузкаБР1 одним из операндов.
• Такт 2: загрузка БР2 вторым операндом.
• Такт 3: выполнение микрооперации в ОПБ над содержимым БР1 и БР2; запись
результата в один из РОН.
Организация узла РОН магистрального операционного устройства
Количество регистров в узле РОН магистрального ОПУ обычно превышает тот минимум, который необходим для реализации универсальной системы операций. Избыток регистров используется:
• для хранения составных частей адреса (индекса, базы);
• в качестве буферной, сверхоперативной памяти для повышения производительности ВМ за счет уменьшения требуемых пересылок между основной памятью и ОПУ.
Количество регистров колеблется в среднем от 8 до 16, иногда может достигать 32-64. В процессорах с сокращенным набором команд количество РОН доходит до нескольких сотен.
|
||
|
||
|
||
Структуры операционных устройств 33 5
|
||
|
||
Организация узла РОН может обеспечивать одноканальный или двухканальный доступ как по входу (записи), так и по выходу (считыванию). В первом случае к входу узла подключается один демультиплексор, а к выходу — один мультиплексор. Во втором случае доступ осуществляется с помощью двух демультиплексоров и (или) двух мультиплексоров. Двухканальный доступ повышает быстродействие ОПУ, так как позволяет обратиться параллельно к двум регистрам.
Организация операционного блока магистрального операционного устройства
Тип операционного блока (ОПБ) определяется способом обработки данных. Различают ОПБ последовательного и параллельного типа.
В последовательном операционном блоке (рис. 7.7) операции выполняются побитово, разряд за разрядом.
|
||
|
||
|
||
|
||
Бит переноса, возникающий при обработке /-го разряда операндов, подается на вход ОПБ и учитывается при обработке (/+ 1)-го разряда операндов. Результат побитово заносится в выходной регистр, предыдущее содержимое которого перед этим сдвигается на один разряд. Таким образом, после п циклов в выходном регистре формируется слово результата, где каждый разряд занимает предназначенную для него позицию.
При параллельной организации операционного блока (рис 7.8) все разряды операндов обрабатываются одновременно. Внутренние переносы обеспечиваются схемой ОПБ. Более подробно возможности организации переносов рассматриваются позже.
|
||
|
||
|
||
|
||
|
||
33 6 Глава 7. Операционные устройства вычислительных машин
|
||
|
||
Реализация эффективной системы переносов в рамках «длинного» слова сопряжена с определенными аппаратурными издержками, поэтому на практике часто используют параллельно-последовательную схему ОПБ. В ней слово разбивается на группы по 2, 4 или 8 разрядов, обработка всех разрядов внутри группы осуществляется параллельно, а сами группы обрабатываются последовательно.
|
||
|
||
|
||
|
||
Обобщенная схема ОПБ приведена на рис. 7.9. В нее входят: дешифратор мик-рокомандыДшМК, формирователи кодов ФК1 и, многофункциональный сумматор См, сдвигатель Сдв и формирователь логических условий (ЛУ).
Дешифратор микрокоманды вырабатывает внутренние сигналы управления для элементов ОПБ. Он введен в схему с целью минимизации количества связей, требуемых для передачи сигналов управления из УУ.
Формирователи кодов ФК1 и ФК2 служат для формирования прямых и инверсных кодов операндов, поступающих по магистралям А и В. Они реализуют следующий набор микроопераций:
Β,,ΦΚ,: СиЛ > 0; Β,,ΦΚ^ СмП > 0; В,А: СмЛ > А; В,В: СмП :- В; В^: СмЛ > -А; В^В: СмП :- -·Β.
Многофункциональный сумматор выполняет микрооперации арифметического сложения (с учетом переноса CIN), сложения по модулю два, логического сложения и логического умножения кодов на левом и правом входах:
Ся: См :» СмЛ + СмП + Ст; М2:См:-СмЛФСмП; И: См :- СмЛ л СмП; ИЛИ: См :- СмЛ v СмП.
Формирователь логических условий на основе анализа кода на выходе См вырабатывает значения ознакомительных сигналов, передаваемых в УУ машины. Осведомительными сигналами могут быть: признак знака S, признак переполнения V, признак нулевого значения результата Z и т. п.
Сдвигатель служит для выполнения микроопераций сдвига кода на выходе См:
|
||
|
||
|
||||
Базис целочисленных операционных устройств 337
|
||||
|
||||
Π^ С;- См;
R,: С > R1(SL * См), SR ;-Сн(п);
L,:C>U(Cw5R),$L;-Cm(0).
Микрооперация П1 обеспечивает передачу результата на магистраль С без сдвига. По ходу микрооперации R результат сдвигается на один разряд вправо, при этом в освобождающийся старший разряд заносится значение с внешнего контакта SL, а выдвигаемый (младший) разряд сумматора посылается на внешний контакт SR
В микрооперации L1 результат сдвигается на один разряд влево. Здесь в освобождающийся младший разряд заносится значение с внешнего контакта SR, а выдвигаемый (старший) разряд См передается на внешний контакт SL
Базис целочисленных операционных устройств
Для большинства современных ВМ общепринятым является такой формат с фиксированной запятой (ФЗ), когда запятая фиксируется справа от младшего разряда кода числа. По этой причине соответствующие операционные устройства называют целочисленными ОПУ. В форме с ФЗ могут быть представлены как числа без .знака, когда все п позиций числа отводятся под значащие цифры, так и со знаком. В последнем случае старший (п - 1)-й разряд числа занимает знак числа (0 — плюс, 1 — минус), а под значащие цифры отведены разряды с (и - 2)-го по 0-й. При записи отрицательныхчисел используется дополнительный код, который для числа N получается по следующей формуле:
Если исключить логические оперший, которые рассматриваются отдельно, целочисленное ОПУ должно обеспечивать выполнение следующих арифметических операций над числами без знака и со знаком:
• сложение/вычитание;
• умножение;
• деление.
Сложение и вычитание
На рис. 7.10 приводятся примеры сложения целых чисел, представленных в дополнительном коде (напомним, что при сложении в дополнительном коде знаковый разряд участвует в операции наравне с цифровыми).
|
||||
|
||||
|
|
|
||
|
||||
|
||||
|
||||