Скачиваний:
9
Добавлен:
03.06.2014
Размер:
200.19 Кб
Скачать

2.2. Разработка архитектуры цп

2.2.1. Уточнение структуры системы

Разрабатываемый процессор предназначен для использования в качестве встроенного процессора.

Обобщенная структура процессора, соответствующая гарвардской архитектуре, приведена на рис. 1. Она представляет собой одноплатную ЭВМ, предназначенную для встроенных применений. На плате размещаются: ЦП, память данных, счетчик-таймер, адаптер интерфейса. Кроме того, на плате могут размещаться вспомогательные схемы и интерфейсные схемы для подключения внешних устройств (на рис. 1 эти схемы не показаны).

Разрабатываемая плата не имеет собственной дисковой памяти, дисплея и клавиатур. Предполагается, что разработка и отладка программного обеспепечения осуществляются на инструментальной машине с использованием кросс-систем программирования. В качестве инструментальной машины может использоваться, например рабочая станция, имеющая в своем составе дисплей, клавиатуру, дисковую память и т. п.

Рис. 1. Обобщённая структура процессора.

2.2.2. Архитектура внешних выводов

Архитектура представлена на рис. 1.

Рис. 1. Внешние выводы процессора и сопроцессора.

AD– совмещенная 32-разрядная шина адрес/данные;

ALE– сигнал, означающий, что находится в данный момент на шине А/Д: адрес или данные;

HLD– сигнал запроса на захват шины;

HLDA– сигнал подтверждения запроса на захват шины;

INT– сигнал запроса на прерывание;

INTA– сигнал подтверждения запроса на прерывание;

READ– сигнал чтения данных, выставленных на шину;

WRITE– сигнал записи (выставления) данных на шину;

BHE– разрешение записи старшего байта, задают выполняемую на шине операцию;

IN– сигнал чтения из порта;

OUT– сигнал записи в порт;

FRAME– сигнал режима пакетного обмена данными между ОП и кэшем, появление данного сигнала на шине означает начало транзакции, а снятие – указывает на то, что следующий цикл передачи данных на шине является последним.

RESET– сброс;

WAIT– ожидание данных от сопроцессора;

CLC– синхронизация;

FPBUSY– сопроцессор занят;

FPINT – ошибочная ситуация.

2.2.3. Выбор форматов данных

Рис. 2. основные используемые типы данных

Целые числа могут занимать слово или двойное слово. Они могут быть знаковыми и беззнаковыми. В знаковых целых самый старший бит отводится для индикации знака числа. Нуль соответствует плюсу, единица — минусу. Таким образом, возможный диапазон представляемых значений для знаковых целых составляет: от –215 до 215 для слов, от –231 до 231 для двойных слов. Беззнаковые целые могут принимать значения: от 0 до 216-1 для слов, от 0 до 232-1 для двойных слов.

2.2.4. Выбор формата команд

В соответствии с техническим заданием, команды должны быть трёхадресными. Код операции (КОП) всегда занимает 6 бит, максимальное число команд равняется 64 (26 = 64).

В соответствии с техническим заданием, команды должны быть трёхадресными. Код операции (КОП) всегда занимает 6 бит, максимальное число команд равняется 64 (26= 64).

Поддерживаются 3 вида адресации: непосредственная(Н),прямая(П) иотносительная(О).

В зависимости от типа адресации варьируется формат команды, однако последние 16 бит команды всегда имеют одинаковый формат.

Важно отметить что команды считываются по 16 бит начиная с последних16 бит.

Непосредственно можно передать лишь один операнд, а именно - первый. Такое ограничение продиктовано самим смыслом использования операций. Вне зависимости от размера данных, при непосредственной адресации первый операнд А1 всегда занимает 32 бита.

В случае прямой или относительной адресации формат команды выглядит так, как показано на рис. 3. Так как это наиболее общий формат, то рассмотрим на нём назначения тех или иных полей:

Рис. 3. Формат команды при прямой адресации.

Последние 6 бит – всегда содержат КОП. В каждом двухразрядном полеПiхранится способ адресации для соответствующего адресного поляАi:

0x1– Непосредственная адресация (Aiсодержит непосредственно данные);

0x2– Прямая адресация (Aiсодержит адрес ячейки с данными);

0x3– Относительная адресация (Aiсодержит адрес, прибавляемый к значению, хранящемся в регистре, указанном в полеИ);

0x0– Поле не используется (означает, что Аiне используется).

Адресные поля А1,А2иА3используются для хранения 1-го, 2-го и 3-го операндов. Фактически, полеA3, является результатом действия над и/или с использованием операндовA1иA2.ПолеХслужит для указания формата данных (32 или 16 бит). Однобитовое полеИ задаёт один из двух возможных регистров при относительной адресации.

Рис. 4. Формат команды при прямой адресации и одном операнде.

Для удобства, обозначим команды по значениям полей Пi, т.е. в данном случае команда будет иметь формат “1.0.0”, а в предыдущем – «2.2.2».

Для таких команд, как INT5 предусмотрен формат «1.0.0» (рис. 4), для таких, какMOV5,AHпредусмотрен формат «1.2.0» (рис. 5).

Рис. 5. Формат команды при прямой адресации и одном операнде.

Команды типа RETне имеют операндов вообще (рис. 6).

Рис. 6. Формат команды, не имеющей операндов.

Как видно из формата, первые 4 бита здесь вообще не используются, тем не менее, вся команда умещается в 16 бит, что позволяет считать всю команду за один цикл.

Рассмотрим ещё два формата – с двумя операндами и с одним при прямой или относительной адресации.

Рис. 7. Формат команды с двумя операндами при относительной или прямой адресации.

Формат, изображённый на рис. 7 одинаково подходит как для прямой, так и для относительной адресации. Различие – лишь в значениях полей Пi: «2.2.0» – прямая адресация, «3.3.0» – относительная, «2.3.0» и «3.2.0» - прямая и относительная вместе.

Рис. 8. Формат команды с одним операндом при относительной или прямой адресации.

Как и в предыдущем случае, формат, изображённый на рис. 8 одинаково подходит как для прямой, так и для относительной адресации. Различие – лишь в значениях полей Пi: «2.0.0» – прямая адресация, «3.0.0» – относительная.

Аналогичные выводы можно сделать и для рис. 3.

Соседние файлы в папке Обновление для Пузанкова #6