Структурная электрическая схема МПС (пояснения).

Структурная электрическая схема МПС (пояснения). - student2.ru Структурная электрическая схема МПС (пояснения). - student2.ru

Рис. 2.5.3 Реализация микропроцессорной системы на БИС МПК К1804

УСА-устройство управления следующим адресом.

СУАМ-секция управления адресом микрокоманды.

Память МКПМ-память микрокоманды.

РгМК-регистр микрокоманд.

РгСС-регистр состояния.

Согласуем эту схему со схемой на рисунке 2.2

Структура учебной МПС детализирована до микропроцессорных БИС комплекта К1804 на рис. 2.5.3.

1) БМУ состоит из двух БИС – УСА и СУАМ. УСА, устройство управления следующим адресом, выполняет предварительную функцию, его марка К1804ВУЗ. УСА выполнено в виде ПЗУ на 32 слова по 8 разрядов в слове.

а) УСА получает на вход 5-разрядный адрес А4А3А2А1А0 и выдает слово Q0 … Q7. Адрес составляется из поля Р текущей МК и выбранного флага Ф: А4А3А2А1А0 = Р3Р2Р1Р0Ф. ПЗУ имеет выходной буфер.

2) Слово Q0 … Q7 и поле BR МК управляют секцией СУАМ (секция управления адресом команды), которая содержит входной буферный регистр для слова BR, счетчик адреса микрокоманд, СтМК, для реализации последовательных переходов, стек для организации переходов с возвратом, логическую схему выбора адреса и выходной буфер. Марка СУАМ К1804ВУ1.

3) Сформированный СУАМ адрес МК имеет длину 4 разряда и подается на регистр адреса памяти МКПМ. Эта память в учебной МПС выполнена на ОЗУ с целью упрощения процесса ввода МКПМ в систему; обычно память МКПМ выполняется на ПЗУ или репрограммируемом ЗУ.

4) Из памяти МКПМ считывается очередная МК, которая принимается на РгМК; поле ВР принимается в СУАМ для указания адреса, если он задан. Выбранная МК в течение текущего такта управляет работой системы такта.

5) Разряды Р1Р0 поля Р определяют выбор одного из флагов ЦПЭ, Z, F3, OVR,C4, в качестве решающего, Ф, при определении адреса следующей МК. На рис. 2.3 показано, что Ф формируется мультиплексором, на вход данных которого подаются флаги с регистра состояния, а на вход номера канала подаются Р1Р0.

Пример:

Пусть в поле Р текущей МК (находящейся в РгМК) имеется код 000. Это значит, что Р1Р0 = 00 и MS выделит флаг Ф = Z. Если Z = 0 (F ≠ 0), УСА получит на вход код А4А3А2А1А0 = 0000, этот код обеспечит передачу в выходной буфер СУАМ значения поля BR РгА МК := BR, а также занесение нового значения в счетчик адреса МК, СтМК := BR; таким образом, произойдет переход в МКПМ. Если Z = 1 (F = 0), УСА получит на вход код 0001, этот код обеспечит в СУАМ модификацию содержимого счетчика адреса МК, СтМК := СтМК + 1 и затем передачу со счетчика в выходной буфер СУАМ, РгАМК := СтМК, т.е. обеспечит последовательное продолжение, переход к следующей по порядку МК в МКПМ.

6) ЦПЭ МПК имеет следующий состав: АЛУ, локальную память из 16-ти РОН, блок регистра результата РгQ, блок местного управления. Блок местного управления получает на вход код микрокоманды I0 I1, … I8 и преобразует его в пространственно распределенные на шинах управления сигналы посредством дешифрации – шифрации. Сигналы по шинам управления поступают в АЛУ, обеспечивая выполнение в нем заданной в МК микрооперации, в память РОН, обеспечивая обращение к заданным в полях А, в РОН, в блок РгQ, обеспечивая считывание или запись в РгQ.

Примеры микропрограмм для учебной микропроцессорной системы

1) В таблице 2.7 показана МКПМ загрузки и чтения РОН.

а) МК0 (МК, записанная в нулевую ячейку памяти МКПМ) читает данное из поля Д (0100) и загружает (записывает) его в РОН1, заданный в поле В. В поле Р стоит код 0010, означающий переход к следующей по порядку МК. Поля, которые не используются данной МК (безразличны), не заполнены.

Примеры микропрограмм

Микропрограмма загрузки и чтения РОН

Указываем номер РОНа куда будут записаны данные.
Не используется
Команда 0010 - это переход к следующей команде без всякой работы
011 – это операция RvS.
Команда 001 (B:=F)- это значит, что полученный результат записывается в РОН.
111 значит, что R=D, S=0, т.е. RvS=Dv0=D
Простой последовательный переход, поэтому ничего не указано.

Таблица 2.7

Адрес памяти МКПМ BR P* приемник   источник   Коп АЛУ РОН А РОН В D Примечание
BR3 BR2 BR1 BR0   P3P2P1P0 MS2 I8 I7 I6 MS1 I2 I1 I0 C0 I5 I4 I3 A3 A2 A1 A0 B3 B2 B1 B0 D3D2D1D0
  0 0 1 0   0 1 1   1 1 1   0 1 1   0 0 0 1 0 1 0 0 загрузка РОН1
  0 0 1 0   0 0 1   0 1 1   0 1 1   0 0 0 1 Чтение РОН1
  0 0 1 0   0 1 1   1 1 1   0 1 1   1 0 0 1 0 1 0 0 загрузка РОН9
  0 0 1 0   0 0 1   0 1 1   0 1 1   1 0 0 1 Чтение РОН9

Микропрограмма сдвиговых операций



  0 0 1 0   0 1 1   1 1 1   0 1 1   0 0 0 0 0 0 1 0 загрузка РОН0
  0 0 1 0 1 1 1 0 1 1   0 1 1   0 0 0 0 Сдвиг РОН0 влево
  0 0 1 0 1 0 1 0 1 1   0 1 1   0 0 0 0 Сдвиг РОН0 вправо
  0 0 1 0   0 0 0   0 1 0   1 0 0   0 0 0 0 Очистка 0
  0 0 1 0 1 1 0 0 1 1   0 1 1   0 0 0 0 Циклич. сдвиг РОН0-Q влево
  0 0 1 0 1 0 0 0 1 1   0 1 1   0 0 0 0 Циклич. сдвиг РОН0-Q вправо

Микропрограмма арифметических операций

  0 0 1 0   0 1 1   0 1 1 0 0 0   0 0 0 0 РОН0=РОН0+1
  0 0 1 0   0 1 1   0 1 1 0 0 1   0 0 0 0 РОН0=РОН0-1
  0 0 1 0   0 1 1   1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 РОН0=РОН0+3
  0 0 1 0   0 1 1   1 1 1   0 1 1   0 0 0 1 0 1 0 1 РОН1=5
  0 0 1 0   0 1 1   0 0 1 0 0 0 0 0 0 1 0 0 0 0 РОН0=РОН0+РОН1

Следующей исполняется МК из следующей ячейки, т.е. MK1. Ре­зультатом F MK1 служит прочитанное содержимое P0HI; результат f передается на выходные шины ЦПЭ, Y: = F; таким образом, MKI производит чтение из P0HI, это позволяет проконтролировать предыдущую МКО, загружавшую P0HI.

МК2 загружает данное 0101 из поля Д в Р0Н9, МКЗ контролирует загрузку посредством чтения из Р0Н9 и выдачи результата на выходные шины ЦПЭ.

В МКПМ сдвиговых операций МК4 загружает из поля Д РОН 0. МК5 выполняет операцию R v S , причем источник В = 0, источник 5 = В, т.е. результат F равен содержимому РОН 0, указанному в поле В. Этот результат выдается, на выходные шины ЦПЭ Y. Одновременно, в силу того, что указан код приемника результата, равный III, при загрузке результата происходит его сдвиг влево на один раз­ряд (В:= 2F - удвоение эквивалентно сдвигу влево на один разряд); тип сдвига- циклический, определен модификаторами операций сдвига MS1 и МS2 .

МК6 сдвигает циклически вправо содержимое РОН 0, это определе­нно кодом приемника 101, означающим при загрузке В: = F/2, что эквивалентно сдвигу вправо на один разряд. В МК7 КОП = 100, т.е. F=R• 5 , код источника равен 010, т.е. R=0, S= Q , следовательно, F = 0; код приемника результата равен 000, что означает загрузку Q: = F , т.е. Q : = 0, МК7 выполняет очистку регистра результата Q .

МК8 реализует циклический сдвиг пары регистров P0H0-Q влево. МК9 реализует циклический сдвиг пары регистров P0H0-Q вправо. Следующие МК реализуют арифметические операции. В MKI0 K0П АЛУ равен 000, т.е. F : = R + S+ С0 ; код историка равен 011, т.е. R = О, S = В ; С = I, В = 0000, следовательно, F : = 0 + РОН 0 + I; код приемника равен 011, т.е. В: = F . Это значит, результат равен содержимому РОН0 плюс I и результат загружается в РОН 0, т.е. MK10 выполняет операцию РОН 0: = РОН 0 + I.

МК11 имеет_К0П АЛУ = 001, т.е. F: = S- R + I + С 0 ; код источни­ка 011 т.е. R =0, S = В , В = 0000, C0 = 0, следовательно, F : = РОН0 -0-1+0 = РОН 0 - I; код приемника равен 011, т.е. В: = F , следовательно, результат загружается в РОН 0: = РОН 0 - I.

Аналогично выполняются следующие МК, их содержание сформулирова­но в примечании.

В таблице 2.8 показаны МКПМ, реализующие переход к МКПМ

Примеры микропрограмм для МП К1804

Таблица 2.8

Переход к подмикропрограмме

Адрес памяти МКПМ BR P* приемник   источник   Коп АЛУ РОН А РОН В D Примечание
BR3 BR2 BR1 BR0   P3P2P1P0 MS2 I8 I7 I6 MS1 I2 I1 I0 C0 I5 I4 I3 A3 A2 A1 A0 B3 B2 B1 B0 D3D2D1D0
  0 0 1 0                 К след. адресу
  0 0 1 0                 К след. адресу
  0 0 1 0                 К след. адресу
3 1 1 0 0 0 1 0 1                 Переход к подпрограмме I2
4                      
  0 0 1 0                 К след. адресу
  0 0 1 0                 К след. адресу
  0 1 1 0                 Возврат

Условные переходы

  0 0 1 0   0 1 1   0 1 1 0 0 0   0 0 0 1 К след. адресу РОН1:=РОН1+1
1 1 1 1 1 1 1 1   0 0 1             к 15 если С4
0 0 0 0 0 0 0 1   0 0 1             Безусловный переход к 0
                       
  0 0 1 0   0 0 1             К след. адресу

а) Здесь определяющее значение имеют поля P и BR, остальные поля не заполнены. МК0…МК2 образуют линейный участок МКПМ, в них поле Р имеет код 0010, что означает переход к следующей по порядку МК.

б) В МК3 поле З имеет код 0101, что означает переход к подМКПМ, адрес начала подМКПМ дан в поле BR и равен 1100. Поэтому МК3 выдает через СУАМ поле BR = 11002 = 1210 на РгА памяти МКПМ (см. рис. 2.5.3), текущее значение счетчика адреса МК передает в стек СУАМ, ST:=Ст МК, затем в Ст МК загружает поле BR, Ст МК:=BR.

в) Следующей будет исполняться МК12; у нее поле Р содержит код 0010, поэтому следующей будет исполняться МК13, затем МК14.

г) В МК14 поле Р содержит код 0110, что означает (см. табл. 2.6) возврат из подМКПМ. При исполнении МК14 СУАМ реализует СтМК:=ST, СтМК:=СтМК+1, РгАМК:=СтМК, т.е. на регистр адреса памяти МКПМ будет выдано число 4 – следующей будет выбрана из памяти МКПМ МК4, произойдет возврат из подМКПМ в точку, следует за точкой обращения к подМКПМ.

2. Далее в табл. 2.8 показана МКПМ с условным, а также безусловным переходом.

д) МК0 выполняет сложение РОН1:=РОН1+1; в зависимости от прежнего содержимого РОН1, при этом перенос из старшего разряда результата (С4) может быть равным 0 или 1.

е) Следующая МК1 реагирует на значение С4: в ее поле Р стоит код 1111, что означает переход на адрес МК из поля BR, если С4=1, и переход к следующей по порядку МК (МК2), если С4=0. Технически МК1 исполняется следующим образом (см. рис.2.3): разряды Р1Р0=11, поэтому MS выделяет из всех признаков результата, полученных в МК0 и сохраняемых в течение МК1 на регистре слова состояния РгСС, в качестве флага признак С4. Поле Р МК1 вместе с Ф передаются на вход УСА, оно выдает при Ф=1 коп (Q0 … Q7)0, принуждающий СУАМ реализовать последовательное продолжение – СтМК:=СтМК+1, РгА МК:=СтМК. В поле BR МК1 стоит 11112=1510, поэтому при С4=1 следующей будет исполняться МК15, при Ф=0 – МК2.

ж) МК2 реализует безусловный переход к МК0 (см. поля Р и BR МК2), т.е. к операции накопления суммы в РОН1.

з) МК15 имеет в своем поле Р код 0010, т.е. она передает управление следующей по порядку МК, но в данной МПС емкость памяти МКПМ ограничена 16 ячейками, старший адрес равен 15, поэтому счетчик адреса МК в такте МК15 переполнится

Наши рекомендации