Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Б М.docx
Скачиваний:
148
Добавлен:
09.06.2015
Размер:
2.63 Mб
Скачать

Оповещающий сив нал „Состояние


Акк


РгАМк


Блок ревастрод


I

РгМк

| Дешифратор ^ |


РгАК


УП


Г"^


PtBpXp

Г"


АЛУ


и



I

' ' а)

Управляющие сие калы

Рис. 9.19. Структура учебного процессора (а) и формат его команды (б)

манд РгМк, узел формирования адреса микрокоманды УФАМк. На схеме показаны связи между упомянутыми функциональны­ми блоками. Таким образом, введен в рассмотрение некоторый учебный процессор, или микропроцессор [84].

Примем для данного процессора двухбайтный одноадресный формат команды, показанный на рис. 9.19, 6. Команда размеща­ется в двух последовательных ячейках ОП.

Реализуем в процессоре следующий набор машинных команд [А — адрес 8-битной ячейки ОП, (А) — содержимое ячейки]: Наименование команды Описание команды

Сложение Вычитание Загрузка Запоминание Безусловный переход Условный переход

Акк : =Акк+(А)

Акк : = Акк —(А)

Акк : = (Л)

(>4): = Акк

Передача управления по адресу А Переход по адресу А, если Акк = 0. Сохранение естественного порядка выборки команд, если Акк Ф О Приведенные команды реализуются в принятой структуре процессора с помощью, например, следующего набора микро­операций.

  1. РгИОП = PeZ;l Микрооперации межрегистровых пере-

  2. РгАОП = PsZ\ / дач (PsZ — любой регистр из блока ре-

  3. PaZ = РгИОП; J гистров)

PeZ = Акк PeZ = РгА К P2Z = РгВрХр РгИОП = 0/7 [РгАОП];

4.

5.

6.

7.

  1. 9.

10.

11.

12.

13.

14.

15.

U

Микрооперации управления коммутато­ром выбора регистра в блоке регистров

Микрооперации чтения и запи­си в ОП

Микрооперации в АЛУ (PaZ — любой регистр из блока регистров)

Микрооперации формирования ад­реса следующей микрокоманды

ОП [РгАОП] = РгИОП; }

Акк =Akk + P2Z\

Акк =Akk — P2Z\

Акк = PaZ;

PzZ = Л/с/с;

Акк : = PaZ + 1;

РгАМк : = РгЛМ/с+ 1;

РгАМк = РгИОП { в РгИОП пер­вый байт команды — код операции); или

РгАМк = результат дешифрации КОп в РгИОП;

  1. РгАМк = Константа (в РгАМк передается содержимое из следую­щей по порядку ячейки УП);

  2. если Лк/с=0, то

РгАМк : = РгАМк + 2 иначе РгАМк = РгАМк+\;

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

Перейдем к составлению микропрограмм отдельных проце­дур и операций. Выполнение любой команды начинается с про­цедуры выборки команды из ОП по адресу, находящемуся в РгАК• Представим эту общую для всех команд процедуру в виде отдельной микропрограммы.

Микропрограмма процедуры выборки команды Адрес УП

  1. РгАОП = РгАК (загрузка адреса команды в РгАОП);

  2. РгИОП = ОП [РгАОП] (чтение КОп (первого байта) команды в РгИОП);

  3. РгВрХр : = Акк (сохранение содержимого Акк);

  4. Акк : = РгЛ/С+1 (формирование адреса второго байта команды);

  5. РгАК : = Акк (передача адреса второго байта команды в РгАК);

  6. Акк : = РгВрХр (восстановление содержимого Акк);

  7. РгАМк : = результат дешифрации КОп в РгИОП (фор­мирование в РгАМк начального адреса в УП микропро­граммы операции, соответствующей КОп команды);



О I О *0 \ о * о * о \

Микрокоманды регистровых передан РгИ0П:=Рг1

0.0.0

О1 I

Рг1:=РгМ0П

ototo

Выбор Рг

о I о

О I о

I и 1

РгА0П:=Рг1

Микрокоманды операций в ОП Чтение

Запись

о . о

О , О . 7 I о . о

Микрокоманды АЛУ Akk:=Akk+PzZ

о , о , о I Г

I / L-

Акк:=Акк-Рг2

Оо ■ М

от

AKKi=PeZ

JL-'-JL

тт

Рг Z:=Akk

Акк:=Рг1+7