Устройство функционированиемонитора
Как и все перифирийные устройства монитор контактирует с «само- достаточной ЭВМ» через общий, т.е. доступный ему и центральному процессору, фрагмент оперативной памяти. Поскольку объем этого фрагмента весьма велик, его обычно называют не портом, а буфером экрана.
Буфер экрана содержит в строгом порядке числовые коды цветов всех цветовых точек (пикселей), которые заполняют экран в установленном графическом режиме. Упорядоченность размещения кодов соответствует структуре растрового изображения, т.е. коды составляют числовую матрицу (Nx´Ny), которая размещается в линейной оперативной памяти построчно.
Выводы:
· Адрес буфера экрана стандартен для заданной конструкции ЭВМ,
- Размер буфера экрана зависит от выбранного графического режима,
- Местоположение в матрице (а значит и в линейной оперативной памяти) числового кода-цвета любого пикселя, просто вычисляется по задаваемым значениям (ix, iy) и известным (Nx, Ny). Если Ab –адрес начала буфера экрана, то адрес Ap –байта содержащего цвет пикселя с координатами вычисляется по формуле Ap= Ab+ ix+ iy´ Nx.
Опр. Адаптер перифирийного устройства – специальный процессор, работающий в автономном режиме и обслуживающий само периферийное устройство.
Адаптер экрана, 25 раз в секунду, просматривает (построчно прочитывает) содержимое буфера экрана и выводит на экран цветовые точки, в соответствии прочитанным цветовым кодам.
Для изменения видимого изображения на экране, центральный процессор должен разместить в нужных местах буфера экрана – нужные коды цветов. Таким образом: техника выполнения компьютерного изображения соответствует не привычным приемам рисования или черчения, а скорее напоминает выкладывание мазаики из разноцветных квадратиков одного размера.
Важно: чтобы обеспечить всего одну секунду изображения на экране в режиме SVGA адаптер монитора должен обработать содержимое более чем 800´600´25³107 байт!
Поскольку производительности адаптора и центрального процессоров сопоставимы, а эти устройства работают автономно (независимо друг от друга), но с одним и тем же фрагментом оперативной памяти, то возникает коллизия: пока адаптер читает информацию, центральный процессор вынужден находиться в состоянии ожидания, и наоборот, когда процессор вносит в буфер новые данные (или читает из буфера ранее внесенную информацию) вынужден простаивать адаптер. «Стоимость временных затрат» на каждое такое ожидание ОГРОМНА = 0.04 секунды: если «непродуманно» изменять цвет всего у 100 пикселей (а это соответствует написанию всего одной заглавной буквы), то этот процесс может занять целых четыре секунды!
Проблема синхронизации адаптера и процессора решена на схемотехническом уровне: буфер экрана разделен на несколько фрагментов (называемых цветовыми слоями), доступ к которым независим. Пока адаптер считывает один цветовой слой, центральный процессор, без всякого ожидания, вносит информацию в другие цветовые слои. Сложности возникают при программировании:
· программисту необходимо самому разделять коды цветов на составляющие – слои,
· программисту необходимо самому определять цветовой слой, который доступен в данный момент времени.
Дата добавления: 2021-12-14; просмотров: 264;