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

Оглавление

1. Техническое задание 2

1.1. Предмет проектирования 2

1.2. Общие требования 2

1.3. Исходные данные 3

2.2. Разработка архитектуры ЦП 5

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

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

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

2.2.5. Выбор форматов команд 8

1. Техническое задание

1.1. Предмет проектирования

Разработка программной модели однокристального RISC-процессора.

Проектируется процессор для встроенных применений (контроллер).

1.2. Общие требования

Система команд должна удовлетворять следующим требованиям.

1.  Операции обращения к памяти отделены от операций, связанных с обработкой данных.

2.  Операции, связанные с преобразованием данных, выполняются по принципу регистр-регистр.

3.  Аппаратно поддерживаются операции над целыми числами со знаком и без знака, а также над числами, представленными в формате с плавающей точкой (ПТ).

4.  Система команд должна быть функционально полной и включать команды общего назначения, команды для обработки чисел с ПТ и привилегированные команды.

5. Процессор должен иметь векторную систему прерываний.

6. Процессоры должны иметь встроенную кэш-память.

Программная модель представляет собой симулятор, реализованный на языке C++, который должен удовлетворять следующим требованиям:

1. Отображать содержимое регистров общего назначения, системных регистров и регистров, используемых для хранения чисел с плавающей точкой.

2. Симулятор должен позволять выполнять покомандное выполнение программы.

3. Выполняемая программа хранится в отдельном файле и представляет собой псевдоассемблерный код.

1.3. Исходные данные

Гaрвардская архитектура

Вариант 4

Таблица 1.

Формат

данных

Адресность

Способ

адресации

Регистровая память

8

16

32

Н

О

П

К

Коли-

чество

Тип

Разряд-ность

-

+

+

3

+

+

+

-

8

ФО

16

Таблица 2.

Шина

адрес-данные

Память данных

Память команд

Ввод-вывод

С

Р

Объем,

Кбайт

ШД

Объем,

Кбайт

ШК

И

П

+

-

48

32

64

16

-

+

Исходные данные для проектирования:

Аппаратно поддерживаются следующие форматы данных:

- 16-разрядные числа со знаком и без знака;

- 32-разрядные числа со знаком и без знака;

- 32-разрядные числа с плавающей точкой (одинарной точности);

8 функционально-ориентированных 16-разрядных регистров.

В процессоре используется совмещенная шина адреса и данных (С).

Объем оперативной памяти равен 48 Кбайт. Шина данных 32-разрядная.

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

Требуется разработать систему прерываний; при этом требуется реализовать векторную систему прерываний. (Таблица векторов может находиться по произвольным адресам). Предлагается использовать внешний контроллер прерываний.

Поддержка графики отсутствует. Для работы с числами с плавающей точкой используется сопроцессор.

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

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

2.2. Разработка архитектуры ЦП

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

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

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

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

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

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

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

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

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

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.5. Выбор форматов команд

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

Рис. 3. Формат команды.

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

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

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

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

0x0 – не используется (зарезервировано - к примеру, может означать, что Аi не используется).

Важно отметить, что непосредственная адресация поддерживается только для 16-битных данных (т.е. для слов). Это сделано в силу того, что в противоположном случае команда бы занимала не 64 бита, а, как минимум 112 бит. Ввиду того, проектируется RISC-процессор, было решено выбрать только один единственный формат команд, представленный выше.

Адресные поля А1, А2 и А3 используются для хранения 1-го, 2-го и 3-го операндов (или результата). Поле И служит для указания номера индексного регистра, используемого при относительной адресации.

8