|
|
|
|
移动端

1.1.2 门和触发器

《计算机科学概论(第12版)》第1章数据存储,在本章中,我们学习有关计算机中数据表示和数据存储的内容。我们要研究的数据类型包括文本、数值、图像、音频和视频。除了传统计算外,本章的很多内容还涉及数字摄影、音频/视频录制和复制,以及远程通信等领域。本节为大家介绍门和触发器。

作者:刘艺/吴英/毛倩倩 译来源:人民邮电出版社|2018-01-28 20:01

开发者盛宴来袭!7月28日51CTO首届开发者大赛决赛带来技术创新分享

1.1.2 门和触发器

门(gate)指的是一种设备,给定一种布尔运算的输入值,门可以得出该布尔运算的输出值。门可以通过很多种技术制造出来,如齿轮、继电器和光学设备。现在的计算机中,门通常是由小型电子电路实现的,其中数字0和1由电压电平表示。不过,我们不需要关注这些细节问题。对于我们来说,知道如何用门的符号形式来表示门就足够了,如图1-2所示。注意,与门、或门、异或门和非门,是由不同形状的符号表示的,输入值在一边,输出值在另一边。

门为构造计算机提供了构件。计算机构造的一个重要步骤如图1-3的电路所示,这个电路是触发器(flip-flop)电路的一个特例。触发器是计算机存储器的基本部件,它是一个可以产生0或1输出值的电路,它的值会一直保持不变,直到有另一个电路过来的临时脉冲(临时变成1之后再变为0)使其变换成其他值。换句话说,通过设置,可以让输出在外界刺激的控制下“记住”0或者1。例如,在图1-3中,只要电路的两个输入值一直都是0,输出值(无论是0还是1)就不会变。不过,在它的上输入端临时放置一个1,会强制其输出值为1;反之,在它的下输入端临时放置一个1,会强制其输出值为0。

我们来仔细研究一下这个问题。在我们不知道图1-3中电路的当前输出值的情况下,假设上面的输入值变为1,而下面的输入值仍为0(见图1-4a),那么不管或门的另外一个输入值是什么,它的输出值都将为1。接着,因为与门的另外一个输入值已经为1(触发器下输入端为0时非门的输出值),所以它的两个输入值都为1。于是,与门的输出值变成1,这意味着,现在或门的第二次输入值将为1(见图1-4b)。这样就可以确保即使触发器上面的输入值变回0(见图1-4c),或门的输出值也会保持为1。总之,触发器的输出值已经为1,上面的输入值变回0后,其输出值仍然保持不变。

同理,在下输入端上临时放置数值1,会强制触发器的输出值为0,而且输入值变回0后,输出值仍然保持不变。

我们介绍图1-3和图1-4中的触发器电路的目的有3个。第一,展示设备是如何通过门制造出来的,这是一个数字电路的设计过程,是计算机工程领域的一个重要课题。事实上,在计算机工程中,触发器只是诸多基础工具电路中的一种。

第二,通过触发器的概念为抽象和抽象工具的使用提供一个例子。事实上,还有很多其他的构建触发器的方法。其中一种方法如图1-5所示。如果你用这个电路做实验就会发现,尽管它有着不同的内部结构,但它的外部特性与图1-3中的是一样的。计算机工程师不必知晓触发器中实际使用的是哪种电路,只需理解触发器的外部特性并将其作为一个抽象工具来使用即可。一个触发器和其他定义良好的电路一起形成了一个构件集合,工程师可以直接利用这个构件集合构造更复杂的电路。因此,计算机电路的设计就会呈现一种层次结构,其中每一层都将较低层次的构件作为抽象工具使用。


第三,触发器是现代计算机中存储二进制位的一种方法。更确切地说,可以将触发器的输出值设置为0或1。其他电路可以通过向触发器的输入端发送脉冲来调整这个值,还有一些电路可以通过将这个触发器的输出用作它们的输入来响应存储的值。因此,许多触发器(被构造成非常小的电子电路)可以用作计算机内部记录信息的一种方法,将信息编码成0和1的模式。实际上,众所周知的超大规模集成(very large-scale integration,VLSI)技术支持将数百万个电子元件构造在一个称为芯片(chip)的晶片上,从而创建出包含数百万个触发器及其控制电路的微型设备。因此,这些芯片被用作构建计算机系统的抽象工具。事实上,在某些情况下,还可以用超大规模集成技术在单块芯片上创建整个计算机系统。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

'ASP.NET'程序设计教程

《ASP.NET程序设计教程》是在总结多年ASP.NET教学和应用项目开发经验基础上编写完成的,编写过程中充分吸取了其他畅销实用教程的成功经验。...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊