Смекни!
smekni.com

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

40-разрядная шина DMD обеспечивает путь для передачи за один цикл содержимого любого регистра в процессоре в любой другой регистр или в любую ячейку внешней памяти. Адреса данных берутся из одного из двух источников: абсолютной величины, определенной в команде (прямая адресация), или с выхода генератора адреса данных (косвенная адресация).32-разрядные данные с фиксированной точкой и 32-разрядные данные с плавающей точкой одиночной точности также выравниваются к 32 старшим разрядам шины.

Регистры РХ, соединяющие шины, позволяют выполнять обмен данными между 48-разрядной шиной PMD и 40-разрядной шиной DMD или между 40-разрядным регистровым файлом и шиной PMD. Эти регистры содержат аппаратные средства для устранения различия в разрядности шин.

Три шины: РМ, DM и I/O - объединяются во внешнем порте процессора, образуя вне кристалла одиночные шины данных (DATA47_0) и адреса (ADDR31 _0)

Обращение к блоку памяти и конфликты

По любой из трех внутренних шин ADSP-2106x можно обращаться к одному из блоков внутренней памяти в любое время. К каждому блоку двухпортовой памяти может обратиться и ядро процессора (по шине РМ или шине DM), и устройство ввода-вывода (по шине I/O) за один цикл. Если ядро процессора и устройство ввода-вывода обращаются к одному и тому же блоку памяти, то дополнительных циклов не требуется.

Однако когда ядро процессора осуществляет два обращения к одному блоку памяти в одном и том же цикле, например, по шине РМ (используя программный автомат или DAG2) и по шине DM (используя DAG1), то возникает конфликт. Если это происходит, то требуется дополнительный цикл. Сначала выполняется обращение по шине DM, а затем в дополнительном цикле выполняется обращение по шине РМ.

Ограничения при обращении к пространству памяти

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

По шине DM можно обращаться ко всему пространству памяти.

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

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

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

Интерфейс внешней памяти

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

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

Во внешней памяти могут храниться и команды, и данные. Внешняя шина данных (DATA47) должна быть 48-разрядной для передачи команд и/или 40-разрядных данных с плавающей точкой повышенной точности, или 32-разрядной для передачи данных с плавающей точкой одиночной точности. Если внешняя память содержит только данные или упакованные команды, которые будут передаваться по DMA, то внешняя шина данных может быть 16 - или 32-разрядной. В системе такого типа устройство ввода-вывода процессора ADSP-2106х осуществляет распаковку входящих данных и упаковку выходящих данных.

Банки внешней памяти

Внешняя память разделена на четыре равных банка; каждый из этих банков связан с собственным генератором состояний ожидания. Это позволяет отображать более медленные периферийные устройства в карту памяти того банка, для которого определено конкретное число состояний ожидания. Отображая периферийные устройства в различных банках, вы можете обеспечить работу устройств I/O, которые имеют различные требования к синхронизации.

Банк 0 начинается с адреса 0x0040 0000 во внешней памяти, за ним следуют банки 1, 2 и 3. Когда ADSP-2106x генерирует адрес, находящийся внутри одного из четырех банков, то активизируются соответствующие линии выбора памяти MSo.

Выводы могут использоваться как выбор кристалла для памяти или других внешних устройств, устраняя тем самым необходимость во внешней декодирующей логике. MSo обеспечивает линию выбора банка динамической памяти DRAM, когда он используется в комбинации с сигналом PAGE (см. "Обнаружение границы страницы DRAM").

Размер банков памяти может быть от 8 килослов до 256 мегаслов и должен быть равен степени двойки. Выбор размера банка памяти выполняется с помощью поля бит MSIZE регистра SYSCON следующим образом:

MSIZE = log, (желаемый размер банка) - 13.

Линии MSi-o ~ линии декодированного адреса памяти, состояние которых изменяется в то же самое время, что и у других линий адреса. Когда нет

обращения к внешней памяти, то линии MS-i-o неактивны. Однако они активны, когда выполняется условная команда обращения к памяти, независимо от того, истинно условие или нет.д.ля обеспечения правильной работы условные команды записи в память не должны применяться в системах,
использующих сигнал SW > если такое обращение в память не может быть прервано.

Заметим, что внутренняя память ADSP-2106x разделена на два блока, называемые блок 0 и блок 1, в то время как пространство внешней памяти разделено на четыре банка.

Небанковая память

Область памяти выше банков 0-3 называется небанковым пространством внешней памяти. Для доступа в это адресное пространство линии выбора памяти MSX невыставляются. Доступ к небанковому пространству памяти может также иметь состояния ожидания, определенные в полях UBWS и UBWM регистра WAIT.

Выбор начальной загрузки памяти

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

Вывод J3JV1S управляется только ведущим ADSP-2106x.

Синхронизация обращения к внешней памяти

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

Внешняя память

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

Чтение из внешней памяти происходит в следующей последовательности ADSP-2106x выводит адрес чтения и выставляет сигнал выбора памяти (MSj-o) чтобы указать выбранный банк. Сигнал выбора памяти не сбрасывается междупоследовательными обращениями в один и тот же банк памяти.

ADSP-2106x выставляет строб чтения (если обращение в память не прерывается из-за условной команды).

ADSP-2106x проверяет, необходимы ли состояния ожидания. Если да, то сигнал выбора памяти и строб чтения остаются активными на дополнительный (ые) цикл (ы). Наличие состояний ожидания определяется состоянием сигнала внешнего подтверждения (АСК), внутренним программируемым счетчиком состояний ожидания или комбинацией обоих.

ADSP-2106x фиксирует данные.

ADSP-2106x сбрасывает строб чтения.

При инициализации другого обращения к памяти ADSP-2106x выводит адрес и сигнал выбора памяти в следующем цикле.

Заметим, что если считывание из памяти является частью условной команды, которая не выполняется из-за того, что условие ложно, то ADSP-2106x выводит адрес и сигнал выбора памяти для чтения, но не выставляет строб чтения и не считывает данные.

Запись во внешнюю память, режим ведущего Запись во внешнюю память происходит в следующей последовательности:

ADSP-2106x выводит адрес записи и выставляет сигнал выбора памяти, чтобы указать выбранный банк. Сигнал выбора памяти не сбрасывается между последовательными обращениями в один и тот же банк памяти.

ADSP-2106x выставляет строб записи и выводит данные (если обращение в память не прерывается из-за условной команды).

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

ADSP-2106x сбрасывает строб записи в конце цикла.