Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Кеш на ep93xx
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Andrei....
Как включить кеши на ep93xx? И можно ли ожидать существенного ускорения?
yuri_t
Посмотрите в исходных кодах Linux и NetBSD (ports for the EP93XX).
Только надо помнить, что они используют MMU (без MMU есть uLinux).
Datasheet на соотв. ARM core читать надо обязательно.

В моих задачах использование cache (MMU выключен) дает увеличение
производительности примерно в 5 раз.
Pole
Цитата(Andrei.... @ Nov 28 2006, 18:34) *
Как включить кеши на ep93xx? И можно ли ожидать существенного ускорения?

При включение кеша происходит существенное ускорение. У ep9xx есть два вида кеша: кеш инструкций и кеш данных. Кеш инструкций включается установкой 12 бита 1 регистра со-процессора 15 )
К примеру вот так: ldr r0, =0xC0001078
mcr p15, 0, r0, c1, c0, 0

А для включения кеша данных нужно сначала запустить MMU.
aaarrr
Цитата(Andrei.... @ Nov 28 2006, 18:34) *
Как включить кеши на ep93xx? И можно ли ожидать существенного ускорения?

Так же, как и у любого другого процессора с 920-м ядром. Инфы навалом.

Нажмите для просмотра прикрепленного файла

Насколько существенным будет ускорение - зависит от задачи, но, как правило, не заметить его нельзя...
Andrei....
Цитата(Pole @ Nov 28 2006, 23:27) *
При включение кеша происходит существенное ускорение. У ep9xx есть два вида кеша: кеш инструкций и кеш данных. Кеш инструкций включается установкой 12 бита 1 регистра со-процессора 15 )
К примеру вот так: ldr r0, =0xC0001078
mcr p15, 0, r0, c1, c0, 0

А для включения кеша данных нужно сначала запустить MMU.


а почему при записи в регистр выбирается асинхроный режим (а не синхронный)?
Pole
Цитата(Andrei.... @ Nov 29 2006, 13:17) *
Цитата(Pole @ Nov 28 2006, 23:27) *

При включение кеша происходит существенное ускорение. У ep9xx есть два вида кеша: кеш инструкций и кеш данных. Кеш инструкций включается установкой 12 бита 1 регистра со-процессора 15 )
К примеру вот так: ldr r0, =0xC0001078
mcr p15, 0, r0, c1, c0, 0

А для включения кеша данных нужно сначала запустить MMU.


а почему при записи в регистр выбирается асинхроный режим (а не синхронный)?

Режим может быть любой: синхронный, асинхронный или Fast Bus. На включение кеша это не влияет. Я просто использую асинхронный режим.
Andrei....
Цитата(Pole @ Nov 29 2006, 17:30) *
Цитата(Andrei.... @ Nov 29 2006, 13:17) *

Цитата(Pole @ Nov 28 2006, 23:27) *

При включение кеша происходит существенное ускорение. У ep9xx есть два вида кеша: кеш инструкций и кеш данных. Кеш инструкций включается установкой 12 бита 1 регистра со-процессора 15 )
К примеру вот так: ldr r0, =0xC0001078
mcr p15, 0, r0, c1, c0, 0

А для включения кеша данных нужно сначала запустить MMU.


а почему при записи в регистр выбирается асинхроный режим (а не синхронный)?

Режим может быть любой: синхронный, асинхронный или Fast Bus. На включение кеша это не влияет. Я просто использую асинхронный режим.

а в чём отличия синхронного и асинхронного, есть ли какие нибудь преимущества при использовании синхронного режима?
aaarrr
Цитата(Andrei.... @ Nov 30 2006, 10:11) *
а в чём отличия синхронного и асинхронного, есть ли какие нибудь преимущества при использовании синхронного режима?

В асинхронном режиме BCLK и FCLK могут иметь разные источники, в синхронном BCLK должен быть получен из FCLK путем деления - в 99% случаев это так. Теоретически синхронный режим может быть чуть быстрее, но на деле разница составляет десятые доли процента.

P.S. Крайне рекомендую внимательно и вдумчиво изучить соответствующие мануалы - ARM920T Technical Reference Manual, EP9307 Users Guide и т.д.
Andrei....
как влияет оптимизация при включённых кешах на скорость работы?
aaarrr
Оптимизация чего??? Если имеются в виду опции оптимизации компилятора, то их влияние при включенном кэше станет более заметно.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.