Теорія операційної системи

:: Меню ::

Головна
Представлення даних в обчислювальних системах
Машинні мови
Завантаження програм
Управління оперативною пам'яттю
Сегментна і сторінкова віртуальна пам'ять
Комп'ютер і зовнішні події
Паралелізм з точки зору програміста
Реалізація багатозадачності на однопроцесорних комп'ютерах  
Зовнішні пристрої
Драйвери зовнішніх пристроїв
Файлові системи
Безпека
Огляд архітектури сучасних ОС

:: Друзі ::

Карта сайту
 

:: Статистика ::

 

 

 

 

 

Пристрої графічного виводу

Якщо пристрої графічного введення (сканери, відеограббери, цифрові фотоапарати) поки що відносно рідкі (хоча, у міру розвитку цифрової фотографії, положення швидко міняється), то пристроями графічного виводу забезпечується кожен сучасний настільний і переносний комп'ютер. Багато вбудовуваних застосувань також мають хоч би невеликі, але дисплеї, найчастіше рідкокристалічні.
Два основних практично вживаних типа дисплейних пристроїв — це електронно-променеві трубки використовувані в кінескопах телевізорів і моніторах настільних комп'ютерів, і вже згадувані рідкокристалічні дисплеї. Пристрої інших типів — матриці світлодіодів і газорозрядні ("плазмові") панелі поки що дороги у виробництві, або не завжди прийнятні за якістю, тому — в усякому разі, на момент написання цієї книги — ще не знаходять масового вживання.
Принцип дії ЕЛТ широко відомий. Зображення в цих пристроях формується катодним променем — пучком електронів, що випускаються негативно зарядженим електродом. Допоміжні електроди і електромагніти фокусують промінь, а два набори керованих електромагнітів — котушки горизонтальної і вертикальної розгортки — відхилюють цей промінь по вертикалі і горизонталі (мал. 9.24). Потрапляючи на лицьову поверхню трубки — екран — електрони заставляють світитися нанесений на неї фарбник-люмінофор, формуючи, таким чином, зображення. Змінюючи напругу на катоді, можна управляти яскравістю світивши і, відповідно, яскравістю ділянки зображення. Люмінофор світиться ще деякий час після відходу світивши з нього. За рахунок цього, а також за рахунок інерційності людського сприйняття, зображення сприймається як більш менш рухлива двовимірна картинка, а зовсім не як швидко рухомий світловий "зайчик".

Мал. 9.24. Електронно-променева трубка

Для формування кольорового зображення використовуються три фокусованих із зсувом катодних світивши і маски, що забезпечують попадання кожного з променів на ділянки призначеного для нього кольорового люмінофора.
Щоб зображення займало весь екран, промінь (або трійка променів) проводиться по складній траєкторії, яка приведена на мал. 9.25. Генерація цієї траєкторії досягається простою подачею пилкоподібної напруги на котушки розгортки. При цьому частота "пили" горизонтальної розгортки називається частотою рядкової розгортки, а вертикальною, відповідно, частотою кадрової розгортки. Співвідношення кадрової і рядкової частот дорівнює кількості рядків в кадрі (декілька рядків доводиться на кадровий імпульс, що гасить, тому видимі рядків на екрані ледве менше, ніж виходить із співвідношення частот).

Мал. 9.25. Розгортка ЕЛТ

Котушки розгортки не можуть миттєво змінити напрям магнітного поля, тому і зворотний хід світивши як по вертикалі, так і по горизонталі відбувається не миттєво. Щоб промінь на зворотному ході не був видний пристрій управління ЕЛТ повинно генерувати кадровий (для вертикально зворотного ходу) і рядковий імпульси, що гасили (мал. 9.26).

Мал. 9.26. Рядок розгортки ЕЛТ

Вертикальний дозвіл зображення відповідає кількості видимих рядків на екрані. Горизонтальний дозвіл визначається двома чинниками: частотою, з якої схеми управління ЕЛТ здатні модулювати промінь і, в кольорових моніторів, дозволом маски кінескопа. Другий параметр вказують в паспортних даних кінескопів під назвою розмір крапки (dot pilch). У більшості моніторів перший параметр зазвичай більш менш відповідає другому. Електронно-променеві трубки громіздкі, створюють сильні електромагнітні перешкоди і самі чутливі до них і, нарешті, мають високе енергоспоживання, але вони у багато разів дешевше за всі альтернативні способи генерації зображень високої якості і високого дозволу.
Рідкокристалічні екрани засновані на здатності деяких органічних сполук — рідких кристалів — міняти свою прозорість і інші оптичні властивості під впливом електричного поля. Рідкокристалічний екран є дві скляні або прозорі пластикові пластини (обкладання), на які нанесені напівпрозорі металеві електроди. Простір між пластинами заповнений рідким кристалом. За пластинами знаходиться підкладка — в чорно-білих дисплеїв дзеркальна або чорна, в кольорових дисплеїв — кольорова. Для підвищення контрастності зображення підкладка нерідко підсвічує.
Подаючи напругу на електроди, контроллер ЖКД може вибірково робити прозорими ті або інші ділянки екрану і, таким чином, формувати різні зображення. Змінюючи напругу, можна в певних межах управляти яскравістю, або, швидше, контрастністю зображення. У сучасних дисплеях високого дозволу використовується складніший спосіб формування кольорового зображення, чим просто різноколірна підкладка: у таких дисплеях використовується рідкий кристал, що повертає плоскість поляризації світла, що проходить через нього. Цей кут залежить від напруги на електродах і від частоти світлової хвилі. Забезпечивши обкладання екрану поляризаційними фільтрами, можна управляти кольором ділянки екрану.
Форми електродів ЖКД відрізняються великою різноманітністю. Нерідко застосовуються прямокутні матриці крапок, що дозволяють створювати довільні растрові зображення. Проте багато застосувань — годинник, калькулятори, прості дисплеї — не вимагають довільних зображень, тому часто виготовляють пластини з електродами складної форми, відповідної елементам цифр і букв і різним піктограмам.
ЖКД низького дозволу дешеві, компактні, мають низьке енергоспоживання і знаходять широке вживання в найрізноманітніших пристроях — стільникових і стаціонарних телефонах, калькуляторах, годиннику, вимірювальних і побутових приладах. Проте високоякісні кольорові ЖКД великого майдану є вельми дорогими пристроями, ціна яких складає більше половини ціни сучасних портативних комп'ютерів.
Подача напруги на кожну пару електродів ЖКД окремим контроллером неприпустимо дорога. На щастя, пара електродів є конденсатором, який здатний деякий час без втручання ззовні зберігати електричний заряд і, отже, зображення. Наявність в піксела електричної ємкості дозволяє звести підтримку зображення на рідкокристалічній матриці до аналога розгортки ЕЛТ — періодичному скануванню електродів з подачею на них напруги, відповідної яскравості елементу зображення (мал. 9.27).
При зміні зображення ємкість елементів матриці швидше шкідлива — швидка перезарядка елементу вимагає великих струмів, тому багато ЖКД, у тому числі і дисплеї старих переносних комп'ютерів, володіють високою інерційністю зображення. У сучасних високоякісних дисплеях кожен піксел екрану забезпечується власною підсилювальною схемою, здатною швидко перезарядити електроди. Такі екрани називаються активною матрицею. Широкого поширення набули активні матриці з підсилювачами, реалізованими на основі TFT (Thin Film Transistor— тонкоплівковий транзистор), нанесених на обкладання екрану.
Не дивлячись на корінну відмінність фізичних способів формування зображення в електронно-променевих трубках і рідкокристалічних панелях, функції контроллера цих пристроїв вельми схожі і зводяться до передачі значень яскравості елементів зображення з частотою, відповідній частоті розгортки дисплея. Контроллер, призначений для роботи з ЕЛТ, повинен уміти також робити в потоці даних
паузи, відповідні рядковим і кадровим імпульсам, що гасять, і має бути дещо складніше. Проте спільна структура графічно контроллерів для дисплеїв різних типів дивно схожа.

Мал. 9.27. Схема формування зображення на рідкокристалічному дисплеї

Типовий графічний контроллер (мал. 9.28) складається з:

  • відеобуфера (frame buffer — буфер кадру) — блоку пам'яті, елементи якого відповідають пікселам дисплея;
  • генератора тактової частоти;
  • власне контроллера — пристрою, який передає вміст відеобуфера, а також, якщо це необхідно, що гасять імпульси і синхросигнали аналоговим схемам управління дисплеєм.
  • ЦАП (цифро-аналогового перетворювача), який перетворить значення пікселів в аналоговий сигнал, і, якщо це необхідно, підсилювачів відеосигналу.

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

Мал. 9.28. Схема графічного контроллера

Це досягається двома способами. Перший полягає в організації бітової плоскості коли у відеобуфері послідовно зберігаються спочатку молодші біти значень пікселів, потім — другі і так далі (мал. 9.29). При цьому вісім послідовних пікселів описуються декількома байтами, розміщеними в різних частинах відеобуфера. Ета, трохи дивна на перший погляд, логіка кодування зображення зручна тим, що полегшує перенесення програмного забезпечення, призначеного для роботи з чорно-білими дисплеями, на кольорові дисплеї.
Другий підхід, частіше вживаний при великих колірних глибинах, полягає в кодуванні одного піксела одним або декількома послідовними байтами відеобуфера. Графічні контроллери сучасних персональних комп'ютерів мають колірну глибину 24 або 32 біта, що відповідає трьом або чотирьом байтам на піксел. Це вистачає, щоб (з врахуванням Діапазону яскравості сучасних дисплеїв) представити будь-який колір, який людське око здатне відрізнити на дисплеї від іншого.
Контроллери з такою колірною глибиною зазвичай надають по одному байту для кодування кожній з трьох колірних складових кольорового зображення. Пристрої з меншими колірними глибинами часто реалізують складнішу схему кодування кольору, звану відображенням кольорів (color mapping) . Значення піксела при цьому є індексом в спеціальній таблиці, палітрі. Елементи палітри — це значення компонентів піксела.

Мал. 9.29. Бітова плоскість

Більшість контроллерів включають також більш менш складну логіку управління вмістом відеобуфера з боку центрального процесора. Простим випадком такого управління є відображення відеобуфера на адресний простір системної шини. Це, привабливе у багатьох відношеннях, рішення не завжди застосовно, наприклад, якщо адресний простір процесора дуже мало або щільно зайнято, або пристрій не підключається безпосередньо ні до системної, ні до периферійної шини (наприклад, контроллери рідкокристалічних дисплеїв, призначених для використання у вбудовуваних застосуваннях, використовують для спілкування з мікропроцесором шину РС або нестандартні протоколи послідовних портів).
При простий браку адресного простору нерідко відеобуфер відображують на адресний простір не цілком, а частямі, банками. При цьому контроллер повинен мати спеціальний регістр — селектор банку.
Радикальніше рішення, застосовне навіть при підключенні через послідовний порт, полягає в тому, щоб надати процесору два регістри — адреса у відеопам'яті і регістр даних, відповідний вічку відеопам'яті за цією адресою. Це рішення можна вважати виродженим випадком банків відеопам'яті, коли банк має розмір один байт. При цьому потрібно всього два регістри в адресному просторі введення-виводу (цей метод рідко застосовується з відеобуферами об'ємом більше 64 Кбайт), і доступ до відеобуфера сповільнюється мінімум удвічі. При використанні послідовних шин і портів адреса і дані передаються послідовно. Багато графічних контроллерів з такою організацією надають різні способи доступу з автоінкрементом, що дозволяють передати в буфер послідовність байтів без явного доступу до регістра адреси.
Контроллери з бітовою плоскістю часто надають групові операції над байтами, що кодують біти суміжних пікселів.
Контроллери, вживані в сучасних персональних комп'ютерах і робочих станціях, містять більш менш складні відеопроцесори, здатні без участі ЦПУ малювати у відеобуфері різні графічні примітиви, починаючи від прямих ліній і кіл, і закінчуючи проекціями і фотореалістичними зображеннями тривимірних об'єктів, що описуються мовою OPENGL.
Відеоконтроллерами є досить складні пристрої. Детальні описи сучасних відеоконтроллерів можна знайти в багатьох доступних книгах, наприклад в [Гук 2000]. У документі [www.microchip.com Picmicrol описується вбудований контроллер рідкокристалічного дисплея мікроконтроллера PIC.

 

:: Реклама ::

 

:: Посилання ::


 

 

 


Copyright © Kivik, 2017