Дж.Хиллбурн, П.Джулич Микро-ЭВМ и микропроцессоры (1979) (1092080), страница 55
Текст из файла (страница 55)
Имеются также еще три регистра: счетчик команд и два регистра временного хранения, которые используются схемами управления для выполнения команд. Кроме того, предусмотрен стек; он используется для хранения содержимого счетчика команд (во время выполнения подпрограммы или обработки прерывания), флажков состояния нли данных. Возможность прерывания по условию «стек полный— стек пустой» обеспечивает расширение стека за счет памяти ОЗУ.
АЛУ выполняет операции И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ, дополнения, сдвига, двоичного и двоично-десятнчного (четыре цифры в слове) сложения. Процессор может выполнять операции либо над 8-, либо над 16-разрядными данными путем установки флажка состояния «Байт». Это позволяет производить обработку символьно ориентированных данных с использованием 8-разрядной шины данных внешних устройств и памяти, тогда как для формирования адресов и хранения команд используется 16-разрядный код. Схемы управления осуществляют выполнение микропрограммы аналогичным для микро-ЭВМ серии 1МР образом (разд.
7.4). Длительность машинного цикла 2 мкс. Обычная машинная коман- Микропроцессоры и микро-ЭВМ 327 Таблица 7.7 Назначение разрядов регистра флажков состояния н управлення (С разрешення Хапопа! $еш1«опдисгог Согр., 05А.) Рвэрял регистра Нааваяве Еааыка Наавачеяяе да включает 4 — 8 машинных циклов. Схемы управления также управляют работой мультиплексора условий перехода, который определяет 16 условий для команды условного перехода (ВОС). Предусмотрена двусторонняя пересылка данных между регистром флажков состояния и управления и любым аккумулятором или стеком, что обеспечивает возможность проверки, маскирования и сохранения состояния. Назначение каждого разряда регистра флажков состояния и управления указано в табл.
7.7. Флажок «Байт» предназначен для выбора 8-разрядного формата данных. В режиме 8-разрядного формата данных изменение состояния триггеров флажков .переноса, переполнения и связи производится, исходя из значений 8 младших разрядов. Значения четырех флажков (11 — 14) могут устанавливаться программистом. Эти флажки обеспечивают подачу управляющих сигналов на выводы и могут использоваться для непосредственного управления выполнением функций системы или как флажки состояния программы.
В системе предусмотрено шестиуровневое прерывание по вектору (рис. 7.83). При поступлении запроса на прерывачгие фикса- О 1 2 3 4 5 б 7 8 9 1О 11 12 13 14 15 «1» 1Е! 1Е2 !ЕЗ 1Е4 1Е5 ОЧР СКУ 1.1ХК 1ЕХ ВУТЕ Р11 Р12 Р13 Р!4 «1» Не используется, всегда логическая 1 Разрешение прерывання по уровню 1 Разрешенне прерывания но уровню 2 Разрешение прерывания по уровню 3 Разрешение прерывания по уровню 4 Разрешение прерывания по уровню 5 Переполнение Перенос Связь Главное разрешение прерыванпя Восьмнразрядныа формат данных Флажок 11 Флажок 12 Флажок 13 Флажок 14 Всегда логическая 1; обеспечивает прерывание по уровню О 328 Глава 7 ' ооореюепое прерюуа по чюее уроупю .7алро прели по пул рапрое по пол ала пу „еюе урерю- уапае Рас.
7.53. Система врерыааааа макропроцессора РАСЕ. тор запроса на прерывание будет установлен в 1, если соответст. вующее прерывание разрешено. При наличии сигнала «Главное разрешение прерывания» вырабатывается сигнал прерывания. Прерывание,по каждому уровню может быть разрешено или запрещено посредством команд УСТАНОВКА ФЛАЖКА и ПЕРЕБРОС ФЛАЖКА. При обработке последовательности прерываний шифратор приоритета вырабатывает адрес, по которому осуществляется обра.
щение к указателю прерывания с наивысшим приоритетом. Под указатели отведены ячейки 2 — 7 памяти (табл. 7.8). Указатель содержит начальный адрес подпрограммы обработки прерывания по определенному уровню. Перед выполнением подпрограммы обработки прерывания содержимое счетчика команд пересылается в стек и сигнал «Главное разрешение прерывания» устанавливается в состояние ЛОЖЬ. Прерывание по нулевому уровню, имеющему наивысший приоритет, запрещено быть не может.
Во время прерывания по этому уровню содержимое счетчика команд не пересылается в стек, а запоминается в памяти. Ячейка 7 является указателем счетчика команд. Начальный адрес подпрограммы обработки прерывания по нулевому уровню находится в ячейке 8; этот уровень прерыва- Микропроцессоры и микро-ЭВМ 329 Таблица 7.8 Указатели прерываний Ячейка памяти Наааачееее Программа обработки прерывания по уровню О Указатель счетчика команд прерывания по уровню О Указатель прерывания по уровню 5 Указатель прерывания по уровню 4 Указатель прерывания по уровню 3 Указатель прерывания по уровню 2 Указатель прерывания по уровню 1 Не используется Команда сброса 6 б 4 3 2 1 о ния обычно используется для прерывания (с пульта управления) выполнения системной программы без изменения состояния системы. Пересылка данных осуществляется по 16 линиям данных РОО— Р15. Внешние устройства адресуются так же, как и ячейки ламами, поэтому любую команду с обращением к памяти можно использовать для связи с внешним устройством.
Пользователь должен выделить несколько адресов памяти для внешних устройств. СИНХРОНИЗАЦИЯ НАБОР КОМАНД Набор команд включает команды как с прямой, так и с косвенной адресацией. Имеются три способа прямой адресации: основной страницы, относительно счетчика команд и относительно ин- Синхронизация операций пересылки данных осуществляется при помощи четырех управляющих сигналов: «Строб кода адреса» (ХАРЬ), «Строб входных данных» (1РЬ), «Строб выходных данных» (ОРЬ) н «Расширение» (рис. 7.54). Шестнадцать линий данных используются для мультиплексмой передачи адресов и данных.
Строб кода адреса симметричен относительно середины сигнала кода адреса и может использоваться для загрузки последнего в регистр адреса. Сигналы «Строб входных данных» и «Строб выходных данных» предназначены для указания типа передачи данных и обеспечивают управление трех- стабильными буферами ввода-вывода и поступление данных в регистры или в память. Вход «Расширение» позволяет продлить цикл ввода-вывода на целое число периодов тактовых импульсов для сопряжения с различными запоминающими и внешними устройствами или с шиной ПДП. 330 Глава 7 'ТантИые нытгеаеы дндед адеееа дед адаееа аЮ/ддЮ дынедные данные дюВые еанные Рашоценае аетндетге на а аи ныттаеед Рис.
7.54. Временная диаграмма ввода-вывода микропроцессора РАСЕ. (С рааре- щения )Чацопа! Бещ(сопбнс(ог Согр., ОЯА.) Рис. 7.55. Формат команды с обращением к памяти (индекс — поле команды Хй). 7д 7ддд 7 д дексного регистра. Способ адресации определяется полем команды ХЯ (рис. 7.55). Когда поле Х)с есть 00, используется адресация основной страницы. Имеются два различных типа адресации основной страницы, один из которых задается входом выбора основной страницы (ВРБ).Если ВРЬ=О,в разряды 8 — 15слова адреса заносятся нули.
Это обеспечивает адресацию 256 ячеек памяти.. Если ВРЗ=1, то в разряды 8 — 15 адреса заносится значение седьмого разряда. В этом случае адресуются первые 128 (Π— 7Гм) н последние 128 (РР80 — РРГРм) слов памяти. Последний метод преднавыачен для разделения основной страницы памяти между ПЗУ и ОЗУ или внешними устройствами. Адресация относительно счетчика команд используется, когда поле ХЯ есть 01. В этом случае 8тразрядное смещение (воспринимаемое как поразрядное дополнение до двух) прибавляется к содержимому счетчика команд. Это позволяет обращаться к ячейкам' памяти, адреса которых находятся в следующем диапазоне: от 12Т менее содержимого счетчика команд до 128 более значения счетчика. При относительной адресации с использованием индексного регистра доступна любая ячейка памяти.
Восьмиразрядное поле используется так же, как и в относительной адресации с счетчиком команд. Адрес памяти образуется путем прибавления смещения к содержимому А2 (когда Х)с=10) или АЗ (когда ХА=11). При косвенной адресации адрес формируется так же, как н при прямой. Затем 16-разрядное содержимое ячейки памяти пэ этому адресу используется как адрес операнда.
Микропроцессоры и микро-ЭВМ 331 Таблица Т.Р Условия переходьв Номер и/и Мнемсннка Условие !О 11 12 13 !4 18 САВВУ Х31ОХ ОУР 3С!3 зС!4 зС!3 ') если выбранная длина слава данных составляет а разрядов, то проверяются только разряды Π— 7 ЛО. ') если вьм)ванная длина слова данных составляет а Разрядов, то седьмое разряд выполняет функции знакового разряда (ммасто пятнадцатого). Набор команд включает 45 команд, которые можно разделить на восемь групп (приложение И). Семь, команд переходов обеспечивают передачу управления .по любому 16-разрядному адресу.
Условные переходы выполняются при помощи команды ВОС, которая позволяет производить проверку 16 условий (табл. 7,9). Вспомогательный переход реализуется при использовании команд пропуска, которые позволяют производить сравнения типа память — регистр или внешнее устройство — регистр без изменения данных. Команды пересылки данных пересылают данные между памятью или внешними устройствами и аккумуляторами. В командах обработки данных памяти используются содержимое АО (основного аккумулятора) и данные памяти или внешних устройств. Эти команды включают операции,как двоичной, так и 4-значной двоично-десятичной арифметики. Группа команд с регистром данных обеспечивает операции, которые включают пересылку данных между аккумуляторами, регистром флажков и сте- О 1 2 3 4 б б 7 8.