Avdeev
.pdf243
Регистр установки/сброса обладает более приоритетным воздействием на значения регистров-защелок, чем регистр маски карты, т.е. разрешенный
бит регистра установки/сброса запрещает действие одноименного бита регистра масок карты. Если в регистре маски карты какой-либо бит равен нулю, то этот бит защищает соответствующий регистр-защелку от записи в него значения регистра данных процессора с учетом того, что одноименный бит регистра установки/сброса неразрешен.
Таким образом, передача содержимого регистра данных процессора осуществляется в немаскируемые биты немаскируемого регистра-защелки с запрещенным сбросом или установкой его битов.
Более сложные операции над содержимым регистров-защелок выполняются с использованием регистра сдвига данных, в формате которого биты 0-2 определяют количество сдвигов вправо в выбранном регистре-защелке и биты 3-4 задают логические функции И, ИЛИ и исключающее ИЛИ. По умолчанию биты регистра сдвига равны 0.
Наиболее простым является режим записи 1. В этом режиме содержимое ре- гистров-защелок передается в соответствующие выбранные байты битовых плоскостей видеопамяти без использования дополнительных регистров маскирования. Режим записи 1 наиболее пригоден для организации сдвигов изображения на экране путем считывания байтов битовых плоскостей видеопамяти в регистры-защелки и перезаписи их в видеопамять по новому адресу. На рис. 9.16 показана схема реализации режима записи 1 и фрагмент программы копирования содержимого одной строки в другую.
Режим записи 1, как и любой другой режим, устанавливается по известной методике, связанной с доступом к регистру режима графического контроллера:
MOV DX , 3CEh ; задаем регистр индекса
MOV AL , 5 |
; указываем индекс регистра режима |
OUT DX , AL |
; |
INC DX |
; устанавливаем адрес регистра данных |
MOV AL , 1 |
; |
OUT DX , AL |
|
244 |
|
|
|
|
|
|
|
|
|
Видеопамять |
|
|
3 |
|
|
ES:[BX] |
|
|
|
|
|
2 |
|
|
MOV AX,0A00h |
;задаем адрес |
|||
(VRAM) |
|
|
1 |
|
|
||||
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
MOV ES,AX |
|
|
|
|
|
|
|
|
|
|
MOV BX,0 |
|
|
|
|
|
|
|
|
|
MOV CX,80 |
;Число байтов в строке |
Регистр |
1 |
1 |
1 |
0 |
|
|
M: MOV AL,ES:[BX] |
;читаем из VRAM в |
|
режима |
D7 |
|
|||||||
|
|
регистры-защелки |
|||||||
записи |
|
0 |
0 |
0 |
1 |
|
|
|
|
|
|
|
MOV ES:[BX]+80,AL ;записываем в VRAM из |
||||||
(индекс 5) |
1 |
0 |
0 |
1 |
|
|
|||
|
|
|
регистров-защелок |
||||||
|
|
0 |
0 |
0 |
1 |
|
|
INC BX |
|
D1 |
D0 |
|
|
|
|||||
1 |
1 |
0 |
1 |
|
|
|
|||
|
|
|
|
||||||
0 |
0 |
0 |
1 |
0 |
0 |
|
|
LOOP M |
|
|
|
1 |
1 |
1 |
1 |
|
|
|
|
|
|
D0 |
|
|
|
||||
|
|
1 |
0 |
1 |
0 |
|
|
|
|
|
|
Регистры-защелки |
|
|
|
|
Рис. 9.16. Схема реализации режима записи 1 и фрагмент программы копирования из одной области VRAM в другую
В режиме записи 2 младшие четыре бита регистра AL процессора выполняют те же функции, что и разряды 4-битного регистра маски карты в режиме записи 0, т. е. определяют цвет пиксела экрана (рис. 9.17).
Ви-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Регистр |
1 |
1 |
|
|
Ре-
Рис. 9.17. Схема реализации режима записи 2
245
Программа установок пиксела заданного цвета на экране в режиме записи 2 почти аналогична программе того же назначения, что и для режима записи
0. В режиме записи 2 может быть использован и регистр установки/сброса (на рис.
9.17этот регистр не показан).
Врежиме записи 3 байт данных в регистре AL процессора может быть сдвинут вправо на заданное число битов, которое определено в регистре сдвига данных. ПослеэтогополученныйрезультатобъединяетсяпоИссодержимымрегистрамаски битов и затем используется в качестве маски битов регистров-защелок. Действие разрешенныхбитоврегистраустановки/сбросааналогичнодействиюбитовэтогорегистра в режиме записи 0.
Адаптер VGA (EGA) выполняет два режима чтения 0 и 1.
Врежиме чтения 0 необходимо заранее установить регистр выбора карты (индекса 4), выбирающий битовую плоскость. Биты 0 и 1 этого регистра задают номер битовой плоскости 0-3 для режима чтения 0. На рис. 9.18 показана схема реализации режима чтения 0.
|
Видеопамять |
|
3 |
2 |
|
|
|
ES:[BX] |
||
|
|
|
|
|
|
|
||||
|
(VRAM) |
|
|
|
|
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AL |
|
|
|
|
1 |
1 |
|
1 |
1 |
D7 |
1 |
D7 |
|
|
|
1 |
1 |
|
1 |
1 |
|
1 |
|
|
D3 |
D0 |
1 |
1 |
|
1 |
1 |
|
1 |
|
|
0 |
|
1 |
1 |
|
1 |
1 |
|
1 |
|
Регистр режима |
1 |
1 |
|
1 |
1 |
|
1 |
|
||
1 |
1 |
|
1 |
0 |
|
0 |
|
|||
(индекс 5 |
3CEh, |
|
|
|
||||||
1 |
1 |
|
0 |
0 |
|
0 |
|
|||
0 |
3CFh) |
|
|
D0 |
||||||
1 |
0 |
|
0 |
0 |
D0 |
0 |
||||
|
|
|
|
|||||||
|
|
|
Регистры-защелки |
|
|
|
||||
|
|
|
|
|
|
D1 |
D0 |
|
|
|
|
|
|
* . . . |
* |
* |
0 |
0 |
|
|
|
|
|
Регистр выбора карты |
|
|
|
|||||
|
|
(индекс 4 |
|
3CEh, 0 |
3CFh) |
|
|
|||
|
|
Рис. 9.18. Схема реализации режима чтения 0 |
246
Режим чтения 0 или 1 определяется значением бита 3 регистра режима графического контроллера. Для доступа к этому регистру необходимо записать индекс 5 в регистр адреса (порт 3СЕh), а в регистр данных(порт 3CFh) значение бита 3, равное 0 или 1.
Режим чтения 1 заключается в том, что каждый битовый срез регистров-заще- лок, считанных четырех байтов из битовых плоскостей 0-3 видеопамяти сравнивается с 4-битовым кодом заданного цвета, предварительно записанного в регистр сравнения цвета (индекс 2). В том случае, если сравниваемые коды совпадают, то в регистре AL процессора соответствующий бит устанавливается в 1, в противном случае – сбрасывается в 0. Таким образом, режим чтения 1 позволяет определить цвет пиксела на экране. Для выполнения этого режима, кроме того, применяется 4- битовый регистр безразличия цвета, позволяющий игнорировать некоторые биты кода цвета. Регистру безразличия цвета присвоен индекс 7, засылаемый в регистр адреса (порт 3CEh). Сброс бита этого режима с помощью порта 3CFh приводит к игнорированию соответствующей битовой плоскости. На рис. 9.19 показана схема выполнения режима чтения 1.
Видеопамять |
|
|
3 |
|
|
ES:[BX] |
|
|||||
|
|
2 |
|
|
|
|||||||
|
(VRAM) |
|
|
|
|
1 |
|
|||||
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
0 |
|
|
|
||
|
|
|
|
|
|
|
D7 |
AL |
D7 |
|
|
|
Регистры-защелки |
1 |
0 |
1 |
0 |
1 |
|
|
|||||
1 |
0 |
0 |
0 |
|
0 |
|
|
|
||||
|
|
|
0 |
0 |
0 |
0 |
|
0 |
|
|
|
|
|
|
|
1 |
0 |
1 |
0 |
|
1 |
|
|
|
|
|
|
|
0 |
0 |
1 |
1 |
|
0 |
|
|
|
|
|
|
|
1 |
0 |
1 |
1 |
|
0 |
|
|
|
|
|
|
|
1 |
1 |
1 |
0 |
|
0 |
|
|
|
|
|
|
|
1 |
0 |
1 |
0 |
D0 |
1 |
D0 |
|
|
|
D3 |
D0 |
|
1 |
1 |
1 |
1 |
Регистр сравнения цвета |
|||||
0 |
|
|
|
|
|
|
(индекс 2 |
3CEh, код |
3CFh) |
|||
Регистр режима |
|
1 |
1 |
1 |
1 |
|
Регистр безразличия цвета |
|||||
(индекс 5 |
3CEh, |
|
|
|
|
|
|
|||||
графический контроллер (индекс 7 |
3CEh, код |
3CFh) |
||||||||||
8 3CFh) |
||||||||||||
|
Рис. 9.19. Схема реализации режима чтения 1 |
247
9.7. Видеопроцессоры, графические ускорители
Видеоадаптеры MDA, …, VGA не освобождают системный П от громоздких вычислений, связанных с вычерчиванием на экране графических изображений (обработкой больших массивов графической информации и передачей их в видеобуфер). Для специальных (профильных) применений, в которых используется сложная графика с быстрой сменой экранных изображений, выпускают графические сопроцессоры и ускорители, разгружающие системный П от вычислений и передач данных в видеобуфер. Фирмой IBM изготавливается плата 8514/А, содержащая видеопроцессор и видеобуфер емкостью 512 Кбайт. Плата 8514/А не обеспечивает стандарт VGA и имеет максимальную разрешающую способность 1024х768 пикселов с 256 цветами. Кроме того, эта плата выполняет режим 640х480 с 256 цветами. Многие фирмы выпускают видеопроцессоры, совместимые с 8514/А. Системный П передает команды (графические примитивы) в видеопроцессор такие, как вычерчивание отрезка, изменение масштаба, пересылка данных и т.д. Видеопроцессор наиболее приспособлен для реализации таких операций, чем системный П, что приводит к увеличению скорости отображения информации на мониторе. Фирма Texas InstrumentsтакжепроизводитсемействовидеопроцессоровTMS34010иTMS34020, которые являются более дорогими, чем 8514/А, и эмулируют режимы VGA. Платы TMS 340 не имеют такой разрешающей способности, как 8514/А, но являются более универсальными в реализации разных видеорежимов. Широкое распространение имеют платы, построенные на графическом ускорителе 86С911 (процессоре ускоренияграфики,микросхемефирмыS3),спроснакоторые растетвсвязисповышением производительности Windows.
Таким образом, различают графические видеопроцессоры и графические ускорители. Графические видеопроцессоры могут выполнять программу, написанную на каком-либо языке (имеют собственное программное обеспечение), и содержат большой объем видеопамяти до 1 или 4 Мбайт.
Более дешевыми являются графические ускорители, которые не программируются, работают быстрее обычных видеоадаптеров и предназначены для реализации конкретных функций, например, графических функций Windows (скроллинга экрана, формирования отрезка прямой, заполнения областей и т.д.). Графические
248
ускорители обычно подключаются к локальным шинам PCI или VLB и выполняют различные графические режимы с учетом построчной развертки монитора. К графическим ускорителям относится видеоплата, использующая БИС
86С911 фирмы S3 Inc.
9.8. Плоские дисплеи
Для реализации устройств отображения графической и алфавитно-цифровой информации в последнее время широко используются плазменные панели (дисплеи) и дисплеи на жидких кристаллах, сохраняющие длительное время немерцающее изображение, имеющие плоский экран и позволяющие стирать информацию на отдельных участках экрана. В качестве достоинств плазменной панели можно указать: отсутствие излучения, малое потребление электроэнергии, цифровой способ получения изображения на экране и небольшой вес.
Вплазменной панели элемент изображения получается путем газового разряда, сопровождающегося излучением света, а в жидких кристаллах используется эффект изменения оптической плотности под действием электрического поля.
Жидкие кристаллы – это высокочастотные модуляторы, пропускающие и отражающие свет. Принцип работы плазменной панели заключается в следующем. Точечный элемент изображения образуется на пересечении двух проводников, расположенных в разных плоскостях. Пространство точечного элемента заполнено инертным газом, светящимся при приложении к концам проводников переменного напряжения, превышающего пороговое значение. Различают два способа управления плазменной панелью: точечная и строчная выборка. В первом способе выбирается горизонтальный и вертикальный проводники и подается на них импульс зажигания (гашения), который с учетом поддерживающего напряжения превышает пороговое значение. При выполнении второго способа, являющегося более быстродействующим, происходит доступ сразу ко всем элементам строки. Для экрана с разрешающей способностью 1024 строк возможна работа с частотой 50 Гц и изменении яркости свечения точки (получение полутонов).
Вжидкокристаллическихдисплеях(ЖК-дисплеях)различаютпассивныеиак- тивные матрицы. В пассивных матрицах на жидкие кристаллы действуют напряже-
249
ния координатных проводников, а в активных (более контрастных) матрицах точечным элементом управляет транзистор, выбор которого осуществляется соответствующими горизонтальными и вертикальными проводниками.
Цветные жидкокристаллические дисплеи содержат более сложные точечные элементы с тремя базисными цветами (R, G, B) и соответствующие им управление.
При сравнении с растровыми дисплеями к достоинствам ЖК-дисплеев следует отнести: малое потребление энергии, компактность, отсутствие электромагнитного излучения, а к недостаткам – высокую стоимость, неточную цветопередачу, ограничение углов обзора.
В ноутбуках и настольных ЖК-мониторах обычно используется активная матрица, каждая точка (точечный элемент) которой адресуется цифровым способом, и смена информации выполняется построчно. Точечный элемент состоит из трех частей, определяемых числом базовых цветов R, G, B. Каждая часть (составляющая) точечного элемента содержит жидкие кристаллы и один или два рабочих тонкопленочных транзистора, выбираемых при изготовлении из группы отбракованных транзисторов. При подаче напряжения на электроды тонкопленочных транзисторов выполняется ориентация молекул жидких кристаллов. Второй транзистор в составляющей части элемента делает эту ориентацию более точной. Поляризованный поток света проходит ориентированные молекулы ЖК и попадает на цветовые фильтры R, G и B, обеспечивая соответствующий цвет точки (пиксела) изображения на экранеЖК-монитора.Такимобразом,фильтрыR,G,Bсоответствуютлюминофорам R, G, B электронно-лучевой трубки (ЭЛТ). По сути дела, ЖК-монитор является цифровым аналогом монитора с ЭЛТ. В ЖК-мониторе также для каждой точки изображения в буферном ЗУ задается 6или 8 бит, которые поступаютнавидеоЦАП, сигнал с выхода которого определяет цвет этой точки.
Источником света в ЖК-мониторах являются галогенные лампы и призма, создающая параллельный поток света, который поступает на специальную пленку, осуществляющую поляризацию света в заданном направлении.
ЖК-мониторы используют два интерфейса: аналоговый R, G, B (VGA) и цифровой интерфейс. Для аналогового интерфейса возникает проблема преобразования сигналов в цифровую форму с помощью АЦП и отображения различных
250
видеорежимов VGA на матрицу ЖК-мониторов с учетом сигналов горизонтальной HSYNC и вертикальной VSYNC синхронизации.
Устройства ввода графической информации
К графической информации (ГИ) относятся: принципиальные электрические схемы, архитектурные чертежи, графики и т.д. Для ввода ГИ в компьютер необходимо выполнить поиск элементов изображения с помощью различного рода датчиков, а затем осуществить преобразование полученных координат в двоичные сигналы. Устройства ввода графической информации (УВГИ) делятся на полуавтоматические и автоматические. В полуавтоматических УВГИ поиск и выделение элементов изображения осуществляется оператором, а преобразование найденных координат в цифровые сигналы - автоматически. В автоматических УВГИ поиск и выделение элементов изображения выполняется либо путем сканирования ГИ, либо за счет отслеживания линии (границы областей) ГИ. В полуавтоматических УВГИ используют следующие физические методы: электромеханический, электростатический, электромагнитный, фотоэлектрический и другие. Кроме того, полуавтоматические УВГИ подразделяются на устройства с жестко закрепленным указателем координат и с подвижным. В полуавтоматических УВГИ с электромеханическим методом действия используются две подвижные каретки, одна из которых передвигается по оси X, а другая по оси У. На каждой каретке установлен датчик перемещения по соответствующей оси, показания которого отмечаются в счетчике. Содержимое счетчиков Х и У определяет координаты визира на планшете. Визир содержит оптику для наводки на элемент изображения или миниатюрную телевизионную передающую камеру, выполняющую увеличение кодируемого участка изображения. В других полуавтоматических УВГИ указатель координат свободно перемещается по дисплейному планшету. Такие УВГИ называются дигитайзерами.
249
Дигитайзеры передают точные координаты пера на поверхности планшета. Эти устройства используются для кодирования и создания графических изображений, поэтому находят применение в системах автоматического проектирования. Кроме того, дигитайзеры эмулируют работу мыши. Дигитайзер содержит планшет, подключенный к последовательному порту ПК, и наводчик или перо, соединенное с планшетом. Чаще всего планшет имеет автономный блок питания. Планшет представляет собой прямоугольную систему координат для позиционирования наводчика (пера), определяющего абсолютное положение курсора на экране. В этом случае не надо смотреть куда перемещается курсор при движении наводчика. Наводчик имеет 4 кнопки для выполнения определенных команд: копировать, сохранить и т.д. Некоторые наводчики содержат до 16 кнопок. Для установки наводчика на элемент изображения в нем содержится визир с перекрестием. Перо имеет корпус с кнопками и напоминает авторучку. На конце пера находится миниатюрный переключатель выбора, который при нажатии в некоторых случаях соответствует клавише ENTER. Драйвер дигитайзера не входит в состав DOS и приобретается отдельно.
Основные характеристики дигитайзера: точность выбора элемента изображения, разрешающая способность (минимальное расстояние между элементами) и т.д.
Позиция пера (наводчика) определяется с помощью электромагнитного, резистивного и акустического планшета. Дигитайзер с электромагнитным декодированием показан на рис. 10.1.