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], которые определяют вид текущей операции.
Фаза исполнения команд занимает три такта.
- Курсовой проект
- Задание на курсовой проект
- Аннотация
- Содержание
- 1 Структура цву
- 2 Алгоритм алу
- 3 Разработка основных функциональных блоков и узлов
- 4 Функциональная схема операционного автомата
- 5 Разработка управляющего автомата
- 6 Компиляция и верификация проекта в среде Quartus II
- Приложение в (справочное) ahdl-описание цву