2.1. Принципи організації відеопам'яті.
Логічно відеопам'ять може бути організована по-різному, в залежності від кількості біт на піксель.
У разі одного або двох біт на піксель кожен байт пам'яті відповідає восьми або чотирьом сусіднім пікселям рядки (рис. 3.3, а, б). При скануванні осередок зчитується в регістр зсуву, з якого інформація про сусідніх точках послідовно надходить на вихідні ланцюги адаптера. Такий спосіб відображення називається лінійним - лінійній послідовності пікселів відповідає лінійна послідовність біт (або груп біт) відеопам'яті.
В адаптері EGA кількість біт на піксель збільшили до чотирьох і відеопам'ять розбили на чотири області-шару, званих також і колірними плоско стями (рис. 3.4). У кожному шарі використовується лінійна організація, де кожен байт містить по одному біту восьми сусідніх пікселів. Шари зчитуються в сдвіговиє регістри одночасно, в результаті паралельно формуються по чотири біта на кожен піксел. Таке рішення (а саме паралельне зчитування шарів) дозволяє знизити частоту зчитування комірок пам'яті - одна операція читання проводиться за час проходу променем восьми пікселів. Зниження частоти зчитування обмежується швидкодією пам'яті. Осередки шарів, що відповідають за одні й ті ж пікселі, мають співпадаючий адресу. Це дозволяє проводити паралельний запис інформації відразу в кілька колірних площин (запис для кожного шару дозволяється індивідуально), що також економить час. Зчитування з боку магістралі, звичайно, можливо тільки пошарове.
Рис. 3.3, а. Лінійне відображення груп пам'яті 1 біт на піксель.
4
Піксел 3
Рис.3.3, б. Лінійне відображення груп пам'яті 2 біт на піксель.
Рис. 3.4. Багатошарове відображення пікселів пам'яті
Таким чином, обсяг відеопам'яті (в бітах) V, необхідний для зберігання образу екрану, визначається, як добуток кількості пікселів p в рядку на кількість рядків n і на кількість біт на піксель b.
V = pxnxb
Так, для режиму HGC 720 х 350 з одним бітом на точку він становить 252 000 біт або близько 31 Кбайт, а 800 х 600 х 256 кольорів - 480 000 біт або близько 469 Кбайт.
Якщо фізичний обсяг відеопам'яті перевищує обсяг, необхідний для відображення матриці всього екрану, відеопам'ять можна розбити на сторінки. Сторінка - це область відеопам'яті, в якій уміщається образ цілого екрану. При багатосторінкової організації відеопам'яті тільки одна з них може бути активною - відображуваної на екран. Цим сторінки принципово відрізняються від шарів, які відображаються одночасно.
Формування бітової карти зображення в відеопам'яті графічного адаптера проводиться під управлінням програми, що виконується центральним процесором. Сама по собі задача формування процесору цілком під силу, але при її вирішенні потрібно пересилання великого обсягу інформації у відеопам'ять, а для багатьох побудов ще й читання відеопам'яті з боку процесора. При цьому, канал зв'язку процесора з відеопам'яттю являє собою вузьку шийку, через яке намагаються проштовхнути чималий потік даних, причому чим більш високий дозвіл екрану і чим більше кольорів (біт на піксель), тим цей потік інтенсивніше. Для вирішення питання обміну інформацією необхідно:
Підвищення швидкодії пам'яті.
Розширення розрядності шин графічного адаптера, причому як внутрішньої (шини відеопам'яті), так і інтерфейсної.
Підвищення швидкості відеопостроеній за допомогою кешування відеопам'яті або затіненням відеопам'яті, що, по суті, майже одне і те ж. У цьому випадку при запису в область відеопам'яті дані будуть записані як в відеопам'ять, так і в ОЗП (або навіть в кеш), а при зчитуванні з цієї області звернення буде тільки до швидкодії ОЗУ.
Принципова скорочення обсягу інформації, що передається графічному адаптеру за рахунок наділення адаптера своїм «інтелектом», тобто процесором.
У сучасному комп'ютері використовуються всі ці рішення, причому необхідно щоб розрядність шин відеоадаптреа повністю співпадала б з розрядністю відеопам'яті. Інакше виходить не ефективне використання одного або іншого.
