Файл: Дроздов Е.А. Многопрограммные цифровые вычислительные машины.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 11.04.2024

Просмотров: 310

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

сов; К — клапан переключения выходных цепей матрицы последо­ вательности; ПП — признак переключения; о,,;- — адрес микро­ команды, где индекс i определяет номер машинной операции, а ин­ декс / — порядковый номер микрокоманды в г-й микропрограмме.

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

УС бАУ, ЗУ, УВВ, БУК

Рис. 9.14. Блок микрокоманд с двумя диодными матрицами

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

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

Матрицы Mi и Мг строятся путем соединения двух наборов шин полупроводниковыми диодами по общим принципам построения

296

диодных ПЗУ. Схема соединения шин в матрицах представлена на рис. 9.15. Шины набора Шь Ш2, ..., Ш„ являются, как правило, об­ щими для обеих матриц и подключаются к выходам дешифратора; количество этих шин, как адресных, определяется общим количе­ ством микрокоманд, используемых для выполнения машинных опе­ раций. На шинах 1, 2, ..., k второго набора матрицы М| образуют­ ся наборы управляющих сигналов, а на шинах 1, 2...... т второго

набора матрицы М2 — параллельные коды a L

е. коды адресов

очередных микрокоманд.

 

 

 

 

 

 

В РгК

 

 

 

 

________ Л___

 

 

L

 

А А

ИU

 

JL

 

 

 

 

 

 

\

\

 

ш2

 

ч \

N

 

1

/

/ L ШП‘

 

 

'

ч ч

/17

Управляющие

сигналы

Рис. 9.15. Схема соединения шин в диодных матрицах

Количество шин вторых наборов матриц Mi и М2 зависит от об­ щей разрядности микрокоманд; k — разрядность управляющей (операционной) части микрокоманды, т — разрядность ее адрес­ ной части. Отметим, что величина k определяется количеством уп­ равляемых цепей, а величина т — емкостью данного диодного ПЗУ, т. е. m = [log2n], В соответствии со схемой рис. 9.15 в матрицах Mi и М2 зафиксированы следующие микрокоманды:

M K ^ I O .,.1 ,

1 1 ... 1,

МК2-+ 11 ... 1, 01 ...О ,

МКЯ- П 1 ...0 ,

1 0 ... 1.

В записи кодов микрокоманд запятая

разделяет их операционные

и адресные части. Если, например, с выхода дешифратора посту­ пает импульс на шину Шь то управляющие сигналы образуются на выходных шинах 1,..., k матрицы Мь а на выходах матрицы М2 образуется код 11... 1, представляющий собой адрес очередной микрокоманды.

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

297


постоянной длительности тактов. Импульсы с него поступают на дешифратор и в зависимости от содержимого регистра РгК возбуж­ дают соответствующие шины набора Шь Ш2, . . Ш„. Если в ма­ шине длительность тактов должна быть переменной, то ГТИ строит­ ся как генератор ударного возбуждения, управляемый сигналами микрокоманд, посылаемых на него через небольшие линии за­ держки.

Работа рассматриваемой схемы при выполнении команд про­ граммы решения задачи протекает следующим образом. Операци­ онная часть команды вводится в РгК. как адрес первой микро­ команды а,-, 1 микропрограммы выполнения соответствующей опе­ рации. Дешифрирование этого адреса приводит к возбуждению одной из адресных шин, и на выходах матрицы Mi, связанных че­ рез диоды с этой шиной, образуется первый набор управляющих сигналов (считывается код управляющей части микрокоманды). На выходах матрицы М2 образуется код адреса очередной микро­ команды, т. е. а,-,2.

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

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

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

Схемное задание последовательности выборки микрокоманд из постоянного ЗУ микропрограммных устройств обеспечивается при разделении циклов выполнения всех машинных операций на стан­ дартные подциклы, состоящие из нескольких тактов. Внутри каж­ дого стандартного подцикла всегда исполняется одно и то же коли­ чество микрокоманд r r i 10. Для любой машинной операции коли­ чество подциклов Ni, п 2. Если для всех машинных операций подциклы различаются по составу микрокоманд, то в предельном случае общее количество микрокоманд, подлежащих хранению в по­ стоянном запоминающем устройстве БМК,

а

L = ^ m N iin,

(=1

где й — общее количество машинных операций.

298


Для уменьшения значения L микропрограммы разбиваются на стандартные подциклы так, чтобы последовательности микро­ команд внутри подциклов могли использоваться при выполнении различных операций. Первый подцикл, как правило, является об­ щим для всех машинных операций; следует иметь в виду, что мик­ ропрограммные устройства обычно применяются в одноадресных машинах. Проведение указанных действий обеспечивает получение значения L ^ 5 1 2 для одноадресных машин с достаточно полной

КО из БУК

УС в АУ, ЗУ, УВВ, БУК

Рис. 9.16. Блок микрокоманд, с одной числовой линейкой

системой команд. Хранение такого количества микрокоманд обес­ печивается постоянным ЗУ на одной числовой линейке из магнит­ ных сердечников с двусторонним дешифрированием.

Схема блока микрокоманд с запоминающим устройством микро­ команд в виде одной числовой линейки приведена на рис. 9.16. Обозначения на схеме: ДшО — дешифратор операций; У — усили­ тели; ДшП — дешифратор подциклов; СчП — счетчик подциклов; ГИ — генератор импульсов; ДТ — датчик тактов; УФ — усилителиформирователи.

Числовая линейка представляет собой набор из k сердечников (k — разрядность микрокоманды) с L адресными шинами, проши­ вающими сердечники в соответствии с кодами микрокоманд. Про­ текание импульсного тока по адресной шине вызывает формирование

299


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

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

Концы адресных шин через усилители-формирователи подклю­ чаются к выходам датчика тактов; всего датчик тактов имеет т выходов. К каждому выходу в общем случае подключается Nn0^m адресных шин. Таким образом, при возбуждении одного токового ключа в течение подцикла импульсные токи проходят по т адрес­ ным шинам, что обеспечивает выборку т микрокоманд.

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

Генератор импульсов ГИ формирует импульсы с периодом сле­ дования, равным длительности стандартного подцикла. Если Гподц=10 мксек, то / ги = 100 кгц. Импульсы такой же частоты по­

даются и на датчик тактов, который состоит из последовательно включенных ЛЗ с

Гподц

Датчик тактов имеет т выходов, которые подключаются к вы­ ходам отдельных ЛЗ. На выходах ДТ импульсы образуются после­ довательно через временные интервалы, равные одному такту. Иначе говоря, время задержки одной ЛЗ равно одному времен­ ному такту. Если 7’ПОдц=10 мксек и т 8, то т3=1,25 мксек.

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

300


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

буждается очередной ключ из

подготовленных к работе

ключей

и т. д. По финишному сигналу

операции осуществляется

переход

к выполнению очередной команды программы решения задачи.

§ 9.6. Блоки прерываний

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

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

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

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

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

301