Главная -> Книги

(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) ( 28 ) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) (56) (57) (58) (59) (60) (61) (62) (63) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73) (74) (75) (76) (77) (78) (79) (80) (81) (82) (83) (84) (85) (86) (87) (88) (89) (90) (91) (92) (93) (94) (95) (96) (97) (98) (99) (100) (101) (102) (103) (104) (105) (106) (107) (108) (109) (110) (111) (112) (113) (114) (115) (116) (117) (118) (119) (120) (121) (122) (123) (124) (28)

Во втором варианте (рис. 3-25, б) имеет место совмещение этапов выборки MKi+i и выполнение МКь В этом случае при одинаковом времени выборки и выполнения микрокоманд достигается фактическое сокращение микрокомандного цикла в два раза. Однако при выполнении микрокоманд условной передачи управления адрес следующей микрокоманды зависит от результата вьшолнения предыдущей, и в этом случае используют последовательно-параллельный способ выборки и выполнения микрокоманд (рис. 3-25, в). Здесь выборка микрокоманды условного перехода MKi-t-2 начинается только после завершения вьшолнения предыдущей микрокоманды МКж. Однако иногда с целью сокращения времени реализации микрокомандного цикла для третьего способа направление перехода выбирается вероятностно, и если оно является корректным, то потери быстродействия не будет, иначе цикл выборки повторяется.

Способы формирования адреса следующей микрокоманды. Способ адресации микрокоманд определяет правило формирования адреса следующей микрокоманды. В ЭВМ. используются два основных способа адресации: принудительная и естественная. Принудительная адресация сводится к указанию в каждой микрокоманде адреса следующей

АСМК

в) Начало

Выборка микрокоманды на РМК

Выполнение тераи.и-оннай МН, формирование адреса еле -дующей МК


Формирование адреса перехода

Конец

Рис. 3-26. Форматы микрокоманды: а - операционная МК; б - управляющая МК; е - микрокомандный цикл при естественной адресации



за нею микрокоманды, а-при естественной адресации адрес следующей микрокоманды образуется путем приращения адреса предыдущей, как это имеет место при формировании адреса следующей команды. Это позволяет за счет исключения поля адреса из операционных микрокоманд уменьшить разрядность памяти. Для выполнения условных и безусловных переходов в микропрограмме используются управляющие микрокоманды, содержащие адрес перехода и поле признаков. На рис. 3-26, а и б приведены форматы операционной и управляющей микрокоманд, а рис. 3-26, в иллюстрирует выполнение микрокомандного цикла при естественной адресации; признак а определяет тип микрокоманды: а=1 - операци-

КМО В) 1

АСМК

асмк

ДШМО

ТТТт:

МОг MOi 1 5

KMQi

КМОп

ДШМО

ДШМО

1Н2• Ift

"у Логическая схема

кмо<

• • •

KMOi

АСМК

i • i

1 . .. ;

ДШМО

ДШМО

онная микрокоманда, а=0 - управляющая.

Кодирование микрокоманд. Выбор способа кодирования микрокоманд определяется системой команд, структурой ЭВМ, требованиями к быстродействию и стоимости и представляет собой очень сложную задачу. Ниже рассматриваются основные способы кодирования микрокоманд.

Горизонтальное кодирование. Простейшим вариантом кодирования микрокоманд является горизонтальное кодирование, при котором каждый разряд поля кода микрооперации однозначно определяет управляющий сигнал для выполнения микрооперации (рис. 3-27, а). Из-за большого набора микро-Рис. 3-27. Кодирование МК:

а - горизонтальное; б - вертикальное; в - смешанное; г- косвенное



операций (от нескольких десятков до нескольких сотен) горизонтальное кодирование может потребовать большой разрядности памяти микрокоманд, что и является основным его недостатком. Достоинством горизонтального кодирования является возможность параллельной работы нескольких операционных устройств ЭВМ, что позволяет существенно повысить быстродействие и приводит к высокой степени загрузки оборудования.

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

Смешанное кодирование. Развитием способов кодирования микрокоманд с целью устранения основных недостатков, присущих горизонтальному и вертикальному способам, является горизонтально-вертикальное, или смешанное, кодирование микрокоманд (рис. 3-27, в). При данном варианте кодирования в отдельных полях кода микроопераций объединяют взаимоисключающие наборы микроопераций для обеспечения их параллельного выполнения, как это имеет место при чисто горизонтальном кодировании. Дешифраторы, декодирующие код микрооперации отдельных полей, образуют уровень схем дешифрации микроопераций, реализуемых в каждом поле в течение одного микрокомандного цикла. Данный способ кодирования находит широкое применение в микропрограммных УУ.

Косвенное кодирование. В рассмотренных выше вариантах кодирования микрокоманд каждое поле КМО формирует определенные фиксированные управляющие сигналы и интерпретируется всегда одинаковым образом. Однако в некоторых ЭВМ с целью дальнейшего сокращения разрядности микрокоманды одно и то же поле может быть использовано для формирования УС для различных блоков и его функции в этом случае определяются другим полем. Пример кодирования микрокоманд с использованием данного способа приведен в табл. 3-7.

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



(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) ( 28 ) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) (56) (57) (58) (59) (60) (61) (62) (63) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73) (74) (75) (76) (77) (78) (79) (80) (81) (82) (83) (84) (85) (86) (87) (88) (89) (90) (91) (92) (93) (94) (95) (96) (97) (98) (99) (100) (101) (102) (103) (104) (105) (106) (107) (108) (109) (110) (111) (112) (113) (114) (115) (116) (117) (118) (119) (120) (121) (122) (123) (124)