- •Федеральное агентство по образованию
- •Исходные данные для курсового проектирования
- •Результаты проектирования
- •Последовательность выполнения курсового проекта Общая последовательность
- •Уточнение структуры системы
- •Разработка архитектуры внешних выводов
- •Выбор форматов данных
- •Выбор форматов команд
- •Разработка системы команд
- •Внутренняя организация
- •5.Разработка алгоритмов выполнения основных операций на шине
- •5.1Чтение и запись слова в зу
- •5.2 Обработка прерывания
- •5.3 Обработка захвата шины
- •6.Uml диаграммы.
Последовательность выполнения курсового проекта Общая последовательность
Выполнение проекта осуществляется в следующем порядке:
1. Разработка архитектуры ЦП.
2. Разработка программной модели.
3. Разработка документации на программный проект.
4. Оформление отчета.
Уточнение структуры системы
Рис. 1
Обобщенная структура процессора, соответствующая гарвардской архитектуре, приведена на рис. 1. Она представляет собой одноплатную ЭВМ, предназначенную для встроенных применений. На плате размещаются: ЦП, память данных, счетчик-таймер, адаптер интерфейса. Кроме того, на плате могут размещаться вспомогательные схемы и интерфейсные схемы для подключения внешних устройств (на рис. 2 эти схемы не показаны).
Разрабатываемая плата не имеет собственной дисковой памяти, дисплея и клавиатур. Предполагается, что разработка и отладка программного обеспепечения осуществляются на инструментальной машине с использованием кросс-систем программирования. В качестве инструментальной машины может использоваться, например рабочая станция, имеющая в своем составе дисплей, клавиатуру, дисковую память и т. п.
Разработка архитектуры внешних выводов
Для разрабатываемого процессора выбираем стандартный корпус с 132 выводами.
Frame
BHE
OUT
RD
INTA
WR
INT
HLDA
HLD
ALE
64
AD
CPU
+5V
Reset
CLC
Рис. 2
Процессор (рис. 2) имеет совмещенную шину адреса и данных (AD), разрядностью 64. Сигнал ALE используется для фиксации адреса на внешнем регистре-защелке, а пара сигналов HLD и HLDA – для реализации механизма захвата шины. Сигналы INT и INTA являются сигналами запроса и подтверждения прерывания. Если на корпусе имеется достаточное число свободных выводов, то целесообразно ввести несколько уровней запроса на прерывание. Линии RD (Чтение), WR (Запись), IN (Ввод), OUT (Вывод), BHE (Разрешение записи старшего байта) задают выполняемую на шине операцию. Линия FRAME используется для организации режима пакетного обмена между ОЗУ и внутренними кэшами. Появление данного сигнала на шине означает начало транзакции, а снятие – указывает на то, что следующий цикл передачи данных на шине является последним. Оставшиеся выводы используем для дублирования питания и заземления.
Выбор форматов данных
Разрабатываемый процессор, в соответствии с техническим заданием, работает с двумя форматами данных: байт и слово (см. рис. 2, 2.1).
Числа с фиксированной
точкой представляют собой целые со
знаком (рис.2) или без него (рис. 2.1). 6 0 S Байт 7 14 0 S Слово 15
Рис. 2
7 0 15 0
Байт
Рис. 2.1
Слово
Адреса представляются в виде целых чисел без знака.
Определение модели памяти и структуры регистровой памяти
В соответствии с техническим заданием необходимо реализовать 64 шестнадцати разрядных регистра общего назначения. Каждому регистру условно присвоено имя R0 – R63.
R0
R1
.
.
R62
R63
15
0
6
0
Flags
FlagsI
РС
13
0
PCI
13
0
CI
NI
CIA
NIA
MDR
MAR
63
0
1333
7
16
0
63
0
Регистровая память включает:
- восемь 16-разрядных РОН;
- 14-разрядный счетчик команд (PC – Program Counter);
- 2 64-разрядных регистра CI и NI (Current Instruction и Next Instruction) для хранения текущей (выполняемой на данный момент) команды и следующей команды. Эти два регистра образуют очередь команд из двух мест;
- 2 14-разрядных регистра CIA и NIA, содержащих адреса команд, находящихся в CI и NI соответственно.
- 17-разрядный регистр MAR и 64-разрядный MDR (Memory Address Register, Memory Data Register). Служат для взаимодействия с памятью. В MAR записывается адрес для чтения/записи, а в MDR – данные для записи в память или данные, полученные при чтении из нее. Содержимое этих регистров выставляется на шину адреса/данных.
- 2 6-разрядных регистра флагов (один нужен для сохранения флагов при прерывании)
- 14-разрядный регистр PCI для хранения адреса команды, выполнение которой было прервано при прерывании.
Разрядность регистра PC и регистров NIA и CIA выбрана в связи с размером памяти команд, равным 16 кб = 2^4 * 2^10 = 2^14 байт. Следовательно, для адресации памяти команд необходимо 14 бит.
Регистр флагов содержит семь флагов, которые используются следующим образом:
Z – признак нулевого результата;
С – признак переноса из старшего разряда;
S – знак результата;
O – признак переполнения результата;
I – разрешение прерывания;
T – пошаговый режим.