Чарльз Петцольд - Код. Тайный язык информатики
- Название:Код. Тайный язык информатики
- Автор:
- Жанр:
- Издательство:Манн, Иванов и Фербер
- Год:2019
- Город:Москва
- ISBN:978-5-00117-545-2
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Чарльз Петцольд - Код. Тайный язык информатики краткое содержание
Код. Тайный язык информатики - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Это непростой вопрос! Значение может варьироваться от 1 до 192 килобайт!
Сначала оценим нижний предел. Один из способов уменьшения требований к памяти заключается в том, чтобы ограничить возможности адаптера только отображением текста. Мы уже выяснили, что можем отобразить 25 строк по 40 символов, или 1000 символов. В памяти RAM на видеоплате должны храниться только 7-битные ASCII-коды соответствующих символов. Тысяча 7-битных значений — приблизительно 1024 байт, или один килобайт.
Такая плата видеоадаптера также должна оснащаться генератором символов , содержащим точечные шаблоны всех символов ASCII — вроде тех, которые были показаны на одном из предыдущих изображений. Как правило, генератор символов — это постоянное запоминающее устройство, или ПЗУ (Read-Only Memory, ROM), интегральная схема, изготовленная таким образом, что в ответ на обращение к конкретному адресу всегда выдаются одни и те же данные. В отличие от памяти RAM, ПЗУ не предусматривает никаких сигналов для ввода данных.
Память ПЗУ можно считать схемой, преобразующей один код в другой. ПЗУ, в котором хранятся точечные шаблоны (8 × 8 пикселов) для 128 символов ASCII, может предусматривать семь адресных входов (для ASCII-кодов) и 64 выхода для данных. Таким образом, ПЗУ преобразует 7-битный ASCII-код в 64-битный, определяющий внешний вид символа. Однако наличие 64 выходов сделали бы чип слишком громоздким! Гораздо удобнее использовать десять адресных входов и восемь выходов. Семь адресных сигналов указывают на конкретный ASCII-символ. (Эти семь битов адреса подаются с выходов RAM на видеоплате.) Другие три адресных сигнала определяют строку. Например, биты адреса 000 соответствуют верхней строке точечного шаблона, а биты 111 — нижней строке, восемь выходных битов — восьми пикселам каждой строки.
Предположим, что ASCII-код равен 41h. Этот код сопоставим с заглавной буквой A . Ее точечный шаблон состоит из восьми строк по восемь бит. В следующей таблице приведены 10-битные адреса (пробел отделяет ASCII-код от кода строки) и сигналы на выходах для данных, соответствующие заглавной букве A .
Адрес
Сигнал на выходе
1000001 000
00110000
1000001 001
01111000
1000001 010
11001100
1000001 011
11001100
1000001 100
11111100
1000001 101
11001100
1000001 110
11001100
1000001 111
00000000
Вы видите букву A , нарисованную единицами на фоне нулей?
Видеоадаптер, воссоздающий только текст, также должен предусматривать возможность отображения курсора — черточки в том месте экрана, где появится следующий введенный с клавиатуры символ. Номера строки и столбца, совпадающие с позицией курсора, обычно хранятся в двух 8-битных регистрах на видеоплате, в которые микропроцессор может записывать значения.
Если плата видеоадаптера не ограничивается воспроизведением текста, она называется графической . Записывая данные в оперативную память графической платы, микропроцессор может выводить на экран изображения, а также отображать текст разных размеров и стилей. Графическим платам требуется больше памяти, чем текстовым. При разрешении 320 × 200 изображение состоит из 64 тысяч пикселов. Если каждый пиксел соответствует одному биту памяти, такой плате требуется 64 тысячи бит, или 8000 байт, оперативной памяти. Это, конечно, абсолютный минимум. То, что один бит памяти равен одному пикселу, позволяет использовать только два цвета, например черный и белый. Значение ноль бит может соотноситься с черным пикселом, а один бит — с белым.
Разумеется, черно-белые телевизоры отображают не только черные и белые пикселы. Они также способны воспроизводить множество оттенков серого. Чтобы графическая плата могла передать оттенки серого, для каждого пиксела обычно отводится целый байт памяти RAM, причем значение 00h соответствует черному цвету, FFh — белому, а все промежуточные значения — разнообразным оттенкам серого. Видеоплате, отображающей 256 оттенков серого на дисплее с разрешением 320 × 200, требуется 64 тысячи байт памяти. Это почти все адресное пространство одного из 8-битных микропроцессоров, о которых я говорил ранее!
Использование полноцветного режима предполагает выделение трех байтов на каждый пиксел. Если вы рассмотрите экран телевизора или компьютерного дисплея через увеличительное стекло, то обнаружите, что каждый цвет создается различными комбинациями основных цветов: красного, зеленого и синего. Чтобы отобразить весь диапазон, требуется по одному байту для указания интенсивности каждого из трех основных цветов, то есть 192 тысячи байт памяти RAM. (В последней главе я подробно остановлюсь на графике.)
Количество различных цветов, которые способен отобразить видеоадаптер, определяется количеством битов, выделенных для каждого пиксела. Это соотношение может показаться знакомым, поскольку в нем используется степень двойки:
Количество цветов = 2 количество битов на пиксел.
Разрешение 320 × 200 пикселов максимально для типичного телевизора. Именно поэтому мониторы, созданные специально для компьютеров, имеют гораздо более широкую полосу пропускания, чем телевизионные экраны. Первые мониторы, которые продавались с компьютером IBM PC в 1981 году, могли отображать 25 строк по 80 символов. Именно такое количество символов воспроизводилось дисплеями CRT, которые использовались с большими и дорогими мейнфреймами IBM. Для компании IBM число 80 имеет особое значение. Почему? Именно столько символов умещалось на перфокарте IBM! Действительно, поначалу дисплеи CRT, подключенные к мейнфреймам, часто использовались для просмотра содержимого перфокарт. Даже сегодня кое-кто продолжает называть строки дисплея, отображающего только текст, картами .
На протяжении многих лет видеоадаптеры совершенствовались в плане разрешения и цветопередачи. Важная веха была достигнута в 1987 году, когда в персональных компьютерах IBM серии Personal System/2 и Apple Macintosh II начали применяться видеоадаптеры, способные отображать 640 пикселов по горизонтали и 480 пикселов по вертикали. С тех пор этот показатель — минимальное стандартное разрешение для видео.
Это может показаться невероятным, но причина важности разрешения 640 × 480 связана с работой Томаса Эдисона! Примерно в 1889 году, когда Эдисон и его инженер Уильям Диксон работали над кинокамерой «Кинетограф» и проектором «Кинетоскоп», они решили сделать так, чтобы ширина движущегося изображения на треть превосходила его высоту. Соотношение ширины и высоты изображения называется характеристическим отношением . Соотношение, которое выбрали Эдисон и Диксон, обычно выражается как 1,33 : 1, или 4 : 3. На протяжении более 60 лет это соотношение использовалось при производстве кинофильмов и конструировании телевизоров. Только в начале 1950-х голливудские студии начали снимать фильмы в широкоэкранном формате, что и составило конкуренцию телевидению благодаря выходу за рамки соотношения 4 : 3.
Читать дальшеИнтервал:
Закладка: