- 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-2 运算器组成考点 运算器有哪些组成单元?其功能是?△ 什么是ALU?其特点是? 16位通用寄存器的8个寄存器名称? 状态寄存器有哪些标志位? 会进行算术、逻辑移位操作运算。△ 运算器的三种总线结构△ 运算器的组成示意图 认识典型的4位74181 ALU部件逻辑电路图 74181 部分运算功能表 二、通用寄存器 通用寄存器可用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果。除此之外,它们还各自具有一些特殊功能。通用寄存器的长度取决于机器字长,它是计算机中存取速度最快的存储器。因每个寄存器的一般用途和特殊用途有很大的差异,因而汇编语言程序员必须熟悉只有这样,才能在程序中做到正确、合理地使用它们。 三、状态寄存器 状态寄存器用来保存ALU操作结果的某些状态,这种状态可作为外界对操作结果进行分析的一个依据,也可以用于判断程序是否要转移的条件,该寄存器也称为标志寄存器。 依据功能上的差别,不同的CPU,其状态寄存器中包含的标志也不尽相同。 一般状态寄存器中包含了最基本的5种运算结果标志: 三、状态寄存器 5种运算结果标志: Z 零标志位:记录运算结果是否为零的状态,运算结果为0时Z位置1,否则Z位置0。 C 进位/借位标志位:记录最高位产生的进位,加法运算有进位时C位置1,否则置0;减法运算不够减,有借位时C位置1,否则置0。C标志只对无符号数运算有意义。 三、状态寄存器 标志寄存器(举例) MOV AL,80H ADD AL,80H ADD指令运算结束后:(AL)=00H; Z=1:因为运算结果为全零; C=1:因为加法运算的最高位产生了进位,表明无符号数加运算发生溢出。实际上是:把操作数80H和80H均当作无符号数128和128,做加法运算的正确结果为256,超出了8位无符号数的表示范围(0~255)。 V=1:因为C1⊕Cf=1,按照单符号判溢方法,表明有符号数运算发生溢出。实际上是:把操作数80H和80H均当作有符号数(补码)-128和-128,做加法运算的正确结果为-256,超出了8位补码机器数的表示范围(-128~~+127)。 N=0:因为运算结果的最高位为0。显然,因为OF=1(发生了溢出),所以N是错误的。 P=1:结果中“1”的个数为0个,所以PF=1。 四、累加器 在运算器中,累加器是专门存放算术或逻辑运算的一个操作数和运算结果的寄存器。能进行加、减、读出、移位、循环移位和求补等操作。是运算器的主要部分。 标准的例子就是把一列的数字加起来。一开始累加器设定为零,每个数字依序地被加到累加器中,当所有的数字都被加入后,结果才写回到主内存中。 现今的 CPU 通常有很多暂存器,都可以被用来当作累加器。因此这个名词已经几乎不在微处理器暂存器中使用,例如,运算暂存器A中的名称A就是从“accumulator”累加器这个历史因素得来的。 五、数据通路 数字系统中,各个子系统通过数据总线连接形成的数据传送路径称为数据通路。 被传送的信号分为数据信号和控制信号。 一般来说,处理速度快的数字系统,它的独立传送信息的通路较多。但是独立数据传送通路一旦增加,控制器的设计也就复杂了。因此,在满足速度指标的前提下,为使数字系统结构尽量简单,一般小型系统中多采用单一总线结构。在较大系统中可采用双总线或三总线结构。 五、数据通路 通用寄存器组R:容量16个字,双端口输出 。 暂存器A和B:保存通用寄存器组读出的数据或BUS上来的数据。 算术逻辑单元ALU:有S3、S2、S1、S0、M五个控制端,用以选择运算类型。M反相,+1补码,可计算减法。 寄存器C:保存ALU运算产生的进位信号。 RAM随机读写存储器:读/写操作受MRD/MWR控制信号控制。 MAR:RAM的专用地址寄存器,寄存器的长度决定RAM的容量。 IR: 专用寄存器,可存放由RAM读出的一个特殊数据。 控制器:用来产生数据通路中的所有控制信号,它们与各个子系统上的使能控制信号一一对应。 BUS:单一数据总线,通过三态门与有关子系统进行连接。 五、数据通路 数据的来源于:通用寄存器的输出、程序计数器的输出、数据寄存器的输出、指令中相对位移量和常数“0”等。 在数据传送中,常常会按一定的位移量送入暂存器或存储器,以进行移位计算或转移存储地址。 具体的移位操作有:算术右移、算术左移、逻辑右移、逻辑左移、循环右移、循环左移等。 算术右移:各位按位右移,最低位向右移出,最高位产生的空位填入与原最高位相同的值,即符号位不变。移位后结果为原数的1/2 如10101010
文档评论(0)