
книги из ГПНТБ / Журавлев, Ю. П. Системное проектирование управляющих ЦВМ
.pdfСчитанный в выходные обмотки исполнительный код первой операции поступает на регистр кодов операций, и машина начинает выполнять эту операцию. Сигналом QK0 окончания выполнения пер вой операции состояние счетчика длительности цепочки изменяется на единицу.
Второй опросный импульс с выхода формирователя Ф3 через
диод 13 и открывшийся выход 4 дешифратора длительности цепочки выбирает наборную шину 13, в результате чего код второй операции поступает на регистр кодов операций.
Аналогично будут выбраны, расшифрованы и исполнены все пять операций, входящих в данную цепочку. После выполнения по следней операции сигнал QKo вызовет переполнение счетчика и по явившийся сигнал Qnep прекращает выполнение обобщенной ко манды.
Выбор того или иного варианта технической реализации блока выработки сигналов операций в основном будет определяться фор матами команд и способами задания в них кодов операций. Может оказаться целесообразным такое конструктивное выполнение блока выработки сигналов операций, когда в нем будет сочетаться одно временно несколько вариантов выработки сигналов операций.
§3.4. УСТРОЙСТВО УПРАВЛЕНИЯ ЦВМ
СПЕРЕМЕННОЙ АДРЕСНОСТЬЮ
Как уже указывалось, внутренний язык ЦВМ оказывает суще ственное влияние на структуру и особенности построения основных устройств машины. В частности, основной список операций опре деляет структуру и особенности функционирования операционного устройства — процессора, а система адресации и система форматов команд — определяют состав, назначение, структуру и особенности функционирования устройства управления.
Устройство управления ЦВМ с переменной относительной адре сацией и есть тот самый конечный преобразователь, который функ ционирует в соответствии с системой правил дешифрирующей преоб разующей грамматики Gs, описанной в § 2.8, и на основе получаемых из запоминающих устройств кодов команд основного, а также пер вого, второго и третьего дополнительных списков генерирует после довательность исполнительных кодов операций для операционного устройства и 'соответствующие им кортежи исполнительных адресов для системы оперативной памяти.
Ниже рассматривается вариант построения устройства управ ления некоторой ЦВМ, в состав внутреннего языка которой входят как команды основного списка, так и команды первого, второго и третьего дополнительных списков, каждый из которых характеризует
ся набором различных форматов команд. |
|
|
||
Этот пример преследует чисто |
иллюстративные |
цели. |
Пусть |
|
задано: |
|
|
|
|
1. А = \ — адресность команд основного формата. |
|
|
||
2 . Ra = 16 — разрядность |
адреса |
с признаком л |
переадресации. |
|
3. Afi=64 — количество |
операций основного списка. |
|
||
4. i? 0 = 8 — разрядность |
кодов |
операций основного и |
первого |
|
дополнительных списков. |
|
|
|
|
5. /?к = 24 — разрядность команды.
130

б. Частотные характеристики алгоритмов (частотный спектр опе раций основного списка, частотный спектр относительных адресов, частотные спектры цепочек элементарных операций).
В соответствии с выражениями
К*»г = E { A - R J l \ y , l*i > A - R j (R bi + 1 ) ,
приведенными в § 2 .1 0 , допустимые разрядности относительных
адресов и соответствующие им длины цепочек элементарных опера ций в командах первого дополнительного списка представлены табл. 3.1.
Т а б л и ц а 3.1
i |
1 |
2 |
3 |
4 |
5 |
Ч |
2 |
3 |
4 |
5 |
6 |
|
|
|
|
|
|
К . |
8 |
5 |
4 |
3 |
2 |
г |
|
|
|
|
|
|
6 |
|
7 |
1 |
|
1 |
СЧ |
7
8
2
Допустимые разрядности одноадресных фрагментов и допусти мая длина цепочек операций в командах второго и третьего допол нительных списков, полученные на основе выражений:
Я*Фн= Е |
Ео + |
А ■/?а — Rn |
|
Rq-\- A-Ra. — R„ |
|
||||
|
|
|
|
|
Ефи+ 1 |
|
|
||
|
|
|
|
|
|
|
|
|
|
при Rп= 4, |
показаны в табл. 3.2. |
|
|
|
|
|
|||
|
|
Т а б л и ц а |
3.2 |
|
|
Т а б л и ц а 3.3 |
|||
k |
1 |
2 |
3 |
4 |
k |
l |
2 |
3 |
4 |
* l k |
4 |
5 |
6 |
1 0 |
*lk |
4 |
5 |
6 |
1 0 |
|
|
|
|
|
|
|
|
||
4 |
5 |
4 |
3 |
2 |
|
2 |
2 |
3 |
3—6 |
Эти выражения, в отличие от приведенных в § 2.10, учитывают |
|||||||||
заданную |
разрядность команды, которая определяется выражением |
||||||||
|
|
|
R*—^п-Р^о+Ч *R&, |
|
|
|
|
||
где Rn — разрядность признаков форматов команд. |
|
|
|
||||||
Пусть известно, что функция |
|
|
|
|
|
||||
|
|
|
|
т |
|
|
|
|
|
|
|
U = |
|
Е |
G ( R ^ - R y) |
|
|
|
|
|
|
|
' i = i |
L fc=l |
|
|
|
|
|
9 : |
|
|
|
|
|
|
|
|
131 |
максимизируется для заданных частотных |
характеристик |
при Ry — 3 |
|
а функция |
|
|
|
Uh = G |
(Ri h — Rvk)-G*{Rvk) |
|
|
максимизируется для всех |
допустимых |
разрядностей |
фрагментов |
различными значениями разрядностей относительных кодов опера ций, приведенными в табл. 3.3.
Для случая 10-разрядных фрагментов функция ик имеет при мерно одинаковое значение при различных разрядностях относитель ных кодов операций, изменяемых в пределах от трех до шести.
Для полученных значений R*$h, L*K, Ry, Rvk количество различных видов одноадресных фрагментов в форматах команд второго и
третьего дополнительных |
списков |
представлено в табл. 3.4. |
|||
|
|
|
|
Т а б л и ц а 3.4 |
|
M s |
|
|
|
R*bk |
L\ |
пп. |
|
|
|
||
1 |
6 |
3 |
_ |
3 |
3 |
2 |
1 0 |
3 |
7 |
2 |
|
3 |
4 |
_ |
2 |
2 |
5 |
4 |
5 |
_ |
2 |
3 |
4 |
5 |
6 |
_ |
3 |
3 |
3 |
6 |
1 0 |
_ |
3 |
7 |
О |
Z. |
|||||
7 |
1 0 |
_ |
4 |
6 |
2 |
8 |
1 0 |
_ |
5 |
5 |
2 |
9 |
1 0 |
— |
6 |
4 |
2 |
Всего в состав модели внутреннего языка на основе анализа частотных характеристик алгоритмов можно ввести 17 различных
форматов команд, из них: |
|
|
— основной формат — один; |
|
|
— семь форматов команд первого дополнительного |
списка; |
|
— девять форматов команд второго и третьего дополнительных |
||
списков по количеству различных видов одноадресных |
фрагментов. |
|
Пусть в результате испытания выбранной модели внутреннего |
||
языка на сжатие оказалось: |
|
|
а) |
форматы команд первого дополнительного списка с цепочками |
|
длиной |
6 — 8 элементарных операций и форматы команд второго и |
третьего дополнительных списков, имеющие в своем составе фраг менты, отмеченные в табл. 3.4 номерами 3 и 4, не используются;
б) в первый дополнительный список вошли различные цепочки элементарных операций, количество которых в зависимости от дли
ны приведено в табл. 3.5. |
|
|
|
|
|
|
|
Т а б л и ц а |
3.5 |
Длина цепочек |
2 |
3 |
4 |
5 |
Количество |
64 |
32 |
16 |
16 |
132
Таким образом, после испытания модели внутреннего языка вы бранная система форматов команд имеет вид, изображенный на рис. 3.8.
При выполнении команд дополнительных списков устройство управления наряду с реализацией обычных функций должно быть приспособлено для осуществления следующих дополнительных дей ствий:
—• формировать исполнительные адреса из относительных и ба зовых,
— преобразовывать относительные и усеченные коды операций
вполноразрядные,
—вырабатывать из обобщенных кодов операций требуемые по следовательности кодов операций основного списка.
В соответствии с этим устройство управления включает в свой состав следующие узлы и блоки:
—приемный регистр команд и коммутатор,
—блок выработки исполнительных адресов,
—блок выработки исполнительных кодов операций.
Ниже приводятся возможные варианты схемной реализации этих элементов.
1. Регистр команд и коммутатор. Регистр команд (РК) служит для приема очередной команды из оперативной памяти, ее хране ния и выдачи составных частей кода команды в соответствующие узлы устройства управления. В соответствии с этими функциями РК должен иметь входную связь с кодовой шиной команд и несколько выходов на блок выработки исполнительных адресов и блок вы работки исполнительных сигналов операций. (В дальнейшем эти бло ки будут называться соответственно блоком адресов и блоком опе раций.)
Так как в каждой команде дополнительного списка состав и ко личество смысловых групп зависит от вида формата команды, то состав и количество связей регистра команд с каждым из этих блоков определяется выбранной системой форматов команд
(рис. 3.8).
Эти связи с блоками адресов и операций осуществляются через коммутатор. Увеличение количества форматов команд приводит к большому количеству связей РК с блоками адресов и операций, что, в свою очередь, усложняет схемы коммутатора и узлы управ ления.
В ряде случаев для обеспечения более глубокого совмещения во времени работы всех устройств ЦВМ необходимо иметь два и более связанных между собой регистров с целью одновременной обработки исходной информации по нескольким командам, вызван ным из оперативной памяти.
Схему коммутатора выдачи адресов и операций в этом случае можно заметно упростить, если в качестве РК использовать сдвиго вый регистр.
На рис. 3.9 приведена структурная схема одного из вариантов построения коммутатора и РК, состоящего из двух регистров РК-1 и РК-2.
Работа этой схемы осуществляется следующим образом. Очеред ная команда, поступившая по кодовой шине команд из оперативной
памяти в |
РК-1, передается на РК-2. |
На дешифратор форматов |
(рис. 3.10) |
с РК-2 поступают 24-Р21 |
разряды кода принятой коман |
ды, которыми задаются признаки формата.
133
2 |
¥25 22 21 27!» |
18 17 W |
15 |
|
13 12 |
< |
i\ a |
|
7 яв |
5 |
и8 |
п |
3 1 |
|
V |
Н а и м 5но 8а .ни е |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ф ,. |
||||||
0 |
|
0 |
КО П |
|
|
|
|
|
|
|
|
А |
|
|
|
|
|
|
|
ф |
о |
О сновной |
ф орм ат |
||
0 |
|
1 |
К0О П 0 |
8 , |
, |
|
|
|
8 |
, |
|
8 |
, |
8 |
, 1 % |
|
|
|
|
|
|||||
0 |
|
1 |
КО0 П |
|
1 |
8 |
\ |
|
\ |
\ |
|
|
К |
|
ф п |
Ф о р м а ты ко м а нд |
|||||||||
0 |
|
1 |
1КО П |
0 |
|
|
8 |
, |
|
|
ё |
2 |
|
|
8 |
|
, |
% |
|
/ |
доп . с п и с ка |
||||
0 |
/1 |
|
1 |
к |
о |
|
п |
|
|
|
4 |
|
|
|
|
S |
, |
|
|
|
|
|
|
|
|
1 О О О к |
о |
п |
8, |
, |
к о |
п |
|
г 8 2 |
|
К О П , |
|
8 |
, |
|
ФЖ 1 1 Ф о р м ,а ты ко м а нд |
||||||||||
1 |
0 |
0 |
щ |
1 |
|
|
|
8 |
, |
|
|
[ к |
о |
п |
г |
|
2Г |
|
ф гг |
//доп. |
с п и с ка |
||||
1 0 |
1 |
К0О П , |
|
* 1 |
к |
о |
|
п |
2 |
|
|
|
|
|
Ж |
|
% |
|
к |
о |
п . |
||||
/0 |
1 |
к |
д 1п |
г |
|
8 |
, |
|
|
к |
о |
п |
2 |
|
* 2 |
|
Ф |
, 2 |
Ф о р м а та / ко м а н д |
||||||
/ 1 |
0 |
к |
0о |
п |
, |
|
8 |
, |
|
|
К 0 П 2 |
|
|
% |
|
|
Ф33 |
[ |
И доп. с писка |
||||||
f |
1 |
0 |
|
К О1 П , |
п |
I |
|
8 |
, |
|
|
к |
о |
п |
, |
|
% |
|
ф3¥ |
|
|
|
|
||
|
1 |
<71 |
к |
о |
1 |
|
|
|
|
К О П , |
|
| % |
|
3S |
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ф |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. |
3.8. |
|
|
|
|
|
|
|
|
|
|||
К |
б |
л |
о |
к |
у |
|
|
о |
п |
|
е |
р |
Ла ' бц |
ли |
ой |
к |
у |
|
а |
д |
р |
е |
с |
о в |
Рис. 3.9.
Рис. 3.10.
131
Логические выражения сигналов на выходе дешифратора по зна чению 21 ч-24 разрядов РК-2 для выбранных форматов команд при ведены в табл. 3.6.
|
|
|
Т а б л и ц а 3.6 |
фа |
|
Логическое выражение |
|
Фо |
24 |
А |
23 |
Ф,. |
24 |
А |
23 Д 22 Д 21 |
Ф.2 |
24 |
А |
23 Д 22 Д 21 |
Фи |
24 |
А |
23 Д 22 Д 21 |
Ф14 |
24 |
А |
23 Д 22 Д 21 |
Ф21 |
24 |
А |
23 Д 22 Д 21 |
Ф22 |
24 |
А |
23 Д 22 Д 21 |
Ф3. |
24 |
А |
23 Д 22 Д 21 |
Ф32 |
24 |
А |
23 Д 2 2 Д 21 |
Фаз |
24 |
А |
23 Д 22 Д 21 |
Ф34 |
24 |
А |
2 3 Д 22 Д 21 |
Фаз |
24 |
А |
23 Д 22 Д 2Г |
Например, сигнал Ф31 |
на выходе дешифратора выработается |
в том случае, если в 24-^21 |
разрядах будет записано двоичное слово |
1010. По признаку Ф0 коммутатор выдает полноразрядные адреса
и код операции на соответствующие блоки. По признаку Фи форма та команд первого дополнительного списка обобщенный код опера ции выдается в блок операций, а относительные адреса — в блок адресов. Параллельно с работой этих блоков на сдвиговом регистре производится сдвиг адресной части кода команды на величину раз рядности выданного относительного адреса. С поступлением сигнала об использовании первого адреса схемы управления коммутаторами обеспечивает выдачу в блок адресов с тех же разрядов РК-2 вто рого относительного адреса б2 и т. д. до тех пор, пока не будет
выдан последний относительный адрес этой команды. Одновременно с выдачей последнего адреса с РК-2 на РК-1 может приниматься очередная команда.
Если на РК-2 находится команда одного из форматов Ф2,- или Фзh то по соответствующему признаку усеченный или относительный код операции и относительный адрес первого фрагмента выдаются коммутаторами соответственно на блок операций и блок адресов. Одновременно с работой этих блоков по выработке полноразрядного когда операции и исполнительного адреса для первого фрагмента про изводится сдвиг кода команды на величину разрядности выданного фрагмента. Содержимое 21н-24 разрядов регистров РК-1 и РК-2, определяющих признак формата, не сдвигается.
135
С приходом сигнала об использовании первого фрагмента схе ма управления коммутаторами производит выдачу второго фрагмен та и т. д. до тех пор, пока не будет выдан последний фрагмент. Как и в предыдущем случае, одновременно с выдачей последнего фрагмента на РК-1 может приниматься очередная команда.
Сдвиги кодов команд дополнительных форматов производятся на регистрах РК-1 и РК-2. Количество необходимых сдвигов и их
величина (в |
разрядах) для |
каждого формата |
приведены в табл. 3.7. |
|
|
|
Т а б л и ц а 3. 7 |
фа |
Количество |
Величина |
Сдвигаемые |
сдвигов |
сдвига |
разряды |
|
Фц |
4 |
3 |
1— 16 |
Ф ,2 |
3 |
4 |
1— 16 |
Ф\3 |
2 |
5 |
1 — 15 |
Фы |
1 |
7 |
1—14 |
|
2 |
6 |
1—20 |
Ф22 |
1 |
10 |
1—20 |
Ф3 1 |
2 |
6 |
1—20 |
|
1 |
10 |
1—20 |
|
1 |
10 |
1— 20 |
|
1 |
10 |
1—20 |
Ф35 |
1 |
10 |
1—20 |
В выбранном варианте схемы для уменьшения количества обору дования используются сдвиги на 2,3 и 5 разрядов, с помощью ко торых нужный сдвиг кода команды осуществляется за один или два такта работы сдвигового регистра. Например, сдвиг на 10 раз-
3 |
' |
5 |
Рис. 3.11.
136
рядов выполняется за два такта, в каждом |
из |
которых |
осуще |
|
ствляется сдвиг на 5 разрядов. |
|
|
|
|
Управление сдвигами осуществляется с помощью схемы, состоя |
||||
щей из трехразрядного счетчика и формирователя |
сигналов сдвига |
|||
(рис. 3.11). |
Работа схемы осуществляется |
следующим |
образом. |
|
В счетчик |
сдвига по признаку формата команды, |
поступившей на |
РК-2, сигналом Сч через вентили 1 и 2 заносится код, равный допол нению до четырех числа требуемых сдвигов. Логические выражения сигналов Счг приведены ниже:
Ся х — Ф 12 V Фи>
Сч г = Ф у з V Ф 22 V Ф г г V Ф ъ г V Ф 34 V Ф 35 V Ф .4-
Импульсный сигнал <ЗсДв через открытый вентиль 3 поступает на формирователь сигналов сдвига. Схема формирователя управляется
сигналами Л, и обеспечивает передачу сигнала QсЯВ на выход
^— *:—
в виде одного из сигналов: 2, 3, 5 — сдвиг влево на два, три и пять разрядов соответственно. Логические условия формирования сигна лов fli сведены в табл. 3.8.
Наименование
сигнала
77,
п г
П 3
л4
п 5 П,
п 7
П* n t
П10
Пи
77,2
77,3
Т а б л и ц а 3.8
Логическое выражение
Фо
Фи
Ф22 V Фз2
Ф 22 V Ф 32 V ФЗЗ
ф 22 V Фз2 V ФзЗ V Ф 34
Ф.З V Ф 22 V Ф 32 V Фаз V Фз4 V Фаз ф ,2 0 Ц
Ф 21 \ / Ф з 1
^14 V ^22 V ^32
Фаз
Ф» V Ф34
Фц V Ф 21 V ф .1
Пусть на РК-2 принята команда формата Фп, состоящая из обобщенного кода операции и трех относительных адресов. Одно временно с этим в счетчик будет записан код 010. После исполь
зования первого относительного адреса сигнал Qcдв через открытые
—
вентили 3 к 5 сформирует первый сигнал сдвига 5 и увеличит со держимое счетчика на единицу. С приходом очередного сигнала Qсдв аналогичным образом будет сформирован второй сигнал сдвига
5 и к счетчику добавится единица. Содержимое счетчика, равное 100,
137
запрещает дальнейшее формирование сигналов сдвига при Выполне нии этой команды.
Если на РК-2 окажется команда формата Фи, для которой сдвиг необходимо производить на 7 разрядов, в счетчик заносится код, равный 011. После использования первого относительного ад реса сигнал <2сдв через открытые вентили 3 а 8 сформирует сигнал
сдвига 2. Следующий сигнал QСВд через открытые вентили 3 я 4
вырабатывает сигнал 5 и добавляет единицу в счетчик. Сдвиг кода команды формата Ф]4 на этом прекращается, так как в счетчике окажется код, равный 100. Порядок работы схемы управления сдви гами для команд остальных форматов описан в табл. 3.9.
ф |
Количество |
|||
гО |
|
сдвигов |
||
|
|
|
4 - |
|
Ф п |
|
4 X 3 |
|
|
|
|
|
4— |
4— |
Ф а |
3 |
X |
(2 + |
2) |
|
|
2 X 5 |
4— |
|
Ф а |
|
|
||
|
|
4г~ |
< - |
|
Ф и |
|
2 |
|
|
|
|
|
|
|
|
|
4 - |
4г~ |
|
Ф а 1 , Ф з ! |
2 X (3 + 3) |
|||
|
|
4 - |
-4- |
|
0 3 2 ---- Ф 35 |
1 |
X (5 + |
5) |
Условия выраютки сигналов
|
сдвига |
8 = |
«сдв Л П а |
2= |
< ? с д в А я7 |
5 = |
«сдв А Яв |
2 = |
^сдв А я2Л Тг Сд |
4г- |
0 С Д в Л Я а Л Тг Сд |
5 = |
|
3 ~ |
'Зсдв А П а |
5 = |
<?едв А Л . |
Т а б л и ц а |
3.9 |
|
Исходное |
|
|
состояние |
+ 1 |
Сч |
счетчика |
|
|
0 0 0 |
3 |
|
0 0 1 |
2 Л ТгСдв. |
|
|
4 - |
|
0 1 0 |
3 |
|
|
4 - |
|
0 1 1 |
5 |
|
|
4г~ |
|
0 0 0 |
3 |
|
|
4— |
|
0 1 0 |
5 |
|
Коммутатор адресов (рис. 3.12) состоит из 16 одноразрядных диодных коммутаторных элементов (КА-1—КА-16) и узла размно жения знакового разряда относительного адреса. Управление ком мутаторными элементами осуществляется сигналами Пи логика фор мирования которых приведена в табл. 3.8.
Схема коммутаторного элемента КА-3 |
приведена на |
рис.3.13. |
Она позволяет коммутировать вход третьего |
разряда блока |
адресов |
с 3, 10, 13, 15, 16 и 17 разрядами РК-2 в зависимости от сигнала формата Фц и значения соответствующего признака Пи
Аналогичным образом строятся коммутаторные элементы для входов на 1—7-го разрядов блока адресов (рис. 3.12).
Коммутаторные элементы КА-8—КА-16 служат для простой передачи старших разрядов адреса в старшие разряды блока адресов
при выполнении команд основного формата. |
|
|
|
||
в |
Поскольку |
отрицательные относительные |
адреса |
представлены |
|
обратном коде, то при подаче очередного |
относительного |
адреса |
|||
в |
блок адресов |
во все свободные разряды |
должен |
быть |
занесен |
его знак. Эту операцию выполняет специальная схема размножения значения знакового разряда.
138
16р 16P |
Sp Sp |
7p 7p |
6 6 |
S 5 |
4> 4 3 |
'3 2 2 |
7 |
Рис. 3.12.
Коммутатор операций (рис. 3.14) включает в свой состав шесть одноразрядных коммутаторных элементов (КО-1—КО-6) и схему размножения знакового разряда относительного кода операции. Раз личия в работе коммутатора операций и коммутатора адресов сво дятся к тому, что выход каждого разряда коммутатора кодов опе рации подключается в зависимости от характера управляющего сигнала В, либо к регистру операций, либо к одной из трех схем формирования исполнительного кода операций в зависимости от признака формата команды, находящейся на РК-2. Например, для коммутаторного элемента КО-3 эти связи показаны на рис. 3.15.
Управление коммутатором операций осуществляется сигналами В\, приведенными в табл. 3.10.
16 + 4 16 + 4
с Р К - 2
Рис. 3.13.
139