Видеокарты и устройство современной видеокарты

Видеокарты

Современные видеокарты — это одна из самых сложных и дорогих составляющих ПК. Фактически видеокарта представляет собой своеобразный компьютер в ком­пьютере. Плата видеокарты превосходит по сложности разводки и количеству слоев материнскую плату. На самой видеокарте имеется свой процессор и своя оперативная память.

Более того, как NVIDIA, так и AMD представили SDK (Software Development Kit — набор инструментальных средств разработчика), которые позволяют произ­водить характерные для центрального процессора вычисления, пользуясь исклю­чительно возможностями графических чипов.

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

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

Любая видеокарта включает в себя следующие обязательные компоненты:

1. графический процессор;

2. микросхему BIOS;

3. видеопамять;

4. цифроаналоговый преобразователь (RAMDAC);

5. контроллер интерфейса.

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

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

Как и центральные процессоры, графические процессоры характеризуются такими параметрами, как микроархитектура, тактовая частота работы графического ядра и технологический процесс производства. Графические процессоры обладают и специфическими характеристиками. К примеру, одна из важнейших характери­стик графического процессора — это число пиксельных конвейеров (Pixel Pipelines), которое определяет количество обрабатываемых пикселов за один такт. К примеру, количество пиксельных конвейеров может составлять 12 или даже 16.

Забегая вперед, отметим, что для построения трехмерного изображения необходи­мо выполнить целый ряд операций: принять решение, какие объекты вообще должны присутствовать в сцене (видимые и невидимые), определить местополо­жение вершины, которое задает каждый из этих объектов, построить по этим вер­шинам грани, заполнить получившиеся полигоны текстурами в соответствии с освещением, степенью детализации и с учетом перспективных искажений. Чем тщательнее делаются все расчеты, тем реалистичнее получится трехмерное изобра­жение. Повысить производительность этих рутинных операций можно, разбив их по стадиям и распараллелив. Именно такие функции и решают пиксельные кон­вейеры. На каждой стадии каждый пиксельный конвейер занимается тем, что просчитывает очередной пиксел конечного изображения с учетом многих факторов, включая освещение сцены. А для ускорения процесса расчета используют сразу несколько конвейеров. К примеру, если используется 16 пиксельных конвейеров, то первый конвейер обрабатывает 1-й, затем 17-й, затем 33-й пиксел и т. д.; второй конвейер — 2-й, 18-й и 34-й соответственно.

Количество конвейеров позволяет определить пиковую скорость заполнения ви­деокарты, которая рассчитывается как произведение частоты ядра на количество конвейеров. Если, к примеру, частота ядра составляет 400 МГц, а количество пик­сельных конвейеров равно 12, то скорость заполнения будет 4,8 Гпиксел/с.

Помимо пиксельных конвейеров, различают также количество текстурных блоков в каждом конвейере. Число текстурных блоков определяет количество наклады­ваемых текстур за один проход. К примеру, два текстурных блока могут наклады­вать от двух до четырех текстур за проход. Количество текстурных блоков позво­ляет определить скорость заполнения в мегатекселах (пикселах текстур).

Также в графических процессорах присутствуют вершинные конвейеры (Vertex Pipelines), которые отвечают за расчет геометрии трехмерного изображения.

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

На первом этапе данные о вершинах поступают в вершинные конвейеры, которые занимаются расчетом геометрии сцены. Здесь начинает свою работу так называ­емый блок T&L (Transform & Lighting), который отвечает за некоторые аспекты работы с геометрией и за освещение и работает в паре с конвейерами. Блок T&L имеет две определяющие характеристики: максимальное количество источников света и количество обрабатываемых полигонов.

Обработка данных в вершинном конвейере происходит под управлением специа­лизированной программы, называемой вершинным шейдером (Vertex Shader).

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

Необходимо вспомнить о таких программных интерфейсах (Application Programming Interface, API), как OpenGL и Direct3D. В них описаны стандарты для работы с трехмерными изображениями. Приложение вызывает определенную стандартную функцию OpenGL или Direct3D, а шейдеры эту функцию выполняют.

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

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

Видеопамять

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

Видеопамять графической карты характеризуется теми же параметрами, что и опе­ративная память ПК, и в этом смысле наиболее важными характеристиками явля­ются пропускная способность шины памяти, по которой данные из видеопамяти передаются к графическому процессору, а также латентность памяти. Пропускная способность шины памяти определяется разрядностью шины памяти и ее эффек­тивной тактовой частотой. К примеру, разрядность шины памяти может составлять 512, 256, 128 или 64 бита, а эффективная тактовая частота достигать 4 ГГц.

Ширина шины памяти определяет количество бит, передаваемых между GPU и па­мятью за один такт. Собственно, пропускную способность шины памяти можно найти, если умножить ширину шины на тактовую частоту. К примеру, если шири­на шины составляет 128 бит (16 байт), а тактовая частота памяти равна 250 МГц, то пропускная способность шины будет 4 Гбайт/с.

Латентность видеопамяти, то есть время выборки данных из памяти, определяется используемыми чипами памяти. Латентность современных микросхем видеопамя­ти составляет порядка 2 не и менее.

Кроме технических характеристик используемой видеопамяти, не менее важен и ее объем. При недостаточном объеме видеопамяти графический процессор фактиче­ски будет простаивать, пока нужные данные подгружаются из оперативной памя­ти компьютера. Минимальный объем видеопамяти современных видеокарт состав­ляет 128 Мбайт, а максимальный — 2 Гбайт.

RAMDAC

После обработки графическим процессором и формирования им изображения данные передаются в цифроаналоговый преобразователь RAMDAC, который не­посредственно отвечает за преобразование цифрового сигнала в аналоговый. Еще несколько лет назад значительная часть мониторов была способна понимать сигнал только в аналоговом виде. Сейчас идет активная смена стандартов, и циф­ровые интерфейсы теснят аналоговые. Последние премьеры мониторов и видеокарт показывают, что тренд нового поколения — это интерфейс DisplayPort. Не забы­вают и об уже устоявшихся интерфейсах, таких как DVI и HDMI. Для современных ЖК-дисплеев цифровой сигнал является естественным. Они имеют цифровой видеовход и способны работать с видеосигналом без участия RAMDAC. Но пока на рынке присутствует целый парк моделей с аналоговыми входами, в целях совместимости даже новые видеокарты в обязательном порядке оснащаются цифроаналоговым преобразователем и поддерживают подключение аналоговых устройств.

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

Контроллер интерфейса

Контроллер интерфейса отвечает за сопряжение видеокарты с материнской платой компьютера. Пользователи уже успели подзабыть некогда популярный специали­зированный графический интерфейс AGP (Accelerated Graphic Port). К примеру, видеокарты подключались по интерфейсу AGP 4х с пропускной способностью 1,06 Гбайт/с или по интерфейсу AGP 8х с пропускной способностью 2,1 Гбайт/с. На рынке осталось мизерное количество предложений по ним.

На смену AGP пришел более перспективный PCI Express, который уже успел пе­редать виртуальную эстафету вдвойне быстрому PCI Expres 2.0. Для подключения графических карт используется версия PCI Express х16 либо х8. Теоретическая пропускная способность такой шины составляет до 8000 Мбайт/с в обоих направ­лениях.

Несмотря на выдающуюся пропускную способность и довольно молодой возраст, мы можем констатировать, что PCI Express 2.0 будет в скором времени заменена еще более скоростным интерфейсом PCI Express 3.0.

Каждое новое поколение использует 16 линий PCI Express Ver. 0 для подклю­чения.

Яндекс.Метрика