Файл: Дроздов Е.А. Многопрограммные цифровые вычислительные машины.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.04.2024
Просмотров: 320
Скачиваний: 0
Часть АУ машины С плавающей запятой, предназначенная для проведения действий над мантиссами чисел, строится аналогично АУ машины с фиксированной запятой, если используются одно типные элементы и применяются те же алгоритмы выполнения арифметических операций (для мантисс). Для обеспечения дейст вий над порядками в состав АУ универсального типа машин с пла вающей запятой дополнительно включают сумматор порядков, два регистра порядков и коммутирующие элементы (группы вентилей и т. п.).
Принципы построения и функционирования АУ применительно к случаю представления чисел с плавающей запятой рассмотрим на примере АУ трехадресной машины, в которой при выполнении основных арифметических операций используются модифицирован ные коды (обратные или дополнительные). Общая схема такого АУ приведена на рис. 8.10. На этой схеме показаны лишь основ ные узлы арифметического устройства и основные цепи передачи кодов и управляющих сигналов, необходимые при рассмотрении специфики выполнения операций над числами, представленными
вформе с плавающей запятой. В соответствии с рассмотренными
вгл. II алгоритмами эта специфика имеет место главным образом при выполнении операций сложения и вычитания, когда требуется
выравнивать порядки; нормализация результата проводится при выполнении всех арифметических операций, что позволяет рассмо треть принципы организации действий по нормализации чисел опять-таки на примере операций сложения и вычитания.
В соответствии со схемой рис. 8.10 основу АУ машины с пла вающей запятой составляют: сумматор чисел (мантисс) СмЧ, сум матор порядков СмП, регистры для приема мантиссы первого чис ла Рг1Ч и его порядка Рг1П, регистры для приема мантиссы вто рого числа Рг2Ч и его порядка Рг2П, блок местного управления БМУ; на рис. 8.10 выделены также схемы анализа на нуль сум маторов чисел и порядков СхАн «0»-Ч и СхАн «0»-П соответствен но. В регистрах и сумматорах выделены знаковые разряды; в сум маторе чисел, кроме того, выделены старший цифровой разряд СтЦР и дополнительный разряд ДР, необходимый для осуществле ния округления n-разрядных мантисс. Сумматор чисел и Рг2Ч имеют цепи сдвига кодов как влево, так и вправо; регистр Рг1Ч цепей сдвига не имеет. Отметим, что до начала выполнения опера ции все узлы АУ находятся в исходном нулевом состоянии. Пер вое число, выбираемое из МОЗУ по первому адресу исполняемой команды, принимается на Рг1Ч и РгШ , второе, выбираемое из МОЗУ по второму адресу исполняемой команды,— на Рг2Ч и Рг2П; результат операции выдается, как правило, из СмЧ и СмП для записи в МОЗУ в соответствии с третьим адресом исполняе мой команды.
Как известно, операция сложения при представлении чисел в форме с плавающей запятой выполняется в следующем порядке поэтапных действий: сравнение порядков, выравнивание порядков, сложение мантисс, нормализация результата, округление резуль-
271
тэта (если предусматривается это действие); при этом предпола гается, что слагаемые уже приняты па Рг1Ч, Рг1П и Рг2Ч, Рг2П соответственно. Рассмотрим, как эти действия производятся в схе ме рис. 8 .10.
Сравнение порядков осуществляется всегда путем вычитания порядка второго числа из порядка первого числа. Для этого со держимое Рг1П передается в СмП без изменения знака, а содер
жимое Рг2П — с изменением |
знака на противоположный. В ре- |
Ввод |
кода второго чи сл а |
£
0
6
•о
1
<и С*.
<§
о
*=
пэ
о
«о 3
аз
Ввод кода первого числа
Рис. 8.10. Схема АУ ушшерсальмого типа машины с плавающей запятой
зультате вычитания порядков в СмП могут образоваться коды нуля, положительного числа и отрицательного числа. Вид кода определяет действия по выравниванию порядков, поэтому после вычитания порядков анализируется содержимое СмП. Сначала пу тем посылки УВВ на СхАн «0 »-Г1 производится анализ содержи мого СмП на нуль; далее по коду, содержащемуся в Зн2 СмП, ана лизируется знак разности порядков. Последующие действия опре деляются результатами анализа.
Если после вычитания порядков в СмП содержится код нуля, то порядки не выравниваются, а сразу же осуществляется переход к сложению мантисс. Если после вычитания порядков в СмП за фиксирован код положительного числа, то это означает, что по рядок первого числа больше порядка второго числа, и для вырав нивания порядков необходимо сдвинуть мантиссу второго числа
272
вправо на столько разрядов, сколько единиц содержит код в СмП. Выравнивание порядков производится в этом случае так. Код в СмП инверсируется под действием управляющего импульса УИ2; далее одновременно вырабатываются УИз, обеспечивающий при бавление единицы к содержимому СмП, и ИСдВп2, обеспечиваю щий арифметический сдвиг кода мантиссы второго числа в Рг2Ч вправо на один разряд; после каждого сдвига анализируется со держимое СмП на нуль. Выработка пар УИ3 и ИСдВп2 прекра щается при образовании в СмП кода нуля; это отвечает концу действий.по выравниванию порядков.
Если после вычитания порядков в СмП зафиксирован код отри цательного числа, то это означает, что порядок второго числа больше порядка первого числа, и для выравнивания порядков необходимо сдвинуть мантиссу первого числа вправо на количе ство разрядов, отвечающее разности порядков. Порядки в этом случае выравниваются так. Мантисса первого числа из Рг1Ч, не имеющего цепей сдвига, переписывается на СмЧ. Далее одновре менно вырабатываются УИ3 и ИСдВп1, обеспечивающий арифме тический сдвиг кода мантиссы первого числа в СмЧ вправо на один разряд; после каждого сдвига анализируется содержимое СмП на нуль. Выработка пар УИ3 и ИСдВп! прекращается при образовании в СмП кода нуля; это отвечает концу действий по выравниванию порядков.
Мантиссы в СмЧ складываются по обычным правилам, как и в машинах с фиксированной запятой. Предварительный порядок суммы равен порядку большего слагаемого, который после вырав нивания порядков переписывается из Рг1П или из Рг2П на сум матор порядков СмП.
При сложении мантисс может произойти нарушение нормали зации как влево, так и вправо. Поэтому нормализация результата (если он не нормализован) производится в следующем порядке. Сначала анализируется содержимое знаковых разрядов СмЧ (Зн1 и Зн2) для установления возможного нарушения нормали зации влево. Если знаковые разряды СмЧ содержат код 01 или 10, то значение предварительного порядка суммы в СмП увеличи вается на единицу, а в СмЧ за счет выработки ИС.дВп1 осуще ствляется логический сдвиг мантиссы суммы вправо на один
разряд |
с сохранением кода знака |
в старшем |
знаковом разряде, |
т. е. в Зн2. |
влево нет, |
то анализируется |
|
Если |
нарушения нормализации |
содержимое младшего знакового разряда СмЧ, т. е. Зн1, и его старшего цифрового разряда, т. е. СтЦР. Если в этих разрядах содержатся коды нуля или единицы, то производится нормализа-i ция результата путем сдвига мантиссы суммы влево. Сдвиги осу ществляются путем посылки на СмЧ импульсов ИСдВл1 до тех пор, пока в СтЦР окажется код 01 при наличии в Зн 1 кода 0 или наоборот. При каждой выработке импульса ИСдВл1 значение предварительного порядка суммы в СмП уменьшается на едини цу. Округление результата обеспечивается действием УИ4, посы
10-821 |
273 |
лаемого в виде кода «+ 1» или «—1» в дополнительный разряд сумматора СмЧ.
До выдачи результата анализируется содержимое СмЧ на нуль путем посылки на СхАн«0»-Ч управляющего импульса УИ5. Кроме того, по значениям кодов, содержащихся в Зн I и Зн2 СмП, выра батывается значение признака <р, а по содержимому Зн2 СмЧ — значение признака со.
Выполнение других арифметических операций в схеме рис. 8.10 осуществляется в соответствии с алгоритмами, приведенными в гл. II. При этом используются уже рассмотренные цепи передачи кодов и управляющих сигналов, а также другие цепи, не показан ные на рис. 8.10.
Г л а в а IX
УСТРОЙСТВА УПРАВЛЕНИЯ
§ 9.1. Общая характеристика устройств управления
Устройство управления (УУ) любой цифровой вычислительной машины предназначается для автоматического выполнения задан ной программы решения задачи или задач путем принудительной координации работы всех остальных устройств машины. Это осу ществляется путем посылки в различные узлы и блоки машины управляющих сигналов статического или импульсного типов в определенные моменты времени. Поэтому главной функцией устройства управления является преобразование первичной ко мандной информации, представленной программой решения зада чи, во вторичную командную информацию, представляемую управ ляющими сигналами, воздействие которых на другие устройства машины обеспечивает автоматическое решение задачи. В процессе формирования управляющих сигналов в схемах УУ должна также учитываться информация о состоянии других устройств, например значения признаков ср и ш и т. п.
Первичная командная информация, или программа решения задачи, представляет собой совокупность специальных машинных слов-команд, размещенных в оперативном или постоянном запо минающем устройстве и выполняемых в определенной последова тельности. Каждая команда определяет действия машины по вы полнению одной операции. Команды исполняются в порядке их выборки из ЗУ, для упрощения которой они обычно размещаются в ячейках с последовательными номерами. Такое размещение команд позволяет получать их адреса путем автоматического сче та импульсов, вырабатываемых при каждой выборке из ЗУ одной команды.
Преобразование команды в соответствующий набор управляю щих сигналов производится в течение некоторого конечного вре менного интервала; при этом команда, как правило, должна хра ниться в устройстве управления. Общий временной интервал, в те чение которого происходят выборка, хранение и преобразование
Ю* |
275- |
одной команды в набор управляющих сигналов, необходимых для ее выполнения, называется циклом работы устройства управления; в большинстве случаев цикл работы устройства управления совпа дает с общим циклом работы машины.
Каждая команда состоит из двух основных частей: операцион ной и адресной. Операционная часть, или код операции, опреде ляет действия устройств машины в данном цикле, т. е. какую кон кретную операцию из всего множества допустимых для данной машины операций необходимо выполнить. Адресная часть коман ды определяет адреса операндов, т. е. чисел, над которыми дол жна производиться заданная операция. Кроме операционной и адресной частей команда может содержать различные признаки, например, признаки вида ЗУ для реализации адресной части, при знаки типа модификаций арифметических операций, признаки адресации и т. п.
Для указания адресов операндов в командах может использо ваться как прямая, так и относительная адресация. При прямой
адресации адрес, указанный в |
команде, представляет собой не |
что иное, как номер ячейки ЗУ |
(или номер некоторого регистра), |
в которой размещен операнд. При относительной адресации адрес, указанный в команде, представляет собой код, к которому нужно прибавить код индекса (код модификатора), чтобы получить ис полнительный адрес, т. е. адрес действительного расположения
операнда в ЗУ; относительная |
адресация широко используется |
|
для переадресации команд, |
что сокращает общее |
количество |
команд в рабочих программах. |
В некоторых машинах |
используют |
также непосредственную адресацию, когда в адресной части команды непосредственно записывается код операнда, и косвен ную адресацию, когда код адреса, содержащийся в команде, ука зывает номер ячейки ЗУ, в которой располагается действительный адрес операнда.
Количество адресов в адресной части команды данной маши ны обычно постоянно. Оно может принимать значения 1, 2, 3 и определяет количество обращений к ЗУ в течение цикла. Напри мер, в случае трехадресных команд за один цикл необходимо в общем случае четыре раза обратиться к ЗУ: выбрать команду, выбрать по первому и второму адресам команды два операнда, т. е. два числа, над которыми производится заданная операция, и по третьему адресу отослать результат выполнения операции. За время цикла Гц кроме обращений к ЗУ необходимо еще выполнить действие над числами в АУ (см. рис. 9.1); поэтому в общем случае
Т’ц > [k + 1) Тзу,
где k — количество адресов в команде, или адресность машины; Тзу — время одного обращения к ЗУ.
В ряде машин, например в М-220, осуществляется совмещение во времени работы АУ по выполнению заданной операции с обра
276
щением к ЗУ для выборки очередной команды. Тогда при
Т’а у ^ Т ЗУ
= М зу + ТАу.
Сокращение цикла приводит к повышению быстродействия ма шины при постоянной адресности. Однако возможности совмеще ния действий внутри цикла всегда ограничены. Поэтому для повы шения быстродействия в ряде машин осуществляется временное совмещение действий по одновременному выполнению частей не скольких команд, т. е. совмещение нскольких циклов. Но для этого требуется введение в состав машины дополнительного оборудова ния типа регистровых опережающих устройств, как это сделано,
TL
Выборка кода |
Выборка |
Выборка Выполнение |
Запись резуль |
|
|
команды |
1-го операнда 2-го операнда |
операции |
тата в ЗУ |
|
|
|
|
а |
___________ |
Ь |
|
|
Выборка кода Выборка |
Выполнение |
|
||
|
команды |
операнда |
операции |
|
|
|
|
Ти. |
|
|
Ь |
|
|
6 |
|
|
|
Рис. 9.1. Диаграмма выполнения команд:-
о — трехадресной; б — одноадресной
например, в машине БЭСМ-6 [20, 48]. Экономия машинного време ни при выполнении операций достигается также при использова нии в одной и той же машине команд различных форматов, как это сделано, например, в машинах системы IBM-360 [2, 21]; однако при этом существенно усложняется программирование и увеличивается аппаратурный состав ЦВМ.
Преобразование операционной и адресной частей команды осу ществляется неодинаково. Преобразование адресной части команд ды сводится к ее разбиению на отдельные адреса, формированию исполнительных адресов в случае относительной или косвенной адресации и отсылке их в определенные моменты времени в ре гистр адреса соответствующего ЗУ; при этом учитываются при знаки видов ЗУ, а также признаки адресации. Операционная часть команды преобразуется в набор управляющих сигналов, обеспечи вающих выполнение заданной операции.
На основании изложенного основные функции, выполняемые устройством управления, следующие:
—выборка очередной команды из запоминающего устройства;
—хранение команды в течение цикла;
—преобразование адресной части команды, обеспечивающее выборку операндов и отсылку в ЗУ результата выполнения опе рации;
277