清华大学微机原理-基本组成电路分解.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微型计算机原理及应用 2 存储器 触发器 微型计算机的基本组成电路 寄存器 算术逻辑单元 1 4 7 3 三态输出电路 5 6 译码器 存储器 总线结构 1 算术逻辑单元 算术逻辑单元ALU既能进行二进制数的四则运算,也能进行布尔代数的逻辑运算。 ALU的符号如下图所示。 A和B为两个二进制数,S为其运算结果,control为控制信号。为了不使初学者陷入复杂的电路分析之中,我们不打算在逻辑运算问题上开展讨论。仅讨论一下加减算术运算。 1 算术逻辑单元 (1)二进制数的相加 例1 两个二进制数相加的几个算式: 1 算术逻辑单元 左上式中,加数A和被加数B都是1位数,其和S变成2位数,这是因为相加结果产生进位之故。 右上式中,A和B都是2位数,相加结果S也是2位数,因为相加结果不产生进位。 左下式中,A和B都是2位数,相加结果S是3位数,这也是产生了进位之故。 右下式中,是左下式的另一种写法,以便看出“进位”究竟是什么意义。第1位(或称0权位)是不可能有进位的,要求参与运算的就只有两个数A0和B0,其结果为S0。第2位(或称1权位)就是3个数A1,B1及C1参与运算了。其中C1是由于第1位相加的结果产生的进位。此3个数相加的结果其总和为S1=1,同时又产生进位C2,送入下一位(第3位)。第3位(或称2权位)也是3个数A2,B2及C2参加运算。由于A2及B2都是0,所以C2即等于第3位的相加结果S2。 1 算术逻辑单元 从以上几算式的分析可得出下列结论: ①两个二进制数A=A3A2A1A0,B=B3B2B1B0相加时,可以逐位相加。则从最右边第1位(即0权位)开始,逐位相加,其结果可以写成:S=S3S2S1S0 其中各位是分别求出的: A0+B0→C1S0,A1+B1+C1→C2S1,A2+B2+C2→C3S2,A3+B3+C3→C4S3 最后所得的和是:C4S3S2S1S0 ②右边第1位相加的电路要求: 输入量为两个,即A0及B0;输出量为两个,即S0及C1。 这样的一个二进制位相加的电路称为半加器(half adder)。 ③从右边第2位开始,各位可以对应相加。各位对应相加时的电路要求:输入量为3个,即Ai,Bi,Ci;输出量为两个,即Si,Ci+1。 这样的一个二进制位相加的电路称为全加器(full adder)。 1 算术逻辑单元 (2)半加器 仅考虑加数和被加数而不考虑低位进位的加法运算即为半加。能实现半加逻辑功能的电路即为半加器。 如果Ai、Bi是两个相加的1位二进制数,Si是半加和,Ci是半加进位,那么根据半加器的功能可列出如下表所示的真值表。 由真值表可直接写出逻辑表达式为 由此画出半加器的电路如右图所示。 1 算术逻辑单元 (3)全加器 不仅考虑加数和被加数,而且考虑低位进位的加法运算即为全加。能实现全加逻辑功能的电路即为全加器。加数、被加数和来自低位的进位三者中,如果1的个数为奇数则其和为1;如果1的个数多于1个,则要向其高位的进位为1。所以可以直接写出逻辑表达式。 如果用Ai、Bi表示A、B两个数中的第i位,用Ci表示来自低位(第i-1位)的进位,用Si表示全加和,用Ci+1表示送给高位(第i+1位)的进位,那么全加器的逻辑表达式为 由此画出全加器的电路如右图所示。 1 算术逻辑单元 (4)半加器及全加器的逻辑符号 半加器及全加器的逻辑符号如下图所示。 1 算术逻辑单元 (5)二进制数的加法电路 设A=1010B=10,B=1011B=11 则可安排如下图所示的加法电路。 A与B相加,写成竖式算法如右下: 即其相加结果为S=10101。 从加法电路,可看到同样的结果: S=C4S3S2S1S0=10101B 1 算术逻辑单元 (6)二进制数的减法运算 在微型计算机中,没有专用的减法器,而是将减法运算改变为加法运算。其原理是:将减号及减数B视为负数,再与被减数A相加,即A-B=A+(-B),其和(如有进位的话,则舍去进位)就是两数之差。当符号数采用补码表示时,就可以将减法运算转换为加法运算。 1 算术逻辑单元 例2 求8-4 解:因为 8=1000B 4=0100B -4=1100B 于是 8-4 =1000B+1100B =1 0100 =0100B =4 1 算术逻辑单元 例3 求0FH-0AH (即求15减10之差) 解:因为 0FH=0000 1111B 0AH=0000 1010B -0AH=1111 0110B 所以 0FH-0AH +111

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档