- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 运算器和运算方法 3.1 定点运算器的组成和结构 3.2 算术逻辑运算的基本电路 3.3 定点加/减法运算 3.1 定点运算器的组成和结构 定点运算器由算术逻辑运算单元(ALU)、输入数据选择电路、通用寄存器组、输出数据分配电路组成,如下页图所示。 其中算术逻辑运算单元的核心部件是加法器,而加法器的逻辑组成包括加法单元与进位传递逻辑单元。 3.1.1 算术逻辑运算单元(ALU) 运算器中完成数据算术与逻辑运算的部件称为算术逻辑运算单元(Arithmetic and Logic Unit,ALU)。如CPU结构图所示,ALU是运算器的核心,通常表示为两个输入端口,一个输出端口和多个功能控制信号端的一个逻辑符号。 ALU处理数据的位数与机器的字长有关。 3.1.2 通用寄存器组 现代计算机的中央处理器中都有一组通用寄存器,主要用于保存参加运算的操作数和运算结果。之所以在现代计算机中加入通用寄存器是因为它的存取速度要远远高于内存储器的速度。 通用寄存器的数量越多,对提高运算器性能和程序执行速度越有利。通用寄存器组是对用户开放的,可以通过指令去使用这些寄存器。 如上图所示,8086微处理器有14个16位寄存器,包括8个通用寄存器,1个指令指针寄存器,1个标志寄存器,4个段寄存器。它们都有名称,编程时使用其名称代表其保存的内容。 3.1.3 状态寄存器 状态寄存器主要用于记录一些运算结果的状态。通常情况下,状态寄存器由以下几种标志状态位组成: V(溢出标志位):当运算结果有溢出时,该位被置位;当运算结果没有溢出时,该位被清0。 Z(零标志位):当运算结果为0时,该位被置位;当运算结果不为0时,该位被清0。 C(进位或借位标志位):当作加法时如果最高位向前有进位,或当作减法时最高位向前无借位,该标志位被置位;当作加法时如果最高位向前无进位,或当作减法时最高位向前有借位,该标志位被清0。 N(符号标志位):当运算结果为负数时,该位被置位;当运算结果为正数时,该位被清0。 3.1.4 数据通路 从一个功能部件向另一个功能部件传送数据所经过的功能部件、总线等称为数据通路。 下面以CPU结构图所示的CPU的各功能部件的右半部分运算器为例,解释其数据通路,进而说明运算器的工作过程。 在图中,MUX1和MUX2分别是两个多路数据选择器,用来选择当前哪两组数据送到ALU中。MUX1数据有两个来源:通用寄存器的输出和指令中的相对位移量。MUX2数据有3个来源:通用寄存器的输出、数据寄存器的输出和程序计数器的输出。ALU的输出信息通过内部数据总线送到通用寄存器中。 如果通用寄存器有两个输出端口RA和RB,有一个输入端口RL。寄存器中的数据用补码表示。并且寄存器1用R1表示,寄存器2用R2表示,寄存器3用R3表示。运算之前R1=1100,R2=0110,V、Z、C、N标志位都为0。进行下面的操作后,请问标志位V、Z、C、N和R3的值如何变化? 1.R1+R2,结果送到R3中 操作过程:R1的内容通过端口RA输出,MUX1将RA的内容送入ALU的A输入端;R2的内容通过端口RB输出,MUX2将RB的内容送入ALU的B输入端。ALU进行A+B操作,从Y输出端输出结果,并存入R2寄存器中。 ALU中的运算: 1100 + 0110 10010 送往进位位 所以R3=0010,标志位C由0变为1,其他标志位不变。 2.求与R1相补的数 操作过程:R1的内容通过端口RB输出,经过MUX2的选择,将RB的内容送入ALU的B输入端。在MUX1处选择常数“0”送入ALU的A输入端,ALU进行A-B操作,从Y输出端输出结果,并存入R3寄存器中。由于运算器要进行的是补码运算,A-B的功能是通过[A]补+[-B]补来完成的。 ALU中的运算: [A]补 0000 + [-B]补 0100 [0-B]补 0100 所以R3=0100,结果为负,N标志位由0变为1,其他标志位不变。 3.利用运算器计算操作数地址或转移地址
文档评论(0)