Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Регистры графического контроллера адаптера EGA/VGA
Для доступа процессора к такой видеопамяти EGA содержал т. н. секвенсор. Секвенсор поддерживал 3 режима записи в видеопамять и 2 режима чтения, и имел немалое количество управляющих регистров. При записи использовались регистры: · маска плоскости. Запись не вносила изменений в те плоскости, биты которых в данном регистре были установлены в 0. · маска битов. Для каждого байта в каждой плоскости запись не изменяла те биты, которые были установлены в 0 в данном регистре. · логическая операция. 16 стандартных логических операций. В результате записи бит видеопамяти устанавливался в логическую функцию от бита пришедших от процессора данных и старого значения бита видеопамяти. Код логической операция есть 4 бита, бит данных процессора выбирал между старшими и младшими 2, а старое значение бита видеопамяти — между четными и нечетными. Выбранный бит кода логической операции и являлся новым значением бита видеопамяти. Например, логическая операция 0000b — установить все в чёрное, 1111b — все в белое, 1100b — обычное копирование битовой карты, 0011b — копирование с инвертированием, 1010b — пустая операция, 0101b — инвертирование старого содержимого, 1110b — OR старого содержимого с новым, 1000b — AND старого и нового, 0110b — XOR. · циклический сдвиг данных, поступивших от процессора (только для режима 0). Регистры палитры были реализованы только на запись без возможности чтения. VGA (так же, как и EGA) состоит из следующих основных подсистем (в народе словом "секвенсер" называли набор регистров управления доступом к плоскостям видеопамяти): · Графический контроллер (Graphics Controller), посредством которого происходит обмен данными между центральным процессором и видеопамятью. · Видеопамять (Display Memory), в которой размещаются данные, отображаемые на экране монитора. 256 кБ DRAM разделены на четыре цветовых слоя по 64 кБ. · Последовательный преобразователь (Serializer или Sequencer) — преобразует данные из видеопамяти в поток битов, передаваемый контроллеру атрибутов. · Контроллер атрибутов (Attribute Controller) — с помощью палитры преобразует входные данные в цветовые значения. · Синхронизатор (Sequencer) — управляет временны́ми параметрами видеоадаптера и переключением цветовых слоёв. · Контроллер ЭЛТ (CRT Controller) — генерирует сигналы синхронизации для ЭЛТ.
Режим "Чтение 0" Схема режима “Чтение 0” содержимого видеопамяти представлена на рис. 4.13. Вначале происходит загрузка регистров-защелок из соответствующих адресов битовых плоскостей, а из них - в регистр процессора. Выбор соответствующего регистра-защелки производится путем записи номера плоскости в регистр “Выбор читаемой плоскости” (ВЧП), который используется только в режиме “Чтение 0”. Таким образом, в этом режиме идет побайтовая обработка видеопамяти, в результате которой можно прочитать содержимое восьми бит, расположенных в одном цветовом слое (битовой плоскости). Значение пикселя можно сформировать последовательным извлечением байт всех битовых плоскостей и выделением в них требуемых разрядов.
Режим «Чтение 1» В этом режиме вначале также выполняется пересылка байтов из битовых плоскостей в регистры-защелки. Затем все восемь пикселов в регистрах-защелках сравниваются со значением, записанным в регистре “Сравнение цветов” (СЦ). Результат сравнения в виде одного байта пересылается в регистр процессора. Этот байт формируется так, что при совпадении цветов пиксела и регистра СЦ устанавливается 1, при несовпадении - 0 (рис. 13). На результат сравнения влияет содержимое младших разрядов (0 - 3) регистра “Цвет безразличен” (ЦБ). Если какой-либо бит установлен в 0, то соответствующий регистр-защелка исключаются из сравнения. В примере, показанном на рис. 13 четыре младших разряда регистра ЦБ имеют значение ‘1111’, поэтому в сравнении содержимого регистров-защелок и регистра СЦ участвуют все битовые плоскости. Если изменить содержимое регистра ЦБ на значение ‘1011’, то результат обработки, записанный в регистр процессора, будет иметь значение ‘11110000’. Режим "Запись 0" (при РУС=0000) Данный режим самый сложный и самый богатый по предоставляемым возможностям. Он используется в тех случаях, когда необходимо изменить какой-либо один из восьми пикселей, записанных в регистрах-защелках. В формировании значения пикселя принимают участие регистры “Разрешение установки-сброса” (РУС), “Установка-сброс” (УС), “Битовая маска” (БМ), “Циклический сдвиг данных” (ЦСД), а также байт данных процессора.
Существует широкий набор вариантов работы в этом режиме, определяемый содержимым регистра РУС. Из всего множества способов записи можно выделить два, при которых значение РУС равно 0000B и 1111B. В первом случае все четыре байта в регистрах-защелках перед записью в битовые плоскости комбинируются с байтом данных из регистра процессора (побайтовая комбинация). Во втором случае значение каждого пикселя комбинируется с четырехбитовым значением в регистре “Установка-сброс” (попиксельная комбинация). Регистр БМ формирует значение каждого пикселя в регистрах-защелках. Если какой-либо бит регистра установлен в 0, то соответствующий пиксель без изменения пересылается из регистров-защелок в видеопамять. При установке бита в 1 значение пикселя перед пересылкой в видеопамять комбинируется либо с байтом данных процессора, либо со значением в регистре “Установка-сброс”. Способ комбинирования задается регистром ЦСД, который выполняет две функции - указывает логическую операцию и величину циклического сдвига. В битах 3 и 4 этого регистра указывается поразрядная логическая операция в соответствии с таблицей 4.8.
Эти операции выполняются над байтом данных и содержимым регистров-защелок (при РУС = 0) или над значением регистра УС и содержимым регистров-защелок (при РУС = 1111B). Биты 0 - 2 регистра ЦСД определяют величину циклического сдвига вправо байта данных из регистра процессора перед комбинированием его с содержимым регистров-защелок. Рассмотрим работу режима “Запись 0” при значении регистра РУС = 1111B (рис. 4.15). В этом случае в регистре УС фактически содержится четырехбитовое значение пикселя, которое пересылается в видеопамять.
При этом содержимое регистра процессора не имеет значения. В том случае, когда надо изменить только один пиксель, в регистре БМ соответствующий бит устанавливается в 1, а остальные - в 0, и выполняется операция записи в видеопамять. Если в регистре БМ все разряды устанавливаются в 1, то за одну операцию записи в видеопамять будут изменены все восемь пикселей, т.е. прочерчена горизонтальная линия длиной восемь пикселей. При значении регистра РУС = 0 циклический сдвиг и логическая операция выполняются над содержимым регистра процессора. В соответствии с содержимым регистра ЦСД над байтом регистра процессора выполняется циклический сдвиг, в результате которого получается значение 11000101B. Так как регистр БМ имеет значение 00001111B, то старшая половина байта каждого регистра-защелки пропускается в видеопамять без изменения, а вторая половина получается в результате выполнения логической операции AND над младшими четырьмя разрядами регистра процессора после сдвига и регистров-защелок. Результат заносится в видеопамять (битовые плоскости). При нулевых значениях 3 и 4 разрядов регистра ЦСД была бы выполнена операция замещения, и в младшие четыре разряда всех битовых плоскостей было бы занесено значение 0101B. В случае нулевого значения и разрядов 0 - 2 регистра ЦСД в младшие разряды всех битовых плоскостей было бы записано значение 0111B.
Режим "Запись 0" (при РУС=1111) Он используется в тех случаях, когда необходимо изменить какой-либо один из восьми пикселей, зашлюзованных (записанных) в регистрах-защелках. В формировании значения пикселя принимают участие регистры “Разрешение установки-сброса” (РУС), “Установка-сброс” (УС), “Битовая маска” (БМ), “Циклический сдвиг данных” (ЦСД), а также байт данных процессора. Существует широкий набор вариантов работы в этом режиме, определяемый содержимым регистра РУС. Из всего множества способов записи можно выделить два, при которых значение РУС равно 0000B и 1111B. В первом случае все четыре байта в регистрах-защелках перед записью в битовые плоскости комбинируются с байтом данных из регистра процессора (побайтовая комбинация). Во втором случае значение каждого пикселя комбинируется с четырехбитовым значением в регистре “Установка-сброс” (попиксельная комбинация). Рассмотрим работу режима “Запись 0” при значении регистра РУС = 1111B. В этом случае в регистре УС фактически содержится четырехбитовое значение пикселя, которое пересылается в видеопамять. Рассмотрим работу режима “Запись 0” при значении регистра РУС = 1111B (рис. 4.15). В этом случае в регистре УС фактически содержится четырехбитовое значение пикселя, которое пересылается в видеопамять. Режим "Запись 2" Этот режим похож на режим “Запись 0” при значении РУС = 1111B. В отличие от указанного режима роль регистра УС выполняют четыре младших разряда регистра процессора, а регистр РУС не влияет на результат. В остальном все операции выполняются так же: битовые плоскости изменяются за счет комбинации значений пикселей в регистрах-защелках со значением регистра процессора (попиксельная комбинация) и выполняется логическая операция, установленная в регистре ЦСД, а регистр БМ определяет, какие пиксели изменяются, а какие - нет (рис. 4.18).
Режим "Запись 3" Данный режим поддерживается только видеоадаптером VGA и фактически представляет собой режим “Запись 0” при значении РУС = 1111B с одним отличием - байт данных для регистра процессора циклически сдвигается вправо на число разрядов, заданных в регистре ЦСД, и комбинируется логической операцией AND значением в регистре БМ. В результате получается битовая маска, которая играет роль регистра БМ (рис. 4.19).
|
||||||||||||||||||||||||
Последнее изменение этой страницы: 2017-02-10; просмотров: 242; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.138.116.20 (0.008 с.) |