М. С. ЛАДНУШКИН
Научный руководитель – С. Г. БОБКОВ, к. т.н., доцент
Научн - исследовательский институт системных исследований РАН, Москва
АРХИТЕКТУРЫ КЭШЕЙ
ДЛЯ ГРАФИЧЕСКОГО КОНТРОЛЛЕРА
Для ускорения обработки 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


