
- •2. Структуры опу
- •2.1 Опу с жесткой структурой
- •2.2 Опу с магистральной структурой
- •2.3 Классификация опу с магистральной структурой
- •3. Базис целочисленных опу
- •3.1 Сложение и вычитание
- •4. Целочисленное умножение
- •4.1 Умножение чисел без знака
- •4.2 Умножение целых чисел и правильных дробей
- •5. Ускорение целочисленного умножения
- •6. Целочисленное деление
- •6.1 Деление с восстановлением остатка
- •6.2 Деление без восстановления остатка
- •6.4 Устройство деления
- •7. Комбинированное устройство умножения/деления
- •8. Ускорение целочисленного деления
- •9.1 Подготовительный этап
- •9.2 Заключительный этап
- •9.3 Сложение и вычитание
- •9.4 Умножение
- •9.5 Деление
- •10. Реализация логических операций
1. ОПУ ВМ
В классической фон-неймановской вычислительной машине (ВМ) функция арифметической и логической обработки данных возлагается на арифметико-логическое устройство (АЛУ). Учитывая разнообразие выполняемых операций и типов обрабатываемых данных, реально можно говорить не о едином устройстве, а о комплексе специализированных операционных устройств (ОПУ), каждое из которых реализует определенное подмножество арифметических или логических операций, предусмотренных системой команд ВМ. С этих позиций следует выделить:
• ОПУ целочисленной арифметики;
• ОПУ для реализации логических операций;
• ОПУ десятичной арифметики;
• ОПУ для чисел с плавающей запятой.
На практике две первых группы обычно объединяются в рамках одного ОПУ. Специализированные ОПУ десятичной арифметики в современных ВМ встречаются достаточно редко, поскольку обработку чисел, представленных в двоично-десятичной форме, можно достаточно эффективно организовать на базе средств целочисленной двоичной арифметики. Таким образом, будем считать, что АЛУ образуют два вида операционных устройств: целочисленное ОПУ и ОПУ для обработки чисел в формате с плавающей запятой (ПЗ).
В минимальном варианте АЛУ должно содержать аппаратуру для реализации лишь основных логических операций, сдвигов, а также сложения и вычитания чисел в форме с фиксированной запятой (ФЗ). Опираясь на этот набор, можно программным способом обеспечить выполнение остальных арифметических и логических операций как для чисел с фиксированной запятой, так и для других форм представления информации. Следует, однако, учитывать, что подобный вариант не позволяет добиться высокой скорости вычислений, поэтому по мере расширения технологических возможностей доля аппаратных средств в составе АЛУ постоянно возрастает.
С течением времени изначально реализуемые программно операции по мере развития элементной базы вычислительной техники стали все чаще реализовывать аппаратно (рис.1). Мы с вами рассмотрим все виды ОПУ, необходимых для реализации полного набора операций, включая операции с ПЗ.
2. Структуры опу
Набор элементов, на основе которых строятся структуры различных ОПУ, называется структурным базисом. Структурный базис ОПУ включает в себя:
• регистры, обеспечивающие кратковременное хранение слов данных;
• управляемые шины, предназначенные для передачи слов данных;
• комбинационные схемы, реализующие вычисление функций микроопераций и логических условий по управляющим сигналам от устройства управления.
Можно синтезировать ОПУ с так называемой канонической структурой, являющуюся основополагающей для синтеза других структур. Такая структура образуется путем замены каждого элемента реализуемой функции соответствующим элементом структурного базиса. Каноническая структура имеет максимальную производительность по сравнению с другими вариантами структур, однако по затратам оборудования является избыточной. С практических позиций больший интерес представляют два иных вида структур ОПУ: жесткая и магистральная.
2.1 Опу с жесткой структурой
В ОПУ с жесткой структурой комбинационные схемы жестко распределены между всеми регистрами. К каждому регистру относится свой набор комбинационных схем, позволяющих реализовать определенные микрооперации.
В состав ОПУ входят три регистра со своими логическими схемами (рис. 2):
• регистр первого слагаемого РСл1 и схема ЛРСл1
• регистр второго слагаемого РСл2 и схема ЛРСл2
• регистр суммы РСм и схема комбинационного сумматора См
Логическая схема ЛРСл2 реализует микрооперации передачи второго слагаемого из РСл2 на левый вход сумматора ЛСм:
• прямым кодом (по сигналу управления В1РСл2)
• инверсным (по сигналу управления В1¬РСл2)
• со сдвигом на один разряд влево (по сигналу управления L1РСл2)
Логическая схема ЛРСл1 обеспечивает передачу результата из регистра РСм в регистр РСл1
• прямым кодом (по сигналу управления П2РСл1)
• со сдвигом на один разряд влево (по сигналу управления L2РСм)
• со сдвигом на два разряда вправо (по сигналу управления R2РСм)
Комбинационный сумматор См предназначен для суммирования (обычного или по |2|) операндов, поступивших на его левый и правый входы. Результат суммирования заносится в регистр РСм: РСм := ЛСм + ПСм (по сигналу управления П2РСм) или РСм > ЛСм + ПСм (по сигналу П2М2РСм).
Достоинством ОПУ с жесткой структурой является высокое быстродействие, недостатком — малая регулярность структуры, что затрудняет реализацию таких ОПУ в виде больших интегральных схем (БИС).
2.2 Опу с магистральной структурой
В ОПУ с магистральной структурой все внутренние регистры объединены в отдельный узел регистров общего назначения а все комбинационные схемы - в операционный блок (ОПБ), который зачастую ассоциируют с термином «арифметико-логическое устройство».
Операционный блок и узел регистров сообщаются между собой с помощью магистралей — отсюда и название «магистральное ОПУ». Пример магистрального ОПУ представлен на рис. 3.
В состав узла РОН здесь входят N регистров общего назначения, подключаемых к магистралям A и В через мультиплексоры MUX А и MUX В. Каждый из мультиплексоров является управляемым коммутатором, соединяющим выход одного из РОН с соответствующей магистралью. Номер подключаемого регистра определяется адресом а или b, подаваемым на адресные входы мультиплексора из устройства управления.
По магистралям А и В операнды поступают на входы операционного блока, к которым подключается комбинационная схема, реализующая требуемую микрооперацию (по сигналу управления из УУ) Таким образом, любая микрооперация ОПБ может быть выполнена над содержимым любых регистров ОПУ. Результат микрооперации по магистрали С заносится через демультиплексор DMX С в конкретный регистр узла РОН. Демультиплексор представляет собой управляемый коммутатор, имеющий один информационный вход и N информационных выходов. Вход подключается к выходу с заданным адресом c, который поступает на адресные входы DMX С из УУ.
Из сопоставления затрат следует, что магистральная структура экономичнее жесткой структуры, хотя затраты времени на сложение в магистральных ОПУ больше, чем в ОПУ с жесткой структурой. Основным достоинством магистральных ОПУ является высокая универсальность и регулярность структуры, что облегчает их реализацию на кристаллах ИС. Вообще говоря, магистральная структура ОПУ в современных ВМ является превалирующей.