奎克的藏经阁 · 原书印刷页

编码 隐匿在计算机软硬件背后的语言 · 第 338 页

PDF 物理页索引 354 · 编码隐匿在计算机软硬件背后的语言

书名
编码 隐匿在计算机软硬件背后的语言
作者
未记录
印刷页
338
PDF 物理页
354(从 0 开始)
章节
编码隐匿在计算机软硬件背后的语言
UUID
38270854-596f-4a26-8183-db8c968c6020
来源类型
original_book
页面 SHA-256
957d6cfb1cd9a368d97615049e5c5eedcc0f0b2e87425e290970fe38a482c78e

从上表中,你能看出以0为背景、用1表示的字母A吗?

只显示文本的视频显示适配器还必须支持光标(Cursor)功能。光标是一个小小的下画线,用来表明从键盘上输入的下一字符会在屏幕的什么位置显示出来。光标所在的行和列常被存储在两个8位的寄存器中,这两个寄存器也是视频板的一部分,而且微处理器可以对其进行写操作。

有的显示适配器不仅仅只显示文本,还可以显示其他数据,我们称这样的显示适配器为图形适配器(图形显卡)。通过向图形显卡上的RAM写入数据,微处理器就可以画出图形了,当然能显示各种大小和样式的文本。相比较而言,图形显卡要比只显示文本的显卡所需的存储空间更大。320×200的图形显卡有64,000个像素,如果每个像素需要1位RAM,那么这样的图形显卡就需要64,000位的RAM,即8000字节。然而,这只是最低的要求。1位是和1个像素相对应的,只能用来表示两种颜色—例如黑白两色。0可能对应于黑色像素,1可能对应于白色像素。

让我们仔细观察一下黑白电视机,很快会发现,它们不仅仅只显示黑色和白色,还能显示不同灰度的色彩。为了让图形显卡拥有这种功能,通常每个像素对应于RAM中的一整个字节,其中00h表示的是黑色,FFh表示的是白色,介于两者之间的数值对应不同的灰度。一个320×200的视频板若能显示256种灰度,就需要64,000字节的RAM。这与一直在讨论的某个8位微处理器的整个地址空间非常接近。

如果想显示出丰富多彩的颜色,每个像素就需要至少3个字节。如果现在你手头有放大镜的话,不妨用它观察一下彩色电视机或计算机视频显示器,你会发现,每种颜色都是由红、绿、蓝三原色的不同组合而形成的。为了获取所有的颜色,三原色中每种颜色的强度都需要用一个字节来表示。这么算来,就需要192,000字节的RAM(更多有关彩色图形的内容将在本书最后一章介绍)。

图形显卡到底能显示出多少种不同的颜色呢?这与每个像素所赋予的比特数是有关的。对于这种关系,你可能会感到很熟悉,因为本书中讲到的很多编码都与之类似,它们都涉及2的幂,它们之间的关系如下:

$$
3 ) \textcircled { \div } \frac { 2 } { 3 } \times \frac { 3 } { 2 } = 2 \frac { 3 + 1 0 + 1 0 + 1 0 + 1 2 \times 4 + 1 4 } { 2 }
$$

在标准的电视机上,320×200的分辨率是所能达到的最高分辨率。正是由于这样的原因,我们要为计算机特制显示器,以使其具有比电视机更高的带宽。1981年,第一台显示器随IBMPC一起销售,它可以显示25行,每行80个字符。这正是使用在IBM大型机上的CRT显示器能显示的字符数目。对于IBM来说,80个字符具有特殊的意义,为什么这样说呢?因为它和IBM的打孔卡片(punch card)上的字符数目一样。的确,早期连接到主机上的CRT显示器常被用来显示打孔卡片上的内容。偶尔,你会听到有人称只显示字符的视频显示器为卡片,当然这是一种过时的叫法。

编码隐匿在计算机软硬件背后的语言

338