版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2.1 微处理机的数据表达,*所有微机都是以二进制形式算术运算和逻辑操作的。,五行八卦中的32卦,2.1 进位计数制,十进制、二进制、八进制和十六进制采用的都是进位计数制,进位计数制中用少量数码按次序排列成数位,并按由低到高的进位方式进行计数。 基数和权是进位计数制的两个基本要素。 基数是进位计数制中所用数码的个数,基数为r的进位计数制中需要r个数码,每个数位计满r就向高位进一,即逢r进一。 在进位计数制表示的数中,同一数字处在不同位置表示不同的值,它所表示的值是该数字乘以一个由它所处位置所决定的常数,这一常数就是该数位所具有的权。r进制数各位的权是以r为底的幂。,一、十进制数,具有十个不同的
2、数字符号,即09,逢十进一;基数为10;权为10的N次方。 N为正表示为整数部分,N为负表示为小数部分。,特点,一个十进数可以用它的按权展开式表示。,(758.75)10=7102+5101+8100+710-1+ 510-2,二、二进制数,一个二进制数可以用它的按权展开式表示。,(10110.101)2=124+023+122+121+020 +12-1+02-2 +12-3 =(22.625)10,具有两个不同的数字符号,即0和1,逢二进一;基数为2,权为2的N次方。,特点,在微机中采用二进制的原因,二进制只有0,1两个数字;因此用晶体管的导通和截止、脉冲的高电平和低电平,很容易实现这两种
3、状态。 此外二进制运算简单,便于电子线路的实现. B=0V 三极管导通 B=VCC 三极管截止,比如,微机中RS232口线电平,是 -12V 称为“1” +12V称为“0” 或理解成: 经RS232输出的数字“1”,会产生-12V电压。 经RS232输出的数字“0”,会产生+12V电压。,二进制中的“0”和“1”是对两种不同状态的区别,是对两种状态的记录,没有中间状态。至于哪种状态称为“0”,哪种状态称为“1”。可以按某种约定而命名。,(1AF.4)16 =1162 +10161 +15160 +416-1 =(430.25)10,一个十六进制数可以用它的按权展开式表示。,具有十六个不同的数字
4、符号,即0-9和A-F,逢十六进一;基数为16;权为16的N次方。,特点,三、十六进制数,任何一个r进制数N可以表示为:,若r=10,则十进制数,其各位的权是以10为底的幂; 若r=2,则是二进制数,其各位的权是以2为底的幂; 若r=8,则是八进制数,其各位的权是以8为底的幂,八进制中共有八个数码:0、1、2、3、4、5、6、7; 若r=16,则是十六进制数,其各位的权是以16为底的幂,十六进制中共有16个数码:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。,常见的标识方法有两种: 1、用括号后加数字下标, 如 (11)2 (11) 10 (11) 16 2、用英文字母加在被
5、标记数的后面,B、O、D (通常省略) 、H分别表示该数为二进制、八进制、十进制和十六进制。 如 11D 11B 11H. 前者机器难以识别,一般用于书写;后者有利于机器识别,常用,由于有不同数制数的存在,书写时必须给出标识! 若不标出标记将会形成混淆而无法分清。如:书写 11 若不指明,就要引起混淆(主要是汇编时形成混淆) 若为十进制,想表示的是十进制数 11 若为二进制,想表示的是十进制数 3 若为十六进制,想表示的是十进制数 17,写程序时,同样也必须注意指令的书写和输入,否则很容易产生错误。 如,指令 MOV A,#11 汇编成机器码后,会是 74 0B 而指令书写成 MOV A,#1
6、1H 汇编成机器码后,将是 74 11 所谓机器码是指提供给相应微机识别的二进制代码.,三种数制对照表,可见四位二进制数可用一位十六进制数代表; 一位十六进制数,可扩展为四位二进制数,如: 0011 1111 3F 1010 0101 A5 1 0101 0001 1110 1011 0011 1100 151EB3C 1234 0001 0010 0011 0100 A4B2 1010 0100 1011 0010,采用十六进制的合理解释:仅仅用来减轻阅读 二进制的负担和书写二进制时的麻烦。 在微机中并没有按十六进制研制电子线路.,一、r进制数转换为十进制数,按照公式展开求和,【例】分别把二
7、进制数1011.01和十六进制数F0.C用 十进制表示。,2.2 各类计数制的相互转换,二、十进制数转换为r进制数,整数部分和小数部分分别进行转换,整数部分的转换步骤: 把r写成十进制数; 将N除以r,记录商和余数,并用r进制表示余数,这余数便是用r进制表示的数的最低位数字; 把上次的商进行中所述除以r取余的运算,用r进制表示余数;重复这种运算直到商为0,这时的余数即为十进制数N用r进制表示时的最高位数字。,小数部分的转换步骤: 把r写成十进制数; 将N乘以r,记录积的整数部分和小数部分,并用r进制表示整数部分,该整数即为转换后r进制小数的最高位; 把上次积的小数部分进行中所述乘以r取整的运算
8、,用r进制表示积的整数部分;重复这种运算直到积的小数部分为0,或者达到所要求的位数,这时的整数部分即为十进制数N转换成r进制小数的最低位。,注意,整数部分转换,每次只求整数商,将余数作为转换结果的一位,重复对整数商除基数,一直除到商为0为止。 小数部分转换,每次把乘积的整数取走作为转换结果的一位,对剩下的小数继续进行乘法运算。对某些数可以乘到积的小数为0(如上述两例),这种转换结果是精确的;对某些数(如0.3)永远不能乘到积的小数为0,这时要根据精度要求,取适当的结果位数即可,这种转换结果是不精确的。,【例】 十进制数22.625转换为二进制数,22,2,11,2,余0(低位),5,2,余1,
9、2,2,余1,1,2,余0,0,余1(高位),0.625 2 1 .25 取整数1(高位) 2 0 .5 取整数0 2 1 .0 取整数0(低位),(0.625)10=(0.101)2,所以:(22)10=(10110)2,整数部分:,小数部分:,结果:(22.625)10=(10110.101)2,【例】 十进制数430.25转换为十六进制数,430,16,26,16,余14E(低位),1,16,余10A,余1(高位),整数部分:,0,小数部分:,0. 2 5 1 6 4 . 0 取整数4,结果:(430.25)10=(1AE.4)16,三、二进制与八进制、十六进制的相互转换,(1)二进制转
10、换成十六进制 从小数点位置开始,整数部分向左,小数部分向右,每四位二进制数为一组用一位十六进制的数字来表示,不足四位的用0补足,就是相应十六进制的表示。 (2)二进制转换成八进制 从小数点位置开始,整数部分向左,小数部分向右,每三位二进制数为一组用一位八进制的数字来表示,不足三位的用0补足,就是相应八进制的表示。,【例】把二进制1011011010111.11101用十六进制表示; 把八进制数62.31用二进制表示。,【例】十六进制数 1 A E 4,0001 1010 1110 0100,即(1AE.4)16=(110101110.01)2,【例】二进制数 110101110.01,0001
11、 1010 1110 . 0100,十六进制数 1 A E . 4,即(110101110.01)2=(1AE.4)16,四、二进制数的算术运算,【例】 10100+1101=100001 【例】 100001-10100=1101 1 0 1 0 0 1 0 0 0 0 1 + 1 1 0 1 - 1 1 0 1 0 1 0 0 0 0 1 1 1 0 1,【例】 11011011=10001111 【例】 11100101=10111 1 1 0 1 1 0 1 商 1 0 1 1 1 1 1 0 0 1 1 0 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 0 1 0 1
12、+ 1 1 0 1 1 1 余数 1 0 0 0 1 1 1 1,五、二进制数的逻辑运算,【例】 NOT 10100101 【例】10100101 XOR 10001011 =01011010 =00101110 1 0 1 0 0 1 0 1 NOT 1 0 1 0 0 1 0 1 XOR 1 0 0 0 1 0 1 1 0 1 0 1 1 0 1 0 0 0 1 0 1 1 1 0,【例】10100101 AND 10001011 【例】10100101 OR 10001011 =10000001 =10101111 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 AND
13、1 0 0 0 1 0 1 1 OR 1 0 0 0 1 0 1 1 1 0 0 0 0 0 0 1 1 0 1 0 1 1 1 1,2.3 数值数据的表示,在字长为8位的微机中,若处理的是无符号数,一个数可以 用8位二进制数表示.其数值范围为 00HFFH (0-255D) 换言之,8位二进制数可代表256种状态. 但如何表示一个有符号数,或者说如何表示负数, 习惯上认为有三种方法,即原码 反码 补码. 在对有符号数的表示方法上,必然有一位用于表示符号,这一位称之为符号位.通常规定为最高位. 当最高位为“1”时,表示该数值为负 当最高位为“0”时,表示该数值为正,一、符号数的表示,把二进制数
14、的最高一位定义为符号位,符号位为0表示正数,符号位为1表示负数。 这种在计算机中使用的、连同符号位一起数值化了的数,称为机器数。机器数所表示的真实的数值,称为真值。 对于符号数,机器数常用的表示方法有原码、反码和补码三种。数X的原码记作X原,反码记作X反,补码记作X补。,*对于有符号数中的正数,原码 反码 补码的表示值是相同的. 原码 反码 补码 +2 00000010 00000010 00000010 *对于有符号数中的负数,原码 反码 补码的表示值是不相同的. 原码 反码 补码 -2 10000010 11111101 11111110 反码是取反; 补码是取反加1 *当进行有符号数运算
15、时,要通过判断最高位的值来 确定该字节值是正数,还是负数.,1.原码,最高位表示符号,正数的符号位用0表示,负数的符号位用1表示,数值位用二进制绝对值表示。这种方法称为原码表示法。原码的定义为: 若X+0 则X原=X 若X-0 则X原= 2n-1 X 其中n为原码的位数。 +124原=01111100, -124原=11111100。,当一个带符号数用反码表示时,最高位为符号位。, “0”有两种表示方法:+0反=00000000,-0反=11111111, 8位二进制反码真值范围为-127+127;16位反码真值范围为-32767+32767。反码表示对计算机的结构有特殊要求,现在很少采用。,
16、特点,若X+0,则X反=X,若X-0,则X反= 2n +X-1,其中n为反码的位数。,正数的反码与原码相同。负数的原码符号位保持不变,其余位取反就是机器数的另一种表示方法,反码表示法。,2.反码,-4反=11111011,-31反=11100000。,在钟表上,指针正拨12小时或倒拨12小时,其时间 值是相等的,即在钟表上X+12=X-12(mod 12)。 一个计数系统,某数加或减其模,结果不变。,模的概念,补码的引入,对于n位二进制数,其计数范围为0( 2n-1),在该计数器上加2n或减2n结果是不变的,我们称2n为n位计数系统的模。对钟表来说,它的模为12。,在钟表上,如果现在时间是6点
17、整,而钟表却指着8点整,快了2小时,校准的方法是正拨10小时或倒拨2小时,结果都正确,即:8+10=6(mod 12)顺拨 ,8-2=6(mod 12) 倒拨。,3.补码,+3补=+3原=+3反=00000011 -3补=-3反+1=11111100+1=11111101 +0补=+0原=+0反=00000000 -0补=-0反+1=11111111+1=10000000,补码的定义与求法,对n位二进制数,模为2n , 若X0,则X补=(2in +X)MOD 2n=X,即正数的补码为原正数不变; 若X0,则X补=(2in +X) MOD 2n = 2n -1+X+1=X反+1,即负数的 补码等
18、于负数的反码加1,也就是等于负数原码除符号位外求反加1。,【例】,补码加减法的运算规则 XY补=X补+Y 补 其中X,Y为正负数均可,符号位参与运算。,模(module)就是一个计数系统的最大容量,其大小等于以进位计数制基数为底,以位数为指数的幂。凡是用器件进行的运算都是有模运算,运算结果超过模的部分被运算器自动丢弃。因此,当器件为n位时,有, X=2n+X (mod 2n) 不难验证, X补=2n+X (mod 2n) 因此, XY补= 2n+ (XY) (mod 2n) = (2n+ X)+ (2nY ) = X补+ Y补, 一个用补码表示的二进制数,最高位为符号位,当符号位为“0”即正数
19、时,其余位即为此数的二进制值;但当符号位为“1”即负数时,其余位不是此数的二进制值,其值为后面各位按位取反,在最低位加1。 8位二进制补码真值范围为-128+127,16位补码真值范围为-32768 +32767。 +0补=-0补=00000000,即为0,且只有一种表示方法。 (4) 当采用补码表示时,可以把减法运算转换为加法运算,即XY补=X补+Y补,即某数减去一个数就等于某数加上减数的补数。,8位带符号的补码特点,采用8位二进制表示时,整数补码的表示范围: 最大为01111111,其真值为(127)10 最小为10000000,其真值为(一128)10 在补码表示法中,0只有一种表示形式
20、: 0补=00000000 0补=111111111=00000000(由于受设备字长的限制,最后的进位丢失) 所以有0补=0补=00000000,*对于8位有符号数 A)原码法能表示的范围为-127-+127D B)反码法能表示的范围为-127-+127D C)补码法能表示的范围为-128-+127D *对于“0”的表示 A)原码有两种不同的表示,称之为+0、-0 分别为0000 0000B 1000 0000B B)反码有两种不同的表示,称之为+0、-0 分别为0000 0000B 1111 1111B C)补码的0 只有一种表示 0000 0000B,表1-3 数的表示方法,所谓溢出是指
21、运算结果超出了规定长度数据的表数范围,在此特指带符号数的补码运算溢出。,4. 补码运算的溢出及其判断方法,对字长为n位的补码表示的带符号数,其最高位表示符号,其余n-1位表示数值,其表数范围为-2n-1+2n-1-1。如果一个运算的结果超出了这个范围,就称为补码溢出(简称溢出),这时运算结果是错误的。对于8位字长的二进制补码数,其表数范围为-128+127。如果运算结果超出了此范围,就会产生溢出。,【例】已知60补=00111100,-60补=11000100 100补=01100100,-100补=10011100 60补= 00111100 -60补= 11000100 60补= 0011
22、1100 + 100补= 01100100 + -100补= 10011100 + -100补= 10011100 10100000 101100000 11011000 自然丢失 符号 符号 符号 负数,错误 正数,错误 正确,前两个运算结果之所以不正确,是因为其相加结果分别为+160和-160,均超出了表数范围,使结果的数值部分占据了符号位,产生了溢出错误。但一个正数与一个负数相加,一定不会产生溢出错误。,判断溢出的方法 (1)根据参加加法运算的两数的符号及运算结果的符号判断是否溢出。 (2)计算机中,根据加法运算中在最高位与次高位的两个进位来判断。设8位二进制数的各位记为D7D6D5D0
23、,运算中两个D6位的进位记为C6,两个D7位的进位记为C7,用OV= C7 XOR C6可判断溢出情况。 OV=0,表示结果无溢出,OV=1,表示结果有溢出。,注意,进位和溢出是两个不同性质的概念,不能混淆。 进位是指运算结果的最高位向更高位的进位,如上所述的8位运算中的C7。进位通常记做Cy,Cy=0表示无进位,Cy=1表示有进位。溢出是用最高位进位(即Cy)与次高位进位的逻辑异或结果来判断的。 可见,有进位不一定就有溢出,无进位也不一定就无溢出。同理,有溢出不一定就有进位,无溢出也不一定就无进位(如:(-60)+100)。,无符号数的最高位不是符号位而是数值的一部分,二、无符号数的表示,1
24、. 定点表示法,小数点位置,三、数的定点和浮点表示,(2)定点小数法:约定小数点在符号位之后、数值部分最高位之前, 因此数据是纯小数,故又称定点小数,其格式为:,小数点位置,(1)定点整数法:约定小数点的位置固定在数值部分的最低位之后, 也就是把数表示为纯整数,其格式如下:,阶符 阶码 数符 尾数,浮点数包括两部分:阶码P和尾数S,它们都有各自的符号位。阶码的符号位又称阶符,用Pf表示,阶码有P1、P2Pm位;尾数的符号位又称数符,用Sf表示,尾数有S1、S2Sn位。,在浮点表示法中,小数点的位置不固定或者说可浮动的。 一般来说,任何一个二进制数的浮点表示格式为:,尾数S是带符号补码表示的纯小
25、数,其所取位数决定了浮点数的有效精度; 阶码P是补码表示的带符号数,其所取位数决定了浮点数的表达范围。,2. 浮点表示法,浮点数的优点:可以在同样字长的情况下,比定点数表达更大范围的数。 浮点数的缺点:运算规则复杂,通常要阶码和尾数分开运算。,若阶码的底为2,阶码P、尾数S都用二进制数表示,则可以构成二进制浮点数。 任何一个二进制数,它的浮点数可表示为:N= 2P S。,【例】二进制数N= 2+11 0.1011,其浮点数的表示格式为:,阶符 阶码 数符 尾数,当尾数满足0.5S1时,称为规格化数。规格化数中尾数的最高有效位(即小数点后面的一位)必须是1,而不是0。对浮点表示法,需要调整阶码的
26、数值实现规格化。,【例】 N= 2+11 0.0101,这是非规格化浮点数。 改写成:N= 2+10 0.1010,这是规格化浮点数。,当字长确定后,阶码所占位数越长,则尾数越短,数表示的范围越宽,精度越低。,例如: 101.101B = 1000B X 0.101101B = 2+11B X 0.101101B 例如: -0.078125D = -0.000101B = 2-11B X -0.101B,在浮点数中,负数一般用补码表示。 于是可写成P F=1 P=01 S F=1 S=011 假如将-0.000101B 写成2-10BX-0.0101B 则有 P F=1 P=10 S F=1
27、S=1011 可见不同的写法将会引起混淆.,参照:12.34D = 10+2 X 0.1234 12345.678 = 10+5 X 0.12345678,对于16位字长的浮点数,一般P F S F 均为1位,而阶码P和尾数S的位数分别为5位和9位。 因此,16位字长的浮点数表示的范围将会是:-231-+231, 而16位定点数的范围仅为65536。,几点说明: *在以控制见长的单片机中,一般按定点数运算见多. *浮点数主要用在数字信号处理,图像处理等场合. *在定点数运算中,带符号运算并不一定要反码补码的表达。就微机 而言,它并不认识反码和补码,用户可以通过相减的运算实现有 关运算. *微机
28、也不认识小数,所谓小数运算可以由用户自行规定解决.,一、ASCII码,字母和字符也必须按照特定的规则,用二进制编码才能在机器中表示。编码可以有各种方式,目前微机中最普遍采用的是ASC码(American Standard Code for Information Interchange,美国标准信息交换码),早期用于电讯行业。 采用7位二进制代码对字母和字符进行编码,可表示27 =128个字符,其中包括数码(0-9),以及英文字母等可打印的字符。 数字09的编码是01100000111001,它们的高3位均是011,后4位正好与其对应的二进制代码相符; 英文字母AZ的ASCII码从100000
29、1(41H)开始顺序递增; 字母az的ASCII码从1100001(61H)开始顺序递增,这样的排列对信息检索十分有利。,2.4 数码,二、汉字编码,汉字的输入编码是为了使用西文标准键盘把汉字输入到计算机中,其编码方法主要有数字编码、拼音码和字形编码三类。除了键盘输入以外,利用语音或图象识别技术自动将汉字输入到计算机内的方法也已经实现。 汉字内码是用于汉字信息的存储、交换、检索等操作的机内代码,它采用两个字节的二进制形式表示一个汉字。为了与英文字符能相互区别,汉字机内代码中两个字节的最高位均规定为l。 汉字字模编码是用来描述汉字字形的代码,它是汉字的输出形式。 汉字库有点阵字库、TrueTyp
30、e字库、矢量字库等类型。,在计算机中,汉字编码采用国标码(GB18030-2000),它采用单、双、四字节混合编码,每个字节的最高位为1,并以此来区分汉字和ASC码。 汉字编码包括输入编码、内码和字模编码,分别用于输入、内部处理和输出。,BCD码是十进制数,有10个不同的数字符号,且是逢十进位的;但它的每一位是用4位二进制编码来表示的,因此称为二进制编码的十进制数。BCD码比较直观。,三、二进制编码的十进制数8421BCD码,虽然BCD码是用二进制编码方式表示的,但它与二进制之间不能直接转换,必须先将BCD码转换为十进制数,然后再转换为二进制数;反之亦然。,【例】十进制数65的BCD码为011
31、00101,BCD码01001001.0111 表示的十进制数为49.7。,表1-2 BCD编码表,六、操作码 指令中表达计算机操作内容的数码。通常一条指令中必须而且 只能有一个操作码。,七、地址码 指令中表达计算机操作数据所在地址的数码。可以是一个或多个,也可能隐藏在操作码中。,五、校验码 为了确保整个计算机系统的工作可靠性,经常在关键步骤的数据 上添加校验码。指令中表达计算机操作内容的数码。通常一条指令中 必须而且只能有一个操作码。,四、七段显示码 一种将要显示的内容转换成能够在七段数码管上显示的数码。,The End !,习题一,1. 将二进制数11011.011转换成十进制数,八进制数
32、和十六进制数 2. 将十进制数240.75转换成二进制数、八进制数和十六进制数 3. 设计算机字长为8位,求机器数E3(H)分别为原码、反码、补码、无符号数、压缩BCD码时对应的真值 4. 已知X=87,Y=-56,用补码完成下列运算,并讨论结果是否溢出 X+YX-Y,练习题,1 把下列十进制数转换成二进制数和十六进制数 a) 135 b) 47.6875 c) 2002.10 2 把下列二进制数转换成十进制数和十六进制数 a) 11010110B b) 0.1011B c) 1011.1011B 3 把下列十六进制数转换成二进制数和十进制数 a) AAH b) ABC.DH c) 128.0
33、8H 4 写出下列各十进制数在8位微机中的原码反码和补码形式 a) -54 b) -115 c) 76,定点表示法与浮点表示法的比较,由于浮点数的小数点的位置是隐含于阶码之中,阶码不同的两个尾数不能直接加减,需先把两个数的阶码调整到一致,这称为“对阶”,然后两个尾数才能相加减。,数值表示范围,假定某机器字长32位,数符占1位,尾数占31位,则:定点小数表示范围: 2-31 S1- 2-31,定点整数表示范围: 1S 231 -1,浮点数的运算比定点数的运算复杂,浮点数的表示,Pentium微处理器支持的浮点格式,Pentium将阶码以一种偏置形式存放于格式之中,即将真阶码加上一个常数偏置值才是
34、格式阶码,以保证偏置后的格式阶码恒为正数。 单精度的阶码偏置值为+127,双精度的阶码偏置值为+1023,扩展精度的阶码偏置值为+16383。 一个浮点数数的真阶码要通过它的格式阶码减去偏置值而得到。,算术逻辑部件 算术逻辑单元既可以进行二进制数的四则运算,也可进行布尔 代数的逻辑运算。 一、算术运算 加减法运算直接采用二进制的 加减法电路实现; 乘除法需通过软件来实现,即 将乘法转换成加法,除法转换成减 法,再转换成加法来实现。,微型计算机典型电路称为基本电路部件。主要包括: 算术逻辑部件、触发器、寄存器、存储器、三态输出控制器、 总线结构。,二、逻辑运算 通过在ALU中增设门电路可完 成基
35、本的逻辑运算。,微处理机的硬件基础,触发器 触发器是计算机记忆装置的基本单元,可以组成寄存器,而寄存器可以组成存储器,寄存器和存储器统称为计算机的记忆装置。 RS触发器 D触发器 JK触发器,一、基本RS触发器 1.基本电路和符号 2.状态分析 维持状态:R=1,S=1,存储记忆状态; 置1状态: R=0,S=1, 置0状态: R=1,S=0, 不确定状态: R=0,S=0。,RS触发器,二、时标RS触发器 为了使触发器在整个机器中能和其它部件协调工作,RS触发器一 般都有外加的时钟脉冲(时标脉冲)。微型计算机中时钟脉冲一般是由 时钟脉冲发生器产生,其时钟频率为4.77MHz,所产生的脉冲信号
36、为方 波。 无论置位还是复位都必须在时钟脉冲为高电平时才能进行。 RS触发器的缺点: (1)置0和置1需要两个信号R和S; (2)当R=S=0,状态不定。,D触发器 1.基本电路和符号 2.状态分析 通过改变D的电位来实现置位和复位。 置1状态: D=0; 置0状态: D=1。 3.带时标D触发器:通过加时钟脉冲,使输入信号仅在时钟信号处于 高电位时有效。,4. 时钟边缘触发D触发器:由于时钟信号为方波,在处于高电位期间, D的变化会影响触发器的状态,使计算中的 动作不整齐,采用RC微分电路对时钟信号 进行微分处理,使方波变为尖峰信号。 有些电路中需要预先給触 发器置位或清除,可通过 预置和清
37、除来完成,即增 设预置端和清除端。,注意:表示低电平触发,只需将时钟信号接非门实现。 表示时钟脉冲经微分电路微分后形成尖峰信号。,JK触发器 1.基本电路 在RS触发器的前端增加两个与门,并从输出到输入做交叉反馈。 2.状态分析 J=K=0,维持状态; J=0,K=1,复位状态; J=1,K=0,置位状态; J=1,K=1,翻转状态,计数器利用这一特性实现计数。 3.带预置、清除的 正边缘JK触发器,寄存器 寄存器由多个触发器组成,一个触发器就是一个移位寄存器,多个触发器就是一个多位寄存器。 缓冲寄存器 移位寄存器 计数器 累加器,一、缓冲寄存器,用以暂存某个数据,以便在适当的节拍和给定的计算
38、步骤将数据输入到其中或将数据输出到其它记忆元件中。 当时钟脉冲的正向尖峰到来时,Q=Q3Q2Q1Q0=X3X2X1X0=X,即将数据装入寄存器中,如果要将数据输出到其它部件,则可通过Y3Y2Y1Y0引出。,为每一位寄存器增加一个控制门,当控制门(LOAD)为低电平时,各触发器的数据不变,新的数据进不来,起到寄存作用,当控制门为高电平时,可实现寄存器内容的更新。,二、移位寄存器,移位寄存器将所寄存数据按位向左向右移动。,三、计数器,计数器由若干个触发器组成,当计数脉冲到来时,按二进制规律使所存储的数据加1。 行波计数器 同步计数器 环形计数器 程序计数器,行波计数器 特点:1.计数器的各位均由触
39、发器构成; 2.每个触发器的端均悬空,即处于翻转状态; 3.时钟的负尖峰到达时开始翻转计数; 4.清除端在高电平变为低电平时实现对计数器置零。,同步计数器 将时钟脉冲同时加到每个触发器的时钟输入,前一位的输出通过与门接到后一位的输入端,使每计一个数据的时间只占用一个触发器的建立时间,即各位计数器同步进行。 环形计数器 计数时只有一位为高电位,其余均为低电位。,程序计数器 一个不从0开始计数的行波计数器或同步计数器,应具备将初始 数据装入其中的功能装入门,同时,还需具备控制门。,4 累加器 由多个触发器所组成的多位寄存器,不进行加法计算,用以暂时存放ALU中计算的中间结果,另外,还具有将其中的数
40、据左移或右移的功能,也是移位寄存器。累加器在计算机中具有特殊的作用,很多操作都要用到。,三态输出电路 计算机中的记忆元件由触发器组成,而触发器只有两种状态,即0 态和1态,因此每条信号线上只能传送一个触发器的信息,若一条信号 线上连接多个触发器,而每个触发器可根据需要与信号线连通或断开, 当连通时可传送0或1,断开时对信号线上的信息不产生影响,需要特殊 电路加以控制,即三态输出电路,又称三态门。 一、三态输出电路的结构 1、电路组成和工作原理 NMOS管可看作开关,当输入高电位时接通, 输入低电位时断开。 当E=1时,若A=0,则B=0,若A=1,则B=1; 当E=0时,A、B均不通,呈高组态
41、。,2、三态逻辑电路符号,二、双三态输出电路 当某元件有双向输出时,可由两个三态门 来控制,一个控制输出,一个控制输入。 A为输出端,C为输入端, 当Eout=1, Ein=0时,传输方向为A-B,即A=B; 当Eout=0, Ein=1时,传输方向为B-C,即B=C。 三态门、装入门可加到任何一个寄存器电路上,构成三态寄存器。 L门(L=1)专管对寄存器的装入数据的控制; E门(E=1)专管对寄存器输出数据的控制。 有了L门和E门后,就可以将各个部件都挂到总线线路上去,通过控 制输入和输出,使计算机的信息传递线路简单化,控制器的设计合理化。,总线结构 一、基本概念 总线:微型计算机中多个部件
42、间或微型计算机间传送信息的公共导线。它由一组传输信息(0、1)的导线组成。根据所传送信息的内容与作用不同,可将总线分为三类: 数据总线(DB):可双向传输数据信息,其宽度与MPU提供的数据线的引脚有关。 地址总线(AB):单向传递地址信息。其宽度决定了计算机系统的最大寻址能力(空间)2N字节,N位地址总线的宽度。 控制总线(CB):用于单向传送各种控制信号和状态信号。 由于各总线传送信号的类型都是单一的,该结构又称为面向系统的单总线结构。,二、总线结构连接图 ABCD四个寄存器均有四个数据 位,因此相互之间的数据传输需要 4 条数据线。 在数据传输控制中,各寄存器的 L门和E门的电位由控制器发
43、出控制信号 来进行控制。将个寄存器的L门和E门按 一定顺序排列在一起,可组成控制字 CON,格式如下: CON= LAEA LBEB LCEC LDED,为了实现数据的传递,必须规 定在某一时钟节拍,只有一个寄存 器的L门为高电位,一个寄存器的E 门为高电位,其余控制门均必须为 低电位。当控制器发出对应的控制 字信息后,数据信息才会按预期传 送。 例题:LA=1,EC=1,其余均为0, 则数据由C传送到A。 LB=1,EA=1,其余均为0,数据 如何传送?,三、总线结构符号图,专门传递数据信息,将总线用一根粗线表示,并注明总线中线的根数,将控制字的各位分别传送到各寄存器,存储器 一、组成及作用
44、 存储器由寄存器组成,可看作一个寄存器堆,每个存储单元实际上 相当于一个缓冲寄存器。它既可用来存储数据,又可用来存放计算机的 运算程序。 二、分类 只读存储器(ROM):只能读出,不能写入。 随机存储器(RAM):既能读出,又能写入。 三、存储单元 存储器主要使用位、字节、字(8位字、16位字、32位字)等存储 单元。 一个存储器可包含若干个存储单元以存储很多个数据和很多个计算步骤 (程序)。 为了便于存入取出,每个存储单元必须有固定地址,即一个存储器含有 很多个地址。为了减少存储器向外的引出线的数量,内部自带地址译码器, 将二进制的地址码译成与存储单元相通的地址线号,n条地址线可译成2n个
45、地址号。,168存储器实例 168存储器是一个有16个存储单元,每单元有个记忆位的集成电 路芯片。它有4根地址线A0、A1、A2、A3和8根数据线D0、D1、D7。 地址线越多可访问的存储单元个数越多。,只读存储器 ROM用以存放固定数据的存储器,一旦放进去,就不可改变,只可读出所存储的数据。 分类:掩膜型只读存储器(MROM) 可编程只读存储器(PROM) 可擦除可编程只读存储器(EPROM) 电擦除可编程只读存储器(EEPROM) 串行EEPROM 并行EEPROM 闪速存储器,84ROM的内部结构 左边为地址译码电路,右 边为矩阵电路及半导体二 极管组成的存储单元。 三条地址线及由非门产
46、生的另三条线通过个三输入端与门可译成个地址号,用以控制个存储单元导线的电位。 横线相当于存储单元,竖线相当于位,二极管连到的竖线,该位置为1,无二极管相连的竖线为0。 输出电信号取自限流电阻上的电位。 为了控制输出,每条数据线都加了三态输出门。,3个非门,8个三输入与门,4个限流电阻,4个三态输出电路,若干个半导体二极管,存储单元地址号与存储器中的内容,ROM的符号 ROM的附件 存储器地址寄存器MAR将所要寻找的存储单元的地址暂存下来,以备下一条指令用,实际上是一个可控缓冲寄存器,具有L门控制地址输入。和存储器的联系是双向的,即地址一进入MAR就立即被送到ROM的地址译码器中去。 MAR中的
47、地址在模型计算机中由专门的地址计数器PC提供,在微型计算机中由地址加法器提供。,例题:程序计数器PC、存储器地址寄存器MAR和ROM通过总线连 接,开机后,先令CLR=1,则PC=0000。依次发出如下控制字: (1)CPEPLMER=0110,(2)CPEPLMER=0001,(3) CPEPLMER=1000,问各部件之间的信息是如何流通的? 解:(1)EP=1,PC准备发出数据到总线上,LM=1,MAR准备接受总 线上传来的数据;时钟信号正尖峰到来时,MAR=PC=0000,数据装入 MAR,同时MAR立即将0000送入ROM的地址译码器,对0000进行译 码,选中ROM中的R0单元;
48、(2)ER=1,令ROM输出R0中的8位数据到总线上,无需时钟脉冲加以 控制,为异步动作。 (3)CP=1,PC计数器在时钟正尖峰到来时,自动加1,PC=0001。,EEPROMNMC98C64A芯片 一、结构 1、容量8k8B 2、 A0A12:片内地址线,用以选择片内 8k个单元; D0D7:数据线,可直接与计算机系统 的DB总线连接; :片选信号,低电平有效; :输出允许信号,低电平有效; :输入允许信号,低电平有效; :状态输出端执行编程写 入时,此引脚为低电平 ,写完后为高电平。,二、NMC98C64A的编程写入 字节写入 一次只写入一个字节的数据,等到 的状态由低变高时才能开始下一字节的写入。可采用延时程序、中断或查询方式检测引脚来实现。 自动页写入 32个字节为页,首先向NMC98C64A写入页的第一个数据,在接下来的300s内连续写入本页的其他数据,直到 变高。该方法可提高速度,写满8k8B只需2.6s。 二、NMC98C64A的擦除 字节擦除:向某字节写入“FFH”。 整片擦除:在数据线上加“FFH”,使片选信号和写允许信号为0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物业管理公司应急预案培训
- 治疗性克隆版
- 建筑制图第四章点、直线、平面的投影
- 条形基础工程量计算
- 战略管理案例分析电气
- 关键岗位继任者计划与人才梯队建设方案
- 2026年电工高级工鉴定题库及答案
- 淋巴瘤病理分型与一线方案抉择专家共识(2025版)
- 儿童泌尿系感染规范化中国专家共识(2026版)
- 军事理论 教学大纲
- 文学概论讲义
- 河南警察学院引进高层次人才考核办法(试行)
- 医院审方中心工作制度
- 2026年中铝集团校园招聘笔试
- 2026年春岭南版(新教材)小学美术二年级下册教学计划及进度表
- 雨课堂学堂在线学堂云《Age of Sustainable Development(SDG Academy)》单元测试考核答案
- 人保财险理赔培训
- 教育培训机构招生销售人员面试问题集
- 雕塑总体施工方案(3篇)
- 车辆供货方案范本
- 心衰病的中医护理常规
评论
0/150
提交评论