Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по практике ЭВМ и ПУ.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
12 Мб
Скачать
☆

8.2.2.3 Решение задачи.

Рассмотрим пример составления микропрограммы выполнения команды.

Задача. Написать микропрограмму выполнения команды 1А56(4444), которая хранится по адресу А524, при этом используется относительная адресация. Считается, что поле РОН и НРБА совпадают и в заданном РБА хранится значение 17(10).

Решение.

Прежде чем составлять микропрограмму необходимо описать логику команды и нарисовать ее формат. Команда задана в коде 4444. Преобразуем в двоичную последовательность: 0001 1010 0101 0110. Так как старший бит команды равен 0, значит команда однословная. Используя формат команды, который представлен на рисунке 2, нарисуем формат команды (рисунок 16).

Теперь можно описать логику команды. По полю КОП можно определить, что выполняется операция «конъюнкция» (логическое умножение). Следовательно, для выполнения необходимо два операнда. Первый операнд находиться в РОНе 6 (определяем по полю НРБА\РОН). Т. к. адресация относительная, то исполнительный адрес находиться по формуле: ИА = РБА + СМЕЩЕНИЕ. В РБА 6 (в соответствии с полем НРБА\РОН) хранится значение 17 (по условию). В поле смещение хранится значение: 010101110. В десятичной системе это число 86. Следовательно, исполнительный адрес будет равен 103(10). Значит, второй операнд хранится в ячейке памяти 103. Результат выполнения операции будет записываться в ЯП с адресом 103, т. к. поле ПЗ имеет значение 10. Если бы значение этого поля было равно 01, то результат записывался бы в РОН 6. При этом, из РР результат выставляется на шину данных, после чего он бы записался в РОН 6.

Рисунок 15  Алгоритм выполнения команды обработки данных

КОП НРБА\РОН ПЗ СМЕЩЕНИЕ\АДРЕС

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0 0 0

1 1 0

1 0

0 1 0 1 0 1 1 0

Рисунок 16  Формат команды

Теперь, используя описанную логику выполнения команды, можно нарисовать написать микропрограмму выполнения команды (рисунок 17). В такты с У1 – У9 осуществляется выборка команды. После этого, происходит анализ старшего бита. Т. к. старший бит равен 0, то дальше идет выборка операндов. Если бит F = 1, то началась бы выборка второго слова, аналогично выборке первого слова, только оно бы записалось в РК2. В такты с У10 – У15 происходит вычисление исполнительного адреса. Затем, в тактах с У16 – У27 идет выборка операндов, над которыми будет выполняться операция конъюнкция. В тактах У28 – У29 идет выполнение операции над операндами. В тактах У30 – У32 идет запись результата выполнения операции.

8.2.2.4 Выполнение однословной команды пересылки.

Команда пересылки предусматривает выборку операнда из памяти и записи его в РОН или на оборот.

Порядок выполнения команды заключается в следующем. После выборки команды из памяти, в РК1 записана команда, формат которой показанный на рисунке 2, с кодом поля КОП = 010, либо 1-е слово команды, формат которой представлен на рисунке 5. После анализируется поле направления или поля признака засылки. Если определено, что пересылка ведется из регистра в память, то после формирования исполнительного адреса (адреса ячейки памяти, в которую будет записан операнд), данные из соответствующего регистра выставляются на шину данных, после чего они записываются в БИРзп. Далее данные записываются в ячейку памяти, адрес которой соответствует сформированному исполнительному адресу.

У1 – У9 – такты выборки команды. Если команда двухсловная, то идет выборка второго слова.

У10 – У14 – идет формирование исполнительного адреса, если используется относительная адресация. Если адресация прямая, то исполнительный адрес указывается в поле адреса. Тогда эти такты не потребуются.

У15(У10) РОН -> ШД – содержимое РОНа, выставляется на шину данных.

У16(У11) БИРзп := ШД – содержимое шины данных записывается в БИРзп.

У17(У12) <j>:=БИРзп – содержимое БИРзп переписывается в ячейку памяти.

Рисунок 17  Микропрограмма выполнения команды 1А56(4444)

В скобках указаны номера тактов, при прямой адресации.

Если определено, что пересылка ведется из памяти в регистр, то сначала считываются данные из ячейки памяти, адрес которой соответствует исполнительному адресу, потом они через БИРчт выставляются на шину данных и записываются в РОН, номер которого указан в команде.

У1 – У9 – такты выборки команды.

У10 – У14 – формирование исполнительного адреса при относительной адресации.

У15 <ПР> ->ША – содержимое ПР выставить на ША.

У16 РА:=ША – записать в РА адрес с ША (исполнительный адрес).

У17 чт – сигнал, определяющий тип обращения к ЗУ (чтение).

У18 БИРчт:=<j> - содержимое ячейки, адрес который указан в РА, записать в БИРчт.

У19 <БИРчт> -> ШД – содержимое БИРчт выставить на ШД.

У20 РОН:= ШД – записать в РОН содержимое шины данных.

Приведенная микропрограмма используется при относительной адресации. Если же используется прямая адресация, то микропрограмма будет выглядеть следующим образом:

У1 – У9 – такты выборки команды.

У10 РК1(2)->ШД – содержимое регистра команд 1 (если команда однословная) или регистра команд 2 (если команда двухсловная) выставить на шину данных.

У11 ПР:=ШД – в промежуточный регистр выставить содержимое шины данных.

У15 <ПР> ->ША – содержимое ПР выставить на ША.

У16 РА:=ША – записать в РА адрес с ША (исполнительный адрес).

У17 чт – сигнал, определяющий тип обращения к ЗУ (чтение).

У18 БИРчт:=<j> - содержимое ячейки, адрес который указан в РА, записать в БИРчт.

У19 <БИРчт> -> ШД – содержимое БИРчт выставить на ШД.

У20 РОН:= ШД – записать в РОН содержимое шины данных.

Алгоритм выполнения команды ПРС представлен на рисунке 18.