М. С. ЛАДНУШКИН

Научный руководитель – С. Г. БОБКОВ, к. т.н., доцент

Научн - исследовательский институт системных исследований РАН, Москва

АРХИТЕКТУРЫ КЭШЕЙ
ДЛЯ ГРАФИЧЕСКОГО КОНТРОЛЛЕРА

Для ускорения обработки 3D графики в графическом контроллере используется кэш память. Кэш память устанавливается в текстурном блоке графического процессора для ускорения работы с памятью. Для разработки текстурного блока с использованием кэша были рассмотрены некоторые, существующие на сегодняшний день архитектуры.

Базовый текстурный кэш.

Особенностью обработки графики является следующее: значение (например, цвет) конечного фрагмента зависит от значений соседних текселей, и поэтому, велика вероятность, что для получения значения конкретного фрагмента может понадобиться значение только что обработанного текселя. И во избежание повторного обращения к памяти, Hakura и Gupta предложили использовать промежуточную кэш-память для хранения обработанных текселей. Эта память работает на частоте генератора фрагментов. Преимущества:

ü  Уменьшается время простоя конвейера

ü  Снижается загрузка шины памяти (в 3÷15 раз)

Кэш с предварительной выборкой.

При обработке изображения узким местом является задержка памяти и её пропускная способность, так как скорость обмена с памятью заметно ниже производительности процессора. Чтобы нивелировать задержку обращения к памяти используется кэш с предварительной выборкой, который представляет собой базовый текстурный кэш, извлечение данных из которого происходит по алгоритму «предварительной выборки» (prefetch). В сравнении с системой с кэшем без предварительной выборки:

ü  Время простоя конвейера в ожидании одного фрагмента уменьшилось до 1%

ü  Время задержки памяти сократилось на 97%

Многоуровневый кэш.

Базовый текстурный кэш (одноуровневый кэш) имеет малый объем памяти, позволяющий ускорять работу только при локализации на уровне треугольников и объектов внутри кадра. Для оптимизации работы шины памяти на межкадровом уровне, создается дополнительный уровень кэш-памяти – уровень L2, который будет выполнять эти функции. L2 кэш позволяет:

ü  обращаться к текстурной памяти в 3÷5 раз меньше

ü  L2-кэш размером 2 MB может обеспечить снижение загрузки шины памяти в 18÷140 раз

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

Список литературы

1. Hakura ZS, Gupta A. The design and analysis of a cache architecture for texture mapping, 1997

2. Igehy H, Eldridge M, Proudfoot K. Prefetching in a texture cache architecture, 1998

3. Cox M, Bhandari N, Shantz M. Multi-level caching for 3D graphics hardware, 1998