
- •Оглавление
- •Глава 7. Операционные устройства вычислительных машин 1
- •Глава 7. Операционные устройства вычислительных машин
- •Структуры операционных устройств
- •Операционные устройства с жесткой структурой
- •Операционные устройства с магистральной структурой
- •Классификация операционных устройств с магистральной структурой
- •Организация операционного блока (опб) магистрального операционного устройства.
- •Операционные устройства с фиксированной запятой
- •Операционные устройства с плавающей запятой
- •Подготовительный этап
- •Заключительный этап
- •Сложение и вычитание
- •Умножение
- •Деление
Классификация операционных устройств с магистральной структурой
Магистральные ОПУ классифицируют по виду и количеству магистралей, организации узла РОН, типу ОПБ.
Магистрали ОПУ могут быть однонаправленными и двунаправленными, соответственно обеспечивающими передачу данных в одном или двух различных направлениях. Типичным режимом работы магистрали является разделение времени, при котором магистраль используется для передачи функционально разнотипных данных в различные моменты времени.
По функциональному назначению выделяют:
• магистрали внешних связей, соединяющих ОПУ с памятью и каналами ввода/ вывода ВМ;
• внутренние магистрали ОПУ, отвечающие за связь между узлом РОН и операционным блоком.
Количество магистралей зависит от архитектуры конкретной ВМ и обычно не превышает двух для внешних связей и трех – для внутренних.
Организация операционного блока (опб) магистрального операционного устройства.
Различают два типа ОПБ: последовательного и параллельного типа.
В последовательном ОПБ операции выполняются побитово, разряд за разрядом. Бит переноса, возникающий при обработке i-го разряда операндов, подается на вход ОПБ и учитывается при обработке (i+1) разряда операндов. Результат побитово заносится в выходной регистр, предыдущее содержимое которого перед этим сдвигается на один разряд.
В параллельном ОПБ все разряды операндов обрабатываются одновременно. Внутренние переносы обеспечиваются схемой ОПБ.
Но, так как реализация эффективной схемы переносов в рамках «длинного» слова сопряжена с определенными аппаратурными издержками, на практике часто используют параллельно-последовательную схему ОПБ. В ней слово разбивается на группы по 2, 4 и 8 разрядов; обработка разрядов внутри группы осуществляется параллельно, а сами группы обрабатываются последовательно.
Операционные устройства с фиксированной запятой
Для большинства современных ВМ общепринятым является такой формат с фиксированной запятой (ФЗ), когда запятая фиксируется справа от младшего разряда кода числа. По этой причине соответствующие ОПУ называются целочисленными ОПУ. В форме с ФЗ могут быть представлены как числа без знака, когда все N позиций отводятся под значащие цифры, так и со знаком. В последнем случае старший разряд числа занимает знак числа, а под значащие цифры отведены остальные разряды.
Если исключить логические операции, рассматриваемые отдельно, целочисленное ОПУ должно обеспечивать выполнение следующих арифметических операций над числами без знака и со знаком:
Сложение / вычитание
Умножение
Деление
При сложении n-разрядных двоичных чисел может сложиться ситуация, когда результатом станет (n+1)-разрядное число. Эта ситуация называется переполнением. «Лишний» бит занимает позицию знака, что приводит к некорректности результата. ОПУ обнаруживает переполнение соответственно правилу: если суммируются два числа, оба положительные / отрицательные, и сумма получается с противоположным знаком - имеет место переполнение.
Операционные устройства с плавающей запятой
Операции над числами в формате с плавающей запятой (ПЗ) имеют существенные отличия от аналогичных операций целочисленной арифметики, поэтому их обычно реализуют с помощью самостоятельного операционного устройства. Как и целочисленное ОПУ, операционное устройство для чисел в формате ПЗ как минимум должно обеспечивать выполнение четырех арифметических действий: сложения, вычитания, умножения и деления.
Первой особенностью ОПУ для чисел с плавающей запятой является то, что в них операции над тремя составляющими чисел с ПЗ (знаками, мантиссами и порядками операндов) выполняются раздельно: блоками обработки знаков (БОЗ), порядков (БОП) и мантисс (БОМ). Для хранения операндов и результата в ОПУ предусмотрены соответствующие регистры. Хотя физически они могут быть реализованы в виде единых устройств, каждый из них логично рассматривать, как совокупность трех регистров. Таким образом, на этапе загрузки операндов в регистры ОПУ осуществляется «распаковка» чисел с ПЗ, и разбиение их на три составляющие.
Также в отличие от целочисленной арифметики, в операциях с ПЗ сложение и вычитание производятся приближенно, так как при выравнивании порядков происходит потеря младших разрядов одного из слагаемых.