- •1. Техническое задание
- •1.1. Предмет проектирования
- •1.2. Общие требования
- •1.3. Исходные данные
- •2. Разработка архитектуры цп
- •2.1. Уточнение структуры системы
- •2.2. Архитектура внешних выводов
- •2.3. Выбор форматов данных
- •2.4. Выбор формата команд
- •2.5. Определение модели памяти
- •2.6. Разработка системы команд
- •2.7. Внутренняя организация
- •2.8 Структура кэш-памяти
- •Кэш команд
- •Кэш данных
- •2.9 Структурно-функциональная схема процессора
2. Разработка архитектуры цп
2.1. Уточнение структуры системы
Разрабатываемый процессор предназначен для использования в качестве встроенного процессора.
Обобщенная структура процессора, соответствующая гарвардской архитектуре, приведена на рис. 1. Она представляет собой одноплатную ЭВМ, предназначенную для встроенных применений. На плате размещаются: ЦП, память данных, счетчик-таймер, адаптер интерфейса. Кроме того, на плате могут размещаться вспомогательные схемы и интерфейсные схемы для подключения внешних устройств (на рис. 1 эти схемы не показаны).
Разрабатываемая плата не имеет собственной дисковой памяти, дисплея и клавиатур. Предполагается, что разработка и отладка программного обеспепечения осуществляются на инструментальной машине с использованием кросс-систем программирования. В качестве инструментальной машины может использоваться, например рабочая станция, имеющая в своем составе дисплей, клавиатуру, дисковую память и т. п.
Рис. 1. Обобщённая структура процессора.
2.2. Архитектура внешних выводов
Архитектура представлена на рис. 1.
Рис. 1. Внешние выводы процессора и сопроцессора.
AD– совмещенная 32-разрядная шина адрес/данные;
ALE– сигнал, означающий, что находится в данный момент на шине А/Д: адрес или данные;
HLD– сигнал запроса на захват шины;
HLDA– сигнал подтверждения запроса на захват шины;
INT– сигнал запроса на прерывание;
INTA– сигнал подтверждения запроса на прерывание;
READ– сигнал чтения данных, выставленных на шину;
WRITE– сигнал записи (выставления) данных на шину;
BHE– разрешение записи старшего байта, задают выполняемую на шине операцию;
IN– сигнал чтения из порта;
OUT– сигнал записи в порт;
FRAME– сигнал режима пакетного обмена данными между ОП и кэшем, появление данного сигнала на шине означает начало транзакции, а снятие – указывает на то, что следующий цикл передачи данных на шине является последним.
RESET– сброс;
WAIT– ожидание данных от сопроцессора;
CLC– синхронизация;
FPBUSY– сопроцессор занят;
FPINT– ошибочная ситуация.
2.3. Выбор форматов данных
Рис. 2. основные используемые типы данных
Целые числа могут занимать слово или двойное слово. Они могут быть знаковыми и беззнаковыми. В знаковых целых самый старший бит отводится для индикации знака числа. Нуль соответствует плюсу, единица — минусу. Таким образом, возможный диапазон представляемых значений для знаковых целых составляет: от –215 до 215 для слов, от –231 до 231 для двойных слов. Беззнаковые целые могут принимать значения: от 0 до 216-1 для слов, от 0 до 232-1 для двойных слов.
2.4. Выбор формата команд
В соответствии с техническим заданием, команды должны быть трёхадресными. Код операции (КОП) всегда занимает 6 бит, максимальное число команд равняется 64 (26 = 64).
В соответствии с техническим заданием, команды должны быть трёхадресными. Код операции (КОП) всегда занимает 6 бит, максимальное число команд равняется 64 (26= 64).
Поддерживаются 3 вида адресации: непосредственная(Н),прямая(П) иотносительная(О).
В зависимости от типа адресации варьируется формат команды, однако последние 16 бит команды всегда имеют одинаковый формат.
Важно отметить что команды считываются по 16 бит начиная с последних16 бит.
Рис. 3. Форматы команды
Последние 6 бит – всегда содержат КОП. В каждом двухразрядном полеПiхранится способ адресации для соответствующего адресного поляАi:
0x1– Непосредственная адресация (Оiсодержит непосредственно данные);
0x2– Прямая адресация (Aiсодержит адрес ячейки с данными);
0x3– Относительная адресация (Рiсодержит адрес, прибавляемый к значению, хранящемся в регистре, указанном в полеИ);
0x0– Поле не используется (означает, что Аiне используется).
Адресные поля А1,А2иА3используются для хранения 1-го, 2-го и 3-го операндов. Фактически, полеA3, является результатом действия над и/или с использованием операндовA1иA2. ПолеХiслужит для указания формата данных (32, если 1, иначе - 16 бит).
Поле И задаёт регистр со смещением, используемый при относительной адресации. В случае команд «А-1» и «О-2» поля И нет, поэтому смещение хранится в жёстко заданном регистре.
Непосредственно можно передать лишь один операнд, а именно – О2. Такое ограничение продиктовано самим смыслом использования операций. Вне зависимости от размера данных, при непосредственной адресации операндО2всегда занимает 32 бита.
Случай с двумя операндами-регистрами (условно А-2) рассматривается как частный случай формата А-3, в котором поле А3 не используется.
Случай без операндов (условно А-0) аналогично рассматривается как частный случай формата А-1, без полей Х1 и А1.