Адресация памяти программ в процессорах TMS320С54х.

Память программ содержит коды прикладных программ, таблицы коэффициентов и непосредственные операнды. TMS320C54х DSP может адресовать общее количество 64К слов памяти программ, используя шину адреса программы (PAB). TMS320C5402 имеет дополнительные 4 линии адреса памяти программы, которые обеспечивают внешний доступ к 16-ти страницам по 64К слов.

Логика генерации адреса программы (PAGEN) формирует адрес для обращения к командам, таблицам коэффициентов, непосредственным 16-битным операндам или другой информации, сохраненной в памяти программы и выдает этот адрес на PAB.

PAGEN состоит из пяти регистров (рис. 4.5):

• счетчик программы (PC);

• счетчик повторения (RC);

• счетчик повторения блока (BRC);

• регистр адреса начала повторяемого блока (RSA);

• регистр адреса конца повторяемого блока (REA).

 

Процессор C5402 использует один дополнительный регистр, чтобы адресовать расширенную память:

• регистр расширения счетчика программы (XPC).

C54x устройства выбирают команды, помещая значение PC на PAB и читая соответствующее содержимое памяти. В то время как содержимое памяти читается, PC увеличивается для следующей выборки. Если последовательность адресов программы изменяется (например, переход, вызов, возврат, прерывание или повторение блока), соответствующий адрес загружается в PC. Команда, адресованная через PAB, загружается в регистр команды (IR).

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

В процессорах TMS320C54x можно выделить четыре основных способа адресации памяти программ:

• Автоинкрементная (аппаратное увеличение РС при выборе очередного слова из памяти программ).

• Абсолютная адресация используется в командах переходов и вызовов подпрограмм:

B[D] pmad;

BC[D] pmad, cond;

CALL[D] pmad;

CC[D] pmad, cond.

• Аккумуляторная адресация используется в командах переходов и вызовов подпрограмм (адрес перехода берется из указанного аккумулятора):

BACC[D] src;

CALA[D] src.

• Стековая адресация используется в командах возврата (адрес перехода берется из вершины стека):

RET[D];

RETE[D];

RC[D] cond;

Счетчик PC это 16-битовый регистр, который содержит используемый адрес внутренней или внешней памяти программ, когда выбирается команда или 16-разрядный непосредственный операнд или коэффициент из таблицы в памяти программ. Чтобы адресовать память программы, адрес из PC выдается на PAB.