Видеопамять
Кроме шины данных второе узкое место любого видеоадаптера — это пропускная способность (англ. bandwidth) памяти самого видеоадаптера. Причём, изначально проблема возникла даже не столько из-за скорости обработки видеоданных (это сейчас часто стоит проблема информационного «голода» видеоконтроллера, когда он данные обрабатывает быстрее, чем успевает их читать/писать из/в видеопамять), сколько из-за необходимости доступа к ним со стороны видеопроцессора, центрального процессора и RAMDAC’а. Дело в том, что при высоких разрешениях и большой глубине цвета для отображения страницы экрана на мониторе необходимо прочитать все эти данные из видеопамяти и преобразовать в аналоговый сигнал, который и пойдёт на монитор, столько раз в секунду, сколько кадров в секунду показывает монитор. Возьмём объём одной страницы экрана при разрешении 1024x768 точек и глубине цвета 24 бит (True Color), это составляет 2,25 МБ. При частоте кадров 75 Гц необходимо считывать эту страницу из памяти видеоадаптера 75 раз в секунду (считываемые пикселы передаются в RAMDAC, и он преобразовывает цифровые данные о цвете пиксела в аналоговый сигнал, поступающий на монитор), причём, ни задержаться, ни пропустить пиксел нельзя, следовательно, номинально потребная пропускная способность видеопамяти для данного разрешения составляет приблизительно 170 МБ/с, и это без учёта того, что необходимо и самому видеоконтроллеру писать и читать данные из этой памяти. Для разрешения 1600x1200x32 бит при той же частоте кадров 75 Гц, номинально потребная пропускная составляет уже 550 МБ/с. Для сравнения, процессор Pentium-2 имел пиковую скорость работы с памятью 528 МБ/с. Проблему можно было решать двояко — либо использовать специальные типы памяти, которые позволяют одновременно двум устройствам читать из неё, либо ставить очень быструю память. О типах памяти и пойдёт речь ниже.
FPM DRAM (Fast Page Mode Dynamic RAM — динамическое ОЗУ с быстрым страничным доступом) — основной тип видеопамяти, идентичный используемой в системных платах. Использует асинхронный доступ, при котором управляющие сигналы не привязаны жёстко к тактовой частоте системы. Активно применялся примерно до 1996 г.
VRAM (Video RAM — видео ОЗУ) — так называемая двухпортовая DRAM. Этот тип памяти обеспечивает доступ к данным со стороны сразу двух устройств, то есть есть возможность одновременно писать данные в какую-либо ячейку памяти, и одновременно с этим читать данные из какой-нибудь соседней ячейки. За счёт этого позволяет совмещать во времени вывод изображения на экран и его обработку в видеопамяти, что сокращает задержки при доступе и увеличивает скорость работы. То есть RAMDAC может свободно выводить на экран монитора раз за разом экранный буфер, ничуть не мешая видеопроцессору осуществлять какие-либо манипуляции с данными. Но это всё та же DRAM и скорость у неё не слишком высокая.
WRAM (Window RAM) — вариант VRAM, с увеличенной на ~25 % пропускной способностью и поддержкой некоторых часто применяемых функций, таких как отрисовка шрифтов, перемещение блоков изображения и т. п. Применяется практически только на акселераторах фирмы Matrox и Number Nine, поскольку требует специальных методов доступа и обработки данных. Наличие всего одного производителя данного типа памяти (Samsung) сильно сократило возможности её использования. Видеоадаптеры, построенные с использованием данного типа памяти, не имеют тенденции к падению производительности при установке больших разрешений и частот обновления экрана, на однопортовой же памяти в таких случаях RAMDAC всё большее время занимает шину доступа к видеопамяти и производительность видеоадаптера может сильно упасть.
EDO DRAM (Extended Data Out DRAM — динамическое ОЗУ с расширенным временем удержания данных на выходе) — тип памяти с элементами конвейеризации, позволяющий несколько ускорить обмен блоками данных с видеопамятью приблизительно на 25 %.
SDRAM (Synchronous Dynamic RAM — синхронное динамическое ОЗУ) пришёл на замену EDO DRAM и других асинхронных однопортовых типов памяти. После того, как произведено первое чтение из памяти или первая запись в память, последующие операции чтения или записи происходят с нулевыми задержками. Этим достигается максимально возможная скорость чтения и записи данных.
DDR SDRAM (Double Data Rate) — вариант SDRAM с передачей данных по двум срезам сигнала, получаем в результате удвоение скорости работы. Дальнейшее развитие пока происходит в виде очередного уплотнения числа пакетов в одном такте шины — DDR2 SDRAM (GDDR2), DDR3 SDRAM (GDDR3) и т. д.
SGRAM (Synchronous Graphics RAM — синхронное графическое ОЗУ) вариант DRAM с синхронным доступом. В принципе, работа SGRAM полностью аналогична SDRAM, но дополнительно поддерживаются ещё некоторые специфические функции, типа блоковой и масочной записи. В отличие от VRAM и WRAM, SGRAM является однопортовой, однако может открывать две страницы памяти как одну, эмулируя двухпортовость других типов видеопамяти.
MDRAM (Multibank DRAM — многобанковое ОЗУ) — вариант DRAM, разработанный фирмой MoSys, организованный в виде множества независимых банков объёмом по 32 КиБ каждый, работающих в конвейерном режиме.
RDRAM (RAMBus DRAM) — память, использующая специальный канал передачи данных (Rambus Channel), представляющий собой шину данных шириной в один байт. По этому каналу удаётся передавать информацию очень большими потоками, наивысшая скорость передачи данных для одного канала на сегодняшний момент составляет 1600 МБ/с (частота 800 МГц, данные передаются по обоим срезам импульса). На один такой канал можно подключить несколько чипов памяти. Контроллер этой памяти работает с одним каналом Rambus, на одной микросхеме логики можно разместить четыре таких контроллера, значит теоретически можно поддерживать до 4 таких каналов, обеспечивая максимальную пропускную способность в 6,4 ГБ/с. Минус этой памяти — нужно читать информацию большими блоками, иначе её производительность резко падает.
Объём памяти большого количества современных видеокарт варьируется от 33 МБ (напр. Matrox G550) до 6 ГБ (напр. NVIDIA Quadro 6000). Поскольку доступ к видеопамяти GPU и другими электронным компонентами должен обеспечивать желаемую высокую производительность всей графической подсистемы в целом, используются специализированные высокоскоростные типы памяти, такие как SGRAM, двухпортовые (англ. dual-port) VRAM, WRAM, другие. Приблизительно с 2003 года, видеопамять, как правило, базировалась на основе DDR технологии памяти SDRAM, с удвоенной эффективной частотой (передача данных синхронизируется не только по нарастающему фронту тактового сигнала, но и ниспадающему). И в дальнейшем DDR2, GDDR3, GDDR4 и GDDR5. Пиковая скорость передачи данных (пропускная способность) памяти современных видеокарт достигает 327 ГБ/с (напр. у NVIDIA GeForce GTX 580 или 320 ГБ/с у AMD Radeon™ HD 6990).
Видеопамять используется для временного сохранения, помимо непосредственно данных изображения, и другие: текстуры, шейдеры, вершинные буферы (en:vertex buffer objects, VBO), Z-буфер (удалённость элементов изображения в 3D графике), и тому подобные данные графической подсистемы (за исключением, по большей части данных Video BIOS, внутренней памяти графического процессора и т. п.) и коды.
Дата добавления: 2015-09-14; просмотров: 1301;