на сірниках» приводить до зниження продуктивності як графічної підсистеми, так і комп'ютера в цілому, і перспективи розвитку UMA сумнівні. Діаметрально протилежним підходом, націленим на підвищення продуктивності, є не просто виділення відеопам'яті, а ще і використання в ній мікросхем зі спеціальною архітектурою – VRAM, WRAM, MDRAM, RDRAM, SGRAM.
Необхідний об'єм відеопам'яті визначається бажаним графічним режимом (в текстовому режимі буде потрібно всього декілька кілобайтів, які «погоду не роблять»). Необхідні об'єми для однієї сторінки різних відеорежимів наведені в табл. 2. Якщо взяти подвоєне значення цього об'єму, то багато адаптерів дозволять організувати двохсторінковий режим з перемиканням буферів, що іноді корисне для виведення динамічних зображень.
Таблиця
Дозвіл і необхідний об'єм відеопам'яті
Біт/піксель | Кількість кольорів | 640Ч480 | 800Ч600 | 1024Ч768 | 1280Ч1024
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 Мбайт
Трактування даних відеопам'яті залежить від відеорежиму, що використовується. В текстовому режимі кожному знакомісцю екрану відповідає слово відеопам'яті, розташоване за парною адресою. При цьому молодший байт слова (байт з парною адресою) містить ASCII-код символу, а старший байт – його атрибути. Організація пам'яті в цьому випадку є лінійною: ланцюжок слів відповідає зібраній в ланцюг послідовності рядків символів. В графічному режимі можливі різноманітні варіанти організації відеопам'яті.
У відеорежимах з одним бітом на піксель (6h, 11h) використовується лінійне відображення (рис. 5, а), але в режимі 6 через архітектурні особливості адаптера CGA рядка пікселів чергують: за базовою адресою відеобуфера розташовуються елементи пам'яті, відповідні ланцюжкам парних рядків пікселів, а непарні рядки відображає область із зміщенням 2000h. В адаптерах HGC в чергуванні беруть участь вже не пари, а четвірки рядків, і їх образи також мають зміщення в 2000h.
Рис. . Лінійне відображення пікселів в відеопам'яті:
а – 1 біт на піксель, б - 2 біта на піксель
У відеорежимах 4 і 5 з двома бітами на піксель використовується лінійне відображення (рис. 5, б) і таке ж чергування рядків. В режимі Fh використовується багатоплощинна модель пам'яті (рис. 6), але з чотирьох шарів використовуються тільки два (0 і 1). Те ж відноситься і до режиму 10h, коли він використовується в двохбітному варіанті.
Рис. . Багатошарове відображення пікселів у відеопам'яті
У відеорежимах з чотирма бітами на піксель використовується чотирьохплощинна модель пам'яті (див. рис. 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) з великою глибиною кольору (потребуючої високої точності перетворення) пов'язані і з цією причиною.
Знакогенератор призначений для формування растрового зображення символів в текстовому