Видеокарты и устройство современной видеокарты
Опубликовано в Видеокарты, Компоненты ПК | Комментариев нет
Современные видеокарты — это одна из самых сложных и дорогих составляющих ПК. Фактически видеокарта представляет собой своеобразный компьютер в компьютере. Плата видеокарты превосходит по сложности разводки и количеству слоев материнскую плату. На самой видеокарте имеется свой процессор и своя оперативная память.
Более того, как 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 для подключения.
|