Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
my_pz_evm.doc
Скачиваний:
3
Добавлен:
16.09.2019
Размер:
710.14 Кб
Скачать

4 Разработка структуры микропроцессора

4.1 Система команд гипотетического микропроцессора

Система команд гипотетического микропроцессора включает семь команд: арифметические – ADDC, MUL(A); логические – RL; пересылки – MOV, XCH; перехода – LJMP, JMP.

Команда ADDC

Эта команда работает с двумя операндами и выполняет их арифметическое сложение, а так же сложение полученного результата с флагом переноса. Первый операнд, используемый в операции, хранится в аккумуляторе (АСС). Адрес второго операнда хранится в нулевом либо первом регистре общего назначения. Результат помещается в аккумулятор.

Формат команды: ADDC.

Код операции: 036h.

Команда MUL (А)

Эта команда работает с двумя операндами и выполняет их умножение по алгоритму А. Первый операнд храниться в аккумуляторе, второй операнд – в регистре B. Старший байт результата помещается в регистр В, младший – в аккумулятор.

Формат команды: MUL.

Код операции: 0A4h.

Команда RL

Эта команда работает с одним операндом и выполняет его циклический сдвиг влево. Операнд храниться в аккумуляторе. Результат записывается в аккумулятор.

Формат команды: RL.

Код операции: 023h.

Команда MOV

Эта команда работает с двумя операндами и выполняет пересылку второго операнда в первый. Первый операнд храниться в одном из регистров общего назначения. Адрес второго операнда указан в команде в качестве второго параметра.

Формат команды: MOV.

Код операции: 0А8h.

Команда XCH

Эта команда работает с двумя операндами и обменивает их местами. Первый операнд содержится в аккумуляторе, а адрес второго операнда указывается в команде в качестве второго аргумента.

Формат команды: XCH

Код операции: 0C5h.

Команда LJMP

Эта команда работает с одним операндом, и выполняет длинный переход в полном объеме памяти программ по адресу, указанному в качестве операнда.

Формат команды: LJMP.

Код операции: 02h.

Команда JMP

Эта команда работает с двумя операндами, и выполняет косвенный относительный переход. Результирующий адрес перехода вычисляется как сумма двух операндов. Первый операнд задан в аккумуляторе, а второй – в регистре управления данными (DPTR).

Формат команды: JMP.

Код операции: 073h.

4.2 Структура гипотетического микропроцессора

В связи с тем, что система команд гипотетического микропроцессора составляет 7 команд, его структурная схема значительно проще, чем структурная схема микропроцессора-прототипа. Многие элементы микропроцессора-прототипа не используются, в следствие чего они исключаются из исходной схемы. Получившаяся в результате упрощений структурная схема приведена на рисунке 4.1.

Рисунок 4.1 – Структурная схема гипотетического микропроцессора.

Разработанный процессор-прототип содержит следующие структурные элементы.

РПП – резидентная память программ предназначена для хранения команд, констант, управляющих слов инициализации, таблиц перекодировки входных и выходных сменных и т.п. РПП имеет 16-битную шину адреса, через которую обеспечивается доступ из счетчика команд или из регистра-указателя данных. Имеет емкость 4 килобайта.

РПД – резидентная память данных предназначена для хранения переменных в процессе выполнения прикладной программы, адресуется одним байтом и имеет емкость 128 байт.

АЛУ – арифметико-логическое устройство может выполнять арифметические операции сложения, деления и логическую операцию обмена местами тетрад в аккумуляторе;

Устройство синхронизации и управления – формирует сигналы синхронизации.

ССП – слово состояния программы –содержит ряд признаков операции (флагов), которые формируются при выполнении некоторых команд в АЛУ.

СК – счетчик команд, содержит адрес текущей команды.

РА – регистр адреса. Хранит адрес в РПД, по которому будет производиться операция чтения/записи

РУД – регистр указатель данных. Используется в операциях, связанных с чтением/записью во внешнюю память.

РК – регистр команд. Хранит код текущей операции и адреса операндов.

Порты (0 – 3) – порты ввода/вывода информации. Используются для доступа к внешней памяти данных (ВПД).

А – аккумулятор. Используется при арифметических операциях. Хранит первый операнд. Является местом фиксации результата выполнения арифметических и ряда логических операций.

23

4.3 Организация оперативного запоминающего устройства

Одним из наиболее важных элементов, разрабатываемого микропроцессора, является, оперативное запоминающее устройство или резидентная память данных (РПД), предназначенное для временного хранения значений данных, используемых в операциях. Схема организации РПД представлена на рисунке 4.2.

Рисунок 4.2 – Схема организации резидентной памяти данных

Оперативное запоминающее устройство в разработанном процессоре имеет размер 128 байт.

Специальный регистр адреса (РА) позволяет адресовать любую ячейку в РПД и содержит адрес ячейки данных, которая будет прочитана или перезаписана.

Прочитанные данные, либо данные подлежащие записи помещаются в специальный регистр данных.

Установка ВПД в режим чтения или записи осуществляется путем посылки соответствующего сигнала записи или чтения.

4.4 Организация резидентной памяти программ.

Резидентная память программ (РПП) имеет емкость 4 килобайта и предназначена для хранения кодов команд, адресов операций, констант и т.д. РПП имеет 8-битную шину адреса, через которую обеспечивается доступ из счетчика команд (СК) или из регистра-указателя данных. Регистр-указатель данных выполняет функции базового регистра при косвенных переходах по программе или используется в операциях работы с внешней памятью данных и внешней памятью программ.

Схема организации РПП представлена на рисунке 4.3.

Рисунок 4.3 – Схема организации резидентной памяти программ

В отличие от оперативного запоминающего устройства (РПД) резидентная память программ не подлежит перезаписыванию. Для нее возможно выполнение лишь операции, связанной с чтением данных. Адрес данных в РПП, подлежащих прочтению хранится в счетчике команд (СК).

4.5 Структура регистра команд

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

Схема организации регистра команд, представлена на рисунке 4.4.

Рисунок 4.4 – Схема организации регистра команд

Регистр команд имеет размер три байта и состоит из следующих структурных частей:

  1. КОП – восьмибитный регистр, хранящий код текущей операции;

  2. Оп1 – восьмибитный регистр, адрес первого операнда;

  3. Оп2 – восьмибитный регистр, адрес второго операнда.

4.6 Разработка микропрограмм выполнения команд

Разрабатываемый микропроцессор выполняет набор из семи следующих команд:

  1. ADDC – сложение аккумулятора с регистром из РПД;

  2. MUL – умножение аккумулятора на регистр В;

  3. RL – циклический сдвиг аккумулятора влево;

  4. MOV – пересылка в регистр прямоадресуемого байта;

  5. XCH – обмен аккумулятора с прямоадресуемым байтом;

  6. LJMP – длинный переход в полном объеме памяти программ;

  7. JMP – косвенный относительный переход.

Микропрограмма выполнения команды ADDC представлена на рисунке 4.5.

Рисунок 4.5 – Микропрограмма выполнения команды ADDC

Микропрограмма выполнения команды MUL представлена на рисунке 4.6.

Рисунок 4.6 – Микропрограмма выполнения команды MUL

Микропрограмма выполнения команды RL представлена на рисунке 4.7.

Рисунок 4.7 – Микропрограмма выполнения команды RL

Микропрограмма выполнения команды MOV представлена на рисунке 4.8.

Рисунок 4.8 – Микропрограмма выполнения команды MOV

Микропрограмма выполнения команды XCH представлена на рисунке 4.9.

Рисунок 4.9 – Микропрограмма выполнения команды XCH

Микропрограмма выполнения команды LJMP приведена на рисунке 4.10.

27

Рисунок 4.10 – Микропрограмма выполнения команды LJMP

Микропрограмма выполнения команды JMP приведена на рисунке 4.11.

Рисунок 4.11 – Микропрограмма выполнения команды JMP

Общая микропрограмма выполнения заданных команд приведена на рисунке 4.12.

Рисунок 4.12 – Микропрограмма выполнения команд

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]