810 likes | 968 Views
计算机概论. 第 2 章 数字逻辑与数字电路. 教师:郭小林 2014年9月8日星期一. 第 2 章 数字逻辑与数字系统. 主要内容 简单介绍: 数字逻辑的发展历史 常用的定律及化简逻辑表达式的方法 基本的逻辑门电路. 2.1 逻辑函数的表示方法. 如果某人说,星期天去不去看电影要看情况而定:“儿子陪我一起去看电影,我就去看电影;儿子能自己去看电影,我就不去看电影;儿子不愿看电影,我自己去看电影;不让带着儿子去看电影,我就不去看电影”。他到底去不去看电影呢?. 能不能用类似“ 1+2=3” 这样简单的符号、公式,来描述、计算逻辑问题呢?
E N D
计算机概论 第2章 数字逻辑与数字电路 教师:郭小林 2014年9月8日星期一
第2章 数字逻辑与数字系统 主要内容 简单介绍: 数字逻辑的发展历史 常用的定律及化简逻辑表达式的方法 基本的逻辑门电路
2.1 逻辑函数的表示方法 • 如果某人说,星期天去不去看电影要看情况而定:“儿子陪我一起去看电影,我就去看电影;儿子能自己去看电影,我就不去看电影;儿子不愿看电影,我自己去看电影;不让带着儿子去看电影,我就不去看电影”。他到底去不去看电影呢?
能不能用类似“1+2=3”这样简单的符号、公式,来描述、计算逻辑问题呢?能不能用类似“1+2=3”这样简单的符号、公式,来描述、计算逻辑问题呢? • 经过众多科学家的努力,直到20世纪30年代才有了确切的答案。其中德国数学家莱布尼兹、英国数学家布尔、美国科学家香农等做出了极大贡献。 • 20世纪50年代以后,陆续出现了采用“真值表”、“卡诺图“、“逻辑图”、“波形图”、“点阵图”和计算机硬件设计语言“ABLE-HDL”、“VHDL等方法分析和设计数字电路。
莱布尼兹(Leibniz)首先提出用演算符号表示逻辑语言的思想,乔治.布尔(George Boole)于1938年发表“布尔代数”,香农(Shannon)把它用于分析电话开关电路,1952年维奇(Veitch)和卡诺(Karnaugh)先后提出图解法的概念和方法。逻辑代数成为电子数字系统设计工具。 • 莱布尼兹 布尔 香农(美)
2.1.1逻辑变量的表示方法及逻辑运算规则 • 普通代数中若: • F(x)=2x+1, - ∞≤x≥+∞,在x的取值范围内,都可以计算出F(x)的值。 • 在逻辑代数中,可变的量只有0和1,其演算规则与我们已熟悉的算术、代数运算差异很大。 • 在逻辑代数中,代表变量或结果的符号可使用任意符号,习惯上用A、B、C等英文字母代表逻辑值。对运算符号有特别规定。
1 逻辑运算符、表达式 • 逻辑代数的表达式由变量符号及运算符号组成,如果两个表达式的运算结果相同,就可以用等号“=”连起来。
(1)“与”运算(Logic Multiplication) • 又叫“逻辑乘”或“逻辑与” • 符号为 “·” 或者 “∧” • A=1, B=1 则 A·B=1 • A=0, B=0 则 A·B=0 • A=1, B=0则 A·B=0 • A=0, B=1 则 A·B=0
(2)“或”运算(Logic Addition) • 又叫“逻辑加”或“逻辑和” 符号为 “+” 或者 “∨”,=表示其两边相等(以下同) • A=1, B=0 则 A+B=1 • A=0, B=1 则 A+B=1 • A=1, B=1 则 A+B=1 • A=0, B=0 则 A+B=0
3. 三个逻辑运算规则 • 逻辑代数还有一些运算规律,包括如下。 • (1) 代入规则 任何一个含有A的等式,如果将所有出现A的位置都代之以同一个逻辑函数F,则此等式仍然成立。 • F=B+D • A+C ∧ A = F + C ∧ F • =( B+D)+ C ∧ (B+D)
(2) 反演规则 它是反演律的推广。设A为一个逻辑函数表达式,如果把A中所有“·”变成“+”,“+”变成“·”,“1”变成“0”,“0”变成“1”,原变量变成反变量,反变量变成原变量,则得到新的函数表达式就是A非。
(3) 对偶规则 设A为一个逻辑函数表达式,如果把A中所有“· ”变成“+”,“+”变成“· ”,“1”变成“0”,“0”变成“1”,而变量保持不变,则得到新的函数表达式是A’ , A’是A的对偶。
2.1.2 逻辑函数的相等 • 1 真值表方法:以表格的形式列出函数的所有可能取值,如果两个函数真值表相同,则函数相等。 • 例如F1=A+ĀB, F2=A+B ,F1=F2吗?
2.1.3 逻辑函数的化简方法 • 香农1838年首先利用布尔代数分析了继电器开关线路,发现利用布尔代数可以在逻辑功能不变的情况下简化电路结构,提高系统的稳定性。他的结论是,凡是能用逻辑函数表示的数字系统都可以通过逻辑代数化简方法来设计、验证该系统是否是最简单系统。
1逻辑代数化简方法 • 利用各种定律、规则可以对逻辑表达式化简,从而使表达式包括的项数和变量达到最少。例如: • 但由于化简方法不同,可能结果不同,不易确定那种结果是最理想的结果。
2 卡诺图法 • 在变量较少,6个变量以内,利用卡诺图化简函数比较方便,其结果一定是最简单表达式。此法不需要什么技巧,只要按照规则,细心去做就可成功。 • (1) 卡诺图规则 • “积之和”表达式 表达式由若干项之和组成,其中每项由n个变量(包括它们的原变量或反变量)之积组成。积之和表达式也称SP(Sum of Product)形式表达式。
如果积的各项中,所有变量都以原变量或反变量形式出现,且仅出现一次,称该项为最小项。本例中,前三个项是最小项,后两个项不是最小项。SP形式表达式中最多有2的n次方个最小项(此例N=3)。如果积的各项中,所有变量都以原变量或反变量形式出现,且仅出现一次,称该项为最小项。本例中,前三个项是最小项,后两个项不是最小项。SP形式表达式中最多有2的n次方个最小项(此例N=3)。 定理:任何一个函数都可展开成最小项之和.
(2) 图解法 • 1)用方格表示展开项从上面的定理知道,具有n个变量中的任何一个逻辑函数,都可以展开成一组最小项的和,最多有2n项。 • 因此可以把一个平面表格,分成2n个小方格,用方格来表示可能展开的全部最小项。为了清楚,如果某最小项的逻辑值为0,方格中写0或不写任何符号,某最小项的逻辑值为1, 方格中写1。下图表示卡诺图与真值表的对应关系。
同理,如果表达式中有3个变量,例如A、B、C,则用2×4(或4×2)个方格阵列存放函数值。同理,如果表达式中有3个变量,例如A、B、C,则用2×4(或4×2)个方格阵列存放函数值。
类推,有4个变量,例如A、B、C、D,则用4×4个方格阵列存放每个项。当变量多余6时,由于结果方格阵列表示得过于复杂,不直观,不适于使用卡诺图。类推,有4个变量,例如A、B、C、D,则用4×4个方格阵列存放每个项。当变量多余6时,由于结果方格阵列表示得过于复杂,不直观,不适于使用卡诺图。
注:变量积中的变量名称的排列顺序可以任意,但要在各项中保持一致,一般按英文字母顺序,从左到右,便于操作。注:变量积中的变量名称的排列顺序可以任意,但要在各项中保持一致,一般按英文字母顺序,从左到右,便于操作。
2)卡诺图的编号 • 为了图解时直观,任意一个小方格的编号用n位二进制数表示,其与相邻小方格的编号仅有1位不同(即采用循环码编号)。注意:01与10是2位变化,不相邻。00与10是1位变化,相邻。
2)卡诺图的编号 • 00与10是1位变化,根据这个规定下图0号(000)与4号(100),1号(001)与5号(101)相邻的位置。
3)方格中的内容 方格内容只能是0或1,它是函数项的各变量的积值。方格中各变量取值对应它的编号各位的值。
4)小方格相邻 • 由于规定相邻的小方格的二进制编号只能有一位有变化。因此从卡诺图上看,有下列情况表示方格在逻辑上是相邻的: • 行、列紧挨着的方格为相邻; • 每行(列)的两端的方格为相邻; • 用两个4x4的表格表示5个变量的卡诺图,则两个表格之间对应位置的小方格也相邻。
判断两个方格是否在逻辑上相邻的标准:两方格的二进制编号只有1位不同。判断两个方格是否在逻辑上相邻的标准:两方格的二进制编号只有1位不同。 • 编号采用循环编码可以如上所示,直观判断相邻。
(3)卡诺图化简规则 • 在卡诺图上,当内容相同(都为1或0)的方格有相邻情况时 ,表示可合并表达式项。合并规则是: • 1)若有取值相同的两个方格相邻,可以合并成一项,合并后可消去一个相异的变量,保留相同的因子。
(3)卡诺图化简规则 • 2)若有取值相同的四个方格相邻,可以合并成一项,合并后可消去两个相异的变量,保留相同的因子。 • 3)若有取值相同的八个方格相邻,可以合并成一项,合并后可消去三个相异的变量,保留相同的因子。
(4)用卡诺图化简逻辑函数方法 • 化简目标: • 表达式中乘积项的个数最少; • 每个乘积项中变量个数最少。 • 方法: • 1)在卡诺图中,依次查找方格内容相同(为1或0)的,2相邻、4相邻、8相邻的方格(方格可重复使用);
2) 消去相异变量,没有相邻的方格保留其因子; • 3)用+号把各乘积项连起来,就是化简结果。 • 例如:化简F函数
1)画出F的卡诺图 • 2)合并1,9方格。即1和9方格中包括A和A非,去掉此因子,剩下 ; • 3)合并4,6方格。即4和6方格中包括C和C非,去掉此因子,剩下 ;
(4)合并2,6方格。即2和6方格中包括B和B非,去掉此因子,剩下 ; • (5)简化的结果是:把三个乘积用加号连起来的表达式。 • 比原来的函数少了2项,每项中少了1个因子。
结论 • 如果某积之和函数有n个变量(n<=6),用卡诺图化简后,最多包括2的n次方个乘积项相加,每个子项最多包括n个因子(原或反变量)。 • 多余6个变量的函数不适合使用卡诺图化简。
练习:用卡诺图化简函数 1、画出卡诺图 2、合并最小项 3、选用乘积项来表示函数(项数最少,变量最少)
2.2数字电路 • 1840年,香农在AT&T贝尔实验室用实验证实,完全可以采用继电器元件制造出能够实现布尔代数运算功能的计算机。可惜的是,德·福雷斯特1906年才发明真空三极管,否则现代电子计算机第一发明人非香农莫属。 • 如今,计算机使用的开关早已由电子管、晶体管发展成各种集成电路了,但是其基本原理仍是数字逻辑。
2.2.1半导体与集成电路 • 常态下,铜、铁等金属很容易导电,称为导体;玻璃、橡胶等非金属不导电,称为绝缘体。还有一些导电性能介于导体与绝缘体之间的物质,例如单晶硅(纯度很高的硅)称为半导体。 • 如果在半导体中加入一些杂质,例如在单晶硅中加入少量的硼,就会在单晶硅中增加许多可以导电的空穴,形成P型半导体;或者在单晶硅中加入少量的磷,就会在单晶硅中增加许多自由电子,形成N型半导体,这两种形式都可以使单晶硅的导电特性得到很大改善。
如果采取某种措施,把一块半导体分成P型半导体和N型半导体两部分,就会在交界处形成PN结,在PN结的两端加上不同方向的电压,就可以控制PN结之间是否可通过电流,根据这原理可以制成独立的二极管、三极管。晶体管的导电原理与电子管的不同,它不需要加热,因此工作时耗电少、发热少,可以缩小产品体积。如果采取某种措施,把一块半导体分成P型半导体和N型半导体两部分,就会在交界处形成PN结,在PN结的两端加上不同方向的电压,就可以控制PN结之间是否可通过电流,根据这原理可以制成独立的二极管、三极管。晶体管的导电原理与电子管的不同,它不需要加热,因此工作时耗电少、发热少,可以缩小产品体积。
集成电路是在同一块硅片上,制成主要由二级管、三极管、导线等组成的电子线路。集成电路是在同一块硅片上,制成主要由二级管、三极管、导线等组成的电子线路。 • 美国德克萨斯仪器公司的研究人员基尔比(J. Kilby)1959年2月6日首创集成电路,在不超过4平方毫米的面积上,大约集成了20余个元件。1964年摩尔预言,集成电路上能被集成的晶体管数目,将会以每18个月翻一番的速度稳定增长,并在今后数十年内保持着这种势头。集成电路发展的历史证明他的预言是正确的。
2.2.2 基本门电路 • 基本门电路可以用二极管或三极管加上一些辅助电阻元件组成。
1 与门 • 二极管与门电路及逻辑符号
2 或门 • 二极管或门电路及逻辑符号
3 非门 • 三极管非门电路及逻辑符号