Скачиваний:
19
Добавлен:
02.04.2023
Размер:
1.65 Mб
Скачать

2.2. Описание управляющей части

Работа схемы начинается с заполнения ОП (все значения подаются из PatternGenerator’ов). Первые два PatternGenerator’а отвечают за заполнение ОП первоначальными данными. Оставшиеся два отвечают за выборку команд, первого и второго операндов, и номер ячейки ОП, в которую будет помещен результат.

Команды AND и BTC выполняются за 6 тактов. На первом такте происходит выборка команды. На втором выбор первого операнда и запись его значения в регистр RX. На третьем происходит выбор второго операнда и сохранение его в регистр RY, а также формируется результат операции. На 4 такте назначается номер ячейки оперативной памяти, в которую должен быть сохранен результат. За 5 и 6 такты происходит запись в ОП.

Команда ROL выполняется минимум в 6 тактов. На первом такте происходит выборка самой команды. На втором выбор первого операнда и запись его значения в регистр RX. На третьем происходит выбор второго операнда и сохранение его в регистр RY. На 4 такте назначается номер регистра, в который должен быть сохранен результат. В следующих такте происходит формирование результата и его запись в ОП. Каждый дополнительный сдвиг увеличивает время выполнения операции на два такта.

В схеме также присутствует два параллельных регистра, в которые под действием управляющих сигналов заносятся операнды, которые участвуют в выполнении команды.

Двенадцать мультиплексоров в управляющей части отвечают за направление выбранных операндов в заданный блок операции, что позволяет формировать результат в соответствии с командой.

Управляющая часть представлена на рисунке 53.

Рисунок 53 – Управляющая часть

3. Технологическая часть

3.1. Принцип управления

Для работы со схемой необходимо выбрать команду, первый и второй операнд, и регистр, в который нужно поместить результат. Совершается это посредством подачи управляющих сигналов из двух последних PatternGenerator’ов. Схема выполняет три команды: ROL, AND и BTC. Все команды, а также номер ячейки для сохранения заносятся в управляющие регистры.

Команды ROL, AND и BTC состоят из четырех частей. Первые два бита – это номер операции. Последующие три битов – это номер регистра, значение которого выступает первым операндом. Последние три бита – номер регистра второго операнда. Все эти биты заполняются в первой командном PatternGenerator’е. Первые три бита второго PatternGenerator’а – это номер регистра, в который будет записан результат выполнения операции.

Ниже приведены таблицы правил заполнения командных PatternGenerator’ов. Все данные заносятся сверху-вниз.

Первый PatternGenerator:

Таблица 35 – Выбор команды

Биты

Команда

01XXXXXX

ROL

10XXXXXX

XCHG

11XXXXXX

BTC

Таблица 36 – Выбор первого операнда

Биты

Номера ячеек

XX001ХXX

Первый

XX010ХXX

Второй

XX011ХXX

Третий

XX100ХXX

Четвертый

XX101ХXX

Пятый

XX110ХXX

Шестой

Таблица 37 – Выбор второго операнда

Биты

Номера ячеек

ХXXXX001

Первый

ХXXXX010

Второй

ХXXXX011

Третий

ХXXXX100

Четвертый

XХXXX101

Пятый

ХXXXX110

Шестой

Второй PatternGenerator:

Таблица 38 – Выбор ячейки сохранения

Биты

Номера ячеек

001ХXXXX

Первая

010ХXXXX

Вторая

011ХXXXX

Третья

100ХXXXX

Четвертая

101XХXXX

Пятая

110ХXXXX

Шестая

Приведем пример работы схемы, заполним регистры данных:

Таблица 39 – Содержимое регистров данных

Номер регистра

Содержимое

1

00000010

2

00001100

3

00000011

4

00000100

5

00000101

6

00000110

На рисунках 36, 37 показано заполнение четырех команд:

1

2

3

Соседние файлы в папке Курсовая АСВТ