Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Филимонов Г.А. Основы цифровых устройств систем управления учебное пособие

.pdf
Скачиваний:
9
Добавлен:
30.10.2023
Размер:
13.42 Mб
Скачать

В зависимости от кода приращения л х / + I или - I / ,

запоминаемого в

блоке

дсс,код

числа

поступает в од­

норазрядный сумматор

Здесь

происходит

суммирование

*

с кодом числа $ из регистра S , где

хранится оста­

У-ср

 

 

 

 

 

 

ток интеграла $

от предыдущего

суммирования

 

 

 

 

 

S ‘- S ± y ср

 

Л 8 0 /

 

Приращение

д £

на выходе

интегратора

/ + I

или - I /

выдается с помощью специальной

схемы кодирования

прираще­

ний.

 

 

 

 

 

 

§24. Структура и система команд, применяемых

вцифровых машинах

Автоматическая работа машины заключается в последова­ тельном выполнении операций, предусмотренных программой. Каждая операция выполняется под действием специального уп­ равляющего сигнала, называемого командой. Команда представ­ ляет собой число, закодированное чаще всего в двоичном ко­ де.

Все

команды могут быть разделены на два основных типа:

а /

команды арифметических и логических операций, вы­

полнение

которых связано с действиями над числами}

б /

команды управления, служащие для управления работой

машины /изменение порядка выполнения программы,

остановка

машины, изменение режима работы и т . д . / .

 

Команды, обеспечивающие выполнение арифметических и

логических операций, содержат в себе две группы

сведений»

о том, какую операцию необходимо выполнить} о том, откуда

взять

исходные числа

и куда

направить

результат

операции.

В

соответствии

с этими

сведениями

команда

содержит

две группы цифр. Одна группа представляет собой код опера­ ции, а другая - адреса исходных данных и результата. Адре­ са указывают номера ячеек запоминающего устройства, в ко­

190

торых хранятся исходные числа, а также номер ячейки, куда должен быть записан результат операции над этими числами.

Взависимости от конструкции машины в состав команды может входить различное количество адресов. Бывают одно-, двух-, трех и четырехадресные команды. В соответствии с этим машины называют одно-, двух-, трех- и четырехадрес­ ными.

Всоответствии со способами выполнения команд рабо­ чей программы существуют два типа машин: с естественным

ис принудительным порядком выполнения команд. В машинах первого типа все команды записываются в ячейки запоминаю­ щего устройства в порядке их выполнения. Ячейки, хранящие эти команды, имеют адреса, возрастающие по порядку номе­

ров. В связи с этим после выполнения команды, записанной в очередной ячейке, машина переходит к выполнению команды хранящейся в ячейке с номером на единицу большим. Подоб­ ным образом работа продолжается до конца программы или до той команды, которая может изменить порядок выполнения вы­ числений. В машинах второго типа в очередной команде ука­

зывается адрес ячейки, хранящей

следующую команду.

Рассмотрим более подробно

структуру команд, применя­

емых в цифровых машинах различных типов.

Трехадресная

команда

Трехадресная

команда имеет

вид

0101

0237

0421

01.

Здесь первые

три группы цифр - адреса, четвертая груп­

па - код операции. Данная команда имеет следующее содержа­

ние: "взять число

из ячейки №0101, другое

число

взять из

ячейки К 0237j эти

числа сложить /считаем,

что 01

- код

операции сложения/; результат операции /сумму/ записать в ячейку №0421".

Взаимное расположение адресов и кода операции на блан­ ке программы может быть и не таким, как в приведенной выше

191

записи. Например, возможен и такой вид той же трехадрес­ ной команды

01 0101 0237 0421.

Следует указать, что структура команд является впол­ не определенной для данной конструкции машины и поэтому произвольно записывать команду в том или ином виде нельзя. Трехадресная команда выполняется за один рабочий такт.

Большинство трехадресных машин имеет естественный порядок выполнения команд.

Одноадресная команда

Такая команда содержит один адрес и код операции. Арифметическое устройство одноадресных машин должно иметь один или несколько регистров, которые используются для хранения промежуточных результатов.

Для выполнения рассмотренной выше операции сложения потребуется три одноадресные команды следующего содержа­ ния:

0101 02

Данная команда означает: "число, хранящееся в ячейке №0101 перенести в сумматор /02 - код операции переноса числа из ячейки памяти в регистр сумматора/".

Следующая команда

0237 01

означает: "число, записанное в ячейке №0237, прибавить к содержимому сумматора, результат сложения оставить в сум­ маторе".

Третья команда 0421 16

означает: "содержимое сумматора переписать в ячейку * 0421 /восьмеричное число 16 является кодом операции переноса числа из регистра сумматора в ячейку памяти машины/ ,

Для выполнения этих одноадресных команд требуется три

192

рабочих такта машины. Естественно, что программа одной и той же задачи в одноадресной машине должна содержать боль­ шее число команд, чем в трехадресной.

Одноадресные машины могут иметь только естественный порядок выполнения команд. Следует отметить, что одноадрес ные машины проще по конструкции в сравнении с другими ти­ пами машин, а поэтому специализированные машины чаще всего выполняются одноадресными.

Двухадресная команда

Двухадресные команды могут применяться как в машинах с естественным, так и в машинах с принудительным порядком выполнения команд.

В двухадресной команде, применяемой в машине с есте­ ственным порядком выполнения команд, указываются адреса обоих исходных чисел. Адрес результата совпадает с адре­ сом одного из этих чисел.

При записи на бланке программ такая команда может иметь следующий вид:

01 0321 0652.

Расшифровывается команда следующим образом: "от числа стоящего в ячейке №321, отнять число, которое хранится в

ячейке К 0652

/01-код

операции

вычитания/} разность запи­

сать в ячейку

* 0652}

при этом

исходное число, хранивше­

еся в ячейке № 0652,

автоматически стирается при занесении

на его место результата выполненной операции.

Если же результат необходимо поместить в определенную ячейку, то необходимо выполнить еще одну команду, например

15 0652 0125,

которая словесно может быть выражена тая: "число, записан­ ное в ячейке № 0652, перенести в ячейку К 0125 /15 - код операции переноса числа из одной ячейки памяти в другую/".

Двухадресные машины с принудительным порядком выпол­

13

193

нения команд работают, как одноадресные. При этом во вто­ ром адресе указывается номер ячейки, которая содержит сле­ дующую команду.

Полутораадресная команда

Модификацией двухадресной системы команд является по­ лутораадресная команда. В этой команде также указывается два адреса, только один адрес указывается полным числом разрядов и может обозначать номер любой ячейки памяти, а второй адрес указывается половинным числом разрядов и мо­ жет обозначать номера ячеек памяти только в некоторой оп­ ределенной ее области. Последнее ограничение не является существенным, так как в большинстве случаев один из адре­ сов относится к рабочим ячейкам, которые могут распола­

гаться в определенной

ограниченной области памяти. Вместе

с тем полутораадресная

система команд, сохраняя преиму­

щества двухадресных команд, позволяет существенно умень­ шить потребное для представления команды количество раз­ рядов.

Обычно номера ячеек памяти, на которые указывает вто­ рой адрес команды, устанавливаются заранее, например, наз­

начаются ячейки с номерами от 4300 до

4377, тогда

ячейка

за номером 4326 будет отражена во втором адресе

двумя

восьмеричными цифрами 26.

 

 

 

Для сложения чисел, находящихся

в ячейках fc

0234 и

I 0425, и записи результата в ячейку № 0157 потребуется

три полутораадресные команды. Первая

команда

 

15

0234

26

 

 

означает: "число, хранящееся в ячейке № 0234, перенести в ячейку * 4326".

Вторая команда

01 0425 26

требует: "число, записанное в ячейке № 0425, сложить

с

194

числом, хранящимся в ячейке В 4326, а результат сложения записать в ячейку К 4326".

Третья команда

)

04

0157 26

означает:

"число

из ячейки №4326 перенести в ячейку № 0157"

/04 - код операции переноса числа из ячейки, указанной во

втором адресе, в ячейку с

номером, указанным в первом ад­

р есе /.

 

Четырехадресная

команда

Четырехадресные команды применяются в машинах с при­ нудительным порядком выполнения команд. Три первых адреса имеют такое же назначение, как и в трехадресной команде.

Четвертый адрес указывает ячейку, в которой хранится оче­ редная команда.

Например, четырехадресная команда

01 0324 0245 0152 0362

расшифровывается следующим образом: "числа, записанные в ячейках № 0324 и №0245, надлежит сложить, результат за­ писать в ячейку В 0152, а затем перейти к выполнению ко­ манды, записанной в ячейке * 0362".

Принудительный способ выполнения команд усложняет про­ цесс программирования, так как при этом необходимо допол­ нительно определить порядок размещения команд в памяти ма­ шины. Однако этот способ является выгодным для машин по­ следовательного действия, имеющих запоминающие устройства с последовательной выборкой чисел /магнитные барабаны, ли­ нии задержки/, так как позволяет существенно сократить вре­ мя решения задач путем применения так называемого "опти­ мального программирования". Сущность оптимального програм­

мирования

заключается в том,

что

команды в

памяти записы­

ваются таким образом, чтобы

очередная команда находилась

в ячейке

памяти, следующей

за

той

ячейкой,

в которой дол-

195

жен быть записан результат предыдущей операции.

Система команд

Каждая цифровая машина может выполнять вполне опреде­ ленный набор элементарных операций, который называется си­ стемой команд. В общем случае система команд цифровых ма­ шин общего назначения состоит из нескольких десятков опе­ раций, которые можно разделить следующим образом:

I /

группа

посылочных

операций,

которая предназначена

для

 

обмена информацией между

арифметическим и запоминающим

 

устройством;

 

 

 

 

 

2 /

группа

арифметических операций;

 

3 /

группа

логических

операций;

 

 

4 /

группа

операций

управления;

 

 

5 /

группа

операций

обращения

к

внешним накопителям и

ус­

тройствам машины.

В качестве примера приведем несколько операций из си­ стемы команд одноадресной машины.

Таблица 7

Код

операции

I

01

02

06

07

Операция

Команда

2

 

3

Сложение чисел

/ с / + / а /

01а

Посылка числа

из ячейки

02а

а в сумматор

 

 

Умножение чисел / с /

• / а /

0,6а

Деление чисел / с / :

/ а /

0,7а

196

I

2

 

3

 

14

Сравнение чисел / с /

и / а /

14а

 

 

 

 

 

о

 

 

 

 

16

Посылка числа / с / в

ячейку а

16а

 

 

 

 

 

 

 

 

 

21

Условная передача управления

21а

 

 

 

 

 

 

 

 

 

37

Останов машины

 

37а

 

/ с /

и / а / - условные обозначения соответственно

со­

держимому

сумматора и ячейки за номером aj

а - адрес

ко­

манды.

 

 

 

 

В специализированных машинах система команд может быт* сокращенной, необходимой для решения небольшого класса за­ дач. Сокращение числа элементарных операций в системе ко­ манд приводит к упрощению схемы устройства управления ма­ шины.

§ 25. Структура устройства управления специализи­ рованных машин

Устройство управления электронной цифровой вычисли­ тельной /управляющей/ машиной предназначается для обеспе­ чения автоматического решения задач в процессе управления тем или иным объектом. Решение осуществляется по програм­ ме путем принудительной координации работы всех блоков и устройств машины. Поэтому основной функцией управления ра­ ботой самой машины является выработка командных импульсов и потенциалов в определенные моменты времени согласно про-

197

грамме решения задачи.

В состав устройства управления обычно входят следую­ щие основные блоки: центрального управления машиной; ко­ манд; центрального управления операциями; выработки управ­ ляющих сигналов.

На рис.125 представлена упрощенная схема устройства управления. Блок центрального управления /ЦУ/ обеспечива­ ет выборку из оперативного запоминающего устройства /ОЗУ/ очередной команды, а также чисел, с которыми производится та или иная операция, запись результата в ОЗУ или сохране­ ние его в арифметическом устройстве. Блок центрального уп­ равления на основании импульсов, поступающих от генерато­ ра импульсов ГИ, вырабатывает серию управляющих импульсов через блок центрального управления операциями /ЦУОп/, воз­ действует на различные устройства машины.

Количестве необходимых сигналов, вырабатываемых бло­ ком ЦУ, определяется числом элементарных действий, которые необходимо выполнить в такте. Каждая команда /одна арифме­ тическая или логическая операция/ выполняется в течение од­ ного рабочего такта машины. Весь рабочий такт можно разбить на три этапа.

Первый этап. Устройство управления посылает в запоми­ нающее устройство адрес очередной команды. Извлеченная по этому адресу команда снова подается в устройство управле­ ния, которое разделяет ее на две части: код операции на­ правляется в арифметическое устройство, а адреса посылают­ ся в запоминающее устройство. Арифметическое устройство на­ страивается на выполнение той операции, которая определяет­ ся поступившим в него кодом. Запоминающее устройство на­ страивается на выдачу первого исходного числа из ячейки, номер которой указан в первом адресе команды, затем - на выдачу второго исходного числа из ячейки, номер которой указан во втором адресе. Оба числа поступают в арифметиче­ ское устройство. Одновременно запоминающее устройство под­ готавливается к приему числа в ячейку, указанную в третьем

198

адресе команды.

Второй этап. Арифметическое устройство выполняет требуемую операцию. Этот этап занимает 50-70# всего рабо­

чего такта

машины.

*

Третий

этап.

Результат операции, который выдается

из арифметического

устройства, заносится в ячейку, ука­

занную в третьем адресе. Одновременно устройство управле­ ния вырабатывает адрес команды, которая будет выполнять­ ся в следующем рабочем такте.

Продолжительность такта определяется временем обра­ щения к ОЗУ, а также временем выполнения самой операции, складывающимся из времени передачи чисел и команд по це­ пям связи и времени работы арифметического устройства.

Такт работы блока ЦУ может быть как постоянным, так и переменным. Длительность постоянного /фиксированного/ такта выбирается по операции, требующей наибольшего вре­ мени для своего выполнения. Однако при этом снижается об­

щее быстродействие, так как

время выполнения большинства

операций значительно меньше,

чем время такта,

выбранное

с расчетом на самую продолжительную

операцию.

Машины,

имеющие фиксированный такт,

называются синхронными.

Существуют асинхронные

машины,

у которых

теист работы

не фиксировал. Выполнение очередной операции в этих машинах начинается сразу после окончания предыдущей. В асин­ хронных машинах блок ЦУОп вырабатывает управляющий сиг­ нал, по которому начинается выполнение новой операции.

Блок команд /БК / предназначен для определения адреса очередной команды, выборки ее из ОЗУ и выдачи на регистр команд для исполнения и хранения ее в течение всего такта работы блока ЦУ. Адресная часть команды передается на счет­ чик адреса числа. По заданному адресу выбирается число для выполнения операции. Код операции, содержащийся в команде, связан с дешифратором, имеющим столько выходных шин, сколь­ ко операций выполняет машина. Выходные цепи дешифратора воздействуют на блок ЦУОп. Например, наличие высокого по­

199

Соседние файлы в папке книги из ГПНТБ