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

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

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

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

视频适配器中必须配置一些RAM,用以存储所显示的内容;微处理器也必须能够向此RAM中写入数据以改变显示器上显示的内容。更方便的是,这个RAM也是微处理器存储空间的一部分。那么,上面描述的显示适配器需要多大的RAM呢?

这个问题并不太好回答!我们只能说,结果可能处于1KB\~192KB之间。

我们从最简单的情况去考虑。怎样减少显示适配器的内存需求呢?一种方法是限制适配器的功能,让其只显示文本。我们已经明确地知道,视频显示器的每屏幕能显示25行、每行40个字符,也可以说,总共能显示1000个字符。这样一来,视频卡上的RAM只需存储这1000个字符的7位ASCI码。1000×7bit,大小约为1024字节,即1KB。

字符生成器(character generator)也是视频适配器板上的一部分,包含了所有ASCII码字符的像素图,这点前面已经讲过。通常,它是只读存储器(read-only memory),即ROM。它是一种集成电路,在生产时里面已经填入了数据,固定的地址输出的数据是不变的。ROM中并没有数据输入信号,这点与RAM不同。

你可以把ROM看成是可以进行代码转换的电路。每片ROM都有7个地址信号(用来表示 ASCII码)及 64个数据输出信号,里面存储了128个ASCII码字符的8×8像素图。因此,ROM可以实现7位ASCI码到64位码(定义了字符显示的外观)的转换。但是你有没有想过,64个数据输出信号会使芯片变得很大。更合适的做法是,用10个地址信号和8个输出信号。其中7个地址信号是用来确定ASCI码字符的(这7个地址位来自视频板上RAM的数据输出)。其他三个地址信号则用来表示行。举个例子来说,最高行用000表示,最低行用111表示。8个输出位就是每行的8个像素。

我们来做个假设,ASCI码为41h,就是大写的字母A。总共有8行,每行8位。下表给出了字母A的10位地址(ASCI码和行代码之间用空格分开)和数据输出信号。

21 总线

337