Структурная организация Intel 8051

Архитектура ОМК предполагает логическое и структурное разделение памяти команд и памяти данных. Такое разделение является признаком гарвардской архитектуры. Основным преимуществом гарвардской архитектуры являются раздельные магистрали для обращения к памяти программ и памяти данных, что приводит к повышению быстродействия. Однако в 8051 раздельными являются только внутренние шины адреса команд и данных, а данные и команды передаются по общей шине.

Применение гарвардского принципа в 8051 позволяет иметь различную организацию памяти команд и данных, более эффективно использовать форматы команд, которые различаются при обращении к командам и данным используемыми способами адресации. Последнее обстоятельство приводит к сокращению размера памяти, необходимого для хранения программ.

При работе с внешними устройствами (памятью, периферийными БИС) обращение к памяти программ и данных выполняется по общей магистрали. Однако в процессе обращения к внешним устройствам формируются различные сигналы для управления памятью программ и данных, что упрощает их аппаратную реализацию и увеличивает объем суммарного адресного пространства.

Основу структурной схемы ОМК (рисунок 1) образует внутренняя двунаправленная 8-битная шина данных, которая связывает между собой все основные узлы и устройства: резидентную память, центральный процессор, состоящий из АЛУ, аккумулятора АСС, регистра-расширителя аккумулятора В, слова состояния процессора PSW и устройства управления, порты ввода/вывода.


1.1. Арифметико‑логическое устройство

Восьмиразрядное АЛУ может выполнять арифметические операции сложения, вычитания, умножения и деления; логические операции И, ИЛИ, исключающее ИЛИ, операции над битовыми данными, а также операции циклического сдвига, сброса, инвертирования и т.п. В состав АЛУ входят программно недоступные регистры T1 и T2, предназначенные для временного хранения операндов, схема десятичной коррекции и схема формирования признаков.

Наряду с байтовыми операциями АЛУ может обрабатывать битовые переменные. Отдельные программно-доступные биты могут быть установлены, сброшены, инвертированы, переданы, проверены и использованы в логических операциях.

Аккумулятор АСС служит источником и/или приемником операндов при выполнении арифметических и логических операций.

Регистр-расширитель В используется в операциях умножения и деления.

Регистр PSW содержит признаки результатов выполнения операций и биты (флаги), необходимые для управления ресурсами ОМК, SP-указатель стека.

Резидентная память

Память программ и память данных, размещенные на кристалле ОМК физически и логически разделены, имеют различные механизмы адресации, работают под управлением различных сигналов и выполняют разные функции (рисунок 2).

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

Внутренняя (резидентная) память данных (ОЗУ) предназначена для хранения переменных в процессе выполнения прикладной программы и имеет организацию 128x8.

К адресному пространству РПД примыкают адреса регистров специальных функций (РСФ), которые перечислены в табл. 1.

Блок регистров специальных функций

Таблица 1

Символ Наименование Адрес
*ACC Аккумулятор 0E0H
* B Регистр-расширитель аккумулятора 0F0H
* PSW Слово состояния программы 0D0H
SP Регистр-указатель стека 81H
DPTR Регистр-указатель данных (DPH) (DPL) 83H
82H
* P0 Порт 0 80H
* P1 Порт 1 90H
* P2 Порт 2 0A0H
* P3 Порт 3 0B0H
* IP Регистр приоритетов 0B8H
* IE Регистр маски прерываний 0A8H
TMOD Регистр режима таймера/счетчика 89H
* TCON Регистр управления/статус таймера 88H
TH0 Таймер 0 (старший байт) 8CH
TL0 Таймер 0 (младший байт) 8AH
TH1 Таймер 1 (старший байт) 8DH
TL1 Таймер 1 (младший байт) 8BH
* SCON Регистр управления приемопередатчиком 98H
SBUF Буфер приемопередатчика 99H
PCON Регистр управления мощностью 87H
Примечание. Регистры, имена которых отмечены знаком (*), допускают адресацию отдельных бит.

Наряду с байтовым адресным пространством внутренняя память данных содержит битовое пространство, которое начинается в битовой зоне (адреса 20h-2Fh), а продолжается в зоне регистров специальных функций (адреса 80h-FFh). Обращение к нему возможно только с использованием битовых команд. Нулевому биту ячейки 20h (20.0) соответствует адрес 0 битового пространства, а старшему биту регистра специальных функций FFh- адрес 255 (FFh).

 
 


В режиме микроконтроллера используется только резидентная память программ и данных. Память программ располагается по адресам 0000h..0FFFh, а данных – с 00h по 07Fh. Регистры специальных функций имеют объединенное с внутренним ОЗУ адресное пространство и расположены по адресам 80h..0FFh. Особенности использования регистров специальных функций рассмотрены в разделе 4.

ВНЕШНЯЯ ПАМЯТЬ

Память программ и память данных, может быть расширена до 64 Кбайт путем подключения внешних БИС. Варианты организации памяти в МК системе поясняет рисунок 2. Связь ОМК с внешней памятью обеспечивают параллельные порты Р0, Р2, Р3, работающие в системном режиме. Особенности этого режима будут рассмотрены далее.

Память программ должна располагаться в диапазоне адресов 1000h-0FFFFh, т.е. дополнять внутреннее ПЗУ ОМК до 64 Кбайт (0FFFFh). Реализация этого режима требует, чтобы на входе ЕА был установлен уровень логической единицы.

Возможен режим отключения резидентной памяти программ (сигнал на линии EA равен 0). В этом случае внешняя память программ имеет объем 64КБ, начиная с нулевого адреса. Использование этого режима целесообразно при отладке программного обеспечения.

Пространство внешней памяти данных не зависит от размеров резидентного ОЗУ и может занимать диапазон адресов с 0000 по 0FFFFh.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: