了解计算机里非门组成的部分

        计算机中有一块硬件不是完全由NAND门构成的。这并不是把电脑变成电脑的必要条件,但大多数电脑都有一些。它们被用来从模拟的东西变成数字的东西,或者从数字变成模拟的东西。

        人类的眼睛和耳朵会对类似的事物做出反应。我们听到的东西可以是响亮的,也可以是柔和的,我们看到的东西可以明亮或黑暗,可以是多种颜色中的任何一种。

        我们上面描述的计算机显示屏有320 x 200或64000像素。但是每个像素只有一个比特来告诉它该做什么,该开还是该关。这对于在屏幕上显示书面语言很好,或者可以用来绘制线条图,任何只有两个亮度级别的东西。但我们都在电脑屏幕上看到过照片。

        首先,需要有一种在屏幕上显示不同颜色的方法。如果你拿出放大镜,看看彩色电脑或电视屏幕,你会发现屏幕实际上是由三种不同颜色的小点组成的,蓝色、红色和绿色。每个像素有三个部分,每种颜色一个。当显示适配器扫描屏幕时,它同时选择每个像素的所有三种颜色。

        对于一台拥有彩色屏幕的计算机,它需要每个像素有三个比特,因此它必须有三倍的RAM才能单独控制每个像素中的三种颜色。有了三个bit,每种颜色可以完全打开或关闭,因此每个像素将有八种可能的状态:黑色、绿色、红色、蓝色、绿色和红色(黄色)、绿色和蓝色(青色)、蓝色和红色以及绿色、蓝色和红(白色)

        但这仍然不足以显示照片。要做到这一点,我们需要能够在完全打开和完全关闭之间的整个范围内控制每种颜色的亮度。为此,我们需要一种新类型的部件,我们将在稍后描述,并且我们需要更多的显示RAM。我们可以为每个像素中的每个颜色设置一个字节,而不是每个像素中每种颜色设置一位。这是每像素三个字节,就这个小显示屏而言,总共有192000字节的RAM。

        通过使用二进制数字编码的这些字节,可以为每个像素中的每种颜色指定256级亮度。这将相当于每个像素的16777216种不同状态(或颜色)。这足以展示一张相当好看的照片。

        为了实现这一功能——一个指定256个不同亮度级别的数字——你需要一个叫做“数模转换器”或简称“DAC”的东西。DAC有八个数字输入和一个模拟输出。它的工作方式是将输入作为二进制数处理,输出在关和开之间有256个等级。输出在关与开之间有256个等级,并达到输入数字指定的等级。如果输入是128,输出将处于半开状态。对于64,输出将为四分之一开。对于0,输出将完全关闭。

        为了使这个彩色屏幕工作,显示适配器需要一次访问三个字节,将它们连接到三个DAC,并将DAC的输出连接到正在绘制的当前像素中的三种颜色。这就是彩色屏幕的工作原理。

当我们定义“模拟”时,我们说它是一种从完全关闭到完全打开的连续可变的东西。但我们的DAC在其“模拟”输出中实际上只有256个不同的电平。它更接近于模拟,但它仍然有步骤。计算机正在做的是以足够小的步幅来模拟一个模拟的东西,以欺骗预期的观众。对于眼睛来说,256种不同的亮度就足够了。

        如果需要更小的步骤来迷惑目标受众,那么可以制作一个数字侧有16位的DAC。因此,您可以用0到65535之间的任意数字表示数字输入。模拟端仍然只能从完全关闭到完全打开,但步长的大小将小得多,因为现在有65536个。当它到达耳朵时,它可以听到非常小的差异,因此需要一个16位DAC来获得高质量的声音。

        所有的声音,从音乐到语音,再到雷声,都是空气的振动。它们在空气振动的速度和确切的振动方式上有所不同。人的耳朵可以听到从低端大约20赫兹到高端20000赫兹(20千赫)的振动,所以这是计算机设计用来处理的振动范围。对于任何电子机器来说,都有一种叫做扬声器的设备。扬声器所做的只是在空气中来回移动,使空气振动。如果它使空气振动的方式与录制的原始声音完全相同,那么它听起来就像原始声音一样。

        为了在计算机中存储声音,扬声器的位置被划分为65536个可能的位置。然后,第二个被分成44100个部分。在每一秒的这些部分,扬声器的期望位置被存储为两个字节的数字。这足够信息以非常高的质量再现声音。

        要播放高质量的立体声音乐,电脑需要一个“声音外围设备”这将有两个16位DAC,其模拟输出连接到扬声器。它还将有自己的时钟,以44100赫兹的频率滴答作响。在每次滴答时,它会得到接下来的两个两字节数字,并将它们连接到DAC的数字端。

        就速度而言,这将是每秒176400字节。这当然很快,但请记住,我们的计算机时钟每秒滴答十亿次。这意味着计算机可以向声音外围设备发送四个字节,并在需要发送下四个字节之前,关闭并执行其他任务的4000条指令。

        另一方面,有一个“模数转换器”,简称“ADC”。这用于将麦克风发出的声音转换为一系列字节,或用于相机将图片转换为一组字节。输入端有一根导线,可以从一路断开到一路接通。对于8位ADC,ADC的输出为0-255,对于16位ADC则为0-65535。这个数字表示输入的开或关程度。一半开是128或32768,四分之一开是64或16384等。这个过程正好与DAC的操作相反。

        DAC和ADC不是由NAND门制成的,它们有像收音机一样的电子部件。他们如何做的我们这里不做过多论述。所以,当说计算机中的所有东西都是由NAND门构成时,是不够严谨的,但DAC和ADC只用于某些类型的外围设备,而不是计算机本身。

猜你喜欢

转载自blog.csdn.net/u010420283/article/details/128045330