Відеоадаптери

Автор работы: Пользователь скрыл имя, 26 Февраля 2013 в 12:35, реферат

Описание

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

Работа состоит из  1 файл

Videoadaptery.doc

— 489.50 Кб (Скачать документ)

 

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

У відеорежимах з одним  бітом на піксель (6h, 11h) використовується лінійне відображення (рис. 5, а), але в режимі 6 через архітектурні особливості адаптера CGA рядка пікселів чергують: за базовою адресою відеобуфера розташовуються елементи пам'яті, відповідні ланцюжкам парних рядків пікселів, а непарні рядки відображає область із зміщенням 2000h. В адаптерах HGC в чергуванні беруть участь вже не пари, а четвірки рядків, і їх образи також мають зміщення в 2000h.

Рис. 5. Лінійне відображення пікселів в відеопам'яті:

а – 1 біт на піксель, б - 2 біта на піксель

У відеорежимах 4 і 5 з  двома бітами на піксель використовується лінійне відображення (рис. 5, б) і таке ж чергування рядків. В режимі Fh використовується багатоплощинна модель пам'яті (рис. 6), але з чотирьох шарів використовуються тільки два (0 і 1). Те ж відноситься і до режиму 10h, коли він використовується в двохбітному варіанті.

Рис. 6. Багатошарове відображення пікселів у відеопам'яті

У відеорежимах з чотирма  бітами на піксель використовується чотирьохплощинна модель пам'яті (див. рис. 6) в повному об'ємі.

При 8, 16 (15), 24 і 32 бітах на піксель  в графічних адаптерах застосовується тільки лінійна організація пам'яті, де за кожний піксель відповідає 1-4 суміжні байти. При режимах High Color і True Color вміст цих байтів безпосередньо задає колір через двійкові коди рівнів інтенсивності базисних кольорів RGB. Формати байт (молодший біт – справа) виглядають таким чином:

15 біт/піксель: URRR RRGG GGGB ВВВВ (5-5-5)

16 біт/піксель: RRRR RGGG GGGB ВВВВ (5-6-5)

24 біт/піксель: RRRR RRRR GGGG GGGG ВВВВ ВВВВ (8-8-8)

32 біт/піксель: UUUU UUUU RRRR RRRR GGGG GGGG ВВВВ  ВВВВ (8-8-8)

Тут U позначає біти, що не використовуються для формування кольору, а в ланцюжках біт базисних кольорів (R, G, В) молодший біт розташований справа.

Контроллер атрибутів управляє трактуванням колірної інформації, що зберігається у відеопам'яті. В текстовому режимі він обробляє інформацію з байт атрибутів знакомісць (звідки й пішла його назва), в графічному – з біт поточного пікселя, що виводиться. Контроллер атрибутів дозволяє пов'язати об'єм збереженої колірної інформації з можливостями монітора. Для монохромних (не півтонових) моніторів частина колірної інформації може перетворюватися в такі елементи оформлення, як мигання, підкреслення і інверсія знакомісця. До складу контроллера атрибутів входять регістри палітр, які служать для перетворення кольорів, закодованих бітами відеопам'яті, в реальні кольори на екрані. В адаптері CGA колірна палітра міняється зовсім просто: у вихідний сигнал додається (або не додається) один із базисних кольорів (синій), внаслідок чого управління двома іншими кольорами даватиме по чотири кольори в двох різних палітрах. В адаптері EGA застосовані вже справжні програмовані регістри палітр, що дозволяють кожному з 16 можливих кодів поставити у відповідність один з 64 можливих кольорів, що відображаються монітором EGA. З появою адаптерів, здатних задавати велику (256 і більше) кількість кольорів, на плату графічного адаптера з монітора «переїхали» і цифро-аналогові перетворювачі (ЦАП) сигналів базисних кольорів. Функціонально виявилося доцільним об'єднати ці перетворювачі разом з регістрами палітр, які були невеликим (спочатку) швидкодійним ОЗП (RAM). Ця функціональна збірка в даний час виконується у вигляді мікросхем RAMDAC (Digital-to-Analog Converter – цифро-аналоговий перетворювач). Мікросхеми RAMDAC характеризуються розрядністю перетворювачів, яка може доходить до 8 біт на колір, і граничною частотою вибірки точок (DotCLK), з якою вони здатні працювати. Природно, що чим точнішим повинно бути перетворення, тим важче його виконати швидко. Труднощі і висока вартість досягнення високого дозволу при високій частоті відрядкової розгортки (ці фактори вимагають високої швидкодії RAMDAC) з великою глибиною кольору (потребуючої високої точності перетворення) пов'язані і з цією причиною.

Знакогенератор призначений для формування растрового зображення символів в текстовому режимі екрану. Знакогенератори адаптерів MDA/HGC і CGA програмно недоступні; вони виконані у вигляді мікросхем ПЗП, що ніяк не відображаються в адресному просторі процесора. Ці знакогенератори визначають фіксований набір з 256 відображуваних символів, і з їх «начинкою» доводиться стикатися при «русифікації» адаптерів даного класу. Знакогенератор CGA має формат 8х8 і найпростішу дуже наочну організацію: біт 7 відповідає найлівішій точці рядка розкладання, а біт 0 – правій. Кожному символу відводиться по 8 байт (рядків його розкладання), об'єм ПЗП рівний 2 Кбайт. Знакогенератор MDA/HGC має формат 8×14 (при знакомісці 9×14) з тим же розташуванням біт у рядку, і для нього потрібен ПЗП місткістю 4 Кбайт. Проте в розташуванні рядків трапляються різноманітні варіанти. Це може бути і виділення для кожного символу по 16 суміжних байт ПЗП з ігноруванням двох останніх, і більш хитромудрі варіанти, включаючи чергування рядків. Поширений, наприклад, варіант, коли в першій половині ПЗП розташовані по 8 перших рядків для кожного символу, а їх нижня частина (по чотири використовуваних і чотири фіктивні рядки) розташовується в другій половині. Хоча для даного знакогенератора потрібно всього 4 Кбайт, часто використовують більш поширені мікросхеми 2764 (8Кх8). Іноді в них поміщають два знакогенератори, і адаптер дозволяє вибирати таблицю програмно (звичайно нікому не відомим способом). Для визначеності, при програмуванні можна в обидві половини записати однакові таблиці. Самі таблиці для русифікації можна запозичити, наприклад, із завантажуваних русифікованих фонтів для адаптера EGA.

Знакогенератори адаптерів EGA і VGA розміщуються в другому шарі відеопам'яті і  тому програмно доступні. При ініціалізації  адаптера вони завантажуються з образів, що зберігаються в ПЗП розширення BIOS, встановлених на плати графічних адаптерів. Адаптер EGA дозволяє одночасно зберігати до чотири таблиць по 256 символів, а VGA – до восьми. Активною (використовуваною для відображення) може бути або одна з них, або відразу дві. В останньому випадку набір символів, що одночасно відображаються, розширяється до 512, а одна з двох таблиць, що використовуються для конкретного символу, визначається бітом 3 його байта атрибутів.

Таблиці мають 32-байтну розгортку  кожного символу в форматі 16×16, з якої в EGA використовується матриця 8×14, а в VGA – 9×16. Якщо таблицю знакогенератора (фонти) для EGA завантажити в VGA, символи виглядатимуть дрібнувато, а в лініях, намальованих символами псевдографіки, з'являться розриви. Якщо ж фонти для VGA завантажити в EGA, то символи виглядатимуть усіченими (особливо знизу). Програмна доступність знакогенератора знімає необхідність апаратної русифікації адаптера, але при бажанні можна переписати русифіковані фонти в BIOS графічного адаптера (не забувши виправити контрольну суму в останньому байті ПЗП). Така процедура позбавить від необхідності завантаження резидентного русифікатора, що займає місце в пам'яті. Оскільки знакогенератор розташований в одному з шарів відеопам'яті, після використання більшості графічних режимів його вміст доводиться перезавантажувати, а вбудований драйвер BIOS за умовчанням візьме образ, що зберігався в ПЗП адаптера. Якщо туди підставити потрібний фонт, то додатковий драйвер екрану не буде потрібний.

Графічний контроллер є засобом підвищення продуктивності програмної побудови зображень, точніше їх образів, у відеопам'яті. В перших графічних адаптерах (CGA і HGC) цей блок фактично був відсутній. Він оформився в адаптері EGA, звідки перекочував і в VGA. В цих адаптерах його функції реалізовані апаратними засобами спеціалізованих мікросхем. Розглянемо функції графічного контроллера адаптерів EGA і VGA. Він працює з чотиришаровою моделлю організації відеопам'яті (див. рис. 6). Адаптери EGA і VGA мають чотири 8-бітні регістри-клямки, в яких фіксуються дані з відповідних їм колірних шарів при виконанні будь-якої операції читання відеопам'яті. В подальших операціях запису у формуванні даних для кожного шару можуть брати участь дані від процесора (1 байт) і дані з регістрів-клямок відповідних шарів (рис. 7). Дані від процесора можуть бути заздалегідь циклічно зсунуті. Над даними від процесора (можливо, зсунутими) і з регістрів-клямок можуть виконуватися логічні операції І, АБО і ВИКЛЮЧНЕ АБО. Крім того, замість результатів цих операцій в деякі шари можуть бути записані байти нулів або одиниць. Регістр бітної маски дозволяє побітно управляти джерелом записуваних даних: якщо біт регістра маски має нульове значення, то у відеопам'ять цей біт у всіх шарах буде записаний з регістра-клямки. Дані від процесора (логічно оброблені) поступатимуть тільки для біт з одиничним значенням маски. І нарешті, запис проводитиметься тільки в дозволені шари, правда, функція дозволу шарів відноситься вже до синхронізатора.

Рис. 7. Тракт запису графічного контроллера

При читанні графічний  контроллер може задати номер читаного шару. Можливе і читання з порівнянням  кольорів. В цьому випадку вказується код шуканого кольору (значення біт  для відповідних шарів) і результатом  читання відразу всіх шарів стане байт, в якого одиничне значення приймуть біти пікселів, колір яких співпадає із зразком (рис. 8). В порівнянні кольорів можуть брати участь і не всі шари.

Рис. 8. Зчитування з порівнянням кольору

Всіма функціями графічного контроллера управляють через його регістри. Звичайно, можливе і пряме звернення до окремого колірного шару як по читанню, так і по запису. Але знання можливостей графічного контроллера дозволяє багато часто використовуваних функцій покласти на його апаратні засоби. Проте якщо такий апаратний графічний контроллер ще прийнятний для чотиришарової організації (4 біти на піксель), то для більш глибоких кольорів (8 біт на піксель і більше) він буде вже дуже громіздким. В сучасних адаптерах функції графічного контроллера суттєво розширені в порівнянні з EGA і VGA, виконуються вбудованим мікропроцесором – графічним акселератором.

Синхронізатор, що з'явився з адаптером EGA, дозволяє синхронізувати цикли звертання процесора до відеопам'яті з процесом регенерації зображення. Адаптери мають власні кварцовані генератори синхронізації (іноді й по декілька). Від внутрішнього генератора виробляється частота виведення пікселів DotCLock (DotCLK), щодо якої будуються всі тимчасові послідовності сканування відеопам'яті, формування відеосигналів і синхронізації монітора. В той же час процесор звертається до відеопам'яті асихронно щодо процесу регенерації. В задачу синхронізатора входить узгодження цих асинхронних процесів. В адаптерах SVGA для шини PCI в якості опорної для деяких відеорежимів може використовуватися і частота 33 Мгц прямо з шини, а цикли звертання процесора і так вже прив'язані до цього синхросигналу. Таким чином, задача синхронізатора спрощується. Шина PCI допускає частоти і 30 і 25 Мгц, а при частоті системної шини 83 Мгц частота PCI буде вже 41,5 Мгц. Отже не варто дивуватися, коли зміна процесора (при якій іноді доводиться міняти і системну частоту) приводить до зміни геометрії зображення на екрані монітора. Правда, монітор з хорошим автоматичним підстроюванням генераторів зміни частот синхронізації може і компенсувати.

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

Блок зовнішнього інтерфейсу пов'язує адаптер з однією з шин комп'ютера. Якщо раніше для графічних адаптерів використовували шину ISA (8 або 16 біт), то сучасні графічні адаптери використовують в основному високопродуктивні шини. Локальна шина VLB досить швидко зійшла з сцени разом з процесорами класу 486. В даний час для цих цілей використовується канал AGP.

Блок інтерфейсу монітора формує вихідні сигнали відповідного типу (RGB-TTL, RGB-Analog, композитне відео або S-Video). Цей же блок відповідає і за діалог з монітором: в найпростішому випадку – читання біт ідентифікації (для VGA-моніторів), а в складнішому – обмін даними по каналу DDC. Ідентифікація типу підключеного монітора VGA може проводитися і по рівню відеосигналу на виходах червоного або синього кольору: монітор має термінатори (75 Ом) на кожному з аналогових входів. Таке навантаження при підключенні знижує напругу вихідного сигналу. В монохромного монітора використовується тільки канал зеленого кольору – лінії червоного і синього залишаються без навантаження. Цей факт і може зафіксувати інтерфейсний блок і повідомити систему про виявлення монохромного монітора. Правда, буває і конфуз: якщо в кольорового монітора відключити термінатори (деякі великі монітори дозволяють це зробити), то його приймуть за монохромний.

Модуль розширення BIOS (Video BIOS) зберігає код драйверів відеосервісу (INT10h) і таблиці знакогенераторів. Цей модуль з'явився з адаптерами EGA і VGA і забезпечує можливість установки будь-якої карти, не замислюючись про проблеми програмної сумісності. Модуль розширення отримує управління для ініціалізації графічного адаптера майже на самому початку POST (до тестування основної пам'яті), і його заставка з'являється на екрані до заставки системної BIOS. Модуль має початкову адресу C0000h, його розмір залежить від моделі адаптера: кінцева адреса EGA BIOS – C3FFFh, VGA BIOS – C7FFFh. Оскільки для розширення BIOS застосовують 8-розрядні мікросхеми ПЗП, час доступу до яких суттєво перевищує час доступу мікросхем ОЗП, для підвищення продуктивності відеопобудов застосовують тіньову пам'ять (Video BIOS Shadowing) або кешування (Video BIOS Caching). Драйвери для адаптерів MDA і CGA вбудовані в системну BIOS. Природно, що для графічних адаптерів, інтегрованих в системну плату, програмна підтримка також вбудована в системну BIOS.

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

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

В якості відеопам'яті  дисплейних адаптерів звичайно застосовується динамічна пам'ять, що зумовлено  необхідним об'ємом (до декілька мегабайт) і обмеженнями на ціну, швидкодію  й енергоспоживання. Специфіка використання пам'яті в даному вузлі зумовлена необхідністю регулярного послідовного зчитування її даних в RAMDAC (або на елементи вихідної логіки адаптерів MDA, CGA, EGA). Період зчитування, відповідний частоті кадрової розгортки монітора, звичайно дозволяє не застосовувати спеціальних схем регенерації пам'яті. Проте постійна зайнятість відеопам'яті регенерацією зображення суттєво гальмує процес обміну даними з центральним процесором або графічним акселератором. Паузи у видачі даних в процесі регенерації чреваті «снігом» на екрані, очікування зворотного ходу променя (коли відеопам'ять «відпочиває» від регенерації) для обміну даними сильно знижують продуктивність графічної системи і, отже, комп'ютера в цілому.

В найпростіших моделях  графічних адаптерів застосовується стандартна динамічна пам'ять, велику продуктивність мають графічні адаптери з EDO DRAM.

Информация о работе Відеоадаптери