Файл: Дроздов Е.А. Многопрограммные цифровые вычислительные машины.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