Смекни!
smekni.com

Организация памяти СП. Доступ к памяти. Блоки памяти (стр. 4 из 4)

При чтении/записи регистра РХ по шине DM (DAG 1) всегда производятся операции с 40-разрядными словами (если не используется адресация коротких слов).

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

Ограничения при обращении к пространству памяти Три внутренние шины (РМ, DM и I/O) могут использоваться для обращения к карте памяти процессора в соответствии со следующими правилами:

По шине памяти данных (DM) можно обращаться во все пространства памяти.

По шине памяти программы (РМ) можно обращаться только к пространству внутренней памяти и младшим 12 мегасловам пространства внешней памяти.

По шине ввода-вывода (I/O) можно обращаться во все пространства памяти, за исключением отображенных в карте памяти регистров ЮР (в пространстве внутренней памяти).

Заметим, что в Версии кристалла 1.0 (Silicon Revision 1.0) и ранее операция адресации с пред-модификацией не должна изменять адресуемое пространство памяти. Например, пред-модификация адреса в пространстве внутренней памяти ADSP-2106x не должна генерировать адрес в пространстве внешней памяти. Есть одно исключение из этого правила: команда косвенного перехода (JUMP) или команда вызова (CALL) с пред-модификацией адреса могут вызывать переход из внутренней памяти во внешнюю. Версии кристалла 2. x (Silicon Revision 2. x) и позднее не имеют этих ограничений.

Смешивание 32-х и 48-разрядных слов в блоке памяти 32-разрядные данные и 48-разрядные команды могут храниться в одном блоке памяти при условии, что адреса всех команд младше адресов данных. Ни одна команда не может храниться по адресу старше, чем самый младший адрес любого слова данных. Это ограничение необходимо для предотвращения перекрытия адресов 32-разрядных и 48-разрядных слов. Команды должны храниться, начиная с младшего адреса блока.

Короткие 16-разрядные слова При считывании 16-разрядных коротких слов в регистры ADSP-2106x слова автоматически расширяются до 32-разрядных чисел.16 старших разрядов заполняются нулями или дополняются по знаку. Это определяется значением бита SSE в регистре MODEL Если SSE=0, то 16 старших разрядов заполняются нулями. Если SSE=1, то 16 старших разрядов дополняются по знаку (исключением является считывание короткого слова из регистра РХ - в этом случае старшие разряды всегда заполняются нулями).

Заключение

Процессор ADSP-21060 содержит 4 Мбита статической оперативной памяти, организованной как два блока по 2 Мбита, которые могут конфигурироваться для различных комбинаций хранения кода и данных. ADSP-21062 содержит 2 Мбита памяти, 2 блока по 1 Мбиту В одном цикле к каждому блоку памяти могут независимо обращаться ядро процессора и устройство ввода-вывода или контроллер DMA. Использование двухпортовой памяти и отдельных шин позволяет выполнить за один цикл две передачи данных из ядра и одну из устройства ввода-вывода.

Обращение к памяти может выполняться к 16-разрядным, 32-разрядным или 48-разрядным словам. В ADSP-21060 память может содержать максимум 128 килослов 32-разрядных данных, 256 килослов 16-разрядных данных, 80 килослов 48-разрядных команд (и 40-разрядных данных) или комбинацию слов различной разрядности объемом до 4 Мбит. В ADSP-21062 память может содержать максимум 64 килослова 32-разрядных данных, 128 килослов 16-разрядных данных, 40 килослов 48-разрядных команд (и 40-разрядных данных) или комбинацию слов различной разрядности объемом до 2 Мбит. В ADSP-21061 память может содержать максимум 32 килослова 32-разрядных данных, 64 килослова 16-разрядных данных, 16 килослов 48-разрядных команд (и 40-разрядных данных) или комбинацию слов различной разрядности, объемом до 1 Мбита.

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

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

Интерфейс внешней памяти и периферийных устройств Внешний порт процессора ADSP-2106x обеспечивает интерфейс с внешней памятью и периферийными устройствами.4 гигаслова внешнего адресного пространства включаются в объединенное адресное пространство ADSP-2106x. Раздельные шины на кристалле - адреса РМ, данных РМ, адреса DM, данных DM, адреса I/O и данных I/O - объединяются во внешнем порте и образуют внешнюю системную шину с одной 32-разрядной шиной адреса и одной 48-разрядной шиной данных. Внешняя SRAM может быть как 16, 32, так и 48-разрядной; расположенный на кристалле контроллер DMA автоматически упаковывает внешние данные в слова соответствующей разрядности: либо 48-разрядные команды, либо 32-разрядные данные.

Адресация внешней памяти облегчается за счет декодирования старших адресных линий для генерирования сигналов выбора банка памяти. Для упрощения адресации динамической оперативной памяти (DRAM) со страничной организацией генерируются отдельные сигналы управления. Процессор ADSP-2106x использует программируемые состояния ожидания при обращении к внешней памяти и сигналы квитирования для внешней памяти, чтобы обеспечить интерфейс с DRAM и периферийными устройствами с различным быстродействием.