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

Пространство памяти многопроцессорной системы

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

Когда поле адреса Е нулевое, а поле М ненулевое, то образуется адре

с пространства памяти многопроцессорной системы, как показано на рис.5.5. Значение поля М определяет идентификатор (Ш, о) того внешнего процессора ADSP-2106x, к которому будет осуществляться обращение, и только этот процессор будет реагировать на циклы чтения/записи. Если поле М=111, то выполняется широковещательная запись во все процессоры. Все процессоры реагируют на этот адрес, как если бы использовался идентификатор, разрешающий запись в их внутреннюю память.

Вместо прямого обращения к собственной внутренней памяти ADSP-2106x может также обращаться к ней через пространство памяти многопроцессорной системы, используя собственный ID. В этом случае процессор просто считывает из собственной внутренней памяти или записывает в нее и не делает попытку доступа по внешней системной шине, (заметим, что это обращение к собственной внутренней памяти через пространство памяти многопроцессорной системы осуществляется только по адресу, сгенерированному ядром процессора, а не по адресу, сгенерированному контроллером DMA).

Если оба поля Е и М адреса на внешней шине нулевые, тогда адрес будет игнорироваться. Исключение составляет только случай, когда ID процессора также не равен нулю, т.е. М=Ш, 0=000. Адреса с М=Ш, 0=000 разрешены только в системах с одним процессором.

Если ADSP-2106x пытается обратиться по ошибочному адресу в пространство памяти многопроцессорной системы, то запись данных будет проигнорирована, а при считывании будут получены неправильные данные.

Организация внутренней памяти и размер слова Во внутренней SRAM размещаются следующие типы слов:

48-разрядные команды, 32-разрядные данные с плавающей точкой, 16-разрядные короткие слова данных.

40-разрядные слова данных с плавающей точкой повышенной точности размещаются в 48-разрядных словах.40 бит выравниваются по левому краю (биты 47-8).

Если ядро процессора обращается к своей внутренней памяти, то размер слова определяется согласно следующим правилам:

При выборке команды всегда считывается 48-разрядное слово;

При чтении/записи с использованием адресации нормальных слов производятся операции с 32-разрядными или 48-разрядными словами в зависимости от того, как блок памяти сконфигурирован в регистре SYSCON;

При чтении/записи с использованием адресации коротких слов всегда производятся операции с 16-разрядными словами;

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

При чтении/записи регистра РХ по шине 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-разрядным форматом с плавающей точкой выполняется с помощью одной команды.

Страница:  1  2  3  4  5  6 


Другие рефераты на тему «Программирование, компьютеры и кибернетика»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы