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

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

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

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

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

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

Рис.1

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

Рис. 2

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

ALE– сигнал для фиксации адреса на внешнем регистре-защелке;

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

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

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

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

RD– сигнал, означающий чтение данных с шины;

WR– сигнал, означающий запись данных (выставление данных на шину);

BHE– разрешение записи старшего байта;

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

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

FRAME– сигнал режима пакетного обмена данными между ОП и кэшем;

+5V– питание;

RESET– сброс;

CLC– тактовый сигнал.

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

На рис. 3 показаны основные используемые типы данных.

Рис. 3

Байт

Полуслово

(Без знака)

(Со знаком)

7 0

15 0

2.4. Определение модели памяти и структуры регистровой памяти

RG0

RG1

R

NI

NIA

MAR

G2

R

CI

CIA

MDR

G3

R

PC

G4

R

PCI

G5

RG6

R

T

Z

S

O

C

I

T

Z

S

O

C

I

G7

В структуре, приведенной на рис. 7, регистровая память включает:

- восемь 16-разрядных РОН;

- 16-разрядный счетчик команд (PC–ProgramCounter);

- 2 32-разрядных регистра CIиNI(CurrentInstructionиNextInstruction) для хранения текущей (выполняемой на данный момент) команды и следующей команды. Эти два регистра образуют очередь команд из двух мест;

- 2 16-разрядных регистра CIAиNIA, содержащих адреса команд, находящихся вCIиNIсоответственно. Их назначение будет более подробно описано в разделе «Внутренняя организация».

- 16-разрядный регистр MAR и 64-разрядный MDR (Memory Address Register, Memory Data Register). Служат для взаимодействия с памятью. ВMARзаписывается адрес для чтения/записи, а вMDR– данные для записи в память или данные, полученные при чтении из нее. Содержимое этих регистров выставляется на шину адреса/данных.

- 2 6-разрядных регистра флагов (один нужен для сохранения флагов при прерывании)

- 16-разрядный регистр PCIдля хранения адреса команды, выполнение которой было прервано при прерывании.

Разрядность регистра PCи регистровNIAиCIAвыбрана в связи с размером памяти команд, равным 64 кб = 2^6 * 2^10 = 2^16 байт. Следовательно, для адресации памяти команд необходимо 16 бит.

Регистр флагов содержит семь флагов, которые используются следующим образом:

Z – признак нулевого результата;

С – признак переноса из старшего разряда;

S – знак результата;

O – признак переполнения результата;

I – разрешение прерывания;

T– пошаговый режим.