Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МПС для АТП (ЛЕК).doc
Скачиваний:
33
Добавлен:
26.09.2019
Размер:
2.38 Mб
Скачать

10.1.Функциональная схема и назначение внешних выводов

Функциональная схема, показанная на рис. 10.1, отображает основные блоки и потоки данных внутри процессора. Архитектура TMS320C2x построена на основе двух шин – шины команд и шины данных. Шина команд служит для передачи кодов команд и непосредственных операндов, расположенных в памяти программ. Шина данных подсоединяет различные внутренние элементы процессора такие, как центральное арифметико-логическое устройство (CALU) и файл вспомогательных регистров к ОЗУ данных (RAM). Совместно шины команд и данных используются для передачи данных в одноцикловых командах умножения-сохранения.

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

На функциональной схеме обозначены следующие узлы и блоки:

Название

Символ

Описание

Аккумулятор

ACCH(31:16)

ACCL(15:0)

32-разрядный аккумулятор-накопитель, состоит из двух регистров: ACCH (старшие разряды аккумулятора) и ACCL (младшие разряды аккумулятора). Используется для хранения результатов вычисления ALU.

Арифметико-логическое устройство

ALU

32-разрядное арифметико-логическое устройство, оперирующее двоично-дополненными величинами, имеет два 32-разрядных входных порта и один 32-разрядный выходной порт, соединенный с аккумулятором-накопителем.

Арифметическое устройство вспомогательных регистров

ARAU

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

Файл вспомогательных регистров

AR0 – AR7

(0:15)

Файл регистров, содержащий восемь 16-разрядных регистров, используемых для адресации памяти данных, для временного хранения или для выполнения арифметических операций с помощью ARAU.

Шина файла вспомогательных регистров

AFB(0:15)

16-разрядная шина; передает данные из текущего вспомогательного регистра.

Указатель вспомогательных регистров

ARP(2:0)

3-разрядный регистр, содержащий номер текущего вспомогательного регистра.

Буфер указателя вспомогательных регистров

ARB(2:0)

3-разрядный регистр для буферизации ARP. При каждой новой загрузке ARP, старое значение ARP записывается в ARB; Исключение составляет команда LST. Когда ARB загружается командой LST1, то же самое значение записывается в ARP.

Центральное арифметико-логическое устройство

CALU

Совокупность ALU, умножителя, аккумулятора, и сдвигового регистра

Шина данных

D(15:0)

16-разрядная шина для передачи данных.

Шина адреса памяти данных

DAB(15:0)

16-разрядная шина; передает адреса памяти данных.

Шина прямого адреса памяти данных

DRB(15:0)

16-разрядная шина; передает прямой адрес памяти данных, который образуется как объединение содержимого DP регистра и семи младших бит кода команды.

Регистр – приемник последовательного порта

DRR(15:0)

16-разрядный регистр принимаемых данных по последовательному порту; адресуется как ячейка памяти данных. В байтовом режиме используется только младший байт.

Указатель страницы памяти данных

DP(8:0)

9-разрядный регистр указывает адрес текущей страницы данных. Каждая страница данных имеет размер 128 слов, в результате чего 512 страниц полностью адресуют пространство памяти данных (некоторые страницы зарезервированы).

Регистр – передатчик последовательного порта

DXR(15:0)

16-разрядный регистр передаваемых данных по последовательному порту; адресуется как ячейка памяти данных. В байтовом режиме используется только младший байт.

Регистр распределения глобальной памяти

GREG(7:0)

8-разрядный регистр; определяет местоположение и размер пространства глобальной памяти. Адресуется как ячейка памяти данных.

Регистр команд

IR(15:0)

16-разрядный регистр; хранит текущую выполняемую команду.

Регистр флагов прерываний

IFR(5:0)

6-разрядный флаговый регистр для захвата активного низкого уровня внешних прерываний INT(2-0), внутренних прерываний XINT/RINT (прерывания по передаче/приему по последовательному порту, и TINT (прерывание по таймеру). IFR программно недоступен.

Регистр масок прерываний

IMR(5:0)

6-разрядный регистр масок прерываний; адресуется как ячейка памяти данных.

Стек для микровызовов

#MSC(15:0)

Однословный стек, который временно хранит содержимое PFC, в то время, пока PFC используется для адресации памяти данных во время выполнения блочных пересылок (BLKD и BLKP) команд умножения / сохранения (MAC и MACD) и чтения/записи таблицы (TBLR и TBLW).

Умножитель

MUL

1616 параллельный умножитель

Шина команд

P(15:0)

16-разрядная шина для передачи кодов команд (и данных во время выполнения команд MAC и MACD).

Шина адреса памяти

PAB(15:0)

16-разрядная шина; передает адрес памяти команд.

Счетчик перезахватов

#PFC(15:0)

16-разрядный счетчик команд для предварительного захвата команды PFC содержит адрес команды, которая должна быть предзахвачена. PFC обновляется в момент инициации нового предзахвата. PFC также используется для адресации памяти данных во время выполнения блочных пересылок (BLKD и BLKP) команд умножения / сохранения (MAC и MACD) и чтения/записи таблицы (TBLR и TBLW).

Счетчик команд

PC

16-разрядный счетчик команд для адресации памяти команд. Содержит адрес следующей выполняемой команды. Содержимое PC обновляется после расшифровки очередной команды. В TMS32020 счетчик команд выполняет функции, которые в TMS320C25 выполняет PFC.

Регистр произведения

PR(31:0)

16-разрядный регистр произведения (P-регистр) для хранения результата умножения. В TMS320C25 может быть доступен с помощью команд SPH/SPL (сохранить содержимое старшего/младшего слова P-регистра).

Регистр периода

PRD

16-разрядный регистр для загрузки таймера, адресуемый как ячейка памяти

Регистр очереди команд

#QIR(15:0)

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

Память с произвольным доступом (данные и команды)

RAM (B0)

25616 RAM блок; в зависимости от конфигурации может использоваться либо как память данных либо как память команд.

Память с произвольным доступом (только данные)

RAM (B1)

25616 RAM блок для хранения данных.

Память с произвольным доступом (только данные)

RAM (B2)

3216 RAM блок для хранения данных.

Счетчик повторений

RPTC

8-разрядный счетчик для управления многократными повторениями одной команды.

Регистр сдвига приемника последовательного порта

#RSR(15:0)

16-разрядный регистр для сдвига входных данных последовательного порта, полученных с контакта RX. Содержимое RSR передается в DSR после того, как передача завершена. RSR программно недоступен.

Сдвиговые регистры

SFL, SFR

Сдвиговые регистры вправо (SFR) и влево (SFL) расположены на входе в ALU, на выходе из аккумулятора и на выходе из P-регистра. Еще один сдвиговый регистр есть внутри аккумулятора.

Стек

Stack

4/8 16 аппаратный стек для размещения значений PC в течение прерываний или программных вызовов. ACCL и значения памяти данных могут быть также размещены в стеке и вытолкнуты из стека.

Регистры состояния

ST0, ST1

Два 16-разрядных регистра состояния для хранения управляющих битов и битов состояния.

Регистр временного хранения

TR(15:0)

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

Таймер

TIM

16-разрядный таймер (счетчик) для управления временными интервалами; адресуется как ячейка памяти.

Регистр сдвига передатчика последовательного порта

#XSR(15:0)

16-разрядный регистр для сдвига выходных данных последовательного порта, выводимых на контакт DX. XSR загружается из DRR перед выполнением передачи. XSR программно недоступен.

Примечание. Знаком диез (#) обозначены элементы, которые имеются только у процессора TMS320C25.

*PS

*DS

*IS

*SYNC

R/*W

*STRB

*READY

*BR

XF

*HOLD

*HLDA

*MSC

*BIO

*RS

*IACK

*INT(2:0)

*CLKOUT1

*CLKOUT2

X1

X2

MUX

A(15:0)

MUX

D(15:0)

PFC(16)

MCS(16)

MUX

PC

PROG

ROM

STACK

8  16

(4  16)

ADDRES

INSTR

IR

ST1

ST0

RPTC

IFR

#RSR

#XSR

DRR

DXR

TIM

PRD

IMR(6)

GREG(8)

Рис. 10.1. Функциональная

После-до-ватель-ный

порт

DR

CLKR

FSR

DX

CLKX

FSX

ARB (3)

ARP (3)

16

3

AR0

Файл

вспомога­тель­ных регистров

#AR7

16

DP(9)

SHIFT

(0 : 16)

TR

9

16

Умножи­тель

PR(32)

MUX

SHIFT

(-6,0,1,4)

MUX

ACCH(16)

ACCL(16)

SHIFT

(0, 1, 4)

MUX

Блок В2

(32  16)

DATA RAM

Блок В1

(256  16)

DATA/PROG

RAM

Блок В0

(256  16)

MUX

MUX

ARAU

MUX

16

16

7 LSB

of IR

#C

16

16

32

На шину

программ

схема TMS32020

Назначение внешних выводов процессора приведено в таблице

Сигнал

I/O/Z

Описание

Шины адреса / данных

A(15:0)

O/Z

Параллельная шина адреса от А15(MSB) до A0 (LSB). Мультиплексирована с внешними адресами памяти программ/данных или ввода/вывода. Содержимое счетчика программ выставлено на шине, когда она не используется. Переводится в третье состояние в режиме прямого доступа к памяти (ПДП).

D(15:0)

I/O/Z

Параллельная шина данных от D15 (MSB) до D0 (LSB). Мультиплексирована с внешней памятью программ/данных или устройствами ввода/вывода. Переводится в третье состояние когда нет выхода или активны сигналы *RS или *HOLD.

Сигналы управления интерфейсом

*DS

*PS

*IS

O/Z

Сигналы выбора области данных, программ или ввода/вывода. Всегда имеют высокий уровень если не приходит активный низкий уровень для выбора области. Переводится в третье состояние в режиме ПДП.

READY

I

Вход готовности данных. Показывает что внешнее устройство завершило подготовку к обмену данными. Если устройство не готово (READY=0), TMS32020 ждет один цикл и снова проверяет наличие сигнала READY. Сигнал READY показывает доступ к шине после сигнала захвата шины (*BR).

R/*W

O/Z

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

*STRB

O/Z

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

Сигналы, поддерживающие мультипроцессорный режим

*BR

O

Сигнал захвата шины. Активный когда TMS32020 требуется доступ к глобальной памяти данных. Сигнал READY становится активным когда доступна шина и глобальная память данных для обмена данными.

*HOLD

I

Сигнал запроса ПДП. Когда он активный TMS32020 переходит в режим ПДП после завершения текущей команды. Переводит шины адреса и данных и управляющие выводы в третье состояние.

*HOLDA

O

Сигнал подтверждения ПДП. Показывает, что TMS32020 перешел в режим ПДП и его локальная память доступна внешнему процессору.

*SYNC

I

Вход синхронизации. Позволяет синхронизировать работу двух или более TMS32020. *SYNC имеет активный низкий уровень и должен быть активным по переднему фронту сигнала CLKIN.

Прерывания и прочие сигналы

*BIO

I

Входной сигнал ветвления. Управляет результатом выполнения команды BIOZ. Если имеет низкий уровень, то TMS32020 выполняет ветвление по BIOZ. Этот сигнал должен быть активным во время действия команды BIOZ.

*IACK

O

Сигнал подтверждения прерывания. Выход активный только когда сигнал CLKOUT1 имеет низкий уровень. Показывает подтверждение получения сигнала прерывания и программа делает переход на адрес вектора прерывания который выставлен на шине адреса А15-А0.

*INT2

*INT1

*INT0

I

Входные сигналы внешних прерываний. Имеют приоритет и маскируются регистром маски прерывания и битом режима прерывания.

*MSC

O

Сигнал завершения микросостояния. Имеет активный низкий уровень и действует в то время, когда сигнал CLKOUT1 имеет низкий уровень т.е. когда TMS32020 завершил операции с памятью такие как захват шины или чтение/запись памяти данных. Сигнал *MSC используется для организации цикла ожидания сигнала READY при работе с медленной внешней памятью.

*RS

I

Вход сброса. В случае поступления сигнала сброса TMS32020 прекращает выполнение и сбрасывает счетчик команд в нуль. Когда становится высоким, начинает выполнение с адреса 0 внешней памяти программ. Сигнал *RS воздействует на различные регистры и биты состояния.

XF

O

Выход внешнего флага (программно переключаемый сигнал) Используется для сигнализации другому процессору при мультипроцессорных связях или для общих целей.

Сигналы питания/ тактирования

CLKOUT1

O

Ведущая выходная частота. Поднимается в начале 1 четверть периода (Q1) и спадает в начале Q3.

CLKOUT2

O

Повторная выходная частота. Поднимается в начале 4 четверть периода (Q4) и спадает в начале Q2

Vcc

I

5-V внешнего питания

Vss

I

Земля

X1

O

Выходной сигнал от внутреннего генератора для подсоединения кварца. Если кварц не используется, то этот вывод свободный.

X2/CLKIN

I

Входной сигнал от кварца к внутреннему генератору. Если кварц не используется то на вывод можно подать сигнал с внешнего устройства.

Сигналы последовательного порта

CLKR

I

Прием тактовой частоты. Внешний тактируемый сигнал для передачи данных в регистр DRR ( регистр приема данных последовательного порта) через вывод DR (прием данных). Используется, когда используется последовательный порт.

CLKX

I

Передача тактовой частоты. Внешний тактируемый сигнал для передачи данных через регистр DXR (регистр передачи данных последовательного порта) на вывод DX ( передача данных). Используется, когда используется последовательный порт.

DR

I

Прием данных. Данные последовательно передаются в регистр DRR через вывод DR.

DX

O/Z

Передача данных. Данные последовательно передаются от регистра DXR на вывод DX. Имеет высокий уровень когда нет передачи.

FSR

I

Вход синхронизации приемника. Задний фронт импульса FSR указывает на то, что процесс приема данных начнется по первому импульсу CLKR. Переданные данные сохраняются в регистре DRR.

FSX

I/O

Вход/выход синхронизации передатчика. Задний фронт импульса указывает на то, что процесс передачи данных начнется по первому импульсу CLKX. Переданные данные сохраняются в регистре DXR. Обычно FSX работает на вход, но если TXM устанавливается в единицу, то работает на выход.