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

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

Таблица 3-7

Косвенное кодирование микрокоманды

KMOi

КМ02

Назначение полей МК

МО АЛУ

МО памяти, периферийных уст-

ройств

МО безусловных и условных

переходов

Константы для загрузки регист-

ров, счетчиков

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

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

Микрономонда

1 КМО ММК РМК

Нанономанда

Рис. 3-28. УУ с двухуровневым кодированием МК



первом уровне используется вертикальное кодирование, а на втором - горизонтальное. Выполнение микрокоманд осуществляется следующим образом. Первая микрокоманда с вертикальным кодированием извлекается из памяти микрокоманд ПМК, поле кода микрооперации КМО которой является адресом нанокоманды. Выбранная нанокоманда и определяет множество микроопераций, реализуемых в текущем микрокомандном цикле. Например, память для хранения микропрограмм объемом 4К 32-битных микрокоманд при числе нанокоманд 256 может быть реализована как совокупность памяти микрокоманд емкостью 4К 8-битных слов и памяти нанокоманд емкостью 256 32-битных слов. Это позволяет сократить емкость памяти примерно в 3 раза. Использование ПИК целесообразно в случае многократного повторения в микропрограммах микрокоманд. Одним из путей практической реализации такой двухуровневой памяти является использование программируемых логических матриц.

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

1 п

АСМК

АСМК

& & ГТ

&

MOi МОг МОп

Тактирующие

сигналы

ГТ 1

MOi MQi МОп

Тактирующие

сигнапы

Рис. 3-29. Синхронизация МК: а -одиотактиая; б - многотактная



синхронизации является простота ее технической реализации.

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

С точки зрения наращивания памяти микропрограмм известные БИС контроллеров можно подразделить на две группы: с фиксированным числом адресуемых ячеек памяти и с наращиваемой по секционному принципу разрядностью адреса. К первой группе относится, например, контроллер микропроцессорного комплекта К589, ко второй группе - контроллер комплекта 1804. Однако следует отметить, что емкость адресуемой памяти при использовании контроллера комплекта К589 также можно наращивать при использовании принципа страничной организации памяти микрокоманд.

3-9. ОСНОВНЫЕ ХАРАКТЕРИСТИКИ СИСТЕМ ПОЛУПРОВОДНИКОВОЙ ПАМЯТИ

ЗУ, используемые в ЭВМ, во многом определяют стоимость машины, поэтому к выбору памяти необходим обоснованный подход, который должен учитывать следующие факторы: структуру данных реализуемого алгоритма (биты, байты, слова фиксированной и переменной длины, векторы, массивы и др.), которая должна быть эффективно упорядочена в памяти для экономичного хранения и достижения максимального быстродействия при обработке данных с учетом их выборки из памяти; требования к временным и энергетическим характеристикам памяти, обусловленным требованиями к проектируемой ЭВМ; стоимость памяти; планируемый объем производства ЭВМ, что определяет соотношение между аппаратными и программными средствами, требования к минимизации объема памяти при программировании.



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