Организация памяти СП. Доступ к памяти. Блоки памяти
2 Федеральное Агентство образования Российской Федерации Пензенский государственный университет Кафедра "Информационная безопасность систем и технологий" РЕФЕРАТ по теме: "Организация памяти СП. Доступ к памяти. Блоки памяти. Внешняя память. Кэш-память " Дисциплина: ЦиМПТ Группа: Выполнил: Руководитель работы: Пенза 2006 Содержание - Введение
- Метод двойного доступа к памяти
- Кэш-команды и обращение к данным по шине памяти
- Шины памяти и генерация адресов
- Обращение к блоку памяти и конфликты
- Ограничения при обращении к пространству памяти
- Интерфейс внешней памяти
- Банки внешней памяти
- Небанковая память
- Выбор начальной загрузки памяти
- Синхронизация обращения к внешней памяти
- Внешняя память
- Шины памяти и генерация адресов
- Обмен данными между шинами памяти
- Пространство внутренней памяти ADSP-21062
- Пространство внутренней памяти ADSP-21061
- Пространство памяти многопроцессорной системы
- Заключение
Введение Для хранения программ и данных процессоры ADSP-2106x имеют большой объем двухпортовой памяти, расположенной на кристалле. Память делится на два блока, которые называются блок 0 и блок 1. Объем памяти, доступной в процессорах ADSP-2106x, приведен ниже:|
Характеристики SRAM | ADSP-21060 | ADSP-21062 | ADSP-21061 | | Полный объем | 4 Мбит | 2 Мбит | 1 Мбит | | Объем блока | 2Мбит | 1 Мбит | 0.5 Мбит | | число 48-разрядных слов | | | | | на блок | 40 Кслов | 20 Кслов | 8 Кслов | | число 32-разрядных слов | | | | | на блок | 64 Кслова | 32 Кслова | 16 Кслов | | число 16-разрядных слов | | | | | на блок | 128 Кслов | 64 Кслова | 32 Кслова | | |
Через внешний порт процессора ADSP-2106x можно адресовать до 4 гигаслов дополнительной памяти, находящейся вне кристалла. 32-разрядные слова используются для представления данных с плавающей точкой одиночной точности стандарта IEEE.48-разрядные слова содержат команды или 40-разрядные данные с плавающей точкой повышенной точности. Кроме того, для представления целочисленных или дробных данных ADSP-2106х поддерживает формат 16-разрядных коротких слов. В каждом процессоре ADSP-2106x память соединяется с другими функциональными устройствами через три внутренние шины: шину памяти программы (РМ), шину памяти данных (DM), шину ввода-вывода (I/O). Шина РМ и шина DM совместно используют один порт памяти, а шина I/O - другой. Внутренние шины РМ и DM управляются ядром процессора, шина I/O управляется устройством ввода-вывода (ЮР), расположенным на кристалле ADSP-2106x. Шина I/O позволяет осуществлять параллельную передачу данных между любым блоком памяти и портами связи ADSP-2106x (линк-портами, последовательными портами и внешним портом). При такой двухпортовой структуре обращения к внутренней памяти ядра процессора и устройства ввода-вывода осуществляются независимо по отношению друг к другу. В одном цикле к каждому блоку памяти могут обращаться и ядро процессора, и устройство ввода-вывода, причем когда ядро процессора и устройство ввода-вывода обращаются к одному и тому же блоку, то дополнительных циклов не требуется. Ядро процессора и устройство ввода-вывода имеют доступ к внешним шинам (DATA47 0, ADDR310) через внешний порт ADSP-2106x. Внешний порт обеспечивает доступ к памяти, размещенной вне кристалла, и к периферийным устройствам. Через него можно обращаться к внутренней памяти других ADSP-2106х, соединенных в многопроцессорную систему. Схема соединения с общей шиной позволяет реализовывать одно объединенное адресное пространство, в котором могут храниться и код, и данные. Внешняя память может быть 16-, 32 - или 48-разрядная; контроллер прямого доступа в память (DMA) автоматически упаковывает внешние данные в слова соответствующей разрядности: 48-разрядные команды или 32-разрядные данные. Заметим, что внутренняя память разделена на два блока, называемые блок 0 и блок 1, а внешнее пространство памяти разделено на четыре банка. Метод двойного доступа к памяти В процессорах семейства ADSP-2100 и ADSP-21000 память традиционно разделяется на память программы (для хранения команд) и на память данных (для хранения данных). Для модифицированной гарвардской архитектуры процессоров характерна возможность хранения данных в памяти программы. В ADSP-2106x поддерживается разделение расположенных на кристалле шин на отдельные шины: для памяти программы и памяти данных (как в семействе ADSP-21000), но не ограничивается использование одного из двух блоков памяти для хранения программы, а другого - для хранения данных. Такая организация позволяет свободно конфигурировать память для хранения различных комбинаций кода и данных.Наличие независимых шин памяти программы и памяти данных позволяют ядру процессора ADSP-2106x одновременно обращаться к командам и данным в обоих блоках памяти. Если необходимо обратиться к двум словам в одном и том же блоке памяти (по одной и той же шине) с помощью одной команды, то потребуется дополнительный цикл. Команды выбираются из памяти по шине памяти программы или из кэша команд. К данным можно обращаться по шине памяти данных (используя DAG1) и по шине памяти программы (используя DAG2). Схема соединения шин в ADSP-2106x показана на рис.5.1.Два блока памяти процессоров ADSP-2106x могут быть сконфигурированы для хранения различных комбинаций 48-разрядных команд и 32-разрядных данных. Тем не менее, максимальная эффективность (т.е. выполнение двух команд доступа к данным за один цикл) достигается, когда в одном блоке находятся команды и данные памяти программы, а в другом блоке - только данные памяти данных. Это означает, что для команды, требующей двух обращений к данным, шина РМ (и DAG2) будет использоваться для обращения к данным из блока, содержащего и команды, и данные, а шина DM (и DAG1) будет использоваться для обращения к данным из блока, содержащего только данные, причем выбираемая команда должна быть доступна из кэша. Другой способ состоит в том, чтобы хранить один операнд во внешней памяти, а другой - в любом блоке внутренней памяти.При реализации цифровых фильтров и быстрого преобразования Фурье (FFT) с использованием процессоров при выполнении некоторых команд должны быть доступны два операнда данных. В цифровом фильтре, например, коэффициенты фильтра могут храниться в виде 32-разрядных слов в том же самом блоке памяти, который содержит 48-разрядные команды, в то время как 32-разрядные выборки данных хранятся в другом блоке. Это позволяет выполнить в одном цикле команду с двойным доступом к данным, когда коэффициенты фильтра выбираются по шине РМ с использованием DAG2, а команда - из кэша.Чтобы обеспечить параллельный доступ к двум областям памяти за один цикл, необходимо выполнить следующие условия:два адреса должны размещаться в различных блоках памяти (т.е. один в блоке 0, другой в блоке 1);один адрес должен генерироваться DAG1, а другой - DAG2;адрес DAG1 не должен указывать на тот же самый блок памяти, из которого будет выбрана команда;команда должна быть следующего типа:Compute, Rx=DM (10-17, М0-М7), Ry=PM (18-115, М8-М15); (Заметим, что чтение и запись взаимозаменяемы).Запомните, что если в течение передачи с использованием DAG2 выбираемой команды нет в кэше, то произойдет неудачное обращение к кэшу.Кэш-команды и обращение к данным по шине памяти Обычно в ADSP-2106x команды выбираются по 48-разрядной шине данных памяти программы (PMD). Однако когда процессор выполняет команду с двойным доступом к данным, которая требует, чтобы данные считывались или записывались по шине PMD, то возникает конфликт при использовании этой шины. Кэш команд позволяет разрешить этот конфликт, обеспечивая команду (если только она сохранилась в кэше после того, как была выполнена первый раз).Обеспечивая команду, кэш позволяет ядру процессора обратиться к данным по шине PMD; ядро процессора выбирает команду из кэша вместо того, чтобы выбирать ее из памяти, так что в процессоре одновременно с выбором команды могут передаваться данные по шине PMD. В кэш помещаются только те команды, при выборе которых из памяти возникает конфликт с обращением к данным по шине PMD.Кэш команд позволяет осуществлять обращение к данным по шине РМ без дополнительных циклов, если команда, которая должна быть выбрана, уже кэширована. Даже если команда и данные находятся в различных блоках памяти, но для их выборки используется одна и та же шина, то в случае неудачного обращения к кэшу всегда будет добавляться дополнительный цикл.Шины памяти и генерация адресов В процессоре ADSP-2106x есть три внутренние шины, соединенные с его двухпортовой памятью: шины РМ, DM и шина I/O. Шины РМ и DM совместно используют один порт памяти, а шина I/O - другой порт.Программный автомат и генераторы адреса данных (DAG1 и DAG2) формируют адреса памяти. Программный автомат выводит 24-разрядный адрес на шину РМ для выбора команды. DAG1 и DAG2 обеспечивают адреса для чтения и записи данных (см. рис.5.1).Два генератора адреса данных позволяют выполнять косвенную адресацию данных. DAG1 выводит 32-разрядный адрес на шину адреса DM. DAG2 вырабатывает 24-разрядный адрес для обращения к данным по шине данных РМ. DAG1 и DAG2 могут генерировать адреса одновременно - по шине РМА и шине DMA - для двойных операндов чтения/записи, если команда, которая должна быть выбрана, доступна из кэша.48-разрядная шина PMD используется для передачи команд (и данных), 40-разрядная шина DMD используется для передачи данных. Разрядность шины PMD - 48 бит в соответствие с длиной командного слова. Когда эта шина используется для передачи 32-разрядных данных с плавающей точкой или 32-разрядных данных с фиксированной точкой, то данные выравниваются к 32 старшим разрядам шины.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 (Silicon Revision 1.0) и более ранних версиях при операции адресации с предмодификацией не должно изменяться пространство памяти адреса. Например, предмодификация адреса в пространстве внутренней памяти не должна давать адрес в пространстве внешней памяти. Есть одно исключение из этого правила: команда косвенного перехода (JUMP) или команда вызова (CALL) с пред-модификацией адреса могут вызывать переход из внутренней памяти во внешнюю. Версии кристалла 2.0 (Silicon Revision 2.0) и более поздние версии не имеют ограничений на предмодификацию.
Страницы: 1, 2
|