《数字逻辑第1章概论.ppt》由会员分享,可在线阅读,更多相关《数字逻辑第1章概论.ppt(61页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第1章 数字逻辑概论1.1 概述1.2 数制系统1.3 有符号二进制数的编码表示1.4 二进制编码1.5 本章小结1.6 习题数字系统的发展简史第一次变革发生在以加工制造为主导的IC产业发展的初级阶段。第二次变革的标志是代加工公司与IC设计公司的崛起。第三次变革发生在20世纪90年代初,1.1.2 数字系统1.数字信号平时所使用的数字信号是二值信号,即只有“0”和“1”两种状态的信号。数字信号具有以下特点:(1)抗干扰能力强、无噪声积累。(2)便于加密处理。(3)便于存储、处理和交换。(4)设备便于集成化、微型化。(5)占用信道频带较宽2.数字系统处理模拟信号的系统是模拟系统,处理数字信号的是
2、数字系统。数字系统具有如下几个优点:(1)数字系统具有较小的误差,有较强的稳定性、可靠性和抗干扰能力。(2)数字系统具有更高的精确性。(3)数字系统不但适用于数值性信息的处理,而且适用于非数值性信息的处理,而模拟系统只能处理数值型信息。(4)数字系统处理信息可将一项大任务划分为多项独立的子任务,并且这些子任务能被按顺序分别完成,这样可以形成模块化和成本较低的系统。(5)数字系统处理信息可以采用通用的信息处理系统(比如计算机)来处理不同的任务,从而减少专门系统的成本。3.数字系统的层次结构第5级第4级第3级第2级第1级VLSI级MSI、LSI级SSI级元件级复杂系统、从第2级到第4级的功能部件功
3、能逻辑单元,如加法器,计数器,乘法器更复杂的功能逻辑单元,如微处理器功能逻辑单元,如门,触发器等电子元件,如晶体管,二极管,电阻,电容1.1.3 模拟信号的数字化处理(1)把模拟信号数字化,即模数转换(A/D),将原始的模拟信号转换为时间离散和值离散的数字信号;(2)进行数字方式处理、传输;(3)把数字信号还原为模拟信号,即数模转换(D/A)。1.2.1 数制的基本概念1.1.数数码:数制中表示基本数值大小的不同数字符号。例如,十进制有10个数码:0、1、2、3、4、5、6、7、8、9。2.2.基数:基数:数制所使用数码的个数。例如,二进制的基数为2;十进制的基数为10。3.3.位位权:数制中
4、某一位上的1所表示数值的大小(所处位置的价值)。例如,十进制的123,1的位权是100,2的位权是10,3的位权是1。4.4.数制:数制:计数的规则。在人们使用最多的进位计数制中,表示数的符号在不同的位置上时所代表的数的值是不同的。5.5.十十进制制:人们日常生活中最熟悉的进位计数制。在十进制中,数用0,1,2,3,4,5,6,7,8,9这十个符号来描述。计数规则是逢十进一。6.6.二二进制制:在计算机系统中采用的进位计数制。在二进制中,数用0和1两个符号来描述。计数规则是逢二进一。7.7.十六十六进制制:人们在计算机指令代码和数据的书写中经常使用的数制。在十六进制中,数用0,1,9和A,B,
5、,F(或a,b,f)16符号来描述。计数规则是逢十六进一。1.2.2 进位计数制(前导课程已学,回顾)1.十进制计数制2.二进制计数制3.八进制计数制和十六进制计数制1.2.3 数制转换(前导课程已学,回顾)1.二进制数、八进制数和十六进制数转换为十进制数2.十进制数转换为二进制数3.二进制、八进制和十六进制之间的转换【例1】将十进制数(2001.9)10写成权表示的形式。解解:(20019)102103+0102+0101+1100+910-1【例2】将二进制数(1101.101)2写成权表示的形式。解解:(1101.101)2=123+122+021+120+12-1+02-2+12-3【
6、例3】将八进制数(67.731)8写成权表示的形式。解解:(67.731)8=681+780+78-1+38-2+18-3【例4】将十六进制数(8AE6)16写成权表示的形式。解解:(8AE6)16=8163+A162+E161+6160【例5】分别将二进制数(11010.101)2和十六进制数(B6F.C)16转换为十进制数。解解:(11010.101)2=124+123+022+121+020+12-1+02-2+12-3=16+8+0+2+0+0.5+0+0.125=(26.625)10 (B6F.C)16=11162+6161+15160+1216-1=2816+96+15+0.75=
7、(2927.75)10【例7】把二进制数(1010101111.00101)2转换成对应的八进制和十六进制数。解解:(1010101111.00101)2(1257.12)8=(2AF.28)16。【例6】将十进制数(25.638)10转换为二进制数。解解:按照前面介绍的将十进制数转换为二进制数的方法,需将(25.638)10分解为整数部分(25)10和小数部分(0.638)10分别进行转换,最后将二者的转换结果合并即可。(1)整数部分转换,除2取余法;所以(25)10=(11001)2。2 51 263102222210101(2)小数部分转换,乘2取整法;所以(0.628)10=(0.10
8、10)2。综合(1)、(2),则有(25.638)10=(11001.1010)2。需要说明一点:小数部分转换时,其乘积结果往往不能达到0,所以转换值存在一定的误差。一般在二进制小数的位数已达到要求的精度时,便可结束乘2的运算。1.2.4 二进制算术运算十进制数运算规则已知二进制数运算规则如下:加法规则 0 0=0 0 1=1 1 0=1 1 1=0(进位是1)减法规则 0 0=0 1 0=1 1 1=0 0 1=1(借位是2)乘法规则 0 0=0 1 0=0 0 1=0 1 1=1除法规则 0 1=0 1 1=1十六进制数运算规则自行推导 术语:1、真值:二进制数值前用“”、“”符号表示二进
9、制数负数和正数。这种表示的二进制数的方法,称为符号数的真值,简称真值。2、机器数:将真值的符号部分数字化以及真值的数值部分采用编码表示,称为机器数。真值的符号部分在机器数中称为符号位,真值的数值部分在机器数中称为尾数。机器数有3三种形式,它们是原码、补码和反码。1.3.1 原码采用原码表示有符号的二进制数时,符号位部分用“0”表示二进制正数,用“1”表示二进制负数。尾数部分与真值的数值部分相同。因此采用原码的形式表示二进制数时,仅是二进制数的数符数字化。采用原码形式表示有符号二进制数的二进制数物理实现简单。但是,在数字系统中采用原码在数字系统中运算不方便。这是因为,当两二个原码进行加法或者减法
10、运算时,需要根据两二个原码的数符号位“0”或者“1”来决定是做作加法运算还是作减法运算。如果是做作减法运算,还需要根据尾数的绝对值确定哪一个作为被减数,和哪一个作为减数,并还要确定运算结果的符号位是“0”还是“1”号。这些会增添数字系统中运算的复杂性。1.3.2反码采用反码表示有符号的二进制数时,符号位部分别用“0”表示二进制正数,用“1”表示二进制负数。反码的尾数部分与符号位有关;符号位是“0”时,尾数同真值的数值部分相同;符号位是“1”时,尾数是把真值的数值部分各位取反。1.2.3 补码 采用补码表示有符号的二进制数时,数符号位用“0”表示二进制正数,用“1”表示二进制负数。补码的尾数部分
11、与数符号位有关。数符号位数符号位是是“0”0”时,尾数同真,尾数同真值的数的数值部分相同。部分相同。数符号位是数符号位是“1”1”时,尾数是部分,尾数是部分把真把真值的数的数值各位取反,然后在尾数的最低位上加各位取反,然后在尾数的最低位上加1 1。1.3.4 使用补码进行二进制算术运算带符号数的加法和减法将产生八种互不相同的运算。每个操作数(X和Y)即可是正的也可是负的,且运算即可是加法也可是减法。运运 算算加加 法法减减 法法XYXYXYXYX=YX=Y(+X)+(+Y)(+X)+(+Y)+(X+Y)+(X+Y)(+X)+(-Y)(+X)+(-Y)+(X-Y)+(X-Y)-(Y-X)-(Y-
12、X)0 0(-X)+(+Y)(-X)+(+Y)-(X-Y)-(X-Y)+(Y-X)+(Y-X)0 0(-X)+(-Y)(-X)+(-Y)-(X+Y)-(X+Y)(+X)-(+Y)(+X)-(+Y)+(X-Y)+(X-Y)-(Y-X)-(Y-X)0 0(+X)-(-Y)(+X)-(-Y)+(X+Y)+(X+Y)(-X)-(+Y)(-X)-(+Y)-(X+Y)-(X+Y)(+X)-(-Y)(+X)-(-Y)-(X-Y)-(X-Y)+(Y-X)+(Y-X)0 0表1-2 带符号数的加减法该例中两个负数相加结果为正数,结果出错。这是由于没有足够多的位存储结果而导致溢出。将数的大小用5位数值表示,重新计
13、算该问题。当两个正数相加得到一个负数或者两个负数相加得到一个正数时,都说明当两个正数相加得到一个负数或者两个负数相加得到一个正数时,都说明产生了溢出。产生了溢出。使用以使用以2为基的补码进行减法运算时,先把它转换成对应的加法运算,再为基的补码进行减法运算时,先把它转换成对应的加法运算,再进行计算。进行计算。自然二进制编码的十进制 在数字系统中除了采用机器数表示二进制数以外,有时需要用若干位二进制数表示一位十进制数,以便能在数字系统中表示和使用十进制数,适应处理十进制数的需要。目前通常使用四位二进制数对十进制数的每一个数符进行编码,称为二十进制编码,简称BCD码。下面介绍3种BCD码。BCDBC
14、D码:码:十进制数的代码表示。具有二进制形式,却有十进制数的特点。是一种以二进制形式编码的十进制数码(Binary Coded Decimals)。表表1-3 十进制转换成自然十进制转换成自然BCD码码十进制数十进制数BCDBCD码码0 01 12 23 34 45 56 67 78 89 9000000000001000100100010001100110100010001010101011001100111011110001000100110011.4.2(加权、自补)二进制编码(1)8421 BCD码 8421 BCD码是将每个十进制数的数符用四位二进制数表示,即用00001001这10
15、个不同的四位二进制数分别表示十进制数的09这10个数符。在8421 BCD码中,每一位二进制数符从左到右的位权分别是23、22、21、20。因此,8421 BCD码称为有权码。例如,写出十进制数238的8421 BCD码。23810 0010 0011 1000(8421 BCD码)例如,写出1001 0100 0001(8421 BCD码)的十进制数。1001 0100 0001(8421 BCD码)94110 在8421 BCD码中不使用、不允许出现10101111这6六个编二进制数的组合码。(2)2421 BCD码 2421 BCD码是将每个十进制数的的数符用四位二进制数表示,即用000
16、00100、10111111这10个不同的四位二进制数分别表示十进制数的09这10个数符。2421 BCD码中每一位数符从左到右的位权分别是21、22、21、20,因此,2421 BCD码也是一种有权码。例如,写出十进制数258的2421 BCD码。25810(0010 1011 1110(2421 BCD码)例如,写出0011 1100 1111 2421BCD码的十进制数。0011 1100 1111(2421 BCD码)36910 在2421 BCD码中不允许出现01011010这六个编码,这也是因为在十进制数中没有数符同这六个编码对应。另外,2421 BCD码也称为“自反编码”,即把某
17、个十进制数符的2421 BCD码各位取反,便是另一个十进制数符的2421 BCD码。例如,2421 BCD码“0100”是表示十进制数符“4”。将它的各位求反得“1011”,它是十进制数符“5”的2421 BCD码。另外,“5”可以通过:5 9-4 得到。因此,2421 BCD码也称为“对9的自补编码”。1.4.3 余3 BCD码余3 BCD码是在8421 BCD码的每一个四位二进制数编码加上“0011”构成。余3 BCD码是一种无位无位权的编码。例如,写出十进制数258的余3 BCD码。258100101 1000 1011(余3 BCD码)写出1000 1001 0111(余3 BCD码)
18、的十进制数。1000 1001 0111(余3 BCD码)56410 余3 BCD编码也是一种“对9的自补”编码。余3 BCD码中不使用00000010、11011111这6个二进制数的组合。使用余3 BCD码可以进行加法运算即使用十进制数运算。只是注意,由于每一位十进制数符的余3 BCD码编码多“0011”,两个余3 BCD码相加的和就多了0110。因此,使用余3 BCD码进行加法运算时,需要对产生的和产生和要进行调整,使结果也是余3 BCD码。调整的方法:1)如果没有进位产生,加法运算后的和也不是余3 BCD码,这时需要在和中减去“0011”进行调整。2)如果两个余3 BCD码进行加法运算
19、后产生进位,则加法运算后的和就不是余3 BCD码了,这时需要在和中加上“0011”进行调整;十进制数十进制数8421 BCD8421 BCD码码 2421 BCD2421 BCD码码 余余3 BCD码码0 01 12 23 34 45 56 67 78 89 90000000000010001001000100011001101000100010101010110011001110111100010001001100100000000000100010010001000110011010001001011101111001100110111011110111011111111001100110
20、10001000101010101100110011101111000100010011001101010101011101111001100表表1-4 1-4 十进制数对应的十进制数对应的3 3种种BCDBCD编码编码奇偶校验码奇偶校验码是在计算机中广泛使用的可靠性编码。奇偶校验码是由信息位加上一个校验位组构成。信息位是数字系统中传输数据的通路。校验位是为了产生信息位的校验码而设置的一位数据通路。校验位上的校验码是“0”或者是“1”,它与信息位中“0”的个数和“1”的个数有关。如果信息位和校验位中“1”“的个数为奇数,称为奇校验码。这个校验位称奇校验位。如果信息位和校验位中“1”“的个数为偶
21、数,称为偶校验码。这个校验位称偶校验位。在数字系统中,如果使用奇校验码,则称数字系统使用为奇校验。同理称为偶校验。数字系统可以采用奇校验也可以采用偶校验。不管使用那一种校验方式,需要有一个校验位形成电路,它的输出是校验位,一般校验位用P表示。奇偶校验检测电路,如图1-3所示。在后面的学习中,我们学习设计校验位P产生电路。格雷码由若干位二进制数数符组成的编码中,任意两个相邻的编码仅有一位二进制数符不同,具有这种特性的编码称为格雷码。可以将一个二进制数编制为格雷码。也可以将BCD码够进行编制为格雷码。格雷码的特点:一是,相邻的两个数符之间仅有一位不同。二是,它所代表的数符在加1时没有中间的过程出现
22、。例如:“7”的8421 BCD码的格雷码是“0100”,“7”加1是“8”,“8”的8421 BCD码的格雷码是“1100”。在格雷码中运算7加1等于8,仅仅是把“0100”最左边的二进制数符“0”改为“1”,使之成为“1100”即可。其他的 每一个8421 BCD码的格雷码数符加1,同样是仅仅是改变格雷码中一位二进制数符。其它的编码,例如:8421 BCD码、余3码、2421 BCD码不满足相邻的两个数符与之间仅有一位数符不同的特点。例如,“7”的一位8421 BCD码“7”是“0111”,“0111”它加增1以后是“1000”,他是“8”的8421 BCD码。8421 BCD码在运算7加
23、1等于8的过程中,四位二进制数符在从“0111”变化到“1000”时,四位二进制数符都会发生变化。如下所示。译码器加1计数器逻辑电路 尽管最终的结果是1000。,但是加1在的过程中,在其t0,t1,t2时刻产生了三个0110、0100和0000的中间结果过程。另外,在加1运算中,四位二进制数的每一个数符都会发生了变化。这种现象在数字系统中这种现象是不允许的。使用格雷码就就可以避免以上现象中间过程的出现。汉明校验码奇偶校验码只能检测到一位出错,不能定位出错的是哪一位数符。如果能够定位出错数符的位置,数字系统就可以自动进行校正处理。汉明校验码是一种具有定位出错数符位置能力的一种编码。在这里首先介绍
24、在一个编码中能够检测出错的条件是什么,然后介绍汉明校验码的结构,以及它为什么有定位出错数符位置的能力。引入以下几个基本概念。码字:表示一个数(或字符)的若干位二进制编码称为一个码字。例如:8421 BCD码中的,“0011”、“1000”。码元:码字中的一位二进制数符。“0011”中的“第1位”0“;码组:满足一定规则的码字的集合。8421 BCD码中的全部10个编码是一个码组。最小码距:在一个码组中任何码字之间不同码元的最小个数 以8421 BCD码为例,00001001称为一个码组。其中的每一个8421 BCD码是该码组中的一个码字。例如,0000,0001,1001总共十个码字。每个码字
25、中的一位二进制数符称为一个码元。两个码字之间不同的码元的个数称为码距。8421 BCD码的最小码距为1,例如0000与0001。最大的码距为4,例如0111与1000。8421 BCD码没有定位出错的能力。其原因是由于它最小码距为1。也就是说,当8421 BCD在传输过程中有一个码元出错时,所产生的错误的码字可能仍为8421 BCD码中的一个合法的码字。例如,发送端的8421 BCD码为“0101”,在传输过程中如果最右边的一位出错,接收端接收的是“0100”。由于0100是8421 BCD码中的一个合法编码,校验系统无法判断“0100”是由“0101”出错形成的还是传输前就是“0100”。8
26、421 BCD码的奇校验或偶校验的最小码距为2,因此它有检测一位数符出错的能力。例如,8421 BCD码的奇校验码“01011”在传输过程中变成“01001”,因为“01001”不是原来码组中的一个码字。因此,8421 BCD码的奇校验码可以检测出错。汉明校验码是按照码距至少为3的原则设计的。下面用8421 BCD码构成汉明校验码为例,说明汉明码的构成和能够定位出错的原理。位序1.4.7 字符编码如前所述,数字系统除了处理二进制数编码外,还要处理英文大写、小写字母、各种运算符号以及其他的特殊符号,这些符号称为字符。为了在数字系统中能够存储和处理这些字符,采用二进制数对每一个字符进行编码,称为字符编码。字符编码有多种,目前在计算机中普遍使用的是美国信息交换标准码,简称ASCII(American Standard Code for Information Interchange)码。ASCII码使用七位二进制数对字符进行编码,总共能够表示128个字符。在计算机中用一个字节(八位二进制数)长度来表示一个字符的ASCII。ASCII码的最左边加一位作为奇校验位或者偶校验位。ASCII编码见附录A所示。