Основные технические характеристики графического адаптера. Устройство современной видеокарты

Видеоадаптер - это электронная плата, которая обрабатывает видеоданные (текст и графику) и управляет работой дисплея. Содержит видеопамять, регистры ввода вывода и модуль BIOS. Посылает в дисплей сигналы управления яркостью лучей и сигналы развертки изображения .

Наиболее распространенный видеоадаптер на сегодняшний день - адаптер SVGA (Super Video Graphics Array - супервидеографический массив), который может отображать на экране дисплея 1280х1024 пикселей при 256 цветах и 1024х768 пикселей при 16 миллионах цветов.

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

Рис. 2.12. Графический акселератор

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

Фрейм-грабберы , которые позволяют отображать на экране компьютера видеосигнал от видеомагнитофона, камеры, лазерного проигрывателя и т. п., с тем, чтобы захватить нужный кадр в память и впоследствии сохранить его в виде файла.

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

2.13. Клавиатура

Клавиатура компьютера - устройство для ввода информации в компьютер и подачи управляющих сигналов. Содержит стандартный набор клавиш печатной машинки и некоторые дополнительные клавиши - управляющие и функциональные клавиши, клавиши управления курсором и малую цифровую клавиатуру.

Все символы, набираемые на клавиатуре, немедленно отображаются на мониторе в позиции курсора (курсор - светящийся символ на экране монитора, указывающий позицию, на которой будет отображаться следующий вводимый с клавиатуры знак).

Наиболее распространена сегодня клавиатура c раскладкой клавиш QWERTY (читается "кверти"), названная так по клавишам, расположенным в верхнем левом ряду алфавитно-цифровой части клавиатуры:

Рис. 2.13. Клавиатура компьютера

Такая клавиатура имеет 12 функциональных клавиш , расположенных вдоль верхнего края. Нажатие функциональной клавиши приводит к посылке в компьютер не одного символа, а целой совокупности символов. Функциональные клавиши могут программироваться пользователем. Например, во многих программах для получения помощи (подсказки) задействована клавиша F1 , а для выхода из программы - клавиша F10 .

Управляющие клавиши имеют следующее назначение:

Малая цифровая клавиатура используется в двух режимах - ввода чисел и управления курсором . Переключение этих режимов осуществляется клавишей Num Lock .

Клавиатура содержит встроенный микроконтроллер (местное устройство управления), который выполняет следующие функции:

    последовательно опрашивает клавиши, считывая введенный сигнал и вырабатывая двоичный скан-код клавиши;

    управляет световыми индикаторами клавиатуры;

    проводит внутреннюю диагностику неисправностей;

    осуществляет взаимодействие с центральным процессором через порт ввода-вывода клавиатуры.

Клавиатура имеет встроенный буфер - промежуточную память малого размера, куда помещаются введённые символы. В случае переполнения буфера нажатие клавиши будет сопровождаться звуковым сигналом - это означает, что символ не введён (отвергнут). Работу клавиатуры поддерживают специальные программы, "зашитые" в BIOS , а также драйвер клавиатуры, который обеспечивает возможность ввода русских букв, управление скоростью работы клавиатуры и др.

Для получения реалистичной картинки в играх видеоадаптерам приходится работать с новейшими 3D-технологиями. Мы расскажем о том, какие еще козыри есть «в рукаве» у производителей современных видеокарт.

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

Задачи для видеокарт

Графические адаптеры стандарта VGA из далеких 80-х полностью «подчинялись» центральному процессору ПК. Они были способны отображать лишь примитивную пиксельную графику с крайне узким спектром цветов. Современные модели с легкостью воспроизводят видео высокой четкости. При этом ЦП лишь предоставляет доступ к необходимым данным, в то время как ресурсоемкие операции декодирования и собственно отображения видео берет на себя сама плата.

Вот уже несколько лет видеокарты передают сигнал по цифровому интерфейсу DVI, который пришел на смену аналоговому VGA. Кроме того, многие современные модели оснащены многофункцио­нальными разъемами HDMI, по которым может передаваться не только видео-, но и аудиосигнал. Поэтому все чаще видеокарты оснащаются дополнительным аудиоконтроллером.

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


Создание виртуального мира

Чтобы игровое 3D-изображение появилось на экране монитора, помимо центрального процессора и самой видеокарты в процессе его формирования, должны принимать участие и программные компоненты системы. Расскажем об основных.

Библиотека Microsoft DirectX. Выполняет роль промежуточного звена между компьютерной игрой и драйвером видеокарты. Основная функция DirectX заключается в отображении 2D- и 3D-графики. Библиотека DirectX версии 9 штатно присутствует в Microsoft Windows XP, в Windows Vista DirectX 10, а в Win­dows 7 – самая новая 11-я версия.

Драйвер видеокарты. Осуще­ствляет перевод управляющих команд DirectX на язык, «понятный» видеоплате. Переведенные таким образом инструкции драйвер посылает графическому процессору (GPU – Graphics Processing Unit). Каждой модели видеоадаптера для работы необходим свой соб­ственный графический драйвер в операционной системе. Производители GPU (ATI и NVIDIA) предлагают пользователям скачать с веб-сайтов универсальные па­кеты драйверов для своей про­дукции.

Шейдеры. Служат для выполнения графическим процессором команд, поданных ему драйвером. Каждый из шейдеров представляет собой программу, которая выполняется внутри GPU. Любая современная видеокарта поддерживает несколько типов шейдеров. Например, вершинный шейдер оперирует расположением узлов пространственной сетки, которая формирует каркас 3D-модели. Путем программирования вершинных шейдеров можно изменять расположение объекта в простран­стве и рассчитывать эффекты его освещения.

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

После того как шейдеры выполнят свою работу, осуществляется наложение текстур, то есть цвета и фактуры, на поверх­ность объекта. Текстуры графический процессор загружает в память видеокарты еще в самом начале отрисовки игровой сцены – по возможности в полном объеме, чтобы не пришлось досылать информацию в процессе.

Методы улучшения изображения

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

Анизотропная фильтрация. На объектах, расположенных под наклоном, текстуры выглядят нечеткими и плоскими. Анизотропная фильтрация повышает четкость изображения.

Сглаживание (Anti-aliasing). При активированном сглаживании графический процессор просчитывает все изображение с более высоким разрешением, а затем уменьшает его до физи­че­ского разрешения монитора. На данную операцию GPU тратит внушительную долю своих вычислительных ресурсов, зато границы кривых линий получаются более гладкими, без «зубцов».

Инновации в современных видеокартах

К выходу ОС Windows 7 компания ATI подготовила новое поколение видеоплат – ATI Radeon серии 5ххх, NVIDIA ответила на это разработкой GeForce GTX 4xx. Применение новых технологий позволило обоим производителям добиться улучшения качества изображения.

Тесселяция. Эта важная фун­кция была введена с появлением библиотеки DirectX 11. Она способна в значительной степени повысить уровень детализации. Пространство между точками каркасной модели силами видео­карты заполняется новыми, просчитанными графическим процессором точками. Это позволяет моделировать объекты с более сложной структурой, чем была задана изначально. В выполнении данной операции центральный процессор компьютера не участвует.

Универсальные шейдеры. Если в видеокартах ранних серий вершинные, пиксельные и геометрические шейдеры выполнялись в отдельных функциональных блоках, то в современных видеоадаптерах присутствуют сотни универсальных блоков, называемых также процессорными. Они могут брать на себя функции любых шейдеров. Например, GPU Radeon HD 5870 имеет 1600 универсальных ядер, в NVIDIA GeForce GTX 480 их количество равно 480.

Большой объем памяти для хранения текстур. В памяти видеокарт, помимо текущего изо­бражения 3D-сцены, временно хра­нится довольно много дополнительной информации. Наи­боль­шую часть памяти занимают текстуры. Современная компью­терная игра требует наличия от 512 Мб до 1 Гб видеопамяти для временного хранения текстур. Если объема не хватает, графиче­скому процессору постоянно приходится подгружать данные с медленного (по сравнению с памятью) жесткого диска. Это снижает производительность видеокарты почти на 10%. Однако более неприятна прерывистость изображения, которая появляется при осуществлении доступа к жесткому диску. Чтобы избежать этого, новые модели видеоадаптеров могут использовать до 3 Гб оперативной памяти ПК.

Производительность видеокарт

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

Основное (хотя и далеко не единственное) правило: чем больше числовое значение в названии видеокарты, тем большую производительность она способна обеспечить.

До 1,5 тыс.руб. К данному ценовому диапазону относятся уже устаревшие видеоплаты, например ATI Radeon 3ххх или NVIDIA GeForce 8400, а также некоторые современные бюджетные модели, например ATI Radeon 4350 или NVIDIA GeForce GT 210. Такие адаптеры подойдут для простых 2D-игр, а в графически сложных трехмерных они способны выдать не более 10 FPS. Сглаживание и анизотропная фильтрация для таких карт – непосильная задача.

До 4 тыс.руб. За такую сумму можно приобрести NVIDIA Ge­Force GT 240, GTS 250 или ATI Radeon HD 4650, а также видео­платы с поддержкой DirectX 11 на базе графического процессора ATI Radeon HD 5670. Данные модели способны обеспечить комфортное быстродействие в большин­стве приложений. Однако в сложных 3D-играх придется отказаться от максимального уровня детализации, а также понизить каче­ство освещения и теней. Возможности использования сглаживания и анизотропной фильтрации ограниченны.

До 8 тыс.руб. К этому классу относятся такие видеокарты, как NVIDIA GeForce GTX 240, ATI Radeon HD 4890 и модели с поддержкой DirectX 11 на базе GPU Radeon HD 5770 (цена около 6 тыс. руб). Видеокарты данного уровня производительности подойдут для решения практически любых игровых задач: 40–50 кадр./с при разрешении 1650х1050 точек и максимальном уровне детализации для них – не проблема. При разрешении 1920x1080 точек они также обеспечивают вполне достойные 30–35 FPS.

Более 8 тыс.руб. Модели данной ценовой категории в любой 3D-игре могут гарантировать более чем достаточную производительность. Так, даже при разрешении 1920х1080 точек на выходе будет от 60 до 70 кадр./с. Однако подобные сверхбыстродейству­ющие модели на процессорах NVIDIA GeForce GTX 285/295/470/ 480 или ATI Radeon HD 5870/5970 стоимостью 16–25 тыс. руб. имеет смысл приобретать только самым требовательным геймерам. Такие адаптеры, равно как и модели стоимостью от 4 до 8 тыс. руб., можно объединить в единую видеоподсистему.

SLI и CrossFireX

Технологии NVIDIA SLI (Scalable Link Interface) и ATI CrossFireX позволяют организовать совместную работу двух или более видеоплат, что значительно повысит производительность. Так, одна обычная видеокарта NVIDIA GeForce GTX 260 при очень высоком разрешении обеспечивает быстродействие 44 кадр./с. После подключения второй такой же видеокарты в режиме SLI производительность увеличится до 61 кадр./с, то есть почти на 40%.

Обычному геймеру нет смысла приобретать SLI или CrossFireX, поскольку возможность использования данных технологий сопряжена с большими затратами.

История

Одним из первых графических адаптеров для IBM PC стал MDA (Monochrome Display Adapter) в году. Он работал только в текстовом режиме с разрешением 80×25 символов (физически 720×350 точек) и поддерживал пять атрибутов текста: обычный, яркий, инверсный, подчёркнутый и мигающий. Никакой цветовой или графической информации он передавать не мог, и то, какого цвета будут буквы, определялось моделью использовавшегося монитора. Обычно они были чёрно-белыми, янтарными или изумрудными. Фирма Hercules в году выпустила дальнейшее развитие адаптера MDA, видеоадаптер графическое разрешение 720×348 точек и поддерживал две графические страницы. Но он всё ещё не позволял работать с цветом.

Первой цветной видеокартой стала IBM и ставшая основой для последующих стандартов видеокарт. Она могла работать либо в текстовом режиме с разрешениями 40×25 и 80×25 (матрица символа - 8×8), либо в графическом с разрешениями 320×200 или 640×200. В текстовых режимах доступно 256 атрибутов символа - 16 цветов символа и 16 цветов фона (либо 8 цветов фона и атрибут мигания), в графическом режиме 320×200 было доступно четыре палитры по четыре цвета каждая, режим высокого разрешения 640×200 был монохромным. В развитие этой карты появился

Стоит заметить, что интерфейсы с монитором всех этих типов видеоадаптеров были цифровые, MDA и HGC передавали только светится или не светится точка и дополнительный сигнал яркости для атрибута текста «яркий», аналогично CGA по трём каналам (красный, зелёный, синий) передавал основной видеосигнал, и мог дополнительно передавать сигнал яркости (всего получалось 16 цветов), EGA имел по две линии передачи на каждый из основных цветов, то есть каждый основной цвет мог отображаться с полной яркостью, 2/3, или 1/3 от полной яркости, что и давало в сумме максимум 64 цвета.

В ранних моделях компьютеров от IBM PS/2 , появляется новый графический адаптер (приобретена AMD в 2006 г.)

Специализированные

Другие производители

  • PNY Technologies (партнер NVIDIA)
  • 3dfx (приобретена NVidia)
  • XGI Technology Inc. (приобретена ATI в 2006 г.)
  • Литература

    • Скотт Мюллер Модернизация и ремонт ПК = Upgrading and Repairing PCs. - 17 изд. - М.: «Вильямс» , 2007. - С. 889-970 . - ISBN 0-7897-3404-4
    Стандарты видеоадаптеров и мониторов
    Видеоадаптеры
    MDA | CGA | PGC | MCGA | |
    VGA | XGA | XGA+ | SXGA+ |
    Широкоэкранные варианты
    WXGA | WSXGA/WXGA+ | WSXGA+ |

Видеокарта.

Работа с графикой — одна из самых трудных задач, которые приходится решать современному компьютеру. Сложные изображения, миллионы цветов и оттенков... Поэтому нет ничего удивительного, что для этой работы приходится устанавливать в компьютер фактически второй мощный процессор. Видеокарта — как раз первый и главный из таких «наместников», при выборе которого нужно быть особенно осторожным и внимательным.
Так как все современные видеокарты способны быстро и качественно обрабатывать двухмерную графику,то при выборе видеокарты большинство пользователей в пер¬вую очередь обращает внимание на ее способности в работе с трехмерной графикой. Мысль о том, что это и есть самое главное достоинство видеокарты, успехом вдалбливали в сознание пользователей три последних года, так что не стоит удивляться, что даже не интересующийся играми покупатель все чаще выбирает для своего компьютера модную (и дорогую) карту для игроманов.
Создание объемного, реалистичного изображения — задача не простая. Фактически, видеокарте приходится выполнять несколько сложных операций: строить «каркас» каждого трехмерною объекта, обшивать его подходящими кусочками изображения — текстурами, имитирующими листву, одежду, скалы, землю и т. д. А главное — быть готовой в любой момент, повинуясь желанию игрока, показать его с любой точки зрения: сверху, сбоку и иногда даже снизу! Причем важно не просто показать объект с четырех сторон, но и — что самое сложное, воссоздать на экране его реальную, объемную модель. Сдвинулись вы на сантиметр — и трехмерный объект будет выглядеть несколько иначе. При этом видеокарта должна высчитывать не только две пространственные координаты для каждого пиксе¬ля, но и третью, которая характеризует удаленность объекта от наблюдателя. Но воссоздание объема — не самая сложная задача. Ведь даже самая объемная фигура будет выглядеть бледно и бесцветно, если не наложить на нее текстуру, то есть просто раскрасить ее с помощью множества цветных объектов. Пред¬ставьте, что у вас в руках некий болванчик-матрешка, на который вы можете нанести любой рисунок — как раз такой процесс и происходит в играх. Для хранения текстур видеокарте требуется большой объем собственной оперативной памяти (мин 512 Мб).
Например, сглаживание (Anti-Aliasing) контуров изображения, имитация тумана, пламени, рябь на водной глади, отражение в зеркале, тени и множество других. Для поддержки игровых спецэффектов в процессор видеокарты встраивают специальный «блок трансформации и освещения» (T&L), который позволяет получить просто фантастическое качество игрового изображения, а заодно и удорожает карту на несколько десятков долларов.
Наконец, еще один круг задач, которые призвана решать ваша видеокарта — обработка мультимедиа-информации. Многие карты сегодня поддерживают вывод изображения на телеэкран или, наоборот, прием изображения с внешнего источника — видеокамеры, видеомагнитофона или телевизионной антенны (эти операции выполняют соответственно видеовход и TV-тюнер). Кроме того, современной видеокарте при- ходиться заниматься еще и декодированием «сжатого» видео- - сигнала, поступающего с дисков DVD.

Устройство.


Современная видеокарта состоит из следующих частей:

Графический процессор

Графический процессор (Graphics processing unit (GPU) — графическое процессорное устройство) занимается расчётами выводимого изображения, освобождая от этой обязанности центральный процессор, производит расчёты для обработки команд трёхмерной графики. Является основой графической платы, именно от него зависят быстродействие и возможности всего устройства. Современные графические процессоры по сложности мало чем уступают центральному процессору компьютера, и зачастую превосходят его как по числу транзисторов, так и по вычислительной мощности, благодаря большому числу универсальных вычислительных блоков. Однако, архитектура GPU прошлого поколения обычно предполагает наличие нескольких блоков обработки информации, а именно: блок обработки 2D-графики, блок обработки 3D-графики, в свою очередь, обычно разделяющийся на геометрическое ядро (плюс кэш вершин) и блок растеризации (плюс кэш текстур) и др.
Все современные видеокарты изготовлены на основе графических процессоров Nvidia и AMD (ATi)

Видеоконтроллер

Видеоконтроллер отвечает за формирование изображения в видеопамяти, даёт команды RAMDAC на формирование сигналов развёртки для монитора и осуществляет обработку запросов центрального процессора. Кроме этого, обычно присутствуют контроллер внешней шины данных (например, PCI или AGP), контроллер внутренней шины данных и контроллер видеопамяти. Ширина внутренней шины и шины видеопамяти обычно больше, чем внешней (64, 128 или 256 разрядов против 16 или 32), во многие видеоконтроллеры встраивается ещё и RAMDAC. Современные графические адаптеры (ATI, nVidia) обычно имеют не менее двух видеоконтроллеров, работающих независимо друг от друга и управляющих одновременно одним или несколькими дисплеями каждый.

Видео-ПЗУ

Видео-ПЗУ (Video ROM) — постоянное запоминающее устройство (ПЗУ), в которое записаны BIOS видеокарты, экранные шрифты, служебные таблицы и т. п. ПЗУ не используется видеоконтроллером напрямую — к нему обращается только центральный процессор.
BIOS обеспечивает инициализацию и работу видеокарты до загрузки основной операционной системы, задаёт все низкоуровневые параметры видеокарты, в том числе рабочие частоты и питающие напряжения графического процессора и видеопамяти, тайминги памяти. Также, VBIOS содержит системные данные, которые могут читаться и интерпретироваться видеодрайвером в процессе работы (в зависимости от применяемого метода разделения ответственности между драйвером и BIOS). На многих современных картах устанавливаются электрически перепрограммируемые ПЗУ (EEPROM, Flash ROM), допускающие перезапись видео-BIOS самим пользователем при помощи специальной программы.

Видеопамять

Видеопамять выполняет роль кадрового буфера, в котором хранится изображение, генерируемое и постоянно изменяемое графическим процессором и выводимое на экран монитора (или нескольких мониторов). В видеопамяти хранятся также промежуточные невидимые на экране элементы изображения и другие данные. Видеопамять бывает нескольких типов, различающихся по скорости доступа и рабочей частоте. Современные видеокарты комплектуются памятью типа DDR, GDDR2, GDDR3, GDDR4 и GDDR5. Следует также иметь в виду, что помимо видеопамяти, находящейся на видеокарте, современные графические процессоры обычно используют в своей работе часть общей системной памяти компьютера, прямой доступ к которой организуется драйвером видеоадаптера через шину AGP или PCIE. В случае использования архитектуры Uniform Memory Access в качестве видеопамяти используется часть системной памяти компьютера.

Цифро-аналоговый преобразователь

Цифро-аналоговый преобразователь (ЦАП; RAMDAC — Random Access Memory Digital-to-Analog Converter) служит для преобразования изображения, формируемого видеоконтроллером, в уровни интенсивности цвета, подаваемые на аналоговый монитор. Возможный диапазон цветности изображения определяется только параметрами RAMDAC. Чаще всего RAMDAC имеет четыре основных блока: три цифроаналоговых преобразователя, по одному на каждый цветовой канал (красный, зелёный, синий - RGB), и SRAM для хранения данных о гамма-коррекции. Большинство ЦАП имеют разрядность 8 бит на канал — получается по 256 уровней яркости на каждый основной цвет, что в сумме дает 16,7 млн цветов (а за счёт гамма-коррекции есть возможность отображать исходные 16,7 млн цветов в гораздо большее цветовое пространство). Некоторые RAMDAC имеют разрядность по каждому каналу 10 бит (1024 уровня яркости), что позволяет сразу отображать более 1 млрд цветов, но эта возможность практически не используется. Для поддержки второго монитора часто устанавливают второй ЦАП. Стоит отметить, что мониторы и видеопроекторы, подключаемые к цифровому DVI выходу видеокарты, для преобразования потока цифровых данных используют собственные цифроаналоговые преобразователи и от характеристик ЦАП видеокарты не зависят.

Коннектор


Изначально видеоадаптеры оснащались 9-контактным(15-) разъёмом типа D-Sub. Изредка также присутствовал коаксиальный разъём Composite Video, позволяющий вывести черно-белое изображение на телевизионный приемник или монитор, оснащенный НЧ-видеовходом.
В настоящее время платы оснащают разъёмами DVI или HDMI, либо DisplayPort в количестве от одного до трёх (некоторые видеокарты ATi последнего поколения оснащаются шестью коннекторами). Порты DVI и HDMI являются эволюционными стадиями развития стандарта передачи видеосигнала, поэтому для соединения устройств с этими типами портов возможно использование переходников. Порт DVI-I также включает аналоговые сигналы, позволяющие подключить монитор через переходник на старый разъём D-SUB (DVI-D не позволяет этого сделать). DisplayPort позволяет подключать до четырёх устройств, в том числе аудиоустройства, USB-концентраторы и иные устройства ввода-вывода.

Система охлаждения

Система охлаждения предназначена для сохранения температурного режима видеопроцессора и (зачастую) видеопамяти в допустимых пределах.


Характеристики видеокарт

Ширина шины памяти, измеряется в битах — количество бит информации, передаваемой за такт. Важный параметр в производительности карты.(128 - 256)

Объём видеопамяти, измеряется в мегабайтах — объём собственной оперативной памяти видеокарты. Больший объём далеко не всегда означает большую производительность(512 - 2048 мб)

Видеокарты, интегрированные в набор системной логики материнской платы или являющиеся частью ЦПУ, обычно не имеют собственной видеопамяти и используют для своих нужд часть оперативной памяти компьютера (UMA — Unified Memory Access).

Частоты ядра и памяти — измеряются в мегагерцах, чем больше, тем быстрее видеокарта будет обрабатывать информацию.

Текстурная и пиксельная скорость заполнения, измеряется в млн. пикселов в секунду, показывает количество выводимой информации в единицу времени.

Видеоадаптер ((известна также как графическая карта, видеокарта) от англ. videocard) - устройство, преобразующее изображение, находящееся в памяти компьютера, в видеосигнал для монитора.

Характеристики

Основные характеристики видеоадаптеров :

Ширина шины памяти, измеряется в битах - количество бит информации, передаваемой в секунду. Важный параметр в производительности карты.

Количество видеопамяти, измеряется в Мегабайтах - встроенная оперативная память на самой плате, значение показывает, какой объем информации может хранить графическая плата.

Частоты ядра и памяти - измеряются в Мегагерцах, чем больше, тем быстрее видеокарта будет обрабатывать информацию.

Техпроцесс - технология печати, измеряется в нанометрах (нм.), современные карты выпускаются по 110 нм или 90 нм нормам техпроцесса. Чем меньше данный параметр, тем больше элементов можно уместить на кристалле.

Текстурная и пиксельная скорость заполнения, измеряется в млн. пикселей в секунду, показывает количество выводимой в информации в единицу времени.

Выводы карты - раньше видеоадаптер имел всего один разъём VGA, сейчас платы оснащают в дополнение выходом DVI-I или просто с двумя DVI-I для подключения двух ЖК-мониторов, а также композитными видеовыходом и видеовходом (обозначается, как ViVo)

Конструктивное исполненение

Современная графическая плата состоит из следующих частей:

графический процессор (GPU) - занимается расчетами выводимого изображения, освобождая от этой обязанности центральный процессор, производит рассчеты для обработки команд трехмерной графики. Является основой графической платы, именно от него зависят быстродействие и возможности всего устройства. Современные графические процессоры по сложности мало чем уступают центральному процессору компьютера, и зачастую превосходят их по числу транзисторов. Архитектура современного GPU обычно предполагает наличие нескольких блоков обработки информации, а именно: блок обработки 2D графики, блок обработки 3D графики, в свою очередь, обычно разделяющийся на геометрическое ядро (плюс кэш вершин) и блок растеризации (плюс кэш текстур) и др.

видеоконтроллер - отвечает за формирование изображения в видеопамяти, дает команды RAMDAC на формирование сигналов развертки для монитора и осуществляет обработку запросов центрального процессора. Кроме этого, обычно присутствуют контроллер внешней шины данных (например PCI или AGP), контроллер внутренней шины данных и контроллер видеопамяти. Ширина внутренней шины и шины видеопамяти обычно шире внешней (64, 128 или 256 разрядов против 16 или 32), во многие видеоконтроллеры встраивается еще и RAMDAC. Современные графические адаптеры (ATI, nVidia) обычно имеют не менее двух видеоконтроллеров, работающих независимо друг от друга и управляющих одновременно одним или несколькими дисплеями каждый.

видеопамять - выполняет роль кадрового буфера, в котором хранится в цифровом формате изображение, генерируемое и постоянно изменяемое графическим процессором и выводимое на экран монитора (или нескольких мониторов). В видеопамяти хранятся также промежуточные невидимые на экране элементы изображения и другие данные. Видеопамять бывает нескольких типов, различающихся по скорости доступа и рабочей частоте. Современные видеокарты комплектуются памятью типа DDR, DDR2 или GDDR3. Следует также иметь в виду, что помимо видеопамяти, находящейся на видеокарте, современные графические процессоры обычно используют в своей работе часть общей системной памяти компьютера, прямой доступ к которой организуется драйвером видеоадаптера через шину AGP или PCIE.

цифро-аналоговый преобразователь ЦАП (RAMDAC) - служит для преобразования изображения, формируемого видеоконтроллером, в уровни интенсивности цвета, подаваемые на аналоговый монитор. Возможный диапазон цветности изображения определяется только параметрами RAMDAC. Чаще всего RAMDAC имеет четыре основных блока - три цифроаналоговых преобразователя, по одному на каждый цветовой канал (красный, синий, зеленый, RGB), и SRAM для хранения данных о гамма коррекции. Большинство ЦАП имеют разрядность 8 бит на канал - получается по 256 уровней яркости на каждый основной цвет, что в сумме дает 16.7 млн. цветов (и за счет гамма коррекции есть возможность отображать исходные 16.7 млн. цветов в гораздо большее цветовое пространство). Некоторые RAMDAC имеют разрядность по каждому каналу 10bit (1024 уровня яркости), что позволяет сразу отображать более 1 млрд. цветов, но эта возможность практически не используется. Для поддержки второго монитора часто устанавливают второй ЦАП. Стоит отметить, что мониторы и видеопроекторы подключаемые к цифровому DVI выходу видеокарты для преобразования потока цифровых данных используют собственные цифроаналоговые преобразователи и от характеристик ЦАП видеокарты не зависят.

видео-ПЗУ (Video ROM) - постоянное запоминающее устройство, в которое записаны видео-BIOS, экранные шрифты, служебные таблицы и т. п. ПЗУ не используется видеоконтроллером напрямую - к нему обращается только центральный процессор. Хранящийся в ПЗУ видео-BIOS обеспечивает инициализацию и работу видеокарты до загрузки основной операционной системы, а также содержит системные данные, которые могут читаться и интерпретироваться видеодрайвером в процессе работы (в зависимости от применяемого метода разделения ответственности между драйвером и BIOS). На многих современных картах устанавливаются электрически перепрограммируемые ПЗУ (EEРROM, Flash ROM), допускающие перезапись видео-BIOS самим пользователем при помощи специальной программы.

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

====== **Видеопамять** ======

Кроме шины данных, второе узкое место любого видеоадаптера - это пропускная способность (англ. bandwidth) памяти самого видеоадаптера. Причем изначально проблема возникла даже не столько из-за скорости обработки видеоданных (это сейчас часто стоит проблема информационного голода видеокантроллера, когда он данные обрабатывает быстрее чем успевает их читать/писать из/в видеопамять), сколько из-за необходимости доступа к ним со стороны чипа видеоадаптера, центрального процессора, и RAMDAC’а. Дело в том, что при высоких разрешениях и большой глубине цвета для отображения страницы экрана на мониторе необходимо прочитать все эти данные из видеопамяти и преобразовать в аналоговый сигнал который и пойдет на монитор. Если объяснить более понятно и просто, то начнем с того, что то изображение что вы видите на экране монитора хранится не в мониторе, а в памяти видеоадаптера. И его нужно прочитать из памяти и вывести на экран столько раз в секунду, сколько кадров в секунду показывает монитор. Возьмем объем одной страницы экрана при разрешении 1024×768 точек и глубине цвета 24bit (True Color), это составляет 2.25MB. При частоте кадров 75Гц необходимо считывать эту страницу из памяти видеоадаптера 75 раз в секунду (считываемые пиксели передаются в RAMDAC и он преобразовывает цифровые данные о цвете пикселя в аналоговый сигнал поступающий на монитор), причем ни задержаться, ни пропустить пиксель нельзя, следовательно номинально потребная пропускная способность видеопамяти для данного разрешения составляет приблизительно 170MB/сек, и это без учета того, что необходимо и самому видеоконтроллеру писать и читать данные из этой памяти. Для разрешения 1600x1200x32бит при той же частоте кадров 75Гц, номинально потребная пропускная составляет уже 550 МБайт в секунду, для сравнения, процессор Pentium2 имел пиковую скорость работы с памятью 528МБ в секунду. Проблему можно было решать двояко - либо использовать специальные типы памяти, которые позволяют одновременно двум устройствам читать из нее, либо ставить очень быструю память. О типах памяти и пойдет речь.

FPM DRAM - 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 DRAM (Double Data Rate) - вариант SDRAM с передачей данных по двум фронтам сигнала, получаем в результате удвоение скорости работы. Дальнейшее развитие пока происходит в виде очередного уплотнения числа пакетов в одном такте шины (DDR2, QDDR и т. п.) SGRAM (Synchronous Graphics RAM - синхронное графическое ОЗУ) вариант DRAM с синхронным доступом. В принципе, работа SGRAM полностью аналогична SDRAM, но дополнительно поддерживаются еще некоторые специфические функции, типа блоковой и масочной записи. В отличие от VRAM и WRAM, SGRAM является одно-портовой, однако может открывать две страницы памяти как одну, эмулируя двухпортовость других типов видеопамяти.

MDRAM (Multibank DRAM - много банковое ОЗУ) - вариант DRAM разработанный фирмой MoSys, организованный в виде множества независимых банков объемом по 32КБ каждый, работающих в конвейерном режиме.

RDRAM (RAMBus DRAM) память использующая специальный канал передачи данных (Rambus Channel), представляющий собой шину данных шириной в один байт. По этому каналу удается передавать информацию очень большими потоками, наивысшая скорость передачи данных для одного канала на сегодняшний момент составляет 1600MB/сек (частота 800MHz, данные передаются по обеим срезам импульса). На один такой канал можно подключить несколько чипов памяти. Контроллер этой памяти работает с одним каналом Rambus, на одном чипе логики можно разместить четыре таких контроллера, значит теоретически можно поддерживать до 4 таких каналов, обеспечивая максимальную пропускную способность в 6.4GB/сек. Минус этой памяти - нужно читать информацию большими блоками, иначе её производительность резко падает.

Акселераторы

Начнём традиционно с истории. Первые видеокарты не были даже не 3D-ускорителями, а не были ускорителями вообще. Они служили лишь как ЦАП (цифро-аналоговый преобразователь) – преобразовывали данные, рассчитанные центральным процессором (представляющий собой цифровой код) в аналоговый сигнал, доступный для отображения на мониторе. Но сложность изображений росла, и дальше так продолжаться не могло. Тенденция усложнения изображений привела к появлению 2D- ускорителя – видеокарты, имеющий свой собственный, пусть и простейший процессор, бравший на себя часть функций, разгружая центральный процессор. Но когда появилась необходимость строить 3D изображения – ситуация осложнилась.

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

Итак, каждая стадия построения изображения очень ресурсоемка, требует множества расчётов. Вполне логичным выглядит шаг вынесения их из CPU и переправка на специализированный процессор видеокарты. Особенно если учитывать, что графические данные имеют потоковый характер, и вычислительную потребность значительно большую, чем логическую. Каждый новый виток развития ускорителей представляет собой некое поколение, поэтому для начала введём стандартизацию поколений (понимать поколения можно по-разному – я приведу лишь один вариант):

1. Первое поколение, которое было более-менее распространено – это акселераторы, использующие API Direct3D 5 и Glide. Представителем первых была NVIDIA Riva128, а вторых – 3Dfx Voodoo. Карты этого поколения брали на себя только последнюю часть построения сцены – текстурирование и закраску. Все предыдущие этапы выполнял CPU.

2. Второе поколение использовало API Direct3D 6, также в это время началось стремительное возрождение API , разработанного SGI – OpenGL. Представителями карт того времени были NVIDIA RivaTNT и ATI Rage. Это было практически эволюционное развитие карт предыдущего поколения.

3. Третье поколение – Direct3D 7. Именно тогда появились карты, снабженные TCL-блоком, снимавшим с CPU значительную часть нагрузки. Этот блок отвечал за трансформацию, освещение и отсечение. (TCL - Transformaton-Clipping-Lighting) Теперь видеокарта строила сцену самостоятельно – от начала до конца. Представителями этого поколения стали NVIDIA GeForce256 и ATI Radeon.

4. Четвёртое поколении – очередная революция. Кроме прочих новых возможностей API Direct3D 8 (и 8.1) эти карты принесли с собой самую главную возможность – аппаратные шейдеры. Причину их появления мы опишем чуть позже. Представляют это поколение NVIDIA GeForce 3,4 и ATI Radeon 8500, 9000, 9100, 9200.

5. Пятое поколение – это, в основном, развитие шейдерных технологий (версия 2.0), и попытка ввести АА и АФ в ряд обязательных к использованию функций. Это поколение, поддерживает API Direct3D версии до 9.0b включительно, представляют ATI RADEON 9500, 9600, 9700, 9800, Х800, а также NVIDIA GeForce FX 5200, 5500, 5600, 5700, 5800, 5900, 5950.

6. Шестое поколение – это поколение DirectX9.0c. Оно пока включает в себя только одну серию NVIDIA GeForce 6 и платы GeForce 6800Ultra/6800GT/6800 на базе чипа NV40. Эти карты поддерживают шейдеры версии 3.0, и предлагают некоторые другие возможности. Теперь, определившись с общим устройством конвейера и поколениями видеокарт, мы более подробно рассмотрим вершинный и фрагментный процессоры, а также определимся в отличиях версий соответствующих шейдеров.

Причиной появления шейдеров стало отсутствие какой-либо гибкости у фиксированного TCL блока. Быстро стало понятно, что ждать момента, когда производители внесут очередную порцию функций в TCL блок видеокарт – не лучший выход. Такой подход не устраивал никого. Разработчикам не нравилась мысль, что для того, чтобы внести в, например, игру новый эффект им надо годик подождать выхода нового ускорителя. Производителям тоже не светило ничего хорошего – им бы пришлось постоянно увеличивать как сами чипы, так и драйверы к ним. Это и стало причиной появления шейдеров – программ, способных настраивать ускоритель так, как того требует следующая сцена. Шейдер – это программа, которая загружается в ускоритель, и конфигурирует его узлы для обработки соответствующих элементов. Теперь нет ограничения заранее заданным набором способов обработки эффектов. Теперь стало возможно составлять из стандартных инструкций любые программы (ограниченные спецификациями используемой версией шейдера), задающие необходимые эффекты. Шейдеры делятся по своим функциям на вершинные и фрагментные (пиксельные): первые работают с вершинами и треугольниками, заменяя собой функциональность TCL блока (сейчас он практически исчез – в случае необходимости он эмулируется специальным вершинным шейдером). Фрагментные же шейдеры служат для создания программ обработки фрагментов размеров 2х2 пикселя – квадов. Они необходимы для реализации некоторых текстурных эффектов. Шейдеры также характеризуются номером версии - каждая последующая добавляет к предыдущим всё новые и новые возможности. Наиболее свежей спецификацией фрагментных и вершинных шейдеров на сегодняшний день является версия 3.0, поддерживаемая через API DirectX 9с, - на нее и будут ориентироваться как производители акселераторов, так и разработчики новых игр. На их поддержку аппаратурой стоит обращать внимание и пользователям, желающим приобрести современную игровую видеокарту. Обратим внимание на главное отличие шейдеров 3.0 от предыдущих версий (кроме 2.0а) – это DFC – Dynamic Flow Control – динамическое управление потоком. С одной стороны – это великолепная возможность, позволяющая заметно повысить скорость построения сцены, с другой – лишние транзисторы, и как вытекающие побочные эффекты, лишнее тепло и ниже максимальные частоты. Давайте более подробно опишем эту возможность. Представим себе ситуацию, когда для какой-либо вершины (или фрагмента) шейдер нужно выполнить не весь, а только 12% от него. В случае применения DFC мы выполним лишь те необходимые 12%, основываясь на параметрах объекта. Без DFC мы вынуждены выполнить шейдер целиком. Легко заметить, что с DFC мы получим выигрыш без малого в 10 раз, при этом, заплатив пониженной производительностью на вершинах, для которых нужно выполнить все 100% шейдера. Именно по этому в сети до сих пор не утихают споры – хорошо это или нет. Я не буду проводить сравнения – тут каждый сам делает выбор, а лишь отмечу, что я лично сторонник третьей шейдерной модели. Первые шейдеры состояли всего из нескольких команд, и их нетрудно было написать на низкоуровневом языке ассемблера. Хотя сложность отладки ассемблерного кода поначалу отпугнула от шейдеров многих разработчиков… Но с ростом сложности шейдерных эффектов, насчитывающих иногда десятки и сотни команд, возникла необходимость в более удобном, высокоуровневом языке написания шейдеров. Их появилось сразу два: NVIDIA Cg (C for graphics) и Microsoft HLSL (High Level Shading Language) - последний является частью стандарта DirectX 9. Достоинства и недостатки этих языков, и прочие нюансы будут интересны только программистам, так что подробнее на них мы останавливаться не станем. Отметим только, что Cg не получил широкого распространения, ввиду появления нового, более продвинутого GLSL – аналога HLSL для API OpenGL.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: