Шина – группа линий передачи информации, объединенных одним общим функциональным признаком. МП имеет три шины. Совокупность шин образует магистраль.
РОН – регистры общего назначения. Служат для хранения операндов, промежуточных результатов, могут использоваться для хранения адресов памяти. РОН могут объединяться в пары для работы с 16-разрядными данными – BC, DE, HL. Все РОН программно доступны. Разрядность каждого РОН равна разрядности шины данных.
MX/DX- мультиплексор-демультиплексор. Обеспечивает передачу данных с внутренней шины данных в блок РОН.
W,Z – регистры временного хранения. Служат для временного хранения второго и третьего байта кода команды. Регистры программно недоступны.
SP – 16-разрядный регистр-указатель стека. В нем хранится адрес последней занятой ячейки стека (вершины стека). При записи данных содержимое регистра увеличивается на 1, а при чтении – уменьшается на 1. Стек реализуется в основной памяти с дисциплиной LIFО.
РС – 16- разрядный счетчик команд (программный счетчик). Используется для приема и хранения текущего адреса команды. При выборке каждого байта команды содержимое программного счетчика автоматически увеличивается на 1, при этом первый байт всегда передается в регистр команд RI.
I/D – схема инкремена-декремента. Позволяет автоматически увеличить или уменьшить на 1 содержимое регистра адреса и совместить во времени модификацию адреса и выполнение операции в АЛУ.
RGA – буферный регистр адреса. Служит для приема и хранения адресной части команды. Разрядность регистра равна разрядности шины адреса.
BD – буферный регистр данных. Используется для временного хранения выбранного из памяти слова перед его передачей на внутреннюю шину данных или для временного хранения результата перед его выдачей во внешнюю шину данных.
RI – регистр команд. Принимает и хранит код очередной команды, адрес которой хранится в программном счетчике.
DCU – дешифратор кода команды.
ALU – 8-разрядное арифметико-логическое устройство. Предназначено для выполнения арифметических и логических операций.
А – регистр-аккумулятор или просто аккумулятор. Предназначен для временного хранения операнда или промежуточного результата. При выполнении операции с двумя операндами в А хранится один из операндов, а после выполнения операции – результат. Разрядность А равна разрядности информационного слова.
ТЕМ – регистр временного хранения. Предназначен для временного хранения одного из операндов перед выполнением операции в АЛУ.
CU – устройство управления. Вырабатывает последовательность управляющих сигналов, обеспечивающих выполнение микрооперации, расшифрованной по коду операции.
RS – регистр признаков или регистр флагов. В нем формируются признаки результата операции, выполненной в АЛУ. Регистр 8-разрядный, формирует 5 признаков (флагов).
7 6 5 4 3 2 1 0
0 0 1
S - знак результата.
S = 1 – результат отрицательный; S = 0 – результат положительный.
Z – признак нулевого результата.
Z = 1 – результат равен нулю; Z =0 – результат ненулевой.
АС – признак полупереноса или вспомогательный перенос. Фиксирует при сложении перенос из младшей тетрады в старшую.
АС = 1, если перенос был; АС = 0, если переноса не было.
Р – признак четности или паритет. Определяет, четное или нечетное число единиц в результате.
Р = 1, если число единиц в результате четное; Р = 0, если число единиц в результате нечетное.
С – признак переноса. Фиксирует перенос из старшего разряда.
С = 1, если перенос был; С = 0, если переноса не было.
Функционирование МП происходит следующим образом.
1. Вся информация (программа, исходные данные, результаты) размещается в памяти (ОЗУ или ПЗУ).
2. Информация поступает в МП по шине данных.
3. Каждое внешнее или внутреннее устройство имеет адрес или диапазон адресов.
4. При обращении к конкретному устройству МП выставляет на ША адрес этого устройства, а на ШУ – признак обращения к этому устройству и обеспечивает выдачу информации на ШД.
Выполняя программу, МП обрабатывает команду за командой последовательно.
Алгоритм выполнения программы выглядит следующим образом.
|
|
|
|
рис. 3. Алгоритм выполнения команды
Функционирование МП определяется исполняемыми командами.
Командный цикл – это время, необходимое для считывания из памяти и выполнения очередной команды. В зависимости от типа команды командный цикл может состоять из нескольких машинных циклов.
Машинный цикл (МЦ) – это время, в течение которого выполняется одна или несколько микроопераций.
Машинный цикл состоит из нескольких машинных тактов, число которых зависит от типа МП (обычно от одного до пяти). Количество машинных циклов определяется числом обращений к памяти или устройствам ввода-вывода.
Можно сказать, что система команд МП – это совокупность микропрограмм, обеспечивающих выполнение всех его функций, а команда – действие, описанное микропрограммой.
Система команд МП приведена в Приложении 1.
Выполнение любой команды начинается с выборки из памяти кода команды. Это соответствует машинному циклу М1. В нем МП считывает первый байт кода команды и передает его в регистр команд RI. Далее могут следовать один или два цикла чтения из памяти либо один цикл чтения из памяти и цикл выполнения операции.
После выборки и декодирования первого байта кода команды могут потребоваться дополнительные циклы для ее выполнения, всего от 1 до 5 МЦ. Каждый МЦ состоит из машинных тактов, во время которых выполняются типовые действия.
Командный цикл может содержать от 4 до 18 машинных тактов. Сигналы, реализующие тот или иной МЦ, вырабатываются устройством управления на основании информации, содержащейся в коде операции в первом байте кода команды.
Система команд простейшего микропроцессора