Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Эл.Элт ЧII.doc
Скачиваний:
77
Добавлен:
17.04.2019
Размер:
29.97 Mб
Скачать
  1. Структура микропроцессора

Обобщенная структурная схема микропроцессора приведена на рис. 34.1. Входящие в его состав программный счетчик (счетчик команд), стек, а также регистр команд служат для обработки команд. Команда – это кодовая комбинация (слово), предписывающая процессору определенное действие. Триггер переноса, АЛУ, общие (рабочие) регистры и регистр адреса данных предназначены для обработки данных (операндов). Дешифратор команд, а также блок управления и синхронизации (БУС) обеспечивают управление работой всей структуры. Взаимодействие всех функциональных узлов осуществляется по внутренним каналам передачи данных. Связь микропроцессора с запоминающим устройством и устройством ввода / вывода происходит по адресной шине, шине данных и управляющей шине.

Микропроцессор работает со словами, состоящими из восьми битов. Такие слова, называемые байтами, удобны при выполнении арифметических и логических операций и используются в большинстве выпускаемых микропроцессоров. Если в расчетах встречаются числа “большей длины”, то применяются специальные программы для вычислений с “двойной точностью”, “тройной точностью” и т. д.

Для задания адреса памяти обычно используется 16 разрядов. Это позволяет прямо адресовать 216 = 65536 ячеек памяти. Число 65536 часто записывают в виде 64К. Индексом К обозначают величину 210 = 1024.

Информация к микропроцессору и от него передается по шинам. Шины данных в соответствии с длиной слова состоят из восьми линий, а адресная шина – из 16 линий. Адресная шина однонаправленная, а шины данных двунаправленные. Управляющая шина состоит из 13 линий, причем, пять линий ведут к БУС, а восемь линий выходят из него. По линиям шины данных передаются управляющие и тактирующие сигналы. Они определяют взаимодействие между функциональными узлами микропроцессора, а также между микропроцессором и другими блоками микрокомпьютера.

Рассмотрим назначение функциональных узлов микропроцессора.

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

Процедура считывания усложняется тем, что программы, как правило, содержат подпрограммы. Подпрограмма – это последовательность команд, предназначенных для выполнения определенной задачи. Она может быть вызвана в любой момент времени выполнения основной программы. Когда в программе появляется команда вызова подпрограммы, выполнение основной программы должно быть остановлено, а ее очередную команду необходимо загрузить в какой – либо регистр памяти. Это необходимо для того, чтобы микропроцессор мог вернуться в основную программу после завершения подпрограммы. Одновременно в счетчик команд необходимо заслать адрес первой команды подпрограммы.

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

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

Регистр адреса данных содержит адрес данных для команд, обращающихся к памяти, адрес порта для команд ввода / вывода или адрес очередной команды для перехода к подпрограмме.

Регистр команд используется для записи команд, запрашиваемых из памяти и подлежащих дешифрации.

Регистры общего назначения представляют собой блок сверхоперативной памяти, состоящей из пятнадцати восьмибитовых регистров. Такая память предназначена для временного хранения адресов и данных, которые можно извлечь со значительно большей скоростью, чем информацию, содержащуюся в оперативной памяти. Адреса каждого из пятнадцати регистров представляют собой 4 - битовые коды от 0000 до 1110. Регистр 0000 называется аккумулятором и участвует во всех арифметических и логических операциях. Он содержит одно из чисел (операнд) перед выполнением операции и получает результат после ее завершения.

Обращение к любому регистру общего назначения осуществляется при помощи R – селектора. Через r – селектор доступны только регистры 0000, 0001, 0010. Задание несуществующего регистра 1111 используется как указание на то, что нужно обратиться к байту памяти по 16 – разрядному адресу.

АЛУ предназначено для выполнения арифметических и логических операций. Два входа АЛУ представляют собой две восьмибитовые шины. Одна из них идет от аккумулятора (регистр 0000), а другая – от R – селектора, который выбирает один из регистров общего назначения от 0000 до 1110 или ячейку памяти, если задана косвенная адресация. Третий вход в АЛУ представляет собой линию от триггера переноса С. Триггер переноса участвует в некоторых арифметических и логических операциях.

Выходами АЛУ являются восьмибитовая шина и две линии – Z и N. По выходной восьмибитовой шине передаются результаты из АЛУ в аккумулятор. По выходным линиям в блок управления и синхронизации передается информация о наличии или отсутствии двух особых условий:

– аккумулятор содержит нули (линия Z),

– старший разряд аккумулятора равен 1 (линия N).

Триггер переноса, а также линии Z и N называются флажками и используются в командах условного перехода.

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