您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 计算机系统概论第三章
第三章数字逻辑结构在第一章中,我们提到计算机是由数量巨大的非常简单的结构所组成。例如,Intel的PentiumⅣ微处理器,2000年推向市场,是由超过4千2百万个MOS晶体管制造的。IBMPowerPC750FX,2002年推出,是由超过3千8百万个MOS晶体管组成。在本章中,我们将解释MOS晶体管作为逻辑单元的工作原理,如何将这些晶体管连接起来组成逻辑门,以及逻辑门是如何被互相连接起来而组成更大的制造计算机所需的单元。在第四章,我们将把这些更大的单元连接起来组成计算机。首先介绍晶体管。3.1晶体管今天的大多数计算机,或者说是大多数微处理器(所对应的计算机的核心)是由MOS晶体管组成的。MOS是金属氧化物半导体的英文缩写。关于半导体的电子特性超出了本书的范围,它位于本书所描述的最底层的抽象之下,也就是说,如果晶体管出现差错,我们就受其控制,无法解决该问题了。不过,也不太可能遇到晶体管出现问题的情况。在此,我们只需了解MOS晶体管的两种类型:P型和N型。它们都是进行逻辑运算的,其工作原理与墙上的电开关类似。图3.1显示了最基本的电子电路,包括电源、一个墙上的开关和一盏灯。为了让灯发光,电子必须流动;而为了使电子流动,必须存在一个从电源到灯、再回到电源的闭合电路。通过操作开关可以控制电路的合与开,进而使灯打开或关闭。我们使用一个N型或P型半导体晶体管来代替开关,控制电路的闭合。图3.2是一个N型晶体管的示意图,(a)单独出现的晶体管(b)出现在电路中的晶体管。注意,在图3.2a中的晶体管有三个终端,它们分别被称为栅极、源极和漏极,其命名原因不在本书范围之内。如果N型晶体管的栅极被加以2.9伏电压,从源极到漏极的连接就相当于一段电线。使用电子术语来说就是:在源极和漏极之间存在一个闭合回路,即导通。如果N型晶体管的栅极被加以0伏电压,在源极和漏极之间的连接就被断开,在源极和漏极之间存在一个断路,即截止。图3.2b显示了一个包括一个N型晶体管、一个电池组和一个灯泡的电路。当栅极被加以2.9伏电压时,晶体管就相当于一段导线,从而形成回路,灯泡发光。当栅极被加以0伏电压时,晶体管则相当于一个断路,电路被断开,灯泡不亮。图3.2c为描述图3.2b中电路的速记表示法。电子工程师通常只显示电源端,而不总是显示出电源和完整的电路。事实上,电源本身对实现完整的电路的贡献是很容易理解的,所以通常不需显示出来。P型晶体管的工作原理与N型晶体管恰恰相反。图3.3是P型晶体管的示意图。当给栅极提供的电压为0伏时,P型晶体管像一段电线,构成闭合回路;当所提供的电压为2.9伏时,就出现断路。因为P型和N型晶体管以互补的方式工作,我们称既包含P型晶体管又包含N型晶体管的电路为CMOS电路,即互补金属氧化物半导体电路。3.2逻辑门晶体管之上是逻辑门。也就是说,我们只用MOS晶体管就可以构建基本的逻辑结构。在第二章,我们学习了与、或、非函数的特性。在本章,我们将构建晶体管电路,以实现每一种逻辑函数,相应的电路我们分别称为与门、或门、非门。3.2.1非门(或反相器)图3.4显示了在计算机中最简单的逻辑结构,它由两个MOS晶体管构成:一个P型晶体管和一个N型晶体管。图3.4a是其电路的示意表示。图3.4b显示了当输入电压为0伏时该电路的工作情况,注意:P型导通而N型截止,因此,输出与2.9伏一端连接。另一方面,如果输入为2.9伏,P型截止而N型导通,输出与地(即0伏)连接。电路的完整表现可以通过列表的方式描述,如图3.4c所示。如果我们使用符号0代替0伏,用符号1代替2.9伏,就得到补或非函数的真值表(图3.4d),与第二章相同。我们已经显示了如何构建第二章所讨论的非函数的电子电路。我们称该电路为非门,或反相器。3.2.2或门与非或门图3.5显示了一个非或门。图3.5a是实现非或门的电路示意图。它包含两个P型和两个N型晶体管。图3.5b显示了如果A被加以0伏,B被加以2.9伏时电路的表现。在这种情况下,两个P型晶体管下面出现一个断路,输出C与2.9伏的电源不相连。然而,最左边的N型晶体管的作用像一根电线,将输出C与0伏相连。注意如果A和B都被加以0伏,两个P型晶体管导通,输出C被连到2.9伏。同时可以注意到,既然两个N型晶体管的作用都是形成断路,所以C与地不相连。ABC0伏0伏2.9伏0伏2.9伏0伏2.9伏0伏0伏2.9伏2.9伏0伏图3.5非或门如果给A或B提供2.9伏电压,则对应的P型晶体管为断路。那就足够切断从C到2.9伏电源的连接。然而提供给其中一个N型晶体管的栅极的2.9伏则足以使晶体管导通,使得C接地(即0伏)。图3.5c总结了图3.5a中电路的全部特性。它表明给A和B提供4组不同电压的电路特征。这四组分别为A=0伏B=0伏A=0伏B=2.9伏A=2.9伏B=0伏A=2.9伏B=2.9伏如果使用等价的逻辑值代替电压,就得到图3.5d所示的真值表。注意到C的输出恰恰就是与第二章中讨论的逻辑或函数相反的结果。实际上它是非或函数,其缩写为NOR。我们把实现非或函数的电路叫做非或门。如果我们在输出端增加一个反相器,扩大图3.5a的电路,如图3.6所示,输出D就是逻辑函数或的结果。图3.6a中的电路就是或门。图3.6b表示了如果输入变量A是0并且输入变量B是1时的电路结果。图3.6c显示了该电路的真值表。3.2.3与门和非与门电路图3.7显示了一个与门电路。注意,如果当A、B中有一个输入是0V的电压时,都有C直接连接到2.9V的电源上。C有2.9V的电压表明栅极与C相连的N型晶体管提供了一条从D到地的通路。因此,只要A、B中有一个为0,图3.7电路的输出D就为0。同时,当A、B中至少有一个被提供0V电压时,表明栅极和A或B相连的两个N型晶体管中至少有一个为断路,因此,C不接地。此外,C为2.9V意味着栅极和C相连的P型晶体管为断路,因此,D不与2.9V相连。另一方面,当A、B都被供给2.9V的时候,和它们相对应的P型晶体管都是断路。然而,和它们相对应的N型晶体管就像电线,直接使C接地。因为C接地,所以最右端的P型晶体管就像闭合电路,让D有2.9V的电压。图3.7b使用真值表总结了图3.7a中的电路特性。这个电路就是与门电路。而虚线里的电路(即输出是C)是一个非与门电路。以上门电路在数字逻辑电路和数字计算机中应用非常普遍。在PentiumⅣ微处理器里有上百万个反相器(非门)。为了方便起见,我们使用图3.8中的标准符号来表示上面的每一种门电路。在反相器、非与门和非或门电路中的圈表示补(即非)函数。从现在开始,我们将不再画那些显示出单个晶体管的电路,而是使用图3.8中的符号来表示,提升抽象的层次。3.2.4德摩根定律图3.9a中可以在进入门电路前先对输入做非函数。考虑两个输入的与门,如果我们把A和B应用了非函数后再输入门,并且与门的输出也取非的效果。与门电路输入前的圈表示A和B在输入与门之前就取了非。图3.9b显示了A=0,B=1这一输入组合的结构特性。为了方便起见,我们把圈从与门电路的输入和输出上移开。这样,我们就可以很容易的看到每个值经过圈时发生了怎样的变化。图3.9c采用真值表的方式列出了图3.9a的逻辑电路中全部四种输入组合的特性。注意A取非用A表示。我们可以使用代数式来描述这个电路的特征:BORABANDA我们也可以使用语言来表述这一特征:“只有A和B都为假时,输出才为假”,等价于“A和B至少有一个为真时,输出就为真”。这个等式就是著名的德摩根定律。如果把或门的两个输入都取非,输出也取非,会有类似的结果吗?3.2.5更大的门在结束逻辑门这个主题之前,我们应当注意到存在更多输入的与门,或门,非与门,非或门的表示方法。比如,我们可以构建一个三个输入的与门或者四个输入的或门。一个有N个输入的与门仅当所有的输入变量都为1时,输出才为1。只要有一个为0结果就为0。一个有N个输入的或门只要任何一个输入变量为1输出就为1。也就是说仅当所有的输入变量都为0时输出才为0。图3.10是一个三个输入的与门。图3.10a给出了它的真值表。图3.10b给出了有三个输入的与门的符号表示。你能画出一个有三个输入的与门的晶体管级的电路吗?一个有四个输入的或门呢?3.3组合逻辑电路我们已经理解了基本逻辑门的工作原理,下一步就是构建一些组成计算机微结构的重要组件的逻辑结构。有两种基本的逻辑结构,一种包括信息的存储,另一种则不包括。在3.4、3.5和3.6节,我们将讨论存储信息的逻辑结构。这一节我们讨论另一种。这些结构有时被称为“判定元件”。通常,它们被称为组合逻辑结构,因为它们的输出是仅由当前输入值的组合决定的。它们的输出不由任何过去的存储在其中的信息决定,因为信息不能被存储在组合逻辑电路中。我们现在来了解译码器,多路选择器,全加法器。3.3.1译码器图3.11表示一个有两个输入的译码器的逻辑门描述。译码器的特性为:只有一个输出为1,其它全为0。输出为逻辑1的是对应于要被检测的输入组合的输出。通常,译码器有n个输入,2n个输出。被检测的输入组合的输出线被设定,即输出为1,所有其它的输出则为0。在图3.11中,在输入A和B的四种可能的组合中,在任意时刻,只有一个输出为1。在图3.11b中,译码器的输入是10,结果第三根输出线被设定。译码器用来判断如何解释一个位组合。我们将在第五章中看到,在LC-3中每一条指令执行的工作是由一个4位的位组合决定的,它被称为操作码,是指令的一部分。一个4-16的译码器是一个简单的组合逻辑电路,它能识别出每一条指令执行的工作是什么。3.3.2多路选择器图3.12a表示一个有两个输入的多路器,或多路选择器的门级描述。这种多路选择器的功能就是选择其中一个输入,并把它连接到输出。选择信号(图3.12中的S)决定哪个输入是连接到输出的。图3.12的多路选择器工作如下:假设S=0,如图3.12b。因为除非所有的输入都为1,否则与门的输出就为0,那么,最右边的与门输出为1。并且,最左边的与门的输出与A的输入相同。那就是说,如果A=0,那么最左边的与门是0;如果A=1,那么输出就为1。因为最右边的与门输出为0,所以对或门不起作用。因此,C处的输出与最左边的与门的输出一样。综上所述,如果S=0,那么C端的输出就是A端的输入。另一方面,如果S=1,那么B与1做与运算,结果就是或门的输出将是B的值。总之,C的输出要么与A的输入有关,要么与B的输入有关——取决于选择线S的值。我们说S选择多路选择器的来源(A或者B)发送到输出端C。图3.12c显示了一个多路选择器的标准表示方法。一般说来,一个多路选择器由n条选择线和2n个输入组成。图3.13a表示一个有四个输入的多路选择器的门级描述。它需要两条选择线。图3.13b显示一个四个输入的多路选择器的标准表示方法。你能构建一个有八个输入的多路选择器的门级表示方法吗?需要多少根选择线?3.3.3全加法电路在第二章中,我们讨论了二进制加法。那个简单的加法运算与你经常做的十进制加法的算法是一样的,从右向左,一次一列,两个值中的两位和进位作加法,产生一个和位和一个向下一位的进位。区别只是它在1后得到进位而不是在9之后。图3.14是表示两个n位操作数的某一列进行二进制加法的结果的真值表。每一列都有三个要做加法的值:两个操作数中各取一位,以及前一列来的进位。我们定义这三位分别为ai,bi和carryi。有两个输出,一个是和(si),另一个是向下一列的进位(carryi+1)。当ai,bi和carryi中只有一个数是1时,我们能得到和si为1,进位carryi+1为0。如果三个数中有两个等于1,我们能得到和为0而进位为1。如果三个数都等于1,和为3,在二进制的加法中对应和与进位都是1。图3.15是图3.14的真值表的门电路表示。注意图3.15中,对于ai,bi和carryi的8种输入组合之一,都有一个与门产生一个输出1。当输入组合是图3.14中Ci+1的输出为1的相应组合时,或门的输出Ci+1必为1。因此产生输出Ci+1的或门的输入,就是那些相应
本文标题:计算机系统概论第三章
链接地址:https://www.777doc.com/doc-2100818 .html