- •Глава 7.
- •Операционные устройства вычислительных машин
- •Структуры операционных устройств
- •Операционные устройства с жесткой структурой
- •Операционные устройства с магистральной структурой
- •Классификация операционных устройств с магистральной структурой
- •Организация узла рон магистрального операционного устройства
- •Организация операционного блока магистрального операционного устройства
- •Базис целочисленных операционных устройств
- •Сложение и вычитание
- •Целочисленное умножение
- •2N битов. Таким образом, алгоритм умножения предполагает последовательное
- •Алгоритм сдвига влево
- •Умножение чисел со знаком
- •Умножение целых чисел и правильных дробей
- •Модифицированный алгоритм Бута
- •Обработка двух разрядов множителя за шаг
- •Аппаратные методы ускорения умножения
- •Матричное умножение чисел без знака
- •1 Полусумматоры называется одноразрядное суммирующее устройство, имеющее дна входа для слагаемыx и два входа и два выхода — выход бита суммы и выход бита переноса.
- •Матричное умножение чисел в дополнительном коде
- •Алгоритм Бо-Вули
- •Алгоритм Пезариса
- •Древовидные умножители
- •Сравнительная оценка схем умножения с матричной и древообразной структурой
- •Конвейеризация параллельных умножителей
- •Рекурсивная декомпозиция операции умножения
- •Целочисленное деление
- •Деление с восстановлением остатка
- •Деление без восстановления остатка
- •Деление чисел со знаком
- •Устройство деления
- •Ускорение целочисленного деления
- •Замена деления умножением на обратную величину
- •XiD). Количество итераций определяется требуемой точностью вычисления X/d. Реализация метода для n-разрядных чисел требует 2 int(log2n) - 1 операций умножения.
- •Ускорение вычисления частичных остатков
- •Алгоритм srt
- •Деление в избыточных системах счисления
- •Операционные устройства с плавающей запятой
- •Подготовительный этап
- •Заключительный этап
- •Сложение и вычитание
- •Умножение
- •Деление
- •Реализация логических операций
- •Контрольные вопросы
Глава 7.
Операционные устройства вычислительных машин
В классической фон-неймановской ВМ функция арифметической и логической обработки данных возлагается на арифметико-логическое устройство (АЛУ). Учитывая разнообразие выполняемых операций и типов обрабатываемых данных, реально можно говорить не о едином устройстве, а о комплексе специализированных операционных устройств (ОПУ), каждое из которых реализует определенное подмножество арифметических или логических операций, предусмотренных системой команд ВМ. С этих позиций следует выделить:
- ОПУ целочисленной арифметики;
- ОПУ для реализации логических операций;
- ОПУ десятичной арифметики;
- ОПУ для чисел с плавающей запятой.
На практике две первых группы обычно объединяются в рамках одного операционного устройства. Специализированные ОПУ десятичной арифметики в современных ВМ встречаются достаточно редко, поскольку обработку чисел, представленных в двоично-десятичной форме, можно достаточно эффективно организовать на базе средств целочисленной двоичной арифметики. Таким образом, будем считать, что АЛУ образуют два вида операционных устройств: целочисленное ОПУ и ОПУ для обработки чисел в формате с плавающей запятой (ПЗ).
В минимальном варианте АЛУ должно содержать аппаратуру для реализации лишь основных логических операций, сдвигов, а также сложения и вычитания чисел в форме с фиксированной запятой (ФЗ). Опираясь на этот набор, можно программным способом обеспечить выполнение остальных арифметических и логических операций как для чисел с фиксированной запятой, так и для других форм представления информации. Следует, однако, учитывать, что подобный вариант не позволяет добиться высокой скорости вычислений, поэтому по мере расширения технологических возможностей доля аппаратных средств в составе АЛУ постоянно возрастает.
Порядок следования целевых функций полностью определяет динамику работы устройства управления и всей ВМ в целом. Этот порядок удобно задавать и отображать в виде граф-схемы этапов исполнения команды (ГСЭ). Как и граф-схема микропрограммы, ГСЭ содержит начальную, конечную, операторные и условные вершины. В начальной и конечной вершинах проставляется условное обозначение конкретной команды, а в условной вершине записывается логическое условие, влияющее на порядок следования этапов. В операторные вершины вписываются операторы этапов.
По форме записи оператор этапа — это оператор присваивания, в котором:
- слева от знака присваивания указывается наименование результата действий, выполненных на этапе;
- справа от знака присваивания записывается идентификатор целевой функции определяющей текущие действия, а за ним (в скобках) приводится список исходных данных этапа.
Исходной информацией для первого этапа служит хранящийся в счетчике команд адрес Аki, текущей команды Кi. Процесс выборки команды отображается оператором первого этапа: Кi:= BK(AKj).
Адрес Аki, обеспечивает также второй этап, результатом которого является адрес следующей команды Аki+1, поэтому оператор второго этапа имеет вид: AKi+1 := ФАСК(Аki). В качестве исходных данных для третьего этапа машинного цикла выступают содержащиеся в коде текущей команды способ адресации CAi (он определяет конкретную модификацию ЦФ-ФИАО) и код адресной части Аi. Результатом становится исполнительный адрес операнда Аисп := ФИА(САi, Аi).
Полученный адрес используется на четвертом этапе для выборки операнда
Оi :=ВО(Аисп).
Результат исполнения операции P0j, получаемый на пятом этапе машинного цикла, зависит от кода операции 2-й команды K0ni (определяет модификацию ЦФ-ИО), кода первого операнда Oi и кода второго операнда — результата предыдущей (i-1)-й операции РОi-1: РОi := ИО(Копi, Оi, РОi-1).
В соответствии со структурой граф-схемы этапов все команды ВМ можно разделить на три типа:
- команды типа «Сложение» (Сл);
- команды типа «Запись» (Зп);
- команды типа «Условный переход» (УП).
Типовые граф-схемы этапов представлены на рис. 6.1.
Видно, что количество этапов в командах типа «Сл» (см. рис. 6.1, а) колеблется от трех (для непосредственной адресации НА) до пяти. При непосредственной адресации второй операнд записан в адресной части команды, поэтому нет необходимости в реализации устройством управления целевых функций ЦФ-ФИ А, ЦФ-ВО. Количество этапов для команд типа «Зп» постоянно и равно четырем (см. рис. 6.1, б) здесь отсутствует необходимость в ЦФ-ВО. Машинный цикл команд типа «УП» состоит из трех этапов (см. рис. 6.1, в), поскольку здесь, помимо выборки операнда, можно исключить и этап ФАСК — действия, обычно выполняемые на этом этапе, фактически реализуются на этапе ИО.
Рис 7.1 • Динамика изменения соотношения между аппаратной и программной реализациями
функций АЛ У
На рис. 7.1 показана динамика изменения соотношения между аппаратной и программной реализациями функций АЛУ по мере развития элементной базы вычислительной техники. Здесь подразумевается, что по вертикальной оси откладывается календарное время.