Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекція 6.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
484.86 Кб
Скачать
  1. Адаптери дисплеїв.

Дисплейним адаптером називається блок комп'ютера, до якого підключається дисплей.

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

Розширений круг задач може включати і відтворення на екрані того ж монітора «живого відео» з потоку даних, отриманого від комп'ютера або від якого-небудь джерела телевізійного сигналу.

2.1. Функціональна схема графічного адаптера.

Розглянемо функціональну схему графічного адаптера (мал. 6.2), яка з деякими додаваннями або виключеннями застосована практично до всіх адаптерів, вживаних в PC.

Мал. 6.2. Функціональна схема графічного адаптера

Контроллер ЕПТ (CRT Controller) забезпечує погоджене формування сигналів сканування відеопам'яті (адреса і спроби читання) і сигналів вертикальної і горизонтальної синхронізації монітора.

Відеопам'ять — це спеціальна область пам'яті, з якої контроллер ЕПТ організовує циклічне читання вмісту для регенерації зображення.

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

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

Синхронізатор, що з'явився з адаптером EGA, дозволяє синхронізувати цикли обігу процесора до відеопам'яті з процесом регенерації зображення.

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

Блок зовнішнього інтерфейсу пов'язує адаптер з однією з шин комп'ютера.

Блок інтерфейсу монітора формує вихідні сигнали відповідного типу (RGB-TTL, RGB-Analog, композитний відео або S-Video).

Розширення BIOS функції виконуються через виклик програмного переривання Int 10 h відеосервіс BIOS.

Контроллер ЕПТ повинен забезпечувати необхідні частоти розгортки і режими сканування відеопам'яті, які залежать від режиму відображення (графічний або текстовий) і організації відеопам'яті. Опорною частотою для роботи контроллера є DotCLK — частота виводу пікселів в графічних режимах або точок розкладання символів в текстовому режимі.

Відеопам'ять

Необхідний об'єм відеопам'яті визначається бажаним графічним режимом (в текстовому режимі буде потрібно всього декілька кілобайтів). Необхідні об'єми для однієї сторінки різних відеорежимів приведені в табл. 6.1. Якщо взяти подвоєне значення цього об'єму, то багато адаптерів дозволять організувати двохсторінковий режим з перемиканням буферів, що корисне для виводу динамічних зображень. У адаптерів із ЗD-акселераторами потреби в пам'яті вище, вони мають 8-128 Мбайт.

Таблиця 6.1. Дозвіл і необхідний об'єм відеопам'яті

Битий/ піксель

Кількість кольорів

640x480

800x600

1024x768

1280x1024

4

16

150 Кбайт

234 Кбайт

384 Кбайт

640 Кбайт

8

256

300 Кбайт

469 Кбайт

768 Кбайт

1,25 Мбайт

15

32 768

600 Кбайт

938 Кбайт

1,5 Мбайт

2,5 Мбайт

16

65 536

600 Кбайт

938 Кбайт

1,5 Мбайт

2,5 Мбайт

24

16 777 216

900 Кбайт

1,37 Мбайт

2,25 Мбайт

3,75 Мбайт

32

16 777 216

1,172 Мбайт

1,83 Мбайт

3,0 Мбайт

5,0 Мбайт

В режимі 32 біт/піксель для перенесення кольорів використовуються тільки 24 молодші біти.

Окрім апаратний виділеній відеопам'яті, встановлюваній на графічних адаптерах, існує і архітектура уніфікованої пам'яті UMA (Unified Memory Architecture). При такому підході під відеобуфер виділяється область системного ОЗУ, що дозволяє дещо здешевити комп'ютер. Ця економія приводить до зниження продуктивності, як графічної підсистеми, так і комп'ютера в цілому. Діаметрально протилежним підходом, націленим на підвищення продуктивності, є не просто виділення відеопам'яті, а ще і застосування в ній мікросхем із спеціальною архітектурою — VRAM, WRAM, MDRAM, RDRAM, SGRAM.

В графічному режимі можливі різноманітні варіанти організації відеопам'яті.

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

Для того, щоб відображувати 256 код кольору (8 бітів на піксель), в цих 218 кольорів ввели програмовані регістри ЦАП, за допомогою яких кожній з 256 код ставиться у відповідність свій набір бітів, що посилається на схеми кольорів.

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

В адаптері EGA застосовані вже справжні програмовані регістри палітр, що дозволяють кожному з 16 можливих кодів, що задаються чотирма бітами колірних шарів, поставити у відповідність один з 64 можливих кольорів, що відображаються монітором EGA. На мал. 6.2 ліва частина ілюструє перетворення бітів з умовними назвами R, G, В, I в сигнали інтерфейсу монітора EGA. Назва бітів умовно тому що в регістри палітр можуть бути завантажений довільні значення реальних вихідних кольорів, кодованих інтерфейсними сигналами Rr, Gg і Bb. З появою адаптерів VGA, здатних задавати велику (256 і більш) кількість кольорів, схему кольоровідображення ускладнили. Тепер на плату графічного адаптера з монітора переведені цифроаналогові перетворювачі (ЦАП) сигналів базисних кольорів, і з'явилася можливість відображення мало не нескінченної кількості відтінків, кодованих аналоговими сигналами. Проте реальне число кольорів обмежується розрядністю ЦАП базисних кольорів, яка спочатку складала 6 бітів на кожний канал, що дозволяє задавати 218 ЦАП базисних кольорів. Функціонально виявилося доцільним об'єднати ці регістри, що є невеликим швидкодійним ОЗУ (RAM), разом з перетворювачами (DAC — Digital-to-Analog Converter, цифро-аналоговий перетворювач). Ця функціональна збірка в даний час виконується у вигляді мікросхем RAMDAC. Схему перетворення з використанням RAMDAC ілюструє права частина мал. 6.2. Номер регістра RAMDAC, з якого береться колір поточного відображається пікселя, в режимі 256 кольорів задають 8-бітовим кодом кольору пікселя (у відеопам'яті).

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

Графічні адаптери мають нагоду перемикання режиму перетворення — використовування загалом зайвих регістрів палітр потрібне тільки для сумісності з ПО, орієнтованим на адаптери EGA.

Цифровой

Мал. 6.2. Схема перетворення кольорів через регістри палітр і RAMDAC

Здавалося б, що для режимів High Color (15-16 бІт/піксель), а тим більше True Color (24 біти), табличне перетворення кольорів вже не потрібне, і біти кожного кольору можна подавати прямо на входи свого ЦАП. Проте якщо перед кожним ЦАП поставити окремий блок регістрів — ОЗУ об'ємом 256 х 8, що адресується бітами даного кольору, то можна виконувати гамма-корекцію кольору апаратними засобами адаптера. Гамма-корекція потрібна для ув'язки здібностей перенесення кольорів дисплея з лінійною математичною моделлю кольоровідображення, що використовується графічними додатками. У аналогового монітора на ЕПТ передавальні характеристики колірних каналів нелінійні і мають вигляд, що апроксимується функцією У = Xг, де X — вхідний сигнал, а г = 2,2 (це і є «гамма»). В RAMDAC завантажують таблицю, за допомогою якої у вихідний сигнал вводяться передспотворення, компенсуючі нелінійність дисплея. Проте різні типи дисплея можуть мати різні передавальні характеристики, що для особливо високих вимогах до вірності перенесення кольорів повинне враховуватися при програмуванні RAMDAC. Можливість завантаження RAMDAC для всіх режимів зажадалася вже в специфікації РС99.

Мікросхеми RAMDAC характеризуються розрядністю перетворювачів, яка може доходити до 8 біт на колір, і граничною частотою вибірки крапок (DotCLK), з якою вони здатні працювати. Природно, що чим точніше повинне бути перетворення, тим важче його виконати швидко. Труднощі і висока вартість досягнення високого дозволу при високій частоті рядкової (прогресивної) розгортки (ці чинники вимагають високої швидкодії RAMDAC) з великою глибиною кольору (вимагаючої високої точності перетворення) пов'язані і з цією причиною. Сучасні графічні адаптери, орієнтовані на високий дозвіл і високу частоту розгортки, мають RAMDAC з частотою порядка 350 Мгц і навіть вище.

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

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

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

Управління

ПК

Мал. 8.10. Тракт запису графічного контроллера EGA/VGA

При читанні графічний контроллер може задати номер читаного шару.

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

Мал. 8.11. Прочитування з порівнянням кольору

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

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

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

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

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

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

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

Відеосервіс дозволяє встановлювати і перемикати відеорежим, виконувати вивід символів і пікселів, очищати і прокручувати екран універсальними способами, без особливої оглядки на встановлений відеорежим, і виконувати деякі інші функції. Відеосервіс BIOS необхідний принаймні до завантаження операційної системи, яка надалі може працювати з графічним адаптером і напряму, через власні завантажувані драйвери, специфічні для конкретного адаптера. Драйвери для адаптерів MDA і CGA за традицією вбудовані в системну BIOS (принаймні у всіх комп'ютерів, що мають шину ISA). Програмна підтримка графічних адаптерів, інтегрованих в системну плату, також вбудована в системну BIOS. Вся решта адаптерів має власний модуль розширення BIOS (Video BIOS), в якому зберігаються коди драйверів відеосервісу (INT 10h) і таблиці знакогенераторів. Цей модуль з'явився з адаптерами EGA і VGA і забезпечує можливість установки будь-якої карти, не замислюючись про проблеми програмної сумісності. Модуль розширення одержує управління для ініціалізації графічного адаптера майже в самому початку тесту POST (до тестування основної пам'яті), і його заставка з'являється на екрані до заставки системної BIOS. Модуль має початкову адресу C0000h, його розмір залежить від моделі адаптера.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]