Введение
Сейчас развитие видеоподсистемы идет сумасшедшими темпами, и зачастую видеоадаптеры диктуют моду мониторам, однако на рассвете компьютерной эпохи все было совсем наоборот. Так откуда же «выросла» эта железка, которая в настоящее время по стоимости может поспорить с процом?
Первые мониторы, являвшиеся наследниками осциллографов, были векторными и не предполагали наличие видеоадаптера, ведь в них изображение строилось не посредством последовательного облучения электронным пучком экрана строка за строкой, а, так сказать, «от точки до точки». Компьютер управлял отклоняющей системой дисплея напрямую. Однако когда вывод на монитор пришел на смену выводу на телетайп, и сложность изображения увеличилась, целесообразнее стало подключить компьютер к телевизору. По этому пути развития и пошли дальше мониторы. Телевизионное изображение - растровое, поэтому возникла необходимость в промежуточных блоках для подготовки графической информации к отображению. Для построения картинки теперь требовались специализированные довольно ресурсоемкие вычисления, поэтому понадобились специальные устройства, ориентированные на работу с растровыми мониторами, которые могли бы хранить в себе видеоинформацию, обрабатывать ее и переводить в аналоговую форму для отображения на дисплее. Основной технологией здесь можно считать frame-buffer technology[1]. Изначально в задачу видеокарты входило только сохранение и регенерация кадра, и построение целиком ложилось на центральный процессор и программу. Процессор рассчитывал кадр и помещал его в память видеоадаптера, который преобразовывал данные из видеопамяти в аналоговый вид.
Основные узлы
Чтобы не запутаться в дальнейшем, кратко рассмотрим основные узлы видеоадаптера. Видеоадаптеры состояли из следующих основных частей: графического преобразователя, контроллера атрибутов, контроллера CRT, ПЗУ[2], видеопамяти и синхронизатора. В первых символьных версиях видеоадаптеров ПЗУ отсутствовало. Оно было добавлено несколько позже, и предназначалось для хранения экранных шрифтов, служебных таблиц и т.п. ПЗУ не используется видеоконтроллером напрямую - к нему обращается только центральный процессор, и в результате выполнения им программ из ПЗУ происходят обращения к видеоконтроллеру и видеопамяти. ПЗУ необходимо только для первоначального запуска адаптера и работы в режиме DOS[3] - операционные системы с графическим интерфейсом его практически не используют. В целом в ходе истории ПЗУ глобально не изменялось. Обновлялись и добавлялись лишь данные, хранящиеся в нем. Графический контроллер - устройство, которое отвечает за обмен данными между CPU и видеопамятью, регенерацию ее содержимого, и обработку запросов центрального процессора. Для исключения конфликтов при обращении к памяти со стороны видеоконтроллера и центрального процессора первый имеет отдельный буфер, который в свободное от обращений ЦП время заполняется данными из видеопамяти. Если конфликта избежать не удается - видеоконтроллеру приходится задерживать обращение ЦП к видеопамяти, что снижает производительность системы. Для исключения подобных конфликтов в ряде карт применялась так называемая двухпортовая память, допускающая одновременные обращения со стороны двух устройств.
Последовательный преобразователь – выбирает данные из памяти и преобразует их в поток битов. Контроллер атрибутов - преобразует информацию о цвете в вид для отображения монитором.
Контроллер CRT - генерирует синхросигналы, управляющие монитором. ............