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

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– Непосредственная адресация (Оiсодержит непосредственно данные);

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

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

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

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

Поле А1при непосредственной адресации называетсяО1, так как содержит не адрес, анепосредственносам операнд.

Рис. 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