Page 7

Лабораторна робота №.7 Дослідження будови та принципів функціонування відеоадаптерів

Мета роботи: Ознайомитися з будовою, принципом роботи та основнимихарактеристиками відеоадаптерів

1. Теоретичні відомості

1.1. Призначення відеоадаптера

Оскільки максимум інформації про зовнішній світ більшість з нас отримує візуально, ніхто не ризикне заперечувати, що відеопідсистема – один з найважливіших компонентів персонального комп'ютера. Відеопідсистема, в свою чергу, складається з двох основних частин: монітора й відеоадаптера. Створенням зображення на моніторі керує, звичайно, аналоговий відеосигнал, що формується відеоадаптером.

Комп'ютер формує цифрові дані про зображення, які з оперативної пам'яті надходять у спеціалізований процесор відеоплати, де обробляються і зберігаються у відеопам'яті. Паралельно з накопиченням у відеопам'яті повного цифрового «зліпка» зображення, на екрані дані зчитуються цифро-аналоговим перетворювачем (Digital Analog Converter, DAC). Оскільки DAC, звичайно, (хоч і не завжди) включає власну пам'ять довільного доступу (Random Access Memory, RAM) для зберігання палітри кольорів у 8-розрядних режимах, його ще називають RAMDAC. На останньому етапі DAC перетворює цифрові дані в аналогові і надсилає їх на монітор. Ця операція виконується DAC декілька десятків разів за одну секунду. Дана характеристика називається частотою оновлення (або регенерації) екрану.

Відеоадаптер (відома також як графічна плата, графічна карта, відеокарта)— пристрій, що перетворює зображення, що знаходиться в пам'яті

комп'ютера, у відеосигнал для монітора. Зазвичай відеокарта є платою розширення і вставляється в роз'єм розширення, універсальний (ISA, VLB, PCI, PCI-Express) або спеціалізований (AGP), але буває і вбудованою (інтегрованою).

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

Наприклад, всі сучасні відеокарти NVIDIA і AMD(ATi) підтримують додатки OPENGL на апаратному рівні.

Першою кольоровою відеокартою стала CGA (Color Graphics Adapter), випущена IBM і що стала основою для подальших стандартів відеокарт. Вона могла працювати або в текстовому режимі з дозволами 40х25 і 80х25 (матриця символу — 8х8), або в графічному з дозволами 320х200 або 640х200. У текстових режимах доступні 256 атрибутів символу — 16 кольорів символу і 16 кольорів фону (або 8 кольорів фону і атрибут мигання), в графічному режимі 320х200 були доступні чотири палітри по чотири кольори кожна, режим високого дозволу 640х200 був монохромним. У розвитку цієї карти з'явився EGA (Enhanced Graphics Adapter) — покращуваний графічний адаптер, з розширеною до 64 кольорів палітрою, і проміжним буфером. Було покращувано дозвіл до 640х350, в результаті додався текстовий режим 80х43 при матриці символу 8х8. Для режиму 80х25 використовувалася велика матриця — 8*14, одночасно можна було використовувати 16 кольорів, колірна палітра була розширена до 64 кольорів.

Графічний режим так само дозволяв використовувати при дозволі 640х350 16 кольорів з палітри в 64 кольори. Був сумісний з CGA і MDA. Варто відмітити, що інтерфейси з монітором всіх цих типів відеоадаптерів були цифрові, MDA і HGC передавали тільки світиться або не світиться крапка і додатковий сигнал яскравості для атрибуту тексту «яскравий», аналогічно CGA по трьом каналам (червоний, зелений, синій) передавав основний відеосигнал, і міг додатково передавати сигнал яскравості (всього виходило 16 кольорів), EGA мав по дві лінії передачі на кожен з основних кольорів, тобто кожен основний колір міг відображуватися з повною яскравістю, 2/3, або 1/3 від повної яскравості, що і давало в сумі максимум 64 кольори. IBM розробила VGA (Video Graphics Array — графічний відео масив). Це фактично стандарт відеоадаптера з кінця 80-х років. Додані текстовий дозвіл 720x400 для емуляції MDA і графічний режим 640x480, з доступом через бітову плоскість. Режим 640x480 чудовий тим, що в нім використовується квадратний піксел, тобто співвідношення числа пікселів по горизонталі і вертикалі збігається із стандартним співвідношенням сторін екрану — 4:3. Далі з'явився IBM 8514/a з дозволами 640x480x256 і 1024x768x256, і IBM XGA з текстовим режимом 132x25 (1056x400) і збільшеною глибиною кольору (640x480x65K). З 1991 року з'явилося поняття SVGA (Super VGA — «понад» VGA) — розширення VGA з додаванням вищих режимів і додаткового сервісу, наприклад можливості поставити довільну частоту кадрів. Число кольорів, що одночасно відображуються, збільшується до 65'536 (High Color, 16 біт) і 16'777'216 (True Color, 24 біта), з'являються додаткові текстові режими. З сервісних функцій з'являється підтримка VBE (VESA BIOS Extention— розширення BIOS стандарту VESA). SVGA сприймається як фактичний стандарт відеоадаптера десь з середини 1992 року, після ухвалення асоціацією VESA (Video Electronics Standart Association — асоціація стандартизації відео-електроніки) стандарту VBE версії 1.0. До того моменту практично всі відеоадаптери SVGA були несумісні між собою.

Графічний інтерфейс, що призначений для користувача, з'явився в багатьох операційних системах, стимулював новий етап розвитку відеоадаптерів. З'являється поняття «Графічний прискорювач» (graphics accelerator). Це відеоадаптери, які проводять виконання деяких графічних функцій на апаратному рівні. До цих функцій належать, переміщення великих блоків зображення з однієї ділянки екрану в іншій (наприклад при переміщенні вікна), заливка ділянок зображення, малювання ліній, дуг, шрифтів, підтримка апаратного курсора і т.п. Прямим поштовхом до розвитку настільки спеціалізованого пристрою з'явилося те, що призначений для користувача графічний інтерфейс поза сумнівом зручний, але його використання вимагає від центрального процесора чималих обчислювальних ресурсів, і сучасний графічний прискорювач якраз і покликаний зняти з нього левову частку обчислень по остаточному виведенню зображення на екран.

Сучасна відеокарта складається з наступних частин:

·                   Графічний процесор (Graphics processing unit - графічний процесорний пристрій) - займається розрахунками виведеного зображення, звільняючи від цього обов'язку центральний процесор, проводить розрахунки для обробки команд тривимірної графіки. Є основою графічної плати, саме від нього залежать швидкодія та можливості всього пристрою. Сучасні графічні процесори по складності мало чим поступаються центральному процесору комп'ютера, і часто перевершують його як за кількістю транзисторів, так і з обчислювальної потужності, завдяки великому числу універсальних обчислювальних блоків. Проте, архітектура GPU минулого покоління звичайно припускає наявність декількох блоків обробки інформації, а саме: блок обробки 2D-графіки, блок обробки 3D-графіки, у свою чергу, звичайно розділяють на геометричне ядро (плюс кеш вершин) і блок растеризації (плюс кеш текстур ) та ін .

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

·                   Відеопам'ять - виконує роль кадрового буфера, в якому зберігається зображення, що генерується і постійно змінюється графічним процесором і виводиться на екран монітора (або декількох моніторів). У відеопам'яті зберігаються також проміжні невидимі на екрані елементи зображення і інші дані. Відеопам'ять буває декількох типів, що розрізняються по швидкості доступу і робочій частоті. Сучасні відеокарти комплектуються пам'яттю типу DDR, DDR2, GDDR3, GDDR4 і GDDR5. Слід також мати на увазі, що крім відеопам'яті, що знаходиться на відеокарті, сучасні графічні процесори зазвичай використовують у своїй роботі частина загальної системної пам'яті комп'ютера, прямий доступ до якої організовується драйвером відеоадаптера через шину AGP або PCIE. У разі використання архітектури UMA як відеопам'ять використовується частина системної пам'яті комп'ютера.

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

·                   Відео-ПЗП (Video ROM) - постійний запам'ятовуючий пристрій, в який записані відео-BIOS, екранні шрифти, службові таблиці і т. п. ПЗП не використовується відеоконтролером прямо - до нього звертається тільки центральний процесор. Що зберігається в ПЗП відео-BIOS забезпечує ініціалізацію і роботу відеокарти до завантаження основної операційної системи, а також містить системні дані, які можуть читатися і інтерпретуватися відеодрайвером в процесі роботи (в залежності від застосовуваного методу розподілу відповідальності між драйвером і BIOS). На багатьох сучасних картах встановлюються електрично-перепрограмовуюча ПЗП (EEPROM, Flash ROM), що допускають перезапис відео-BIOS самим користувачем за допомогою спеціальної програми.

·                   Система охолодження - призначена для збереження температурного режиму відеопроцесора і відеопам'яті в допустимих межах.

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

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

·               Ширина шини пам'яті, вимірюється в бітах - кількість біт інформації, що передається за такт. Важливий параметр в продуктивності карти.

·                    Обсяг відеопам'яті, вимірюється в мегабайтах - обсяг власного оперативної пам'яті відеокарти.

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

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

·                    Текстурна і піксельна швидкість заповнення, вимірюється в млн. пікселів в секунду, показує кількість виводиться інформації в одиницю часу.

·                    Роз’єми карти - відеоадаптери MDA, Hercules, CGA і EGA оснащувалися 9-контактним роз'ємом типу D-Sub. Зрідка також був присутній коаксіальний роз'єм Composite Video, що дозволяє вивести чорно-біле зображення на телевізійний приймач або монітор, оснащений НЧ-відеовходом. Відеоадаптери VGA і більш пізні зазвичай мали всього один роз'єм VGA (15-контактний D-Sub). Зрідка ранні версії VGA-адаптерів мали також разьем попереднього покоління (9-контактний) для сумісності зі старими моніторами.


Вибір робочого виходу задавався перемикачами на платі відеоадаптера. В даний час плати оснащують роз'ємами DVI або HDMI, або Display Port в

 

9-контактний роз'єм VIVO для S-Video (TV-Out), DVI для HDTV, і DE-15 для VGA

 

кількості від одного до трьох. Деякі відеокарти ATi останнього покоління оснащуються шістьма відеовиходами. Порти DVI і HDMI є еволюційними стадіями розвитку стандарту передачі відеосигналу, тому для з'єднання пристроїв з цими типами портів можливе використання перехідників. Порт DVI буває двох різновидів. DVI-I також включає аналогові сигнали, що дозволяють підключити монітор через перехідник на штекер D-SUB. DVI-D не дозволяє цього зробити. Dispay Port дозволяє підключати до чотирьох пристроїв, в тому числі акустичні системи, USB-концентратори і інші пристрої введення-виведення. На відеокарті також можливе розміщення композитних і S-Video відеовиходів і відеовходів (позначаються, як ViVo)

Покоління 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


Технологія SLI та CrossFire
 Для побудови комп'ютера на основі SLI необхідно мати:

1.                материнську плату з двома і більше роз'ємами PCI Express, що підтримує технологію SLI (при швидкості PCI-E x8 продуктивність впаде не надто помітно, 5-7%, на відміну від роз’єму x16)

2.                 якісний блок живлення, потужністю мінімум 550 Вт (рекомендуються блоки SLI-Ready);

3.                відеокарти GeForce 6/7/8/9, GT200/300/400 або Quadro FX з шиною PCI Express;

4.                міст, що поєднує відеокарти.

Підтримка чіпсетів для роботи з SLI здійснюється програмно. Відкрите повинні належати до одного класу, при цьому версія BIOS плат і їх виробник значення не мають.

SLI-систему можна організувати двома способами:

1.     За допомогою спеціального містка SLI;

2.      Програмним шляхом.

В останньому випадку навантаження на шину PCIe зростає, що погано позначається на продуктивності.

Набула поширення система Quad SLI. Вона передбачає об'єднання в SLI-систему двох двухчіпових плат (GeForce 7950GX2, GeForce 9800GX2 або GeForce GTX295) або чотирьох одночіпових (в даному випадку вона іменується 4-Way SLI). Таким чином, виходить, що в побудові зображення працюють 4 чіпа.

Багато виробників "подвійних" відеокарт надають перевагу писати сумарний об'єм локальної пам'яті, наприклад (EVGA або Palit). Насправді ж такі відеоадаптери, фактично будучи SLI-картами, можуть використовувати тільки власну встановлену на PCB пам'ять. Тобто у побудові зображенні, наприклад, відеокарта GeForce GTX295 зможе використовувати тільки 896 Мб пам'яті. Кожен її чіп має у своєму розпорядженні тільки половину від заявленої виробником.

Зв'язка з відеокарт SLI споконвічно є досить продуктивним рішенням, наприклад з пари GeForce GTX260. Але тут виникає проблема процессорозалежності, тому що багато сучасних ігор дуже інтенсивно використовують ЦП, також як і сам SLI. Тому, щоб зв'язка SLI повністю розкрила свій потенціал, необхідний відповідний потужний процесор з високою тактовою частотою; в іншому випадку приросту від використання SLI буде набагато менше очікуваного.

Оптимально (на 2009 рік), в більшості ігор, на систему SLI з двох GeForce GTX275 необхідний процесор порядку Core 2 Duo E8400-E8600 розігнаний до 4 ГГц. Менша частота процесора тягне падіння FPS (Frames Per Second - кадрів в секунду), а більш висока частота процесора (близько 4.5-5 ГГц) FPS вже не додає.

CrossFireX-систему можна організувати двома способами:
2 відеокарти ATI Radeon HD 5870, з'єднані за технологією ATI CrossFireX
   1. Внутрішнє з'єднання - відеокарти поєднуються за допомогою спеціального гнучкого містка CrossFireX, при цьому, для з'єднання більш, ніж двох відеокарт, не потрібно використовувати спеціалізовані многороз’ємні містки (типу NVIDIA 3-way SLI або 4-way SLI), відеокарти з'єднуються послідовно простими CrossFireX містками. З'єднання ведеться приблизно так: від першої до другої - від другої до третьої - від третьої до четвертої (для з'єднання 4 відеокарт); від першої до другої - від другої до третьої (для 3 карт); від першої до другої (для 2 карток) . Слід зауважити, що на однопроцесорних відкритих по 2 "пальця" CrossFireX, тому у випадку з системою з двох відеокарт, об'єднувати їх можна як одним, так і двома містками (від першої до другої - від першої до другої), різниці в продуктивності не буде .

   2. Програмний метод - відеокарти не з'єднуються, обмін даними йде по шині PCI Express x16, при цьому їх взаємодія реалізується за допомогою драйверів. Недоліком даного способу є втрати в продуктивності на 10-15% в порівнянні з вищеназваним способом.

Алгоритми побудови зображення:

1) Split Frame Rendering (Scissor(ATI))


Зображення розбивається на декілька частин, кількість яких відповідає кількості відеокарт у зв'язці. Кожна частина зображення обробляється однієювідеокартою повністю, включаючи геометричну і піксельну складові.
 Аналог в CrossFire - алгоритм Scissor

2)  Alternate Frame Rendering


Обробка кадрів відбувається по черзі: одна відеокарта обробляє тільки парні кадри, а друга - тільки непарні. Однак у цього алгоритму є недолік. Справа в тому, що один кадр може бути простим, а інший складним для обробки.
Цей алгоритм запатентований ATI під час випуску двухчіповoї відеокарти.
3) SLI AA

Даний алгоритм націлений на підвищення якості зображення. Одна і та ж картинка генерується на всіх відеокартах з різними шаблонами згладжування. Відеокарта виробляє згладжування кадру з деяким кроком щодо зображення іншої відеокарти. Потім отримані зображення змішуються і виводяться. Таким чином досягається максимальна чіткість і деталізованність зображення. Доступні наступні режими згладжування: 8x, 10x, 12x, 14x, 16x і 32x.
Аналог в CrossFire - SuperAA.

4) SuperTiling(ATI)

   Зображення розбивається на квадрати 32x32 пікселя і приймає вигляд шахової дошки. Кожен квадрат обробляється одній відеокартою.

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

·        ширина шини пам'яті, вимірюється в бітах— кількість біт

інформації, що передається за такт. Важливий параметр в

продуктивності карти.

·        об'єм відеопам'яті, вимірюється в мегабайтах — об'єм вбудованої оперативної пам'яті відеокарти.

·         частоти ядра і пам'яті — вимірюються в мегагерцах, чим більше, тим швидше відеокарта оброблятиме інформацію.

·         техпроцесс — технологія виготовлення основних мікросхем відеокарти, указується характерний розмір, вимірюваний в нанометрах (нм), сучасні мікросхеми випускаються по 90-, 80- 65 або 55-нм нормам техпроцесса. Чим менше даний параметр, тим більше елементів можна умістити на кристалі мікросхеми.

·        швидкість текстури і піксельної заповнення, вимірюється в млн. пикселов в секунду, показує кількість інформації, що виводиться, в одиницю часу.

·        виводи карти — спочатку відеоадаптер мав всього один роз'єм VGA (15-контактний D-Sub). В даний час плати оснащують одним або двома роз'ємами DVI або HDMI, або Display Port. Порти DSUB DVI і HDMI є еволюційними стадіями розвитку стандарту передачі відеосигналу, тому для з'єднання пристроїв з цими типами портів можливе використання перехідників. Dispay Port дозволяє підключати до чотирьох пристроїв, у тому числі акустичних систем, USB-концентраторы і інших пристроїв введення-виводу. На відеокарті також можливе розміщення композитних і S-Video відеовиходів і відеовходів (позначаються, як ViVo)

Список рекомендованої літератури

1. Википедия - свободная энциклопедия. Http://ru.wikipedia.org/wiki.

2. Електронний дидактичний комплекс кафедри КТПН ЛДТУ. Нttp://elearning.lutsk.ua.