Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Руководство пользователя по сигнальным процессорам Sharc

.pdf
Скачиваний:
128
Добавлен:
01.05.2014
Размер:
9.49 Mб
Скачать

Память 5

Для устранения этого конфликта ADSP 2106x генерирует неактивный цикл шины при переходе от чтения из банка памяти к обращению в любой другой банк, в пространство памяти многопроцессорной системы или к записи в тот же самый банк (с разрешенным циклом простоя шины). Другими словами, цикл простоя шины всегда генерируется после чтения, за исключением случая последовательного чтения того же самого банка. Устройство с длительным временем отключения управлением выхода должно разрешить генерацию цикла простоя шины, используя коды числа состояний ожидания (001, 010, 011, 111).

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

Цикл удержания (hold time cycle)— это неактивный цикл шины, автоматически генерируемый в конце чтения или записи, в котором адрес и данные остаются

Рис. 5.15. Регистр WAIT

161

5 Память

Рис. 5.16. Цикл простоя шины, цикл удержания, неактивный цикл при пересечении границы страницы

162

Память 5

неизменными и выводятся в течение еще одного цикла после сброса стробов чтения или записи.

Один неактивный цикл при пересечении границы страницы может разрешаться путем установки бита PAGEIS регистра WAIT. Адрес выставляется в том же цикле, что и сигнал на выводе PAGE, но выставление строба чтения/записи задерживается на один цикл. Подробнее см. «Обнаружение пересечения границы страницы DRAM».

Это позволяет устройству с медленными переходом в третье состояние освободить локальную шину прежде, чем начнется следующий доступ ADSP 2106x. Цикл простоя шины вставляется при каждом чтении из фиксатора DMA. См. «Аппаратный интерфейс DMA» в разделе «DMA через внешний порт» главы DMA. На рис. 5.16 показаны примеры цикла простоя шины, цикла удержания и неактивного цикла при пересечении границы страницы.

После сброса процессора регистр WAIT инициализируется значением 0x21AD 6B5A, что конфигурирует ADSP 2106x следующим образом:

нет состояний простоя при пересечении границы страницы;

6 внутренних состояний ожидания;

режим состояния ожидания – зависимость от запрограммированных состояний ожидания и внешних сигналов подтверждения для всех банков памяти и для небанковой памяти;

разрешено состояние ожидания для пространства памяти многопроцессорной системы (см. следующий раздел)

Состояния ожидания для небанковой памяти и режим состояния ожидания применяются к определяемым сигналом обращениям.

5.4.4.2. Состояния ожидания и сигналы подтверждения для пространства памяти многопроцессорной системы

Выполнение чтения и записи в пространство памяти многопроцессорной системы зависит только от сигнала ACK. Этому способствует сигнал ,

использующийся для предварительного указания того, является ли обращение записью или чтением (см. рис. 5.19), а также использование опции автоматического состояния ожидания для пространства памяти многопроцессорной системы (бит MMSWS регистра WAIT).

При установке бита MMSWS (бит 29) регистра WAIT добавляется одно состояние ожидания при всех чтениях и записях в пространство памяти многопроцессорной системы. Эта опция должна использоваться, когда внешняя

163

5 Память

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

Когда ведущий ADSP 2106x добавляет состояние ожидания, ведомые ADSP 2106x отвечают сбросом сигнала ACK в низкий уровень в первом цикле, даже если они имеют бит MMSWS=1. Если MMSWS=1 в ведущем ADSP 2106x, то он игнорирует ACK в первом цикле и отвечает на него во втором цикле. Эта установка позволяет продлить время вывода следующих сигналов ведомого: ADDR, RD, WR и DATA (запись в ведомый). А также, эта установка позволяет продлить время вывода сигнала ACK ведущего. На времена установки и удержания других сигналов бит MMSWS=1 не влияет. Эта установка не изменяет временных требований к удержанию сигналов RD, WR или DATA ведомого (запись в ведомый). А также эта установка не изменяет времени вывода или времени удержания сигнала DATA ведущего (чтение из ведомого).

Все ADSP 2106x в многопроцессорной системе должны иметь одинаковое значение бита MMSWS.

5.4.5. Обнаружение пересечения границы страницы DRAM

Приложениям с большим количеством данных может понадобиться память типа DRAM для хранения значительного объема данных. Чтобы упростить интерфейс со страничной DRAM, ADSP 2106x обнаруживает пересечение границы страницы и выводит сигнал PAGE во внешний контроллер DRAM. Границы страницы определяются пользователем. Они должны устанавливаться программно в регистре WAIT.

Автоматическое обнаружение пересечения границы страницы обеспечивается сигналом PAGE ADSP 2106x. DRAM должна выделяться в банке 0 внешней памяти, т. к. сигнал PAGE активен только внутри банка 0. Размер страницы для обнаружения границы страницы определен в поле PAGSZ (биты 27 25) регистра WAIT:

PAGSZ

Размер страницы DRAM

 

 

 

000

256 слов

001

512 слов

010

1024

слова (1 К)

011

2048

слов (2 К)

1004096 слов (4 К)

1018192 слова (8 К)

11016384 слова (16 К)

11132768 слов (32 К)

164

Память 5

ADSP 2106x выставляет сигнал на выводе PAGE всякий раз, когда при внешнем доступе пересекается граница страницы, а адрес принадлежит банку 0. Процессор обнаруживает пересечение границы путем сравнения каждого выводимого для банка 0 адреса,с адресом последнего успешного внешнего доступа (который сохраняется в регистре устройства ввода вывода ELAST). Если доступ к памяти прерывается, например, из за условной записи, то сигнал PAGE не будет выставлен и текущая страница не будет обновлена в ELAST. Если произошло обращение к пространству памяти многопроцессорной системы или к любому другому пространству памяти, кроме банка 0 пространства внешней памяти, то сигнал на выводе PAGE не будет выставлен и текущая страница не будет обновлена.

Сигнал на выводе PAGE будет оставаться установленным, пока доступ будет активен. Он не выставляется, когда отсутствует какой либо доступ.

Текущая страница автоматически аннулируется и выставляется сигнал на выводе PAGE при следующем внешнем доступе, если: 1) ADSP 2106x теряет управление внешней шиной, которое переходит к другому ADSP 2106x или хост процессору; 2) происходит сброс процессора. ELAST не должен считываться в цикле, следующем сразу после записи, поскольку он может находиться в процессе обновления.

Один неактивный цикл при пересечении границы страницы может быть разрешен для того, чтобы дать контроллеру DRAM достаточно времени для

выставления сигнала на выводе (см. «Перевод шины в третье

состояние»). Этот цикл разрешается установкой бита PAGEIS (бит 28) в регистре WAIT. Адрес выводится в одном цикле с выставлением сигнала на выводе PAGE, но вывод стробов чтения/записи задерживается на один цикл. Если для банка разрешены состояния ожидания, то они начинаются после неактивного цикла. Изменение страницы применяется только для банка 0, т. о., допускаются чтение и запись других периферийных устройств и внешней памяти без изменения страницы DRAM в банке 0. Эта опция должна быть запрещена, когда сигнал PAGE не используется.

Сигнал запроса шины хост процессором () запрещается, когда

выставляется сигнал на выводе PAGE. Это предотвращает возможность перехода ADSP 2106x в режим ведомого (посредством функциональных возможностей разрешения взаимных блокировок), когда контроллер DRAM обслуживает изменение страницы (см. «Перевод шины в третье состояние»).

На рис. 5.17 показан пример системы ADSP 2106x с DRAM. Однако в некоторых системах могут понадобиться другие способы интерфейса, особенно если для работы с DRAM необходимы буферы.

165

5 Память

Рис. 5.17. Пример интерфейса с DRAM

5.4.5.1 Перевод шины в третье состояние ()

Внешние устройства могут выставлять сигнал на входе ADSP 2106x,

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

пытается обратиться к внешней памяти, когда выставлен , то процессор будет остановлен и доступ к памяти не будет выполнен, пока не будет сброшен сигнал .

Сигнал должен использоваться только для восстановления нормальной работы после ошибки при работе со страничной DRAM или для выхода из

166

Память 5

состояния взаимной блокировки между хост процессором и ADSP 2106x (см. «Устранение взаимных блокировок» в разделе «Интерфейс системной шины» главы Хост интерфейс). В случае возникновения ошибки при работе со

страничной DRAM сигнал позволяет внешнему контроллеру DRAM взять под свой контроль внешнюю шину.

Сигнал переводит в третье состояние следующие выводы: ADDR31 0, DATA47 0, , , , , , ADRCLK, PAGE,

,.

5.4.5.2. Нормальная работа : не выставлен

При выставлении сигнала линии адреса, данных, выбора и стробов

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

сигнал , то оно будет отложено (как будто ACK был сброшен). Если сигнал выставляется, когда нет никакого внешнего обращения, то

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

следующем цикле после выставления .

Когда сброшен, стробы , и будут подтверждены (если

они были выставлены перед установкой ) после того, как внешний адрес

станет истинным (т. е. при их нормальной синхронизации в течение цикла). Счетчик состояний ожидания будет сброшен. Это справедливо, даже если

процессор удерживается в состоянии сброса (выставлен).

Работа сигналов и отличается тем, что оказывает воздействие в следующем цикле, даже если выполняется (но не закончено) внешнее обращение. Сигнал должен использоваться только в том случае,

если происходит внешнее обращение в такие устройства памяти, как DRAM или кэш, где для подготовки к выполнению обращения последнее задерживается.

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

167

5 Память

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

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

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

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

На рис. 5.18 показаны временные диаграммы для асинхронных чтения или записи внешней памяти. Заметим, что сигнал тактовой частоты показан только для того, чтобы обратить внимание на то, что обращение выполняется за один цикл.

CLKIN

ADDR

адрес чтения / адрес записи

MSx SW

RD или WR

DATA

Данные чтения / записи

 

ACK

 

Рис. 5.18. Временные диаграммы обращения к внешней памяти

168

Память 5

5.5.1.1. Чтение из внешней памяти, режим ведущего

Чтение из внешней памяти происходит в следующей последовательности (см. рис. 5.18):

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

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

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

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

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

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

и сигнал выбора памяти в следующем цикле.

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

5.5.1.2. Запись во внешнюю память, режим ведущего

Запись во внешнюю память происходит в следующей последовательности (см. рис. 5.18):

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

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

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

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

5.ADSP 2106x переводит свои выводы данных в третье состояние.

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

и сигнал выбора памяти в следующем цикле.

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

169

5 Память

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

Временные диаграммы обращения к памяти многопроцессорной системы показаны на рис. 5.19. Чтобы получить полную информацию относительно обращения к памяти многопроцессорной системы, см. «Прямые чтение и запись» и «Передача данных через буферы EPBx» в главе Многопроцессорная система этого руководства.

Тактовая частота

ADDR

адрес записи

адрес записи

 

адрес чтения

 

 

 

 

 

 

 

 

 

 

 

 

 

SW

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

WR

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RD

 

 

 

 

 

 

AСK

 

 

 

 

 

 

(выводится

 

 

 

 

 

 

ведомым,

 

Ведомый

 

 

Ведомый

 

принимается

 

удерживает AСK в

 

 

удерживает AСK

 

ведущим)

 

низким 1 цикл

 

 

низким 2 цикла

 

DATA

Запись данных

Запись данных

 

 

Чтение данных

 

 

Ведущий

ведущий

ведущий

ведущий

ведущий

ведущий

ведущий

 

 

получает

 

 

ADSP-2106x

записывает

записывает

ожидает AСK

считывает

ожидает AСK

 

 

данные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ведомый

ведомый имеет 1

ведомый

ведомый имеет 2

 

ведомый

 

 

 

 

 

состояние

 

 

 

Ведомый

состояния

 

 

 

получает

ожидания,

получает

 

выводит

 

 

ADSP-2106x

ожидания,

 

 

 

данные

сбрасывает

данные

 

данные

 

 

 

 

 

сбрасывает AСK

 

 

 

 

 

 

 

AСK

 

 

 

 

 

 

 

 

 

Запись

Запись многопроцессорной

Чтение многопроцессорной

 

 

 

 

 

многопроцессор-

системы (1 состояние

системы (2 состояния

 

 

 

 

 

ной системы (нет

ожидания)

 

ожидания)

 

 

 

 

 

 

состояний

 

 

 

 

 

 

 

 

 

 

ожидания)

 

 

 

 

 

Рис. 5.19. Временные диаграммы обращения к пространству памяти многопроцессорной системы

Заметим, что минимальное время обращения – это:

1 состояние ожидания (2 цикла) для чтения из регистра IOP; 3 состояния ожидания (4 цикла) для чтения из памяти

170