Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Регистровая модель микропроцессора
DPU - устройство обработки информации R0 - R7 - регистры общего назначения R6 - указатель стека (SP) R7 - счетчик команд (PC) RS - регистр состояния, включающий 6 триггеров В числе РОН нет регистра типа “ аккумулятор “, но определенная специализация в использовании РОН есть, а именно R6 всегда используется как указатель стека, а R7 - как счетчик команд. ССП (слово состояния процессора) - содержит 6 бит, включая 4 флага. Слово состояния процессора содержит информацию о текущем состоянии процессора. Это информация о текущем приоритете процессора, значении кодов условий ветвления, зависящем от результата выполнения команды, и состоянии Т-разряда, используемого при отладке программы и вызывающего прерывание программы. На рис.7.3 показан формат ССП. Разряд приоритета процессора (7-разряд ССП) может находиться в состоянии " 0" или " 1". В последнем случае внешние устройства не могут вызывать прерывание текущей программы. Для удовлетворения требований прерывания программы разряд 7 ССП должен быть равен 0. Коды условий ветвления содержат информацию о результате последней выполненной процессором команды. Процедуру установки их в соответствующее состояние выполняют все арифметические и логические одноадресные и двухадресные команды. Установка отдельных разрядов этих кодов выполняется в следующих случаях: Z=1, если результат равен 0; N=1, если результат отрицателен; С=1, если в результате выполнения команды произошел перенос из самого старшего разряда, или, если при сдвиге вправо или влево из самого младшего или самого старшего разряда была выдвинута единица; V=1, если в результате выполнения команды произошло арифметическое переполнение. При выборке из стека нового слова состояния процессора и занесении его в регистр состояния процессора (РСП) может устанавливаться или очищаться Т-разряд ССП. Если он установлен, то по завершении выполнения текущей команды будет вызвано прерывание программы с вектором 14 и из ячейки 16 будет занесено в регистр состояния новое слово состояния процессора. Использование Т-разряда особенно эффективно в отладочных программахдля организации такого режима выполнения отлаживаемой программы, когда исполнение интересующих пользователя команд вызывает прерывание программы и переход на программу работы с оператором. Это дает возможность пользователю предпринять необходимые действия.
Адресное пространство Шестнадцатиразрядный код адреса позволяет обращаться к 32К 16-разрядных ячеек. Нижние 4К адресов (1600008÷ 1777778) отведены под регистры внешних устройств. Однако пользователь не обязан использовать все адреса этого пространства исключительно для этой цели и может руководствоваться соображениями необходимости. Как показано на рис.7.4, слово делится на старший и младший байты. Ячейки, содержащие полные слова, всегда имеют четные адреса. Адреса байтов могут быть как четными, так и нечетными. Адрес младшего байта слова является четным и совпадет с адресом самого слова, адрес старшего байта слова является нечетным и на 1 больше адреса соответствующего слова (рис. 7.4). Адреса и данные принято записывать в 8-ричной системе исчисления (от 000000 до 177777). Организация памяти микропроцессора по словам и байтам для первых 4К адресов приведена на рис. 7.5.
Рис.7.5 Организация памяти микропроцессора по словам и байтам для первых 4К адресов
Часть адресов зарезервирована для использования при обработке внутренних и внешних прерываний программы (адреса 0÷ 3768) Пример:
Формат команд В микропроцессоре используются три типа команд: безадресные, одноадресные и двухадресные. В безадресных командах код команды содержит только код операции. В кодах одноадресных и двухадресных команд обычно содержится информация, которая определяет: - выполняемую функцию (код операции); - регистры общего назначения, используемые при выборке операндов; - метод адресации (способ использования выбранного РОН). Так как большая часть информации, обрабатываемой вычислительной машиной, представляет собой данные, сформированные в массивы, списки, строки символов и т.д., микропроцессор разработан с учетом возможности эффективной обработки сформированных структур данных. Регистры общего назначения могут быть использованы: - как накопители (обрабатываемые данные хранятся в регистрах); - как указатели адреса (регистр общего назначения содержит адрес операнда, а не сам операнд); - как указатели адреса, содержимое которых изменяется автоматически с заданным шагом, что позволяет обращаться к последовательно расположенным ячейкам памяти. Автоматическое увеличение содержимого указателя при обращении к последовательно расположенным ячейкам памяти носит название автоинкрементной адресации. Автоматическое уменьшение содержимого указателя при обращении к последовательно расположенным ячейкам памяти носит название автодекрементной адресации. Эти методы могут быть использованы при обработке табулированных данных; - как индексные регистры, содержимое которых прибавляется к индексному слову для вычисления адреса операнда. Это позволяет легко обращаться к различным элементам списка. Использование автоинкрементного и автодекрементного методов адресации дает возможность организации стековой памяти. В качестве указателя стека программно может быть выбран любой РОН, однако определенные команды (используемые при обслуживании прерываний, обращении и возврате из подпрограмм) автоматически используют РОН R6 как аппаратный указатель стека.
Формат одноадресных команд (таких как очистка, инкрементирование) имеет следующий вид:
Рис. 7.6 Формат одноадресных команд
Разряды 15÷ 06 содержат код операции, который определяет выполняемую команду. Разряды 05÷ 00 образуют шестиразрядное поле, именуемое полем адресации операнда приемника, которое в свою очередь состоит из двух подполей: а) разряды 02÷ 00 определяют один из восьми РОН, который использует данная команда; б) разряды 05÷ 03 определяют способ использования выбранного регистра (метод адресации). Причем разряд 03 определяет прямую или косвенную адресации.
Операции над двумя операндами (такие, как сложение, пересылка, сравнение) выполняются с помощью команд, в которых имеются два адреса. Задание разрядов в поле адресации первого и второго операндов определяет различные методы и различные регистры общего назначения. Формат двухадресной команды имеет следующий вид:
Рис. 7.7 Формат двухадресной команды
Поле адресации операнда источника используется для выборки операнда источника. Поле адресации операнда приемника используется для выборки операнда приемника и занесения результата. Например, по команде АDD А, В складывается содержимое ячейки А (операнд источника) с содержимым ячейки В (операнд приемника). После выполнения операции сложения в ячейке В будет находится результат операции, а содержимое ячейки А не изменится. Команда может занимать от одного до трех слов, причем первое слово команды, содержащее код операции, называется командным словом.
Методы адресации В микропроцессоре 1801 ВМ1 используется 4 метода прямой адресации, номера которых четные, и 4 метода косвенной адресации с нечетными номерами. Дополнительно, в качестве регистра общего назначения можно использовать регистр R7, но эффективно он работает лишь с 4-мя методами. Здесь каждый метод имеет особое название и собственную мнемонику. Рассмотрим небольшой набор команд, необходимый для пояснения работы методов адресации. Здесь S - источник; D – приемник. Таблица 7.1 Примеры команд
Как видно из табл. 7.1, команды могут оперировать как словами, так и байтами, что находит отражение в мнемонике и в крайнем левом бите кода операции. На рис.7.6 показаны последовательности операций выполнения команды с каждым из четырех методов прямой адресации. При регистровом методе адресации любой из восьми регистров общего назначения может быть использован как накопитель. Следовательно, операнд будет находиться в выбранном регистре. Так как РОНы аппаратно реализованы в БИС МП, они обладают более высоким быстродействием, чем любая память, работающая под управлением процессора. Это преимущество особенно проявляется при операциях с переменными, к которым необходимо обращаться.
Прямая регистровая адресация (№0). Правило: содержимое регистра, указанного в команде, используется как операнд. Байтовые команды всегда оперируют содержимым младшего байта регистра. При пересылке байта в регистр происходит расширение знака, при котором старший бит пересылаемого байта восемь раз копируется в старшем байте регистра-приемника. Примеры регистровой адресации:
Популярное:
|
Последнее изменение этой страницы: 2016-03-22; Просмотров: 1711; Нарушение авторского права страницы