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

Программный автомат и генераторы адреса данных (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).

Обмен данными между шинами памяти

Регистр РХ обеспечивает обмен данными между внутренними шинами: между 48-разрядной шиной PMD и 40-разрядной шиной данных DMD.48-разрядный регистр РХ состоит из двух регистров: 16-разрядного РХ1 и 32-разрядного РХ2. РХ1 и РХ2 могут независимо использоваться в командах, а также рассматриваться как объединенный регистр РХ.

Любой из двух регистров РХ1 и РХ2 или объединенный регистр РХ могут использоваться при передаче данных между универсальными регистрами или между памятью и регистром. Эта передача данных может выполняться по шине PMD или по шине DMD. Регистры РХ могут считываться в регистровый файл данных или записываться из него по шине PMD или по шине DMD.

При передаче данных с использованием регистра РХ данные выравниваются в нем так, как показано на рис.5.3. Когда данные передаются между РХ2 и шиной PMD, то используются 32 старших разряда шины. При передаче данных из РХ2 16 младших разрядов шины PMD заполняются нулями. Когда данные передаются между РХ1 и шиной PMD, то используются 16 средних разрядов шины РМ. При передаче данных из РХ1 биты 15-0 и биты 47-32 заполняются нулями. Когда объединенный регистр РХ используется для передачи данных по шине PMD, то все 48 разрядов могут считываться из памяти программы или записываться в нее. РХ2 содержит 32 старших разряда, а РХ1 содержит 16 младших разрядов 48-разрядного слова.

Например, если необходимо записать по шине PMD 48-разрядное слово в область памяти, называемую Portl, то можно использовать следующие команды:

R0=0x9A00; /* загрузка в R0 16 младших бит */

Rl=0xl2345678; /* загрузка в R1 32 старших бита */ PX1=RO; PX2=R1;

РМ (Portl) =РХ; /* запись 16 младших бит битами 15-0 */

/*и 32 старших бита битами 47-16 шины PMD */

Пространство внутренней памяти ADSP-21062

Объем памяти процессоров ADSP-21062 и ADSP-21060 различен (см. ниже)

Процессор Общий

Объем Максимальный

Объем Максимальный объем памяти

памяти данных памяти программы ADSP-21060 4Мбита128 К х 3280 К х 48

ADSP-21062 2Мбита64 К х 3240 К х 48

Память в ADSP-21062 разделена на два равных блока - блок 0 и блок 1, таким же образом, как и в ADSP-21060. Пространство памяти многопроцессорной системы и пространство внешней памяти у процессоров ADSP-21062 и ADSP-21060 одинаковы.

Блок 0 в ADSP-21062 располагается в адресном пространстве нормальных слов, начиная с адреса 0x0002 0000, блок 1-е адреса 0x0002 8000. Карта 2-х Мбит внутренней памяти ADSP-21062 приведена на рис.5.7а и в табл.5.2а. Диапазон адресов псевдонимов блока 1 будет фактически располагаться в блоке 1, 0x0002 8000 - 0x0002 FFFF в адресном пространстве нормальных слов, 0x0005 0000 - 0x0005 FFFF в адресном пространстве коротких слов.

Пространство внутренней памяти ADSP-21061

Объем памяти у процессоров ADSP-21061 и ADSP-21060 различен (см. ниже).

Процессор

Общий объем

Максимальный объем

Максимальный объем

 

памяти

памяти данных

памяти программы

ADSP-21060

4 Мбита

128 К х 32

80 К х 48

ADSP-21062

1 Мбит

32 К х 32

16 К х 48

Память, расположенная на кристалле процессора ADSP-21061, разделена на два равных блока, блок 0 и блок 1, так же как и память ADSP-21060. Пространство памяти многопроцессорной системы и пространство внешней памяти у процессоров ADSP-21061 и ADSP-21060 одинаковы.

Блок 0 процессора ADSP-21061 располагается в адресном пространстве нормальных слов, начиная с адреса 0x0002 0000, блок 1-е адреса 0x0002 4000. Карта памяти для 1 Мбита внутренней памяти ADSP-21061 показана на рис.5.7б и в таблице 5.2б. Диапазон адресов псевдонимов блока 1 будет фактически располагаться в блоке 1, 0x0002 4000 - 0x0002 7FFF в адресном пространстве нормальных слов, 0x0004 8000 - 0x0004 FFFF в адресном пространстве коротких слов.

Для облегчения перенесения кодов между процессорами ADSP-2106x используется система создания псевдонимов блока 1, которая устраняет необходимость в изменении кодов. Например, блок 0 в ADSP-21062 начинается в пространстве адресов нормальных слов с адреса 0x0002 0000. Блок 1 в ADSP-21062 начинается в конце блока 0 со смежными (продолжающимися) адресами. Остающиеся адреса во внутренней памяти делятся на блоки, называемые псевдонимами блока 1. Создание псевдонимов позволяет сохранять любой код или данные из блока 1 в ADSP-21060 по тем же самым адресам в ADSP-21062 - эти адреса будут псевдонимами фактического блока 1 процессора. Подобная структура создания псевдонимов формируется и в ADSP-21061. (см. карты памяти для процессоров ADSP-21061 и ADSP-21062).

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


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

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

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

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