Графична карта

фиг.18 Видеокарти ATI Radeon с различни системи кулери
1.9.1 Същност и стандарти
Графичната платка (известна също като графична карта,
видеокарта, видеоадаптер) (англ. videocard) —
устройство, преобразуващо изображението, намиращо се в паметта на компютъра,
във видеосигнал за монитора.
Обикновено видеокартата е разширителна платка и се поставя в специален слот (ISA, VLB,
PCI, AGP,
PCI-Express)
за видеокарти на дънната платка, но може да бъде и вградена.
Съвременните видеокарти не се ограничават само с контрол на извежданото
изображение. Вграденият в тях микропроцесор има и допълнителни функции,
разтоварващи централния процесор на компютъра.
История
Стандартните типове видеоадаптери се използват в компютрите
и регламентират основни характеристики като разделителна способност, брой
цветове, тип интерфейс с монитора и честота на дискретизация. Съвременните
видеоадаптери са SVGA, но имат собственни разширения за обработка на 2D и 3D
графики.
- MDA
(Monochrome Display Adapter — монохромен адаптер на дисплея) най-простия
видеоадаптер, използван в IBM PC. Работи в текстов режим с разделителна
способност 80x25 (720x350, матрица на символите 9x14), поддържа пет
атрибути на текста: обикновен, ярък, инверсен, подчертан, мигащ. Честота
на редовата развивка 15 кГц. Интерфейс с монитора — цифров: сигнали за
синхронизация, основен видеосигнал, допълнителен сигнал за яркост.
- HGC
(Hercules Graphics Card — графична карта Hercules) — разширение на MDA с
монохромен графичен режим 720x348 и поддръжка на две видео-страници,
разработен от фирма Hercules. Наличието на две видеостраници досега е
стандартно за всички видеоадаптери и активно се използва в игрите. Докато
едната страница се изобразява на екрана на монитора, на другата, невидима
за потребителя страница се изгражда изображението, послете се сменят. Така
потребителятвижда само готовата картина, целия процес на изграждане на
изображението остава скрит за него.
- CGA (Color
Graphics Adapter — цветен графичен адаптер) първия адаптер с цветни
графични възможности. Работи или в текстов режим с разделителна способност
40x25 и 80x25 (матрица на символа 8x8), или в графичен с разделителна
способност 320x200 или 640x200. В текстовите режими са достъпни 256
атрибута на символи — 16 цвята на символа и 16 цвята на фона (или 8 цвята
на фона и атрибут на мигане), в графичните режими са доступни четири
палитри по четире цвята всеки в режим 320x200, режим 640x200 — монохромен.
Изводът на информация на екрана изисква синхронизация с развивката, в
противен случай възникват конфликти във видеопаметта - «сняг» на екрана.
Честота на редовата развивка — 15 кГц. Интерфейс с монитора — цифрово:
сигнал за синхронизация, основен видеосигнал (три канала —червен, зелен,
син), допълнителен сигнал за яpкост.
- EGA
(Enhanced Graphics Adapter —подобрен графичен адаптер) —следващо развитие
на CGA, използвано в първите PC AT. Добавено е разделителна способност
640x350, което в текстовите режими осигурява формат 80x25 при матрица на
символа 8x14 и 80x43 — при матрица 8x8. Броят едновременно изобразявани
цветове —както преди са 16, обаче палитрата е разширена до 64 цвята (по
два разряда яркост на всеки цвят). Въведен е междинен буфер за предавания
към монитора поток данни, поради което отпада необходимостта от
синхронизация при извеждане на текстови режими. Структурата на
видеопаметта е изградена от т.н. битови слоеве, всеки от които в графичен
режим съдържа битове само за своите цветове, а в текстовите режими по
слоеве се разделят на текст и данни за знакогенератора. Съвместим с MDA и
CGA. Честота на редовата развивка — 15 и 18 кГц. Интерфейс с монитора —
цифров: сигнали за синхронизация, видеосигнал (по две линии на всеки от
основните цветове).
- MCGA
(Multicolor Graphics Adapter — моноцветен графичен адаптер) — въведен от
IBM в ранните модели PS/2. Добавено разделителна способност 640x400
(текст), осигуряващо формат 80x25 при матрица на символа 8x16 и 80x50 —
при матрица 8x8. Брой възпроизвеждани цветове - увеличен до 262144 (по 64
нива на всеки от основните цветове). Въведено е понятието таблица на
цветове, чрез която се изпълнява преобразуване на 64-цветното пространство
на EGA в пространството цветове MCGA. Въведен е видеорежим 320x200x256, в
който вместо битови слоеве се използва представвяне на екрана в
непрекъсната област от паметта с обем 64000 байт, където всеки байт описва
цвят съответен на неговата точка от екрана. Съвместим с CGA за всички
режими и с EGA —за текстовия, с изключение размера на матрицата на
символа. Честота на редовата развивка — 31 кГц, за емулация на режими на
CGA се използва така нареченото двойно сканиране — дублиране на всеки ред
на формата Nx200 в режим Nx400. Интерфейс с монитора — аналогово-цифров:
цифрови сигнали за синхронизация, аналогови сигнали за основните цветове,
предавани на монитора без дискретизация. Поддържа включване на монохромен
монитор и неговото автоматично разпознаване —във видео-BIOS се включва
режим на сумиране на цветове по така наречената скала на сивото(grayscale)
за получаване на полутонове на черно-бяло изображение. Сумирането се
изпълнява само при извеждане през BIOS — при непосредствен запис във
видеопаметта на монитора попада само сигнала за зелен цвят.
- VGA (Video
Graphics Array — множество или масив на визуална графика) — разширение на
MCGA, съвместимо с EGA, въведено от IBM в средните модели PS/2. Фактически
стандарт на видеоадаптера от края на 80-те години. Добавен текстов режим
720x400 за емулация на MDA и графичен режим 640x480 с достъп през битови
слоеве. В режим 640x480 се използва така наречената квадратна точка
(съотношение на броя точки по хоризонталата и вертикалата съвпада със
стандартното съотношение на страните на екрана — 4:3). Съвместим с MDA,
CGA и EGA, интерфейс с монитора идентичен с MCGA.
- IBM 8514/a
— специализированний адаптер за работа с висока разделителна способност
(640x480x256 и 1024x768x256), с елементи на графичен ускорител. Не
поддържа видеорежими VGA. Интерфейс с монитора аналогичен на VGA/MCGA.
- IBM XGA —
следващия специализиран адаптер на IBM. Разширено цветово пространство
(режим 640x480x64k), добавен текстов режим 132x25 (1056x400). Интерфейс с
монитора аналогичен VGA/MCGA.
- SVGA
(Super VGA — «свръх»-VGA) — разширение на VGA с добавени по-висока
разделителна способност и дополнителен сървис. Видеорежимите са 800x600,
1024x768, 1152x864, 1280x1024, 1600x1200 —повечето при съотношение 4:3.
Цветово пространство разширено до 65536 (High Color) или 16.7 млн (True
Color). Също се добавят разширени текстови режими с формат 132x25,
132x43, 132x50. Допълнителният сървис поддържа VBE. Фактически стандарт на
видеоадаптери от 1992 г., след излизане на стандарта VBE 1.0.
Графическият потребителски интерфейс, в много операционни системи, стимулира
нов етап на развитие на видеоадаптерите. Графичният ускорител (graphics
accelerator) е видеоадаптер, в който редица графични функции се осъществяват на
апаратно ниво – преместване на блокове от изображението от един на друг участък
от екрана (преместване на прозорец), запълване на участъци от изображението, рисуване
на линии, дъги, шрифтове, апаратна поддръжка на курсора и др. Графичният
потребителски интерфейс е удобен, но изисква от централния процесор немалко
изчислителни ресурси. Графичният ускорител разтоварва процесора с основната
част изчисления, необходими за извеждане и управление на изображението на
екрана.
1.9.2 Структура и действие на графичните платки
Съвременната графична платка се състои из следните части:
- графичен процесор
(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 млн. цвята обхващат по-голямо цветово пространство). За
поддръжка на втори монитор се използва втори ЦАП. Монитори и
видеопроектори включени към цифровия DVI изход на видеокартата използват
собствени ЦАП за преобразуване на потока цифрови данни и не зависят
от характеристиките на ЦАП във видеокартата.
- видео-ПЗУ
(Video ROM) — постоянно запомнящо устройство, в което са записани
видео-BIOS, екранни шрифтове, служебни таблици и др. ПЗУ не използва пряко
видеоконтролера — към него се обръща само централния процесор. Видео-BIOS
осигурява инициализация и работа на видеокартата до зареждане на основната
операционна система, а също съдържа системни данни, които могат да се
четат и интерпретират с видеодрайвера в процеса на работа. В съвременните
видеокарти се използват електрически препрограмируеми ПЗУ (EEРROM, Flash
ROM), допускащие презапис на видео-BIOS от потребителя със специална
програма.
- система за
охлаждане — управлява температурния режим на видеопроцесора и
видеопаметта в допустим диапазон стойности.
- Видеодрайвер —софтуер,
доставян от производителя на видеочипа и зареждан при стартиране на операционната
система. Видеодрайверът изпълнява функции на интерфейс между системата със
стартираните в нея приложения и видеоадаптера. Както и видео-BIOS,
видеодрайверът организира и програмно контролира работата на всички
компоненти на видеоадаптера чрез специални регистри за управление,
достъпни през съответната шина.
Общата структурна схема е показана на фиг.19.

фиг.19.
1.9.3 Основни характеристики
- ширина на шината
памет, измерва се в битове — брой битове информация, предавана в
секунда. Определя производителността на картата.
- количество
видеопамет, измерва се в МB — какъв обем информация може да
съхранява вградената видеопамет на графичната платка.
- Честота на ядрото и
паметта — измерва се в MHz, определя скоростта на обработване на
информацията.
- Технологичен процес
— технология на печат, измерва се в nm, съвременните карти имат
110 nm или 90 nm норми на технологичния процес.
- текстурна и
пикселна скорост на запълване, измерва се в млн. пиксели за
секунда, показва скоростта на извеждане на информация.
- изводи на картата —по-рано
видеоадаптерът имаше един куплунг VGA, сега се оборудва с един изхода
DVI—I (или два - за допълнителен монитор), също с композитни видеоизход и
видеовход (ViVo)
Поколения 3D-ускорители
Съответстват на версията DirectX, която поддържат:
- DirectX 7 —
карта не подерживает шейдери(софтуер за изграждане на тримерна графика),
всички картинки се рисуват с налагане на текстура.
- DirectX 8 —
поддръжка на пикселни шейдери версии 1.0, 1.1 и 1.2, в DX 8.1 както и 1.4.
- DirectX 9 —
поддръжка на пикселни шейдери версии 2.0, 2.0a и 2.0b, в DX 9.0c е
добавена поддръжка на версии 3.0.
1.9.4 Еволюция на интерфейса и видеопаметта
Първото тясно място в бързодействието на видеосистемата — е интерфейсът за
предаване на данни към който е включен видеоадаптера. Ако каналите за обмен на
информация между него, централния процесор, оперативната памет и дополнителните
видеоустройства са бавни, ефективността на работа на видеодисплея е
незадоволителна. С процесорите Intel Pentium II, и използването на PC като
високопроизводителнасистема, както и с появата на 3D игрите със сложна графика,
пропускателната способност на PCI в този вид, в който тя е съществувала на
платформата PC (честота 33MHz и разрядност 32бита) не удовлетворяваше.
Ето защо Intel разработи отделна шина за графичната подсистема, модернизирайки
PCI. Новата шина AGP (Accelerated Graphics Port — ускорен графичен порт).
получи достъп до паметта с поддръжка на специфични заявки към видеоадаптера.
Разрядността на AGP е 32bit, работната честота 66MHz, поддържайки режими на
предаване на данни 1x, 2x, 4x, 8x, (за един такт се предават съответно едно,
две, четири или осем 32 разрядни думи. Пиковата пропускателна способност в
режим 1x е 266MB/сек. Съвременните видеоплатки с интерфейси AGP 8x, имат
пропускателна способност 2,1 Гбайт/с.
Постепенно и параметрите на AGP се оказаха недостатъчни за нарасналите
изисквания. Изобретено бе разширение на PCI — PCI Express, последователен
интерфейс, за разлика от AGP, чиято пропускателна способност може да достигне
4Гбайт/с. Понастоящем се наблюдава отказ от AGP в полза на PCI Express.
Видеопамет
Освен шината за данни, второто тясно място на всеки видеоадаптер е бързодействието(пропускателната
способност - bandwidth) на собствената видеопамет. Всяко изображение
първично се съхранява във видеопаметта на видеоадаптера. Необходимо е
информацията за изожражението да се прочете и изведе на екрана. На разделителна
способност 1024x768 точки и дълбочина на цветовете 24bit (True Color),
отговарят 2.25MB. При честота на кадрите 75Гц номинално потребната
пропускателна способност на видеопаметта е около 170MB/сек, без да се отчита,
че самият видеоконтролер трябва да записва и чете данни от тази памет. При
разделителна способност 1600x1200x32бит кадрова честота 75Гц, пропускателната
способност нараства до 550 МB/s (Pentium2 има пикова скорост на работа с
паметта 528МB/s. Проблемът се решава със специални типове памет, позволяващи
четене едновременно на две устройства от тях, или използване на много бърза
памет:
FPM DRAM – използвана до 1996г.
VRAM (Video RAM — видеоОЗУ) —дву-портова DRAM. Позволява да се съвмести във
времето извода на изображение на екрана и неговата обработка във видеопаметта.
Все още недостатъчна скорост.
WRAM (Window RAM) — вариант VRAM, с увеличена до~25 % пропускателна
способност и поддръжка на някои често използвани функции, - шрифтове, местене
на блокове и прозорци от изображението и т.н. Използва се в акселераторите на
фирми Matrox и Number Nine, защото изисква специални методи за достъп и
обработка на данните.
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, организиран във вид на множество независими банкови обеми по
32KB всеки, работещи в конвейерен режим.
RDRAM (RAMBus DRAM) памет
исползваща специален канал за предаване на данни (Rambus Channel) – шина за
данни с ширина един байт. По него се предава информация като поток с максимална
скорост 1600MB/сек (честота 800MHz, данните се предават по двата фронта на
импулса). На един такъв канал може да се вкчат няколко чипа памет. Контролерът
на тази памет работи с един канал Rambus. Теоретично може да се поддържат до 4
такива каналоа, т.е. да се постигне предавателна способност 6.4GB/сек.
Недостатък на паметта е необходимостта да се чете информацията на големи
блокове, иначе спада производителността.