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

(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) (17)

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

HLDA - выходной сигнал подтверждения состояния захвата МП;

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

WAIT - выходной сигнал ожидания, подтверждающий, что МП находится в состоянии ожидания Tw;

RESET - входной сигнал сброса, обеспечивает установку в состояние О регистра команд, программного счетчика, триггеров разрешения прерывания и подтверждения захвата; при этом состояние остальных регистров не изменяется;

SYNC - выходной сигнал синхронизации, определяет начало машинного цикла;

0ь 02 - тактовые сигналы.

МП КР580 содержит шесть 8-битных РОН, которые обозначаются В, С, D, Е, Н, L и могут объединяться в 16-битные пары В и С; D и Е; Н и L. Регистры W, Z являются программно-недоступными и выполняют вспомогательные функции, например используются для временного хранения адресов. Содержимое программного счетчика (ПС) автоматически увеличивается на 1 при выборке каждого байта команды, при этом первый байт, определяющий код операции, всегда передается в регистр команд (РК). Указатель стека (УС) хранит адрес последней занятой ячейки в стековой памяти. Содержимое УС уменьшается перед записью кода в стек и увеличивается после чтения.

Обмен данными внутри МП осуществляется по внутренней 8-битной шине данных через двунаправленный мультиплексор (МПЛ). На регистр адреса (РА) коды передаются из регистровых пар, УС и ПС при обращении к памяти и периферийным устройствам. Схема приращения (СхП) обеспечивает добавление 1 к содержимому регистров или вычитание 1 из него. АЛУ используется для выполнения всех арифметических и логических операций,



сдвигов и т. п. Арифметические операции выполняются в дополнительных кодах. Аккумулятор А является источником одного из операндов при выполнении бинарных операций, и приемником результата. Буферные регистры БР1 и БР2 выполняют вспомогательные функции.

АЛУ после выполнения команды формирует признаки результатов, которые фиксируются в 5-битном регистре признаков РПР. АЛУ формирует следующие признаки: нулевого результата Z, знака S, переноса С из старшего бита, переноса АС из третьего бита аккумулятора, четности Р. Признаки АС и С при выполнении операций над числами в десятичной системе счисления используются для коррекции результата.

Первый байт команды, выбранный из программной памяти, передается по внутренней шине данных на РК. Выход РК связан с дешифратором команд ДШК, который определяет тип выполняемой операции. Реализация любой команды складывается из машинных циклов, число которых может быть от одного (для самой короткой команды) до пяти (для самой длинной). Для передачи одного байта между МП и памятью или периферийным устройством требуется три состояния машинного цикла, а максимальное число состояний машинного цикла - пять. Время одного состояния определяется периодом следования тактирующих сигналов. Внутреннее преобразование данных в МП выполняется в состояниях Т4, Tg. Начало каждого машинного цикла идентифицируется синхросигналом SYNC. Минимальная длительность одного состояния Т равняется 0,5 мкс для /тах = 2 МГц, но имеется три состояния, продолжительность которых может быть значительно больше: это состояние ожидания, захвата и ожидания при останове.

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



INTA (Do) - признак подтверждения прерывания, используется для разрешения передачи команды ; вызова подпрограммы обработки запроса прерывания;

W0 (Di) - признак записи-вывода, указывает, что в текущем машинном цикле будет выполняться запись в память или вывод кода в порт вывода (при W0 = 0);

STACK(D2) - признак указывает, что на шину адреса передается адрес из указателя стека, используемый для адресации области стековой памяти;

HLTA (D3) - признак подтверждает выполнение команды останова HLT;

0UT(D4) - признак вывода, указывает, что шина адреса содержит адрес порта вывода, а шина данных будет содержать данные при сигнале WR = 0;

M1(D5) - признак указывает, что МП находится в цикле выборки первого байта команды;

1NP(D6) - признак ввода, указывает, что шина адреса содержит адрес порта ввода и входные данные передаются по шине данных при сигнале DBIN = 1;

MEMR(D7) -- признак указывает, что шина данных будет использована для приема данных из памяти.

Диаграмма переходов при выполнении машинного цикла Е МП КР580 представлена на рис. 3-П, на котором используются следующие обозначения Tw- состояние ожидания МП; Twh- состояние ожидания МП при выполнении команды останова HLT; Ti - состояние МП, i = 1-5.

Каждый машинный цикл содержит 3, 4 или 5 состояний в зависимости от типа выполняемой команды. Первое состояние Ti идентифицируется синхросигналом SYNC, который используется для загрузки слова состояния в регистр. Кроме того, в Ti на шину адреса передается адрес устройства, к которому будет обращение.

В состоянии Тг МП анализирует признак подтверждения останова HLTA и сигнал готовности READY и соответственно переходит в состояние Twh или Tw. Если имел место сигнал захвата HOLD, то внутренний триггер захвата устанавливается в состояние \.

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

Состояния Т4 и Ts являются необязательными, так как используются для внутренних преобразований в МП. Та-



(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)