Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Регистровая модель микропроцессора



Рис. 7.2 Регистровая модель микропроцессора

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 будет занесено в регистр состояния новое слово состояния процессора. Использование Т-разряда особенно эффективно в отладочных программахдля организации такого режима выполнения отлаживаемой программы, когда исполнение интересующих пользователя команд вызывает прерывание программы и переход на программу работы с оператором. Это дает возможность пользователю предпринять необходимые действия.

 

Рис.7.3 Слово состояния процессора ССП

 

Адресное пространство

Шестнадцатиразрядный код адреса позволяет обращаться к 32К 16-разрядных ячеек. Нижние 4К адресов (1600008÷1777778) отведены под регистры внешних устройств. Однако пользователь не обязан использовать все адреса этого пространства исключительно для этой цели и может руководствоваться соображениями необходимости.

Как показано на рис.7.4, слово делится на старший и младший байты. Ячейки, содержащие полные слова, всегда имеют четные адреса. Адреса байтов могут быть как четными, так и нечетными. Адрес младшего байта слова является четным и совпадет с адресом самого слова, адрес старшего байта слова является нечетным и на 1 больше адреса соответствующего слова (рис. 7.4). Адреса и данные принято записывать в 8-ричной системе исчисления (от 000000 до 177777). Организация памяти микропроцессора по словам и байтам для первых 4К адресов приведена на рис. 7.5.

 

   
Старший байт Младший байт

 

Рис.7.4 Формат слова микропроцессора

 

Слово     Байты
байт байт        
Старший Младший   Младший
Старший Младший   Старший
Старший Младший   Младший
Старший Младший   Старший
Старший Младший   Младший
           
Старший Младший   Старший
Старший Младший   Младший
Старший Младший   Старший

Рис.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

Примеры команд

Мнемоника Описание 8-ричный код команды
CLR... (CLR R0) Очистка указанной ячейки или регистра 0050DD (005000)
CLR B... Очистка байта (обнуляется старший и младший байт указанной ячейки) 1050DD
INC... Увеличение на единицу указанной ячейки 0052DD
INC B... Прибавление единицы к байту 1052DD
COM... Инвертирование (всех битов операнда) 0051DD
COM B... Инвертирование байта 1051DD
ADD... Сложение операндов. Результат - по адресу 2-го операнда 06SSDD

 

 

Как видно из табл. 7.1, команды могут оперировать как словами, так и байтами, что находит отражение в мнемонике и в крайнем левом бите кода операции.

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

 

Рис.7.6 Методы прямой адресации  
№ метода адресации Метод адресации
Регистровый
Автоинкрементный
Автодекрементный
Индексный

Прямая регистровая адресация (№0).

Правило: содержимое регистра, указанного в команде, используется как операнд. Байтовые команды всегда оперируют содержимым младшего байта регистра. При пересылке байта в регистр происходит расширение знака, при котором старший бит пересылаемого байта восемь раз копируется в старшем байте регистра-приемника.

Примеры регистровой адресации:

 

Символическое обозначение Восьмеричный код команды Наименование команды
1. INC R3 Прибавление единицы
Действие: Прибавляет единицу к содержимому третьего РОН.
 

 

2. ADD R2, R4 Сложение
Действие: Складывается содержимое R2 с содержимым R4.
До выполнения операции После выполнения операции
R2) 000002 R2) 000002
R4) 000004 R4) 000006
       

 


 

3. COM B R4 Инвертирование байта
Действие: Заменяется содержимое разрядов 07÷00 в R4 их обратным кодом. (Байтовые команды, использующие регистры общего назначения, оперируют только с младшим байтом информации, содержащейся в РОН).
До выполнения операции: После выполнения операции:
R4) 022222 R4) 022155
       

 






Читайте также:

Последнее изменение этой страницы: 2016-03-22; Просмотров: 201; Нарушение авторского права страницы


lektsia.com 2007 - 2017 год. Все права принадлежат их авторам! (0.097 с.) Главная | Обратная связь