logo
Отчёт_Курсач

1 Структура цву

Выполним развернутый анализ задания и примем решения, определяющие структуру ЦВУ.

Под запись числа без знака отводятся 16 разрядов. Примем, что оперативная память ЦВУ имеет емкость 64 16-разрядных ячеек, тогда каждое число занимает одну ячейку ОЗУ.

Примем, что ЦВУ будет выполнять операции по одноадресной команде.

В таком случае для работы ЦВУ также необходимы следующие команды:

- mov w,ram загрузка операнда в аккумулятор из ОЗУ, адресация прямая;

- mov w,ron pзагрузка операнда в аккумулятор из РОН, адресация регистровая;

- mov ram(Adr), w– сохранение результата в ОЗУ, адресация прямая;

- mov ron(Adr), w – сохранение результата в РОН, адресация регистровая;

- END – завершение выполнения программы. При этом обнуляется значение программного счетчика.

Все команды (кроме END) одноадресные. Каждая команда имеет формат 12-разрядного слова (таблица 1) и занимает одну ячейку ПЗУ программ. Память программ имеет емкость 256 12-разрядных ячеек.

Таблица 1

Команда

Адресация

Код операции

W<-

Прямая

0000aaaaaaaa

Регистровая

0001 aaaaaaaa

CMP

Прямая

0010aaaaaaaa

Регистровая

0011 aaaaaaaa

SBB

Прямая

0100aaaaaaaa

Регистровая

0101 aaaaaaaa

SWAP

Прямая

0110aaaaaaaa

Регистровая

0111 aaaaaaaa

RAM<-W

Прямая

1010aaaaaaaa

RON<-W

Регистровая

1000aaaaaaaa

JZ

Прямая

1110 aaaaaaaa

END

xxxxx

1111xxxxxxxх

Таким образом, ЦВУ должно включать следующие функциональные блоки и узлы:

- ОЗУ данных 64 х 16;

- ПЗУ программ 256 х 12;

- программный счетчик (8 разрядов);

- АЛУ (16 разрядов, 4 команды);

- управляющий автомат;

- регистр общего назначения(4 регистра, 16 разрядов);

- аккумулятор (16 разрядов);

- мультиплексор 2->1 (16 разрядов);

Для построения ЦВУ используем гарвардскую архитектуру с раздельными адресными пространствами памяти данных и программ, а также ОЗУ с раздельными входами и выходами данных. Таким образом, интерфейс в ЦВУ будет выполнен независимыми линиями связи.

Реализуем ЦВУ на ПЛИС. Это позволит устранить жесткость задания микропрограмм. Устройство управления реализуем в форме автомата Мура.

Схема ЦВУ, построенная в соответствии с принятыми решениями, приведена в приложении А. Адрес AdrROM выбираемой из ПЗУ команды определяется содержимым программного счетчика Ctr. Четыре старших разряда считанного слова COP[3..0] представляют код текущей операции. Код операции анализируется управляющим автоматом (CO) и определяет выполняемую операцию. Восемь младших разрядов слова DROM[7..0] при выполнении вычислений (в случае прямой адресации) определяют адрес AdrRAM ячейки памяти данных, или номер регистра общего назначения (в случае регистровой адресации) . Вычисления выполняет ALU. Память данных имеет раздельные шины входа и выхода данных. Операнды извлекаются из памяти данных по шине DRAM, результаты вычислений поступают по шине W. На триггерах OVF и ZF формируются признаки переполнения разрядной сетки и получения нулевого результата (см. приложение А).

Управляющий автомат СО анализирует разряды COP и вырабатывает последовательность микрокоманд Y, управляющих работой узлов и блоков ЦВУ. Микропрограмма СО приведена на рисунке 1.

Рисунок 1 – Микропрограмма СО

В начале главного цикла микропрограммы выполняется проверка нажатия клавиши ctrl_bt. В следующем такте выполняется инкремент программного счетчика Inc(AdrROM) – подготовка к выборке следующей команды.

Анализируются разряды COP[3..1], которые определяют вид текущей операции.

Фаза исполнения команд занимает три такта.