- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)