
книги из ГПНТБ / Дроздов Е.А. Многопрограммные цифровые вычислительные машины
.pdfСобственно умножение производится поэтапно с расшифровкой на каждом этапе очередной пары разрядов множителя. Если расшиф ровывается пара 01 (с учетом возможной единицы переноса из соседней младшей пары), то множимое передается на сумматор через группу вентилей В2 под действием управляющего импуль са УИ7. При комбинации 10 передача множимого осуществляется через группу вентилей Вз под действием УИв, т. е. прямым кодом с постоянным сдвигом на один разряд влево. При комбинации 11 вырабатываются УИб и УИ9, и множимое передается на сумматор в модифицированном обратном коде. После каждой передачи мно жимого на сумматор множитель в Рг2 и сумма частичных произве дений в сумматоре сдвигаются на два разряда вправо под дей ствием ИСд5 и ИСдЗ соответственно. После завершения всех этапов умножения прямой код произведения оказывается зафикси рованным в сумматоре, а знак произведения — в ТгЗн регистра Рг 1; перед выдачей произведения его мантисса округляется путем подачи на ТгД импульса УИ|0. Для выдачи произведения в кодо вые шины чисел подаются управляющие импульсы У И 12 и У И 5 . Выработка признака ш осуществляется за счет подачи значения кода, зафиксированного триггером ТгЗн, в схему управления.
Деление. Эта операция, как и умножение, выполняется при представлении исходных чисел прямыми кодами. Первым вводит ся делимое в Рг 1. Для этого на ЕЦ и BJ подаются импульсы УИ1
и У И 2. Далее мантисса делимого прямым кодом |
(через вентили В2 |
||
под действием У И 7) передается в сумматор, а |
цифровые разряды |
||
регистра Рг 1 сбрасываются на нуль; знак делимого сохраняется |
в |
||
ТгЗн. |
Затем в регистр Рг1 вводится делитель |
при подаче на |
Bi |
и В' |
управляющих импульсов УИ , и У И 2; при |
этом в ТгЗн уста |
навливается значение знака частного. Собственно деление выпол няется в последовательности, описанной в § 8.2 при рассмотрении схем деления. Для непосредственного определения значений цифр частного служит вентиль В3. Анализ знака остатка в схеме упра
вления осуществляется за счет подачи в нее значения кода, фик сируемого в ТгЗнЗ сумматора (цепь «Знак 3»). Код мантиссы частного фиксируется в регистре Рг2. Для выдачи его в кодовые шины чисел подается управляющий импульс УИ]5; одновременно подается У И 5 , обеспечивающий выдачу знака частного. При знак со вырабатывается так же, как и при выполнении операции умножения.
§ 8.5. Построение и функционирование арифметических устройств машин с плавающей запятой
Арифметические устройства машин с плавающей запятой отли чаются от АУ машин с фиксированной запятой в основном тем, что кроме узлов, служащих для выполнения действий над мантис сами чисел, включают в свой состав узлы, необходимые для вы полнения действий над порядками (характеристиками) чисел.
270
Часть АУ машины С плавающей запятой, предназначенная для проведения действий над мантиссами чисел, строится аналогично АУ машины с фиксированной запятой, если используются одно типные элементы и применяются те же алгоритмы выполнения арифметических операций (для мантисс). Для обеспечения дейст вий над порядками в состав АУ универсального типа машин с пла вающей запятой дополнительно включают сумматор порядков, два регистра порядков и коммутирующие элементы (группы вентилей и т. п.).
Принципы построения и функционирования АУ применительно к случаю представления чисел с плавающей запятой рассмотрим на примере АУ трехадресной машины, в которой при выполнении основных арифметических операций используются модифицирован ные коды (обратные или дополнительные). Общая схема такого АУ приведена на рис. 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
— преобразование операционной части команды, т. е. форми рование управляющих сигналов для выполнения любой предусмо тренной схемой машины операции.
Кроме того, устройство управления должно обеспечивать ввод исходных данных и, если требуется, ввод программ, выдачу ре зультатов решения из машины, пуск и останов машины, контроль работы машины, работу машины в различных режимах (автомати ческом, по циклам) и т. п. Дополнительные функции устройства управления определяются, главным образом, назначением машины и принципами ее использования. Так, для многопрограммных ЦВМ весьма важной функцией устройства управления является преры вание выполнения данной программы с последующим возвратом к ней.
Классификация устройств управления. Устройства управления классифицируются по различным признакам. По своим возможно стям они делятся на универсальные устройства управления и устройства «жесткой» программы. Первые используются в абсо лютном большинстве машин и обеспечивают выполнение любых программ в пределах возможностей данной машины. Вторые обес печивают выполнение лишь отдельных фиксированных программ, например многократное решение одной и той же задачи при раз личных исходных данных в узкоспециализированной ЦВМ.
Устройства управления по принципам построения и выполнения циклов работы делятся на синхронные и асинхронные; так же делят и соответствующие машины. В так называемых синхронных машинах любая команда начинает выполняться только через вре мя 7Ц= const после начала выполнения предыдущей, т. е. на вы полнение любой команды отводится заранее рассчитанное время. В асинхронных машинах очередная команда начинает выполнять
ся сразу |
же после завершения |
выполнения предыдущей. |
Таким |
|
образом, |
синхронные машины |
имеют |
постоянный цикл |
работы, |
а асинхронные — переменный. Следует |
отметить, что те и другие |
|||
машины |
могут включать в свой состав |
узлы — асинхронные авто- |
■маты, не требующие жесткого тактирования при своей работе. Поэтому можно различать «внешнюю» асинхронность — по пере менному циклу работу и «внутреннюю» асинхронность — по прин ципам работы узлов.
t В машинах с постоянным циклом работы часть общего време ни, отводимого на решение задачи, тратится «вхолостую», так как для большинства операций обычно требуется значительно меньше времени, чем для наиболее длительной из них, по которой устанав ливается цикл. Асинхронные устройства управления обеспечивают большее быстродействие машины, так как в этом случае нет пауз между реальными циклами выполнения команд. Однако асинхрон ные устройства управления при прочих равных условиях оказы ваются сложнее синхронных.
Для построения устройств управления, обладающих достоин ствами как синхронных, так и асинхронных устройств, в ряде ма шин их работа организуется по так называемому синхронно-асин
278
хронНому принципу. За основу принимается постоянный цикл, врёмя которого устанавливается по самой длительной из числа «ко ротких» операций. За время основного цикла блоки центрального управления УУ вырабатывают вполне определенный набор управ ляющих сигналов, достаточный для выполнения «коротких» опера ций. При выполнении операций, не укладывающихся по времени в принятый цикл, в соответствующие моменты времени работа бло ков центрального управления приостанавливается и управляющие сигналы вырабатываются блоками местного управления УУ. После окончания работы этих блоков возобновляется работа блоков цен трального управления.
1 |
2 |
3 |
4 |
» » • |
т-1 т |
|
|
|
|
7 ц ______________________ _ |
|
|
. |
Tm'v |
|
а |
Т ^ |
|
|
|
L ! _ Д л |
||
|
с и ; г |
- |
|
||
|
. . . |
т-1 m |
|||
1 |
2 |
3 |
4 |
||
|
|
|
|
6 |
ъ |
Рис. 9.2. Временная диаграмма цикла:
а —для «коротких» операций; б — для «длинных» опе раций
Организация работы устройства управления при основном по стоянном цикле поясняется с помощью временных диаграмм, при веденных на рнс. 9.2. Диаграмма, изображенная на рис. 9.2,6, отвечает случаю выполнения операции, не укладывающейся по вре мени в принятый цикл. После второго и (т—1)-го тактов выработ ка управляющих сигналов блоками центрального управления при останавливается и в работу включаются блоки местного управле ния МУ. Общее время выполнения этой «длинной» операции (например, деления) складывается из времени основного постоянного цикла Тц и времени работы блоков местного управления Г^у и Тт2 .
Устройства управления делят еще на централизованные и сме шанные. При смешанном управлении, которое используется в боль шинстве машин, центральное УУ вырабатывает только основные управляющие сигналы, являющиеся задающими для блоков мест ного управления, непосредственно организующих работу соответ ствующих устройств. В случае централизованных УУ почти все или даже все управляющие сигналы вырабатываются центральным устройством управления; остальные устройства машины практиче ски не имеют блоков местного управления.
По принципу формирования наборов управляющих сигналов (УС) устройства управления еще делят на УУ со схемным формирова нием УС и УУ с программным формированием управляющих сиг налов, или микропрограммные УУ. Отличительной особенностью микропрограммных УУ является использование при формировании наборов УС запоминающих устройств, как правило, постоянных, или односторонних. . Для «схемных» и микропрограммных
279