Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Блок регистров






С внутренней шиной данных через мультиплексор связан блок регистров, часть которых специализирована, другая часть (регистры общего назначе­ния, РОН) программно доступна и может быть использована по усмотрению программиста. Регистры обозначены через W, Z, В, С, D, Е, Н, L, SP и PC. Регистры W и Z предназначены только для временного хранения данных при выборке команды из памяти и недоступны для программиста. Регистры В, С, D, Е, Н, L относятся к регистрам общего назначения, т. к. могут быть использованы по усмотрению программиста. Эти восьмиразрядные регист­ры могут применяться либо по отдельности, либо в виде пар В-С, D-E, H-L, играющих роль 16-разрядных регистров. Пары регистров именуются по пер­вым регистрам пары как пары В, D, Н. Пара H-L, как правило, использует­ся для размещения в ней адресов при косвенной регистровой адресации. В блоке регистров имеются также 16-разрядные регистры SP и PC. Регистр SP (Stack Pointer) — указатель стека. Стек (магазинная память) удобен для за­поминания массива слов, т. к. при этом не требуется адресовать каждое сло­во отдельно. Слова загружаются в стек в определенном порядке, при считы­вании также заранее известен порядок их следования. В частности, стек удобен при запоминании состояний регистров в момент прерывания про­граммы. Порядок ввода слов в стек и их считывания предопределены его устройством. При организации типа LIFO (Last In — First Out) последнее записанное в стек слово при считывании появляется первым. Стек LIFO по порядку записи-считывания подобен стопке тарелок — для использования снимается верхняя, т. е. последняя положенная, затем вторая и т. д. Инте­ресно отметить, что сам термин " стек" произошел именно от обозначения такой стопки.

Стек имеет дно и верхушку, направление возрастания номеров ячеек в нем может быть различным (обычный и перевернутый стеки). Операции со сте­ком — Push (запись слова) и Pop (считывание слова).

Аппаратно стек реализуется в ОЗУ, где для него выделяется определенная область. Указатель стека SP содержит адрес последней занятой ячейки (рис. 5.6). При выполнении операций Push и Pop значение SP уменьшается или увеличивается. Задавая в SP начальное значение, можно размещать стек в той или иной области ОЗУ, следя при этом за тем, чтобы эта область не использовалась для других целей.

При байтовой организации памяти и занесении в стек содержимого регист­ровой пары старший байт запоминается по адресу SP-1, а младший — по адресу SP-2, содержимое SP уменьшается на 2. При выборке содержимое двух верхних ячеек стека помещается в соответствующие регистры, а содер­жимое SP увеличивается на 2.

Рис. 5.6. Реализация стека в микропроцессорной системе

Основное назначение стека — обслуживание прерываний программы и вы­полнения подпрограмм.

Программный счетчик PC (Program Counter) дает адрес команды, и может обращаться в любую из 64К ячеек АП. При сбросе МП PC принимает нуле­вое состояние, которое, таким образом, является адресом первой исполняе­мой команды, иначе говоря, выполнение программы начинается с нулевой ячейки. Длина команды составляет 1...3 байта. Содержимое программного счетчика после выборки очередного байта из памяти автоматически инкрементируется, так что в PC появляется адрес следующей команды, если те­кущая команда была однобайтовой, или следующего байта текущей команды в противном случае. Второй и третий байты команды поступают в регистры W и Z, которые не адресуются программой и используются только блоком внутреннего управления. Схема INC/DEC (Increment/Decrement) изменяет передаваемые через нее слова на+1 или-1.

Регистр команд IR (Instruction Register) принимает из памяти первый байт команды, который после дешифрации порождает сигналы, необходимые для реализации машинных циклов, предписанных кодом операции.

Блок синхронизации и управления использует выход дешифратора команд и шифратора машинных циклов для синхронизации циклов, генерации сигна­лов состояния и управления шиной (внешними устройствами микропроцес­сорной системы).

При обмене между МП и памятью или ВУ адрес соответствующей ячейки памяти или ВУ от выбранной команды или одной из регистровых пар пере­дается в регистр адреса RA.

Буфер адреса ВА с тремя состояниями выхода выдает сигналы старших раз­рядов адреса на линии адресной шины A15-8.

Буфер шины адресов/данных BA/D с тремя состояниями выхода передает на шину A/D с разделением во времени младший байт адреса или байт данных.

Внутренняя восьмиразрядная шина данных передает байты между различ­ными внутренними регистрами или обменивается с другими модулями МПС через мультиплексируемую шину адресов/данных.

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

При естественном следовании команд МП, начав работу, выбирает из памя­ти и выполняет одну команду за другой, пока не дойдет до команды " Останов" (HLT). Выборка и выполнение одной команды образуют команд­ный цикл. Командный цикл состоит из одного или нескольких машинных циклов МЦ. Каждое обращение к памяти или ВУ требует машинного цикла, который связан с передачей байта в МП или из него. В свою очередь ма­шинный цикл делится на то или иное число тактов Т, число которых зави­сит от типа машинного цикла.

Микропроцессор К 1821 имеет следующие типы машинных циклов:

1. Выборки команды (OF, Opcode Fetch).

2. Чтения из памяти (MR, Memory Read).

3. Записи в память (MW, Memory Write).

4. Чтения из ВУ (IOR, Input-Output Read).

5. Записи в ВУ (IOW, Input-Output Write).

6. Подтверждения прерывания (INA, Interrupt Acknowledge).

7. Освобождения шин (BI, Bus Idle).

8. Останов (HALT).

В начале каждого машинного цикла генерируются сигналы состояния, иден­тифицирующие тип цикла и действующие в течение всего цикла.

Функции выводов и сигналов:

- А15-8 — выходные линии с тремя состояниями для выдачи старшего бай­та адреса памяти или полного адреса ВУ. Переходят в третье состояние в режимах HOLD, HALT и RESET;

- AD7-0 — двунаправленные мультиплексированные линии с тремя со­стояниями для выдачи младшего байта адреса памяти или полного адреса ВУ в первом такте машинного цикла, после чего используются как шина данных. Как видно из сказанного, при адресации ВУ адресная информа­ция обеих полушин (A15-0 и AD7-0) дублируется;

- ALE — строб разрешения загрузки младшего байта адреса памяти во внешний регистр для его хранения в течение машинного цикла. Появля­ется в первом такте машинного цикла. Регистр загружается задним фрон­том сигнала ALE;

- , — стробы чтения или записи. Низкий уровень соответствую­щего сигнала свидетельствует о том, что адресованная ячейка памяти или внешнее устройство должны выполнить операцию чтения или записи. Выводы переходят в третье состояние в режимах HOLD, HALT и RESET;

- READY — входной сигнал, показывающий, что память или ВУ готовы к обмену с МП. Если готовности памяти или ВУ нет, МП входит в состояние ожидания, которое может длиться любое число тактов вплоть до по­явления единичного уровня сигнала READY;

- S1, S0 — сигналы состояния МП, сообщаемые внешней среде. Формиру­ются в начале и сохраняются во время всего машинного цикла;

- IO/М — сигнал выбора памяти или внешнего устройства. При высоком уровне происходит обращение к ВУ, при низком — к памяти.

Совместно с сигналами S1 S0 сигнал Ю/М идентифицирует тип машин­ного цикла. Сигналы состояния и управляющие.сигналы , и INTA для различных машинных циклов имеют следующие значения (табл. 5.1):

Таблица 5.1

В приведенной таблице через ТС обозначено третье состояние.

- x1, x2 — эти выводы присоединяются к кварцевому резонатору или дру­гим частотно-задающим цепям для обеспечения работы внутреннего ге­нератора синхроимпульсов МП. Частота на выводах x1 и x2 в 2 раза выше рабочей частоты;

- () — вход сигнала сброса МП в начальное состояние.

Сигнал может поступить в любое время по команде оператора. Автомати­чески формируется при включении питания. Под его воздействием сбра­сываются регистры PC и IR, триггеры разрешения прерывания, подтвер­ждения захвата и др.;

- CLK — выход синхроимпульсов для микропроцессорной системы. Часто­та этих импульсов в два раза ниже частоты на выводах x1 и x2;

- RESET — выходной сигнал сброса для внешних модулей системы, привя­занный к тактовым импульсам CLK, т. е. отличающийся от сигнала по фазе;

- INTR (Interrupt Request) — вход запроса векторного прерывания, вызы­вающий генерацию строба , если прерывание разрешено програм­мой. Адрес подпрограммы, вызываемой этим входом, выдается внешним устройством. При сбросе прием сигнала запрещается (прерывания за­прещены);

- (Interrupt Acknowledge) — выход строба подтверждения векторного прерывания после завершения текущего командного цикла. Используется для чтения вектора прерывания;

- RST 5, 5; RST 6, 5; RST 7, 5 — входы запросов радиального прерывания типа RSTn (n = 5, 5; 6, 5; 7, 5). Начальные адреса подпрограмм обслужива­ния равны 8п. Приоритеты фиксированы, высший приоритет у входа RST 7, 5. Приоритеты всей группы запросов выше приоритета запроса INTR. Запросы маскируемые, причем независимо друг от друга;

- TRAP — вход запроса немаскируемого прерывания, имеющий макси­мальный приоритет;

- SID, SOD (Serial Input Data, Serial Output Data) — вход и выход последова­тельной передачи данных. По команде RIM входной бит загружается в стар­ший разряд аккумулятора, по команде SIM выводится из этого разряда;

- HOLD — сигнал запроса захвата шин. Формируется внешним устройством;

- HLDA — сигнал подтверждения захвата (Hold Acknowledge). Является ответом на сигнал HOLD, формируемым в конце текущего машинного цикла. Свидетельствует об отключении МП от системных шин. При этом шины и линии управляющих сигналов , , IO/M и ALE перево­дятся в третье состояние.

Выводы x1 и x2, предназначенные для создания совместно с внутренними элементами МП генератора тактовых импульсов, могут быть использованы различными способами (рис. 5.7, о). Кварц может быть подключен непо­средственно к выводам x1 и x2 как единственный частотно-задающий эле­мент. Если частота генератора составляет 4 МГц или более, могут понадо­биться конденсаторы с рекомендованной емкостью 20 пФ для надежного запуска генератора. Параллельный LC-контур также может быть подключен непосредственно к выводам x1 и x2. При невысоких требованиях к стабиль­ности частоты можно использовать частотно-задающую RC-цепочку. Воз­можна синхронизация от внешнего генератора ГТИ. При этом рекомендует­ся включать внешние логические элементы с открытым коллектором, при­чем при частоте генерации более 6 МГц включаются два логических элемен­та. Показанные на рис. 5.7, а параметры RC-цепи соответствуют частоте ге­нерации 3 МГц.

Рис. 5.7. Внешние элементы тактового генератора (а) и формирование синхросигналов (б) в микропроцессоре К1821ВМ85А

Для образования сигналов синхронизации CLK выход генератора подается на вход счетного триггера (рис. 5.7, б). Триггер формирует две последова­тельности противофазных импульсов Ф1 и Ф2 для тактирования внутренних схем МП. Сигнал синхронизации системы CLK синфазен импульсам Ф2. Сигнал ALE формируется как один импульс последовательности Ф1, выде­ляемый из нее в первом такте (Т1) каждого машинного цикла. Буфер выда­чи сигнала ALE во внешние цепи имеет вход разрешения EN. Частота син­хросигналов МП в два раза ниже частоты генератора.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.