logo search
конспект II частина

2.2. Структура микропроцессора

Рис. 2.2. Гипотетический МП

В приведенном гипотетическом микропроцессоре:

Взаимодействие компонентов осуществляется по внутренним каналам передачи данных. Связь МП с другими блоками (ЗУ и устройства ввода/вывода) происходит по адресной шине, шине данных и шине управления.

Микропроцессор работает со словами, состоящими из 8 битов, называемых байтами.

Адресная шина МП однонаправленная, а шина данных двунаправленная. Управляющая шина состоит из 5 линий, ведущих к блоку управления и синхронизации и 8 выходящих из него линий. По этим линиям передаются управляющие и тактирующие сигналы между компонентами микропроцессора и между МП и другими блоками микроЭВМ.

Счетчик команд состоит из 16 битов и содержит адрес очередного байта команды, считываемого из памяти. Он автоматически увеличивается на единицу после чтения каждого байта. Одна из функций стека – сохранение адреса возврата из подпрограммы. В стеке могут также сохраняться данные из верхних трех общих регистров и триггера переноса.

В то время как слово данных всегда состоит из одного байта, команда может состоять из 1, 2 или 3 байтов. Первый байт любой команды поступает из памяти по шине данных на регистр команд. Этот первый байт подается на вход дешифратора команд, который определяет ее смысл. В частности, дешифратор определяет, является ли команда однобайтной или она состоит из большого числа байтов. В последнем случае дополнительные байты передаются по шине данных из памяти и принимаются или на регистр адреса данных, или на один из общих регистров.

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

Пятнадцать 8-битовых общих регистров содержат операнды для всех команд, работающих с данными. Для указания этих регистров используются 4-битовые коды от 0000 до 1110. Регистр 0000 называется аккумулятором (АК) и участвует во всех арифметических и логических операциях (в АК содержится один из операндов перед началом выполнения операции и в АК загружается результат после ее выполнения). Обычно обращение к общим регистрам осуществляется при помощи R-селектора или r-селектора. R-селектор позволяет обращаться к любому регистру, тогда как через r-селектор доступны только три первые регистры.

Важной возможностью МП является косвенная адресация. Задание несуществующего регистра общего назначения 1111используется как указание на то, что нужно обратиться к байту памяти по 16-разрядному адресу, который получается комбинированием содержимого двух фиксированных общих регистров. Старшие 8 разрядов адреса – из регистра 0001, а следующие 8 разрядов – из регистра 0010 (часто эти регистры называют H и L соответственно).

Все арифметические и логические операции выполняются в арифметико-логическом устройстве (АЛУ). Входами АЛУ служат две 8-битовые шины. Одна из них идет от аккумулятора (регистр 0000), а другая – от R-селектора, который выбирает либо один из регистров общего назначения от 0000 до 1110, либо ячейку памяти, если задана косвенная адресация. Еще одна входная линия поступает в АЛУ от триггера переноса С, который участвует в некоторых арифметических и логических операциях. Результаты из АЛУ передаются в аккумулятор по выходной 8-битовой шине. Существуют еще две линии, идущие от АЛУ к блоку управления и синхронизации; они передают информацию о наличии или отсутствии двух особых условий: аккумулятор содержит нули (линия Z) и старший разряд аккумулятора равен 1 (линия N). Триггер переноса и обе линии состояния АЛУ Z и N называются флажками и используются в командах условного перехода.

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