Смекни!
smekni.com

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

Федеральное Агентство образования Российской Федерации Пензенский государственный университет Кафедра "Информационная безопасность систем и технологий"

РЕФЕРАТ

по теме:

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

Внешняя память. Кэш-память "

Дисциплина: ЦиМПТ

Группа:

Выполнил:

Руководитель работы:

Пенза 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 (линк-портами, последовательными портами и внешним портом).

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

Ядро процессора и устройство ввода-вывода имеют доступ к внешним шинам (DATA470, 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 старшим разрядам шины.