Автор работы: Пользователь скрыл имя, 25 Ноября 2012 в 17:26, реферат
Видеока́рта (известна также как графи́ческая пла́та, графи́ческая ка́рта, видеоада́птер, графический ада́птер) (англ. videocard) — устройство, преобразующее графический образ, хранящийся как содержимое памяти компьютера или самого адаптера, в иную форму, предназначенную для дальнейшего вывода на экран монитора. В настоящее время эта функция утратила основное значение и в первую очередь под графическим адаптером понимают устройство с графическим процессором - графический ускоритель, который и занимается формированием самого графического образа.
История……………………………………………………………………..4
Устройство………………………………………………………..………..6
Характеристики современных видеокарт………………………………..8
Режимы работы видеокарт…………………………………………….…10
Поколения 3D-ускорителей……………………………………………...11
Функции 3D-акселератора………………………………………………..12
Интерфейс…………………………………………………………………14
Видеопамять………………………………………………………………16
Основные производители видеочипов…………………………………..18
Литература……………………………
5. Поколения 3D-ускорителей
Самые первые ускорители использовали Glide — API для трёхмерной графики, разработанный 3dfx Interactive для видеокарт на основе собственных графических процессоров Voodoo Graphics.
Затем поколения ускорителей в видеокартах можно считать по версии DirectX, которую они поддерживают. Различают следующие поколения:
DirectX 7 — карта не
поддерживает шейдеры, все
DirectX 8 — поддержка пиксельных шейдеров версий 1.0, 1.1 и 1.2, в DX 8.1 ещё и версию 1.4, поддержка вершинных шейдеров версии 1.0;
DirectX 9 — поддержка пиксельных шейдеров версий 2.0, 2.0a и 2.0b, 3.0;
DirectX 10 — поддержка унифицированных шейдеров версии 4.0;
DirectX 10.1 — поддержка унифицированных шейдеров версии 4.1;
DirectX 11 — поддержка унифицированных шейдеров версии 5.0.
Также поколения ускорителей в видеокартах можно считать по версии OpenGL, которую они поддерживают:
OpenGL 1.0
OpenGL 1.2
OpenGL 1.4
OpenGL 2.0
OpenGL 2.1
OpenGL 3.0
OpenGL 3.1
OpenGL 3.2
OpenGL 4.0
OpenGL 4.1
6. Функции 3D-акселератора
В компьютере трехмерные объекты представляются с помощью геометрических моделей, состоящих из сотен и тысяч элементарных геометрических фигур, обычно треугольников. Задаются также пространственное положение источников света, отражательные свойства материала поверхности объекта, степень его прозрачности и т. п. При этом некоторые объекты могут частично загораживать друг друга, между ними может переотражаться свет; пространство может быть не абсолютно прозрачным, а затянутым туманом или дымкой. Для большего реализма необходимо учесть и эффект перспективы. Чтобы поверхность смоделированного объекта не выглядела искусственной, на нее наносится текстура — двухмерная картинка небольшого размера, передающая цвет и фактуру поверхности. Все перечисленные трехмерные объекты с учетом примененных к ним эффектов должны в конечном итоге быть преобразованы в плоское изображение. Эту операцию, называемую рендерингом, и выполняет 3D-ускоритель.
Перечислим наиболее распространенные операции, которые 3D-ускоритель выполняет на аппаратном уровне:
Удаление невидимых
поверхностей. Обычно выполняется по
методу Z-буфера, который заключается
в том, что проекции всех точек
трехмерной модели объекта на плоскость
изображения сортируются в
Закрашивание (Shading) придает треугольникам, составляющим объект, определенный цвет, зависящий от освещенности. Бывает равномерным (Flat Shading), когда каждый треугольник закрашивается равномерно, что вызывает эффект не гладкой поверхности, а многогранника; по Гуро (Gouraud Shading), когда интерполируются значения цвета вдоль каждой грани, что придает криволинейным поверхностям более гладкий вид без видимых ребер; по Фонгу (Phong Shading), когда интерполируются векторы нормали к поверхности, что позволяет добиться максимальной реалистичности, однако требует больших вычислительных затрат.
Отсечение (Clipping) определяет часть объекта, видимую на экране, и обрезает все остальное, чтобы не выполнять лишних расчетов.
Расчет освещения. Для выполнения этой процедуры часто применяют метод трассировки лучей (Ray Tracing), позволяющий учесть переотражения света между объектами и их прозрачность. Эту операцию с разным качеством умеют выполнять все 3D-ускорители.
Наложение текстур (Texture Mapping), или наложение плоского растрового изображения на трехмерный объект с целью придания его поверхности большей реалистичности. Например, в результате такого наложения деревянная поверхность будет выглядеть именно как сделанная из дерева, а не из неизвестного однородного материала. Качественные текстуры обычно требуют значительных объемов видеопамяти (хотя разработчики ПО, как правило, используют несколько наборов текстур для разных видеокарт). Для работы с текстурами применяют 3D-ускорители, которые поддерживают технологию сжатия текстур. Наиболее совершенные карты поддерживают мультитекстурирование — одновременное наложение нескольких текстур.
Фильтрация (Filtering) и сглаживание (Anti-aliasing). Под сглаживанием понимается уменьшение искажений текстурных изображений с помощью их интерполяции, особенно на границах, а под фильтрацией понимается способ уменьшения нежелательной «зернистости» при изменении масштаба текстуры при приближении к 3D-объекту или при удалении от него. Известна билинейная фильтрация (Bilinear Filtering), в которой цвет пиксела вычисляется путем линейной интерполяции цветов соседних пикселов, а также более качественная трилинейная фильтрация с использованием MIP-карт (Trilinear MIP Mapping). Под MIP-картами (от лат. Multum in Parvum — «многое в одном») понимается набор текстур с разными масштабами, что позволяет в процессе трилинейной фильтрации выполнять усреднение между соседними пикселами и между соседними MIP-картами. Трилинейная фильтрация дает особенный эффект при наложении текстур на протяженный объект, удаляющийся от наблюдателя. Современные платы поддерживают трилинейную фильтрацию.
Прозрачность, или альфа-канал изображения (Transparency, Alpha Blending) — это информация о прозрачности объекта, позволяющая строить такие прозрачные и полупрозрачные объекты, как вода, стекло, огонь, туман и дымка. Наложение тумана (Fogging) часто выделяется в отдельную функцию и вычисляется отдельно.
Смешение цветов, или дизеринг (Dithering) применяется при обработке двух- и трехмерных изображений с большим количеством цветов на устройстве с меньшим их количеством. Этот прием заключается в рисовании малым количеством цветов специального узора, создающего при удалении от него иллюзию использования большего количества цветов. Пример дизеринга — применяемый в полиграфии способ передачи градаций серого цвета за счет нанесения мелких черных точек с различной пространственной частотой. В 3D-ускорителях дизеринг используется для передачи 24-битного цвета в 8- или 16-битных режимах.
Для поддержки функций
3D-ускорителя в играх и других
программах существует несколько интерфейсов
прикладного программирования, или
API (Application Program Interface), позволяющих приложению
стандартным образом использова
Интерфейс Direct3D компании Microsoft стал фактическим стандартом для большинства компьютерных игр; и большинство 3D-ускорителей укомплектованы Direct3D-драйверами.
Разработанный компанией Silicon Graphics для своих графических станций Iris GL интерфейс прикладного программирования OpenGL стал общепринятым стандартом для программ трехмерного моделирования и САПР, сегодня он используется также и многими другими программами, позволяя очень точно описывать параметры сцены. OpenGL в настоящее время является открытым стандартом, контролируемым ассоциацией OpenGL Architecture Review Board, в которую помимо Silicon Graphics входят Digital, IBM, Intel, Intergraph, Microsoft и др. Несмотря на это, существует множество диалектов OpenGL.
Интерфейс Glide разработан компанией 3Dfx Interactive для производившихся ею ускорителей Voodoo. Glide снискал широкое распространение среди производителей компьютерных игр, хотя, в отличие от OpenGL, Glide не является универсальным 3D API и поддерживает только возможности Voodoo.
7. Интерфейс
Первое препятствие к повышению быстродействия видеосистемы — это интерфейс передачи данных, к которому подключён видеоадаптер. Как бы ни был быстр процессор видеоадаптера, большая часть его возможностей останется незадействованной, если не будут обеспечены соответствующие каналы обмена информацией между ним, центральным процессором, оперативной памятью компьютера и дополнительными видеоустройствами. Основным каналом передачи данных является, конечно, интерфейсная шина материнской платы, через которую обеспечивается обмен данными с центральным процессором и оперативной памятью. Самой первой шиной использовавшейся в IBM PC была XT-Bus, она имела разрядность 8 бит данных и 20 бит адреса и работала на частоте 4,77 МГц. Далее появилась шина ISA (Industry Standart Architecture — архитектура промышленного стандарта), соответственно она имела разрядность 16/24 бит и работала на частоте 8 МГц. Пиковая пропускная способность составляла чуть больше 5,5 МиБ/с. Этого более чем хватало для отображения текстовой информации и игр с шестнадцатицветной графикой. Дальнейшим рывком явилось появление шины MCA (Micro Channel Architecture) в новой серии компьютеров PS/2 фирмы IBM. Она уже имела разрядность 32/32 бит и пиковую пропускную способность 40 МиБ/с. Но то обстоятельство, что архитектура MCI являлась закрытой (собственностью IBM), побудило остальных производителей искать иные пути увеличения пропускной способности основного канала доступа к видеоадаптеру. И вот, с появлением процессоров серии 486, было предложено использовать для подключения периферийных устройств локальную шину самого процессора, в результате родилась VLB (VESA Local Bus — локальная шина стандарта VESA). Работая на внешней тактовой частоте процессора, которая составляла от 25 МГц до 50 МГц, и имея разрядность 32 бит, шина VLB обеспечивала пиковую пропускную способность около 130 МиБ/с. Этого уже было более чем достаточно для всех существовавших приложений, помимо этого возможность использования её не только для видеоадаптеров, наличие трёх слотов подключения и обеспечение обратной совместимости с ISA (VLB представляет собой просто ещё один 116 контактный разъём за слотом ISA) гарантировали ей достаточно долгую жизнь и поддержку многими производителями чипсетов для материнских плат, и периферийных устройств, даже несмотря на то, что при частотах 40 МГц и 50 МГц обеспечить работу даже двух устройств подключенных к ней представлялось проблематичным из-за чрезмерно высокой нагрузки на каскады центрального процессора (ведь большинство управляющих цепей шло с VLB на процессор напрямую, безо всякой буферизации). И всё-таки, с учётом того, что не только видеоадаптер стал требовать высокую скорость обмена информацией, и явной невозможности подключения к VLB всех устройств (и необходимостью наличия межплатформенного решения, не ограничивающегося только PC), была разработана шина PCI (Periferal Component Interconnect — объединение внешних компонентов) появившаяся, в первую очередь, на материнских платах для процессоров Pentium. С точки зрения производительности на платформе PC всё осталось по-прежнему — при тактовой частоте шины 33 МГц и разрядности 32/32 бит она обеспечивала пиковую пропускную способность 133 МиБ/с — столько же, сколько и VLB. Однако она была удобнее и в конце-концов вытеснила шину VLB и на материнских платах для процессоров класса 486.
С появлением процессоров Intel Pentium II, и серьёзной заявкой PC на принадлежность к рынку высокопроизводительных рабочих станций, а также с появлением 3D-игр со сложной графикой, стало ясно, что пропускной способности PCI в том виде, в каком она существовала на платформе PC (обычно частота 33 МГц и разрядность 32 бит), скоро не хватит на удовлетворение запросов системы. Поэтому фирма Intel решила сделать отдельную шину для графической подсистемы, несколько модернизировала шину PCI, обеспечила новой получившейся шине отдельный доступ к памяти с поддержкой некоторых специфических запросов видеоадаптеров, и назвала это AGP (Accelerated Graphics Port — ускоренный графический порт). Разрядность шины AGP составляет 32 бит, рабочая частота 66 МГц. Первая версия разьема поддерживала режимы передачи данных 1x и 2x, вторая — 4x, третья — 8x. В этих режимах за один такт передаются соответственно одно, два, четыре или восемь 32-разрядных слов. Версии AGP не всегда были совместимы между собой в связи с использованием различных напряжений питания в разных версиях. Для предотвращения повреждения оборудования использовался ключ в разьеме. Пиковая пропускная способность в режиме 1x — 266 МиБ/с. Выпуск видеоадаптеров на базе шинах PCI и AGP на настоящий момент ничтожно мал, так как шина AGP перестала удовлетворять современным требованиям для мощности новых ПК, и, кроме того, не может обеспечить необходимую мощность питания. Для решения этих проблем создано расширение шины PCI — E — PCI Express версий 1.0, 1.1 и 2.0, это последовательный, в отличие от AGP, интерфейс, его пропускная способность может достигать нескольких десятков ГБ/с. На данный момент произошёл практически полный отказ от шины AGP в пользу PCI Express. Однако стоит отметить, что некоторые производители до сих предлагают достаточно современные по своей конструкции видеоплаты с интерфейсами PCI и AGP — во многих случаях это достаточно простой путь резко повысить производительность морально устаревшего ПК в некоторых графических задачах.
8. Видеопамять
Кроме шины данных, второе узкое место любого видеоадаптера — это пропускная способность (англ. 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 —
динамическое ОЗУ с быстрым
страничным доступом) — основной
тип видеопамяти, идентичный
VRAM (Video RAM — видео ОЗУ)
— так называемая двухпортовая
DRAM. Этот тип памяти обеспечивает
доступ к данным со стороны
сразу двух устройств, то есть
WRAM (Window RAM) — вариант
VRAM, с увеличенной на ~25 % пропускной
способностью и поддержкой
EDO DRAM (Extended Data Out DRAM — динамическое
ОЗУ с расширенным временем
удержания данных на выходе) —
тип памяти с элементами
SDRAM (Synchronous Dynamic RAM — синхронное динамическое ОЗУ) пришёл на замену EDO DRAM и других асинхронных однопортовых типов памяти. После того, как произведено первое чтение из памяти или первая запись в память, последующие операции чтения или записи происходят с нулевыми задержками. Этим достигается максимально возможная скорость чтения и записи данных.
DDR SDRAM (Double Data Rate) — вариант SDRAM с передачей данных по двум срезам сигнала, получаем в результате удвоение скорости работы. Дальнейшее развитие пока происходит в виде очередного уплотнения числа пакетов в одном такте шины — DDR2 SDRAM (GDDR2), DDR3 SDRAM (GDDR3) и т. д.