Структура коммуникационного процессорного модуля, страница 8

2.  Хранение буферных дескрипторов (BD), которые определяют, куда будут передаваться принимаемые данные и откуда будут читаться данные для передачи. Обычно дескрипторы хранятся в разделе памяти параметров (parameter RAM), но для их хранения могут быть отведены незанятые области  системного ОЗУ (system RAM). Число буферных дескрипторов неограниченно, в контроллерах МРС860 ограничено лишь максимальное число BD.

3.  Хранение данных, полученных из последовательных каналов. Обычно эти данные по каналам SDMA пересылаются во внешнюю память.

4.  Хранение загруженного RAM микрокода нового коммуникационного протокола. Микрокод обычно загружается в разделы системного ОЗУ.

5.  Системное ОЗУ, как правило, хранит загружаемый микрокод новых протоколов и внутренние системные параметры, но может использоваться для хранения буферных дескрипторов и данных пользователей.

6.  Временное хранение данных пользователей.

В контроллерах МРС860 буферные дескрипторы, буферы данных и рабочие данные пользователя могут располагаться или в системной памяти, или в свободных областях памяти параметров (parameter RAM).

Переменные в памяти параметров и в памяти микрокода (microcode RAM) имеют фиксированные адреса. Если используется загружаемый микрокод, то данные из одной области системного ОЗУ становятся недоступными пользователю.

В контроллере МРС860 двухпортовая память занимает 8 Кбайт внутренней памяти (табл.2.9), но реально заняты только 5 Кбайт, которые разбиты на две части: 4096 байт системного ОЗУ и 1024 байта памяти параметров (parameter RAM). Стартовый адрес (DPRAM_BASE) двухпортовой памяти во внутренней памяти контроллера рассчитывается как IMMR+0x2000, где содержимое регистра IMMR задает стартовый адрес внутренней памяти в 4-Гбайтном адресном пространстве контроллера. Размер внутренней памяти –16 Кбайт.

В МРС860 существуют три режима загрузки микрокода:

1.  Микрокод загружается в первые 512 байт адресного пространства памяти и в последние 256 байт блока 5 системного ОЗУ. Таким образом, размер микрокода составляет 768 байт.

2.  Микрокод загружается в первые два блока по 512 байт и в последние 256 байт блока 5 системного ОЗУ.  Размер микрокода составляет 1280 байт.

3.  Микрокод загружается в первые четыре блока по 512 байт и в последние 512 байт блока 5 системного ОЗУ.  Размер микрокода составляет 2560 байт.

Таблица 2.9. Распределение адресного пространства двухпортовой памяти МРС860.

Адрес

Размер, байт

Раздел

Назначение

IMMR+0x2000

512

Системное ОЗУ

Блок 1. Хранит данные, BD, микрокод

IMMR+0x2200

512

Системное ОЗУ

Блок 2. Хранит данные, BD, микрокод

IMMR+0x2400

1024

Системное ОЗУ

Блок 3. Хранит данные, BD, микрокод

IMMR+0x2800

3,5 Кбайт

Системное ОЗУ

Блок 4. Хранит данные, BD, микрокод

IMMR+0x2Е00

512

Системное ОЗУ

Блок 5. Хранит данные, BD и рабочие значения микрокода

IMMR+0x3000

Системное ОЗУ

Резервировано

IMMR+0x3С00

256

Память параметров

Страница1. Хранит параметры канала SCC1 (смещение +0x00), канала I2C (смещение +0x80), MISC-параметры (смещение +0xВ0) и канала IDMA1 (смещение +0xC0).

IMMR+0x3D00

256

Память параметров

Страница2. Хранит параметры канала SCC2 (смещение +0x00), канала SPI (смещение +0x80),  параметры таймеров(смещение +0xВ0)

IMMR+0x3E00

256

Память параметров

Страница3. Хранит параметры канала SCC3 (смещение +0x00), канала SMC1(смещение +0x80) и канала DSP1 (смещение +0xС0).

IMMR+0x3F00

до IMMR+0x4000

256

Память параметров

Страница4. Хранит параметры канала SCC4 (смещение +0x00), канала SMC2(смещение +0x80) и канала DSP2 (смещение +0xС0).