- •Федеральное агентство по образованию
- •1.3. Исходные данные для курсового проектирования
- •1.4. Средства реализации модели
- •1.5. Результаты проектирования
- •2. Разработка архитектуры цп
- •2.1. Уточнение структуры системы
- •2.2. Архитектура внешних выводов
- •2.3. Выбор форматов данных
- •2.4. Определение модели памяти и структуры регистровой памяти
- •2.5. Выбор форматов команд
- •2.6. Разработка системы команд
- •2.7.Внутренняя организация
- •2.8. Основные алгоритмы функционирования
- •2.9. Алгоритмы выполнения отдельных операций.
- •2.10. Алгоритмы выполнения операций на шине.
- •3. Программный симулятор процессора
- •3.1. Руководство оператора
2. Разработка архитектуры цп
2.1. Уточнение структуры системы
Разрабатываемый процессор предназначен для использования в качестве встроенного процессора.
Обобщенная структура процессора, соответствующая гарвардской архитектуре, приведена на рис. 1. Она представляет собой одноплатную ЭВМ, предназначенную для встроенных применений. На плате размещаются: ЦП, память данных, счетчик-таймер, адаптер интерфейса. Кроме того, на плате могут размещаться вспомогательные схемы и интерфейсные схемы для подключения внешних устройств (на рис. 1 эти схемы не показаны).
Разрабатываемая плата не имеет собственной дисковой памяти, дисплея и клавиатур. Предполагается, что разработка и отладка программного обеспепечения осуществляются на инструментальной машине с использованием кросс-систем программирования. В качестве инструментальной машины может использоваться, например рабочая станция, имеющая в своем составе дисплей, клавиатуру, дисковую память и т. п.
Рис.1
2.2. Архитектура внешних выводов
Рис. 2
AD– совмещенная 64-разрядная шина адрес/данные;
ALE– сигнал для фиксации адреса на внешнем регистре-защелке;
HLD– сигнал запроса на захват шины;
HLDA– сигнал подтверждения запроса на захват шины;
INT– сигнал запроса на прерывание;
INTA– сигнал подтверждения запроса на прерывание;
RD– сигнал, означающий чтение данных с шины;
WR– сигнал, означающий запись данных (выставление данных на шину);
BHE– разрешение записи старшего байта;
IN– сигнал чтения из порта;
OUT– сигнал записи в порт;
FRAME– сигнал режима пакетного обмена данными между ОП и кэшем;
+5V– питание;
RESET– сброс;
CLC– тактовый сигнал.
2.3. Выбор форматов данных
На рис. 3 показаны основные используемые типы данных.
Рис. 3
Байт
Полуслово
(Без
знака)
(Со
знаком)
7
0
15
0
2.4. Определение модели памяти и структуры регистровой памяти
RG0 |
RG1 |
R
NI NIA MAR |
R
CI CIA MDR |
R
PC |
R
PCI |
RG6 |
R
T Z S O C I T Z S O C I |
В структуре, приведенной на рис. 7, регистровая память включает:
- восемь 16-разрядных РОН;
- 16-разрядный счетчик команд (PC–ProgramCounter);
- 2 32-разрядных регистра CIиNI(CurrentInstructionиNextInstruction) для хранения текущей (выполняемой на данный момент) команды и следующей команды. Эти два регистра образуют очередь команд из двух мест;
- 2 16-разрядных регистра CIAиNIA, содержащих адреса команд, находящихся вCIиNIсоответственно. Их назначение будет более подробно описано в разделе «Внутренняя организация».
- 16-разрядный регистр MAR и 64-разрядный MDR (Memory Address Register, Memory Data Register). Служат для взаимодействия с памятью. ВMARзаписывается адрес для чтения/записи, а вMDR– данные для записи в память или данные, полученные при чтении из нее. Содержимое этих регистров выставляется на шину адреса/данных.
- 2 6-разрядных регистра флагов (один нужен для сохранения флагов при прерывании)
- 16-разрядный регистр PCIдля хранения адреса команды, выполнение которой было прервано при прерывании.
Разрядность регистра PCи регистровNIAиCIAвыбрана в связи с размером памяти команд, равным 64 кб = 2^6 * 2^10 = 2^16 байт. Следовательно, для адресации памяти команд необходимо 16 бит.
Регистр флагов содержит семь флагов, которые используются следующим образом:
Z – признак нулевого результата;
С – признак переноса из старшего разряда;
S – знак результата;
O – признак переполнения результата;
I – разрешение прерывания;
T– пошаговый режим.