ЭУМК по дисциплине "Проектирование проблемно-ориентированных вычислительных средств" › Теория › Тема 2. Архитектура и основные блоки процессоров платформы с5000

# Электронный учебно-методический
комплекс по дисциплине
"Проектирование проблемно-ориентированных вычислительных средств"

для специальности

1-40 02 02 «Электронные вычислительные средства»

Оглавление | Программа | Теория | Практика | Контроль знаний | Об авторах

2.3. Организация внутренних и внешних шин процессоров платформы С5000
2.3.1. Структура внутренних шин процессоров платформы С5000

Архитектура C54x построена вокруг восьми главных 16-разрядных шин (четыре шины программы/данных и четыре шины адреса) (рис. 2.2).
По программной шине (PB) передаются коды команд и непосредственные операнды из памяти программ.
Три шины данных (CB, DB и EB) соединяют различные элементы, типа CPU, логика генерации адресов данных и команд, периферийные устройства на кристалле и память данных. При этом CB и DB передают операнды, которые читаются из памяти данных, а EB передает данные, которые будут записаны в память.
Четыре шины адреса (PAB, CAB, DAB и EAB) передают адреса, необходимые для выполнения операции.
C54x DSP может генерировать до двух адресов памяти данных на цикл, используя два арифметических устройства вспомогательных регистра (ARAU0 и ARAU1).
PB может передавать операнды данных, хранящиеся в пространстве программы (например, таблица коэффициентов) умножителю и сумматору для операций умножения/накопления или адресату в пространстве данных для команд перемещения данных (MVPD и READA). Эта возможность, вместе с функцией чтения двойного операнда, поддерживает выполнение в одном цикле команд с 3 операндами, как например команда FIRS.
C54x DSP также имеет двунаправленную шину для доступа к периферийным устройствам на кристалле. Эта шина соединена с DB и EB через коммутатор шин в интерфейсе CPU. Обращение с использованием этой шины может требовать два или больше циклов для чтения и записи, в зависимости от структуры периферийного устройства.
Таблица 2.3. иллюстрирует использование шин при различных типах доступа к памяти.

Таблица 2.3. Использование шин для доступа по чтению и записи

Тип доступа | Шина адреса | Шина данных
PAB | CAB | DAB | EAB | PB | CB | DB | EB
Чтение программы | + |  |  |  | + |  |  |
Запись программы | + |  |  |  |  |  |  | +
Одиночное чтение данных |  |  | + |  |  |  | + |
Двойное чтение данных |  | + | + |  |  | + | + |
Чтение длинных данных (32-разрядное) |  | Hw | Lw |  |  | Hw | Lw |
Одиночная запись данных |  |  |  | + |  |  |  | +
Чтение/запись данных |  |  | + | + |  |  | + | +
Двойное чтение/чтение коэффициента | + | + | + |  | + | + | + |
Чтение периферийного устройства |  |  | + |  |  |  | + |
Запись периферийного устройства |  |  |  | + |  |  |  | +

Примечание: Hw = старшее 16-разрядное слово, Lw = младшее 16-разрядное слово

2.3.2. Назначение основных выводов процессора TMS320VC5402

ЦПС TMS320C54х большинства последних модификаций изготавливаются в 144-выводных корпусах.
Распределение выводов ЦПС приведено в табл. 2.4, при этом используются следующие сокращения: I - вход, O - выход, Z - вывод с тремя состояниями. При этом выводы питания и земли в таблице не представлены.
Таблица 2.4. Назначение выводов процессора TMS320VC5402

ИМЯ | ТИП | ОПИСАНИЕ
|  | СИГНАЛЫ ДАННЫХ
A19 (MSB) . . . A0 (LSB) | O/Z | Параллельная шина адреса. Младшие шестнадцать выводов адреса (A0-A15) мультиплексированы, чтобы адресовать всю внешнюю память (программа, данные) или ввод-вывод, в то время как старшие четыре вывода адреса (A16-A19) используются только для адресации внешнего пространства программ. Эти выводы переводятся в третье состояние в режиме захвата или когда вывод OFF низкий
D15 (MSB) . . . D0 (LSB) | I/O/Z | Параллельная шина данных. Шестнадцать выводов данных мультиплексированы, чтобы передавать данные между ядром ЦП и внешней памятью данных/программ или устройствами ввода-вывода. Шина данных переводится в третье состояние, когда нет вывода или когда установлены RS или HOLD. Шина данных также переходит в третье состояние, когда вывод OFF низкий
|  | ИНИЦИАЛИЗАЦИЯ, ПРЕРЫВАНИЕ И СБРОС
IACK# | O/Z | Сигнал подтверждения прерывания. IACK указывает на прием прерывания и что счетчик программы выбирает вектор прерывания, определяемый A15-A0. IACK также переходит в третье состояние, когда вывод OFF низкий
INT0-INT3# | I | Внешнее пользовательское прерывание. INT0-INT3 расположены по приоритету и маскируются регистром маски прерывания IMR и битом режима прерывания. INT0-INT3 могут быть опрошены и сброшены через регистр флажков прерывания IFR
NMI# | I | Немаскируемое прерывание. NMI - внешнее прерывание, которое не может маскироваться посредством INTM или IMR. Когда NMI активен, процессор переходит по соответствующему вектору прерывания
RS# | I | Сброс. RS заставляет ЦПС завершить работу и вызывает инициализацию ЦП и периферийных устройств. Когда RS переходит к высокому уровню выполнение начинается с адреса 0FF80h памяти программ
MP/MC# | I | Выбор режима микропроцессор / микрокомпьютер. Если при сбросе уровень низкий, то выбран режим микроЭВМ и внутреннее ПЗУ программн отображено в верхние 4К слова программного пространства памяти, а если высокий – ПЗУ исключено из программного пространства. Состояние этого вывода анализируется только в момент сброса и бит состояния MP/MC в регистре PMST может быть изменен программно
|  | МУЛЬТИПРОЦЕССОРНЫЕ СИГНАЛЫ
BIO# | I | Управление переходом. По состоянию BIO может быть выполнен переход или команда условного выполнения. Для команды XC состояние BIO анализируется в течение декодирующейся фазы конвейера, а все другие команды производят анализ BIO в течение фазы чтения конвейера
XF | O/Z | Выход внешнего флажка (программный переключатель). XF устанавливается высоким командой SSBX XF и низким – командой RSBX XF или загрузкой ST1. XF используется для передачи сигналов другим процессорам в многопроцессорной системе или используется как универсальный выход. XF в третьем состояние, когда вывод OFF низкий и устанавливается высоким при сбросе
|  | СИГНАЛЫ УПРАВЛЕНИЯ ПАМЯТЬЮ
DS# PS# IS# | O/Z | Сигналы выбора пространства данных, программы и ввода-вывода. Эти сигналы всегда высокие и становятся низкими при доступе к внешнему пространству памяти. Активное состояние соответствует действительной информации адреса. Они переходят в третье состояние в режиме захвата или когда вывод OFF низкий
MSTRB# | O/Z | Сигнал стробирования памяти. MSTRB всегда высокий и становится низким, чтобы указать доступ к внешней шине памяти данных или программ. Он переходит в третье состояние в режиме захвата или когда вывод OFF низкий
READY | I | Готовность данных. Указывает, что внешнее устройство готово к передаче данных по шине. Если устройство не готово (READY низкий), процессор ждет один цикл и проверяет READY снова. Обратите внимание, что процессор выполняет детектирование готовности если по крайней мере задано два такта программного ожидания. Сигнал READY не анализируется до завершения состояний программного ожидания
R/W# | O/Z | Сигнал чтения/записи. R/W указывает направление передачи данных. R/W обычно находится в режиме чтения (высокий) если DSP не устанавливает его низким, когда выполняет операцию записи. Он переходит в третье состояние в режиме захвата или когда вывод OFF низкий
IOSTRB# | O/Z | Сигнал стробирования ввода-вывода. IOSTRB всегда высокий и становится низким, чтобы указать доступ к внешним устройствам ввода-вывода. Он переходит в третье состояние в режиме захвата или когда вывод OFF низкий
HOLD# | I | Захват. Устанавливается, чтобы запросить управление адресом, данными и сигналами управления. Когда состояние подтверждено C54x переводит эти сигналы в третье состояние
HOLDA# | O/Z | Подтверждение захвата. HOLDA указывает, что 5402 находится в состоянии захвата и что адрес, данные и управление находятся в третьем состоянии. Это позволяет использовать внешний интерфейс памяти другим устройствам. Он переходит в третье состояние, когда вывод OFF низкий
MSC# | O/Z | Завершенное микросостояние. MSC указывает завершение всех состояний программного ожидания. Когда задано два или более программных тактов ожидания MSC активный в первом такте ожидания и неактивный (высокий) в последующих тактах. Если он соединен с входом READY, то вынужденно вводит один внешний такт ожидания после завершения последнего такта внутреннего состояния ожидания. Переходит в третье состояние, когда вывод OFF низкий
IAQ# | O/Z | Сигнал подтверждения команды. IAQ установлен (активный низкий) когда имеется адрес команды на шине адреса. Он переходит в третье состояние когда вывод OFF низкий
|  | СИГНАЛЫ ТАКТОВОГО ГЕНЕРАТОРА И ТАЙМЕРА
CLKOUT | O/Z | Сигнал выхода задающего генератора. CLKOUT циклически повторяется в соответствии с машинным циклом ЦП. Он переходит в третье состояние, когда OFF низкий
CLKMD1 CLKMD2 CLKMD3 | I | Сигналы выбора режима генератора. Эти входы выбирают режим генератора после сброса. Логические уровни CLKMD1-CLKMD3 защелкиваются, когда RS низкий и регистр режима инициализируется. После сброса режим генератора может быть изменен программно
X2/CLKIN | I | Вход осциллятора. Это вход внутреннего осциллятора. Если внутренний осциллятор не используется, X2/CLKIN выполняет функцию входа внешнего тактового генератора и должен быть подключен к внешнему генератору
X1 | O | Выход внутреннего осциллятора. Если внутренний осциллятор не используется, X1 должен быть оставлен не подключенным. Он не переходит в третье состояние, когда вывод OFF низкий
TOUT0 | O/Z | Выход таймера 0. TOUT0 формирует импульс, когда внутренний таймер 0 досчитывает до нуля. Ширина импульса равна периоду CLKOUT. Он переходит в третье состояние, когда вывод OFF низкий
TOUT1 | O/Z | Выход таймера 1. TOUT1 формирует импульс, когда внутренний таймер 1 досчитывает до нуля. Ширина импульса равна периоду CLKOUT. Выход TOUT1 мультиплексирован с выводом HINT HPI и доступен, только когда HPI отключен. Он переходит в третье состояние, когда вывод OFF низкий
|  | СИГНАЛЫ МНОГОКАНАЛЬНЫХ ПОСЛЕДОВАТЕЛЬНЫХ ПОРТОВ
BCLKR0 BCLKR1 | I/O/Z | Вход синхронизации данных приемника. BCLKR может быть сконфигурирован как вход или выход (после сброса сконфигурирован как вход). BCLKR служит сигналом сдвига для буферизированного приемника последовательного порта
BDR0 BDR1 | I | Вход приемника последовательных данных
BFSR0 BFSR1 | I/O/Z | Импульс синхронизации кадра приемника. BFSR может быть сконфигурирован как вход или выход (после сброса сконфигурирован как вход). BFSR импульс инициализирует процесс приема данных из BDR
BCLKX0 BCLKX1 | I/O/Z | Вход синхронизации данных передатчика. BCLKX служит сигналом сдвига для передатчика McBSP. BCLKX может быть сконфигурирован как вход или выход (после сброса сконфигурирован как вход). Он переходит в третье состояние, когда вывод OFF низкий
BDX0 BDX1 | O/Z | Выход передатчика последовательных данные. Он переходит в третье состояние при отсутствии передачи, при сбросе или когда вывод OFF низкий
BFSX0 BFSX1 | I/O/Z | Импульс синхронизации кадра передатчика. BFSX может быть сконфигурирован как вход или выход (после сброса сконфигурирован как вход). BFSX импульс инициализирует процесс передачи данных. Он переходит в третье состояние, когда вывод OFF низкий
|  | СИГНАЛЫ ИНТЕРФЕЙСА ГЛАВНОГО ПОРТА
HD0-HD7 | I/O/Z | Параллельная двунаправленная шина данных. HPI шина данных используется как шина главного компьютера для обмена информацией с регистрами HPI. Эти выводы могут также использоваться как универсальные контакты ввода-вывода. HD0-HD7 находятся в третьем состоянии, когда данные не выводятся или когда вывод OFF низкий. HPI шина данных включает защелки шины. Когда HPI шина данных не управляется 5402, они поддерживают на выводах предыдущй логический уровень. HPI защелки шины данных отключены при сбросе и могут включаться/выключатьсябитом HBH в BSCR
HCNTL0 HCNTL1 | I | Управление. HCNTL0 и HCNTL1 выбирают доступ к одному из трех HPI регистров. Входы управления имеют внутренние нагрузочные резисторы и включены только когда HPIENA = 0
HBIL | I | Идентификация байта. HBIL идентифицирует первый или второй передаваемый байт. HBIL вход имеет внутренний нагрузочный резистор и включен только когда HPIENA = 0
HCS# | I | Выбор микросхемы. HCS - вход выбора для HPI и должен быть низки в течение доступа. Вход выбора кристалла имеет внутренний нагрузочный резистор и включен только когда HPIENA = 0
HDS1# HDS2# | I | Стробирование данных. HDS1 и HDS2 соединяются со стробами чтения и записи главной ЭВМ, чтобы управлять передачей данных. Стробирующие входы имеют внутренние нагрузочные резисторы и включены только когда HPIENA = 0
HAS # | I | Стробирование адреса. Главные ЭВМ с мультиплексируемыми выводами адреса и данных требуют сигнал HAS для защелки адреса в регистре HPIA. Он имеет внутренний нагрузочный резистор и включен только когда HPIENA = 0
HR/W# | I | Чтение-запись. HR/W управляет направлением передачи данных HPI. Он имеет внутренний нагрузочный резистор и включен только когда HPIENA = 0
HRDY | O/Z | Готовность. Выход готовности сообщает главной ЭВМ, когда HPI готов к следующей передаче данных. Он переходит в третье состояние, когда вывод OFF низкий
HINT# | O/Z | Прерывание главного. Этот выход используется, чтобы прервать главную ЭВМ. Когда DSP находится в состоянии сброса он высокий. HINT также может быть сконфигурирован как выход таймера 1 (TOUT1), когда HPI отключен. Он переходит в третье состояние, когда вывод OFF низкий
HPIENA | I | Выбор модуля HPI. HPIENA должен быть высоким в момент сброса, чтобы разрешит работу HPI. Вход имеет внутренний резистор соединенный с землей. Состояние вывода анализируется по возрастающему фронту RS. Если HPIENA не подключен или подключен к низкому уровню в момент сброса HPI модуль будет отключен. Если HPI отключен, то состояние вывода HPIENA не имеет никакого значения до нового сброса процессора
|  | ТЕСТОВЫЕ ВЫВОДЫ
TCK | I | Стандарт IEEE 1149.1 тестовая синхронизация
TDI | I | Стандарт IEEE 1149.1 вход тестовых данных
TDO | O/Z | Стандарт IEEE 1149.1 выход тестовых данных
TMS | I | Стандарт IEEE 1149.1 выбор тестового режима
TRST# | I | Стандарт IEEE 1149.1 сброс теста. Когда TRST высокий, дает стандарту IEEE 1149.1 возможность сканирования и управления системой. Если TRST не подсоединен или низкий, процессор функционирует в стандартном режиме и сигналы стандарта IEEE 1149.1 игнорируется
EMU0 | I/O/Z | Эмуляция 0. Когда TRST низкий, EMU0 должен быть высоким для активации состояния OFF. Когда TRST высокий, EMU0 используется как прерывание в или из системы эмулятора и определен как ввод-вывод при сканировании стандартом IEEE 1149.1
EMU1/OFF | I/O/Z | Эмуляция 1 / отключение выходов. Когда TRST высокий, EMU1/OFF используется как прерывание в или из системы эмулятора и определен как ввод-вывод при сканировании стандартом IEEE 1149.1. Когда TRST низкий, EMU1/OFF сконфигурирован как OFF. Когда сигнал EMU1/OFF активный низкий, он переводит все выходы в третье состояние. Обратите внимание, что OFF используется исключительно для целей тестирования и эмуляции (не для многопроцессорных приложений). Режим OFF выбирается следующей комбинацией сигналов: TRST = низкий; EMU0 = высокий; EMU1/OFF = низкий

Оглавление | Программа | Теория| Практика | Контроль знаний | Об авторах
© БГУИР , 2012