![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Блок регистров
С внутренней шиной данных через мультиплексор связан блок регистров, часть которых специализирована, другая часть (регистры общего назначения, РОН) программно доступна и может быть использована по усмотрению программиста. Регистры обозначены через 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; - - READY — входной сигнал, показывающий, что память или ВУ готовы к обмену с МП. Если готовности памяти или ВУ нет, МП входит в состояние ожидания, которое может длиться любое число тактов вплоть до появления единичного уровня сигнала READY; - S1, S0 — сигналы состояния МП, сообщаемые внешней среде. Формируются в начале и сохраняются во время всего машинного цикла; - IO/М — сигнал выбора памяти или внешнего устройства. При высоком уровне происходит обращение к ВУ, при низком — к памяти. Совместно с сигналами S1 S0 сигнал Ю/М идентифицирует тип машинного цикла. Сигналы состояния и управляющие.сигналы Таблица 5.1 В приведенной таблице через ТС обозначено третье состояние. - x1, x2 — эти выводы присоединяются к кварцевому резонатору или другим частотно-задающим цепям для обеспечения работы внутреннего генератора синхроимпульсов МП. Частота на выводах x1 и x2 в 2 раза выше рабочей частоты; - Сигнал может поступить в любое время по команде оператора. Автоматически формируется при включении питания. Под его воздействием сбрасываются регистры PC и IR, триггеры разрешения прерывания, подтверждения захвата и др.; - CLK — выход синхроимпульсов для микропроцессорной системы. Частота этих импульсов в два раза ниже частоты на выводах x1 и x2; - RESET — выходной сигнал сброса для внешних модулей системы, привязанный к тактовым импульсам CLK, т. е. отличающийся от сигнала - INTR (Interrupt Request) — вход запроса векторного прерывания, вызывающий генерацию строба - - 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, формируемым в конце текущего машинного цикла. Свидетельствует об отключении МП от системных шин. При этом шины и линии управляющих сигналов Выводы 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. Частота синхросигналов МП в два раза ниже частоты генератора.
|