ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 06.12.2023
Просмотров: 469
Скачиваний: 5
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
183
Система команд БЦВМ предусматривает такие логические опе- рации, как логическое умножение (И), логическое сложение (ИЛИ) и сложение по модулю два (ИСКЛЮЧАЮЩЕЕ ИЛИ). Реализация опе- раций логического умножения и сложения осуществляется специаль- ными комбинационными схемами, выполняющими поразрядную ло- гическую обработку операндов по правилам булевой алгебры:
,
&
i
i
i
i
i
i
i
i
y
x
z
y
x
y
x
z
∨
=
=
=
Однако можно использовать и внутренние цепи комбинационного сумматора для реализации логических операций. Для реализации по- разрядного логического умножения необходимо запретить перенос из предыдущих разрядов, а результат снимать с выхода переноса сумма- тора
&
)
(
1 4
8
i
i
i
i
i
i
i
b
a
p
y
b
a
p
y
z
=
+
+
=
=
−
Операция логического сложения реализуется следующим обра- зом
b
a
b
a
y
b
a
y
y
S
∨
=
⋅
∨
⋅
=
)
(
)
(
5 2
5
, что следует из выражения для суммы в полусумматоре
b
a
b
a
S
⋅
∨
⋅
=
Реализация операции сложения по модулю два осуществляется, как правило, сумматором. При этом «закрываются» цепи переносов сумматора, что обеспечивает
,
,
,
1 0
0
−
=
=
n
i
p
i
и получение
i
i
i
i
i
i
i
y
x
y
x
y
x
z
∨
=
⊕
=
Разновидностью арифметических и логических операций яв- ляются операции сдвигов. Различают операции арифметического, логического и циклического сдвигов первого операнда влево или вправо на заданное вторым операндом число разрядов.
При арифметическом сдвиге первый операнд является целым числом со знаком. При выполнении этой операции значение знако- вого разряда сдвигаемого числа не изменяется, а значения осталь- ных разрядов перемещаются влево или вправо на заданное число разрядов. При этом значения разрядов, сдвигаемые за пределы зна- чащей части числа, теряются, а в разряды, освобождающиеся после сдвига, заносятся нули.
Обозначим арифметический сдвиг операнда х влево и вправо на у разрядов, соответственно,
A
y
x
z
p
←
=
и
→
=
A
y
x
z
p
. То- гда имеет место
184
y
p
x
A
y
x
z
2
⋅
=
←
=
,
y
p
x
A
y
x
z
−
⋅
→=
=
2
При логическом и циклическом сдвигах первый операнд явля- ется полноразрядным логическим кодом, поэтому соответствующие операции производятся над всеми разрядами операнда аналогично арифметическому сдвигу значащей части целого числа. При цикли- ческом сдвиге потери значений разрядов, сдвигаемых за пределы разрядной сетки операнда, не происходит, так как значения этих разрядов заносятся в разряды, освобождающиеся после сдвига.
Операции сдвига осуществляются сдвиговым регистром или за счет передачи данных с выхода обычного регистра на вход сумма- тора так называемым косым кодом т.е. со смещением на один разряд влево или вправо.
5.2.4 Устройство управления со схемной организацией
Устройство управления (УУ) вырабатывает необходимые управ- ляющие сигналы для выборки очередной команды из памяти, дешиф- рации кода команды, формирования адресов операндов, выборки операндов из памяти, передачи их в АЛУ, выполнения в АЛУ опера- ции, предусмотренной кодом команды, передачи полученного в АЛУ результата операции в память, инициирования работы каналов, орга- низации реакции процессора на запросы прерывания, поступающие от узлов самого процессора, других устройств ЭВМ и внешней среды.
Для реализации перечисленных функций в состав УУ обычно входят следующие узлы (блоки): узел управления операциями; узел дешифрации; узел формирования адреса; узел управления блоками памяти; узел обмена и реакции на запросы внешних устройств; узел синхронизации.
Узел управления операциями предназначен для выработки по- следовательности управляющих сигналов, обеспечивающих выпол- нение команды (микрокоманды). Распознавание конкретной команды осуществляется узлом дешифрации по соответствующему данной ко- манде коду операции.
185
Узел формирования адреса обеспечивает формирование испол- нительного адреса операндов и команд в режиме естественного вы- полнения команд и выдает исполнительные адреса команд и чисел в узел управления блоками памяти и в узел обмена.
Узел управления блоками памяти предназначен для выбора бло- ка памяти и ячейки в выбранном блоке соответственно исполнитель- ному адресу, формирования сигналов обращения к блоку при считы- вании и записи кодов и пересылки считанных кодов из памяти в раз- личные устройства ЭВМ.
Узел обмена обеспечивает обмен информацией с внешними уст- ройствами, в том числе и в случаях, когда инициаторами такого об- мена являются внешние устройства, т.е. при обмене по прерываниям.
По способу выполнения команд в ЭВМ различают синхронный и асинхронный принципы управления. В УУ, реализующем принцип синхронного управления, длительность машинного цикла выбирается постоянной, одинаковой для всех реализуемых операций и равной длительности выполнения самой продолжительной операции. В каж- дом цикле вырабатывается одинаковое число синхронизирующих сигналов. Нормирование синхронизирующих сигналов осуществляет узел синхронизации.
В настоящее время существует два варианта формирования управляющих сигналов (УС), предназначенных для выполнения опе- раций машинного языка (системы команд). В зависимости от способа формирования управляющих сигналов различают устройства управ- ления БВМ со схемным формированием УС (УУ с жесткой логикой) и УУ с программным формированием УС (микропрограммные уст- ройства управления).
Обобщенная структурная схема управляющего устройства с же- сткой логикой показана на рисунке 5.11. В состав схемы входят ре- гистр кода операции, являющийся частью регистра команд, счетчик тактов, дешифратор тактов и дешифратор кода операции, а также ло- гические схемы образования управляющих функциональных сигна- лов. На счетчик тактов поступают сигналы от блока синхросигналов, и счетчик с каждым сигналом меняет свое состояние. Состояния счетчика представляют номера тактов, изменяющиеся от 1 до n . Де- шифратор тактов формирует сигнал на j -м выходе, если код, посту- пающий на его вход, соответствует двоичному номеру j -того синхро- сигнала.
186
Разрядность входных линий дешифратора кода операции соот- ветствует числу разрядов, отводимых в формате команды под код операции. Для m - разрядного кода операции дешифратор обеспечи- вает формирование 2
m
выходных сигналов. При этом активное со- стояние выходного сигнала (логический ноль или логическая едини- ца, в зависимости от принятой логики) возможно лишь на той линии, двоичный номер которой соответствует двоичному коду операции.
Логические схемы образования управляющих функциональных сиг- налов для каждой команды возбуждают формирователи функцио- нальных сигналов, обеспечивающие выполнения требуемых в данном такте микроопераций.
Рисунок 5.11 - Структура управляющего устройства с жесткой логикой
Синтез формирователя функциональных сигналов осуществля- ется по известной методике синтеза комбинационных схем. При этом с целью повышения быстродействия выполняется оптимизация раз- рабатываемых схем по критерию минимума времени формирования
187 сигналов при минимальном составе используемого оборудования.
Для обеспечения минимального времени выполнения команды ста- раются совместить во времени основные этапы ее реализации. Обыч- но все этапы делят на две группы: этапы подготовки и этапы выпол- нения команды.
Подготовка к выполнению команды включает в себя: этап формирования адреса команды; этап выборки команды из ЗУ команд; этап формирования адреса операнда (или нескольких адресов операндов).
Этапами выполнения являются: этап формирования сигналов исполнения операции и этап формирования осведомительной инфор- мации, в том числе и об окончании выполнения команды. Устройство управления обычно формирует для каждого из этапов соответствую- щий тактовый сигнал, который жестко привязан к основной последо- вательности синхроимпульсов.
Устройство управления бортовой ЦВМ A-15A обеспечивает формирование следующих основных тактовых сигналов: выборки команды (ВК), формирования адреса операнда (ФА), выборки числа
(ВЧ), записи числа (ЗЧ) и исполнения операции (ИО).
В такте ВК осуществляется формирование исполнительного ад- реса команды, считывание её из ЗУ команд и пересылка команды на регистр команд (РгК). В зависимости от способа адресации формиро- вание адреса операнда может происходить за один такт (прямая и от- носительная адресация) либо за два такта (косвенная).
В соответствии с кодом операции осуществляется формирование тактовых сигналов ВЧ и ЗЧ при выполнении команд, предполагаю- щих обращение к ЗУ. Если обращение к ЗУ не требуется, формирует- ся такт ИО.
На рисунке 5.12 показана последовательность включения так- тов. При использовании косвенной адресации в такте ФА1 формиру- ется адрес ячейки, в которой находится исполнительный адрес опе- ранда. Извлечение исполнительного адреса осуществляется по специ- альному тактовому сигналу - выборка адреса (ВА).
188
Рисунок 5.12 - Последовательность включения тактов
По окончанию такта ВА исполнительный адрес передается в узел приема информации, а именно в регистр памяти (РгП). Дальней- шая его передача в регистр адреса числа (РгАЧ) осуществляется в такте ФА2. Формирование тактовых сигналов осуществляется соот- ветствующими одноразрядными регистрами.
Основная последовательность синхронизирующих импульсов, представляющих один машинный такт, состоит из двенадцати им- пульсов (1СИ, 2СИ,...,12СИ). В БЦВМ А-15А выборка и исполнение операции происходит за два машинных такта, но исполнение N- ой операции (команды) совмещается с выборкой следующей (N +1), и поэтому короткие операции выполняются практически за время од- ного машинного такта. Такой режим работы называется режимом со- вмещенного такта. Несовмещенный такт (НСТ) формируется при об- ращении за числом и следующей командой к одному блоку памяти, операция в этом случае выполняется за два машинных такта. При косвенной адресации время выполнения операции также увеличива- ется на такт выборки адреса.
Сложность устройства управления определяется структурой по- следовательностей управляющих сигналов
{
}
1 2
0
,
,...,
n
n
Y
Y
Y
Y
−
−
=
. Чем сложнее эти последовательности, тем сложнее УУ с жесткой логикой.
Кроме того, заложенная при проектировании структура схемного УУ изменению не подлежит, что не допускает никаких изменений в сис- теме команд машины. Достоинство схемной организации управления состоит в том, что для известных алгоритмов управления можно по-
189 строить оптимальные в отношении быстродействия и объема обору- дования УУ.
5.2.5 Микропрограммная организация управления
В этом случае каждой микрооперации или набору совместимых микроопераций ставится в соответствие микрокоманда, то есть код, содержащий полную информацию о векторе управляющих сигналов.
А для каждой команды разрабатывается микропрограмма, состоящая из последовательности микрокоманд. Для всех блоков вычислитель- ной машины формируется множество элементарных микроопераций, выполняемых в данном блоке. Все микрооперации кодируются, и в состав блоков вводятся дешифраторы микрокоманд, обеспечивающие опознавание каждой микрокоманды по её коду и формирование соот- ветствующих ей управляющих сигналов. Так как большинство блоков
ЭВМ могут работать параллельно, то на эти блоки управляющие мик- рокоманды подаются одновременно. Это обеспечивает большие, по сравнению со схемой жесткой логики, возможности по совмещению этапов выполнения команды.
Порядок выполнения программ при микропрограммном прин- ципе управления вычислительным процессом рассмотрим по упро- щенной структурной схеме БЦВМ Ц-100 (рисунок 5.13).
В состав центрального процессора (ЦП) БЦВМ Ц-100 входят: блок арифметический логический (БАЛ); блок арифметический умножения-деления (БАУД); блок управления программой (БУП); блок управления микропрограммой (БУМ); блок управления данными (БУД); блок оперативной памяти (БЗО); блок коммутатора данных (БКД).
Обмен информацией между блоками осуществляется по четы- рем основным магистралям: магистрали команд и констант (LE), ма- гистрали микрокоманд (LF), магистрали адресов (LA) и магистрали данных (LD).
Блоки БАЛ и БАУД вместе составляют арифметико-логическое устройство и используются для выполнения арифметических и логи- ческих операций над битами, байтами, словами одинарной и двойной длины.
190
В блоке управления программой производится формирование адресов, хранение и выдача в магистраль LE элементов программ и констант. Выдача может производиться как пословно, так и побайтно.
Блок управления микропрограммой предназначен для выдачи в
ЦП кода микрокоманды, а также формирования адреса следующей микрокоманды.
Блок управления данными предназначен для формирования ад- ресов данных, обрабатываемых процессором. Система микрокоманд блока позволяет производить также некоторые арифметические дей- ствия над данными.
Блок оперативной памяти представляет собой запоминающее устройство с произвольной выборкой емкостью 4К 16-разрядных слов. Блок допускает как пословную, так и побайтную запись и чте- ние информации.
Рисунок 5.13 - Структурная схема центрального процессора
БЦВМ Ц-100
191
Блок коммутатора данных выполняет операции по запоминанию и восстановлению содержимого магистралей LA , LD , LE, а также позволяет производить коммутацию байтов информации, передавае- мых по магистрали LD .
Адрес первой команды (пусковой адрес) программы формирует- ся в БУП аппаратурно или может быть записан с пульта контроля. По этому адресу из ПЗУ программ извлекается команда и выдается в ма- гистраль LE. Блок управления микрокомандами считывает код ко- манды из магистрали LЕ и формирует по нему первый адрес подпро- граммы (микропрограммы), обеспечивающей реализацию данной ко- манды. По адресу первой микрокоманды из ПЗУ микрокоманд счи- тывается микрокоманда и выдается в магистраль микрокоманд.
В общем случае формат микрокоманды любого блока имеет вид, при- веденный на рисунке 5.14.
КСБ
КОп
ДКОп
А
НО
36 разрядов
Рисунок 5.14 - Обобщенный формат микрокоманд
На рисунке 5.14 приняты следующие обозначения: КСБ - поле кода структуры блока, т.е. группа разрядов, каждый из которых отне- сен к определенному блоку. Если разряд КСБ для данного блока ра- вен единице, то данная микрокоманда выполняется блоком; КОп - поле кода операции; ДКОп - поле расширения кода операции; А - ад- рес регистра местной памяти или блока ОЗУ; НО - поле непосредст- венного операнда.
В зависимости от кода операции и типа блока некоторые поля микрокоманды блока могут отсутствовать. В этом случае для записи одной микрокоманды нужно меньше 36 разрядов. Возможность раз- мещения в объеме 36 разрядов микрокоманд нескольких блоков и стремление совместить по времени работу как можно большего коли- чества блоков привело к тому, что в формате микрокоманды процес- сора поля КСБ микрокоманд блоков объединяются в поле кода струк- туры процессора (КСП).
На рисунке 5.15 приведен формат микрокоманды процессора, где показано размещение поля КСП и поля управления.
192
КСП
У
КСП
1 7 8 31 32 34
Рисунок 5.15 - Формат микрокоманды процессора
Распределение разрядов КСП за блоками процессора показано на рисунке 5.16.
0 р
1 р
2 р
3 р
4 р
5 р
6 р
7 р
8…31 32р 33р 34р
БУМ БАЛ
БУД БУП БЗО-1 БАУД БКД
БУВВ
У
БО-5 ПУ БКП
Рисунок 5.16 Распределение разрядов поля КСП
Кроме блоков, назначение которых уже было оговорено, на ри- сунке обозначены: БУВВ - блок управления вводом-выводом инфор- мации; БО-5 - блок обмена параллельными кодами; ПУ - пульт управ- ления и контроля ЭВМ.
Дешифраторы микрокоманд всех блоков анализируют состояние разрядов поля КСП и, при наличии единицы в соответствующем раз- ряде, воспринимают значение поля управления. В поле управления приводятся значения разрядов нескольких (до пяти) микрокоманд.
Распределение разрядов в данном случае определяется кодом КСП.
Дешифраторы микрокоманд, задействованных для выполнения дан- ной микрокоманды, блоков по коду КСП выделяют соответствующие разряды кода операции и формируют необходимый набор управляю- щих сигналов. Все выполняемые микрооперации одной микрокоман- ды заканчиваются за один машинный такт. По окончании времени машинного такта блок управления микрокомандами увеличивает на единицу адрес микрокоманды. В соответствии с полученным новым адресом из ЗУ микрокоманд извлекается следующая микрокоманда и выдается на шину микрокоманд. Процесс выполнения микрокоманд
i -ой команды продолжается до тех пор, пока не будет достигнуто окончание микропрограммы. Последняя микрокоманда обеспечивает увеличение адреса команды в блоке управления программами, и про- исходит извлечение новой команды на реализацию.
Системы микропрограммного управления можно классифициро- вать по ряду признаков.
По типу памяти микропрограмм. В зависимости от типа памяти различают статическое и динамическое микропрограммирование. В первом случае в качестве памяти микрокоманд (ПМК) применяется постоянная память, во втором - оперативная.