Типовая архитектура микропроцессорной системы
шина адреса (ША)
шина данных (ШД)
|
|
|
|
Разрядность двунаправленной шины данных – от 8 разрядов.
Разрядность шины адреса – от 16 разрядов.
CPU – центральное процессорное устройство. Обеспечивает выполнение всех операций в соответствии с заданным алгоритмом. Практически обеспечивает выполнение всего процесса функционирования системы.
ROM (ПЗУ) – постоянное запоминающее устройство.
RAM (ОЗУ) – оперативное запоминающее устройство.
In/Out - интерфейсы ввода-вывода (порты ввода-вывода). Обеспечивают связь системы с периферийными устройствами.
Кроме этого, в состав системы может входить контроллер прямого доступа к памяти для управления внешними запоминающими устройствами.
Однокристальные МП с малой разрядность шин данных и адреса ориентированы на применение в устройствах цифровой автоматики, в управляющих блоках периферийных устройств ЭВМ.
МП с большой разрядностью шин обладают следующими достоинствами:
- большой объем адресуемой памяти;
- развитая система команд;
- разнообразные способы адресации:
- встроенные векторные системы прерываний;
- автоматическое обнаружение отказов питания.
Ниже на рисунке представлена архитектура микропроцессорной системы более подробно.
|
| ||||
ШД
D7-D0
|
|
|
|
|
|
|
0000 00
|
|
|
|
РОН
|
|
ША
ШУ А15 –А0 А7 – А0
ШД – 8-разрядная шина данных.
Внутренняя шина данных связывает между собой все блоки МП. Ее разрядность равна разрядности информационного слова.
ША – 16-разрядная шина адреса.
ШУ – шина управления.
МЕМ – память.
PORT – устройства ввода-вывода (порты).
Шина – группа проводов передачи информации, объединенных одним общим функциональным признаком. МП имеет три шины. Совокупность шин образует магистраль.
РОН – регистры общего назначения. Служат для хранения операндов, промежуточных результатов, могут использоваться для хранения адресов памяти. РОН могут объединяться в пары для работы с 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. При обращении к конкретному устройству МП выставляет на ША адрес этого устройства, а на ШУ – признак обращения к этому устройству и обеспечивает выдачу информации на ШД.
Выполняя программу, МП обрабатывает команду за командой последовательно.
Алгоритм выполнения программы выглядит следующим образом.
|
|
|
|
Функционирование МП определяется исполняемыми командами.
Командный цикл – это время, необходимое для считывания из памяти и выполнения очередной команды. В зависимости от типа команды командный цикл может состоять из нескольких машинных циклов.
Машинный цикл (МЦ) – это время, в течение которого выполняется одна или несколько микроопераций.
Машинный цикл состоит из нескольких машинных тактов, число которых зависит от типа МП (обычно от одного до пяти). Количество машинных циклов определяется числом обращений к памяти или устройствам ввода-вывода.
Можно сказать, что система команд МП – это совокупность микропрограмм, обеспечивающих выполнение всех его функций, а команда – действие, описанное микропрограммой.
Система команд МП приведена в Приложении 1.
Выполнение любой команды начинается с выборки из памяти кода команды. Это соответствует машинному циклу М1. В нем МП считывает первый байт кода команды и передает его в регистр команд RI. Далее могут следовать один или два цикла чтения из памяти либо один цикл чтения из памяти и цикл выполнения операции.
После выборки и декодирования первого байта кода команды могут потребоваться дополнительные циклы для ее выполнения, всего от 1 до 5 МЦ. Каждый МЦ состоит из машинных тактов, во время которых выполняются типовые действия.
Командный цикл может содержать от 4 до 18 машинных тактов. Сигналы, реализующие тот или иной МЦ, вырабатываются устройством управления на основании информации, содержащейся в коде операции в первом байте кода команды.
Типы машинных циклов:
1. выборка кода команды (OF, Opcode Fetch)
2. чтение памяти (MR, memory read)
3. запись в память ( MW, memory write)
4. чтение стека (SPR)
5. запись в стек (SPW)
6. чтение из внешнего устройства ( IOR, input-output read)
7. запись во внешнее устройство (IOW, input-output write)
8. подтверждение прерывания (INA, Interrupt acknowledge)
9. останов (Halt)
Командный цикл начинается с выборки кода команды (МЦ OF).
Командный цикл
М1 М2 М3 М4
Т1 Т2 Т3 Т4 Т1 Т2 Т3 Т1 Т2 Т3 Т1 Т2 Т3
выборка считывание считывание запись в
кода операции из програм- из програм- память
мной памяти мной памяти
Во всех командах первый МЦ М1(МЦ OF). В нем МП считывает первый байт кода команды. Далее могут быть один или два цикла чтения из памяти, либо один цикл чтения из памяти и цикл выполнения операции.
После выборки и декодирования первого байта кода команды могут потребоваться дополнительные машинные циклы для ее выполнения, всего от 1 до 5 МЦ. Каждый МЦ состоит из машинных тактов, во время которых выполняются типовые действия. Число тактов в различных МЦ от 3 до 6.
Командный цикл может содержать от 4 до 18 машинных тактов. Сигналы, реализующие тот или иной МЦ, вырабатываются устройством управления на основании информации, содержащейся в коде операции в первом байте кода команды.