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

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

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

Память данных (ОЗУ) предназначена для хранения переменных в процессе выполнения прикладной программы, адресуется одним байтом и имеет емкость 128 байт. Кроме того, к адресному пространству РПД примыкают адреса регистров специальных функций (РСФ), которые перечислены в табл. 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

Примечание. Регистры, имена которых отмечены знаком (*), допускают адресацию отдельных бит.

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

Тогда внешняя память в системе отсутствует, память программ располагается по адресам 0000h...0FFFh, память данных с 00h по 07Fh. Регистры специальных функций имеют объединенное с внутренним ОЗУ адресное пространство. Они расположены по адресам 80h...0FFh. Даже если ОМК работает в однокристальном режиме к нему может быть подключена внешняя память программ. Она должна располагаться в диапазоне адресов 1000h-0FFFFh, т. е. дополнять внутреннее ПЗУ МК. Если ОМК работает в расширенном режиме (сигнал на линии EA равен 0), то он будет адресовать только внешнюю память программ с 0000h по 0FFFFh, несмотря на то, что внутреннее (резидентное) ПЗУ на кристалле имеется.

В каждом из рассмотренных режимов ОМК может использовать два массива памяти данных: внутреннее ОЗУ, расположенное по адресам 00h...7Fh, и подключаемое внешнее ОЗУ, или ПЗУ, которое может располагаться, начиная с адреса 0000h вплоть до 0FFFFh. Следует помнить, что доступ к пространству внутренней и внешней памяти данных осуществляется разными командами, а значит, не следует бояться возможного перекрытия адресного пространства.

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

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

Таблица 2. Формат слова состояния программы (ССП)

Символ

Позиция

Имя и назначение

C

PSW.7

Флаг переноса. Устанавливается и сбрасывается аппаратурными средствами или программой при выполнении арифметических и логических операций

AC

PSW.6

Флаг вспомогательного переноса. Устанавливается и сбрасывается только аппаратурными средствами при выполнении команд сложения и вычитания и сигнализирует о переносе или заем в бите 3

F0

PSW.5

Флаг 0. Может быть установлен, сброшен или проверен программой как флаг, специфицируемый пользователем

RS1

RS0

PSW.4

PSW.3

Выбор банка регистров. Устанавливается и сбрасывается программой для выбора рабочего банка регистров (см. примечание)

OV

PSW.2

Флаг переполнения. Устанавливается и сбрасывается аппаратно при выполнении арифметических операций

_

PSW.1

Не используется

P

PSW.0

Флаг паритета. Устанавливается и сбрасывается аппаратно в каждом цикле команды и фиксирует нечетное/четное число единичных бит в аккумуляторе, т. е. выполняет контроль по четности

Примечание.

RS1

RS0

Банк

Границы адресов

0

0

0

00H-07H

0

1

1

08H-0FH

1

0

2

10H-17H

1

1

3

18H-1FH

Наиболее "активным" флагом ССП является флаг переноса, который принимает участие и модифицируется в процессе выполнения операций, включая сложение, вычитание и сдвиги. Кроме того, флаг переноса (C) выполняет функции "булевого аккумулятора" в командах, манипулирующих с битами. Флаг переполнения (OV) фиксирует арифметическое переполнение при операциях над целыми числами со знаком и делает возможным использование арифметики в дополнительных кодах. АЛУ не управляет флагами селекции банка регистров (RS0, RS1), и их значение полностью определяется прикладной программой и используется для выбора одного из четырех регистровых банков. Регистры-указатели. 8-битный указатель стека (РУС или SP) может адресовать любую область РПД. Его содержимое инкрементируется прежде, чем данные будут запомнены в стеке в ходе выполнения команд PUSH и CALL. Содержимое РУС декрементируется после выполнения команд POP и RET. Подобный способ адресации элементов стека называют прединкрементным/постдекрементным. В процессе инициализации ОМК после сигнала СБР в РУС автоматически загружается код 07H. Это значит, что если прикладная программа не переопределяет стек, то первый элемент данных в стеке будет располагаться в ячейке РПД с адресом 08Н. Двухбайтный регистр-указатель данных (РУД или DPTR) обычно используется для фиксации 16-битного адреса в операциях с обращением к внешней памяти данных. Командами ОМК регистр-указатель данных может быть использован или как 16-битный регистр, или как два независимых 8-битных регистра (DPH и DPL). Таймер/счетчик. В составе средств ОМК имеются регистровые пары с символическими именами ТНО, TLO и THI, TLI, на основе которых функционируют два независимых программно-управляемых 16-битных таймера/счетчика событий. Регистр с символическим именем SBUF представляет собой два независимых регистра - буфер приемника и буфер передатчика. Загрузка байта в SBUF немедленно вызывает начало процесса передачи через последовательный порт. Когда байт считывается из SBUF, это значит, что его источником является приемник последовательного порта. Регистры специальных функций. Регистры с символическими именами IP, IE, TMOD, TCON, SCON и PCON используются для фиксации и программного изменения управляющих бит и бит состояния схемы прерывания, таймера/счетчика, приемопередатчика последовательного порта и для управления мощностью электропитания ОМК. Их организация будет описана ниже при рассмотрении особенностей работы ОМК в различных режимах.

Похожие статьи




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

Предыдущая | Следующая