您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 3-3_运算器组成和结构_5稿
1第3章运算方法和运算器3-2运算器组成考点运算器有哪些组成单元?其功能是?△什么是ALU?其特点是?16位通用寄存器的8个寄存器名称?状态寄存器有哪些标志位?会进行算术、逻辑移位操作运算。△运算器的三种总线结构△233-2-1定点运算器的基本组成算术逻辑单元ALU通用寄存器组状态寄存器累加器数据通路4运算器的组成示意图5ALU:算术逻辑单元,核心部件。实现基本算术、逻辑运算。暂存器:用来存放参与计算的数据及运算结果。它只对硬件设计者可见,即只被控制器硬件逻辑控制或微程序所访问。通用寄存器组:用于存放程序中用到的数据。它可以被软件设计者所访问。内部总线:用于连接各个部件的信息通道。传输运算过程中的数据。各组成部分的功能简要介绍如指令0000,0000,000000010000代表LOADA,16,其中第1个4位代表load,第2个4位代表寄存器地址A,第3个8位即操作数16,6一、算术逻辑单元ALU算术逻辑部件(arithmeticunit):计算机中执行各种算术和逻辑运算操作的部件。运算器的基本操作包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等操作。1、ALU的特点:不仅具有多种算术运算和逻辑运算的功能,而且具有先行进位逻辑,从而能实现高速运算。7一、算术逻辑单元ALU2、ALU的处理数据能力:运算器的处理对象是数据,所以数据长度和计算机数据表示方法,对运算器的性能影响极大。70年代大多数通用计算机则以16、32、64位作为运算器处理数据的长度。能对一个数据运算器的所有位同时进行处理的运算器称为并行运算器。如果一次只处理一位,则称为串行运算器。有的运算器把一个完整的数据分成若干段进行计算,称为串/并行运算器。8认识典型的4位74181ALU部件逻辑电路图974181部分运算功能表通过74181ALU功能表,我们了解到当M=0(L低电平)时,实现算术运算;当M=1(H高电平)时,实现逻辑运算。表中,算术运算用“加”和“减”汉字表示,而+表示逻辑运算的或。减法是用补码运算的,其中减数的反码在内部产生,输出“A减B减1”(倒数第2行),因此在做减法时,需在最低位产生一个强迫进位(+1),以便产生A减B的结果。10二、通用寄存器通用寄存器可用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果。除此之外,它们还各自具有一些特殊功能。通用寄存器的长度取决于机器字长,它是计算机中存取速度最快的存储器。因每个寄存器的一般用途和特殊用途有很大的差异,因而汇编语言程序员必须熟悉只有这样,才能在程序中做到正确、合理地使用它们。111216位cpu通用寄存器共有8个:AX,BX,CX,DX,BP,SP,SI,DI.8个寄存器除作为普通的数据寄存器使用外。还可以有特殊的用途:AX为累加器,CX为计数器,BX、BP为基址寄存器,SI、DI为变址寄存器,BP还可以是基址指针,SP为堆栈指针。二、通用寄存器堆栈指数据按一定序列存放。堆:先进先出,栈:先进后出基址、变址寄存器符号,还将应用到寻址方式13三、状态寄存器状态寄存器用来保存ALU操作结果的某些状态,这种状态可作为外界对操作结果进行分析的一个依据,也可以用于判断程序是否要转移的条件,该寄存器也称为标志寄存器。依据功能上的差别,不同的CPU,其状态寄存器中包含的标志也不尽相同。一般状态寄存器中包含了最基本的5种运算结果标志:14三、状态寄存器5种运算结果标志:Z零标志位:记录运算结果是否为零的状态,运算结果为0时Z位置1,否则Z位置0。C进位/借位标志位:记录最高位产生的进位,加法运算有进位时C位置1,否则置0;减法运算不够减,有借位时C位置1,否则置0。C标志只对无符号数运算有意义。15三、状态寄存器N符号标志位:记录运算结果的符号,有符号数采用补码表示法。运算结果为正数时,N置为0,否则其值为1。V溢出标志位:用于反映有符号数加减运算所得结果是否溢出。此时V标志位为1,否则置0。V标志只对有带符号数运算有意义。P奇偶标志位:用于反映运算结果中“1”的个数的奇偶性,当结果操作数中“1”的个数为偶数时置1,否则置0。16标志寄存器(举例)MOVAL,80HADDAL,80HADD指令运算结束后:(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。17四、累加器在运算器中,累加器是专门存放算术或逻辑运算的一个操作数和运算结果的寄存器。能进行加、减、读出、移位、循环移位和求补等操作。是运算器的主要部分。标准的例子就是把一列的数字加起来。一开始累加器设定为零,每个数字依序地被加到累加器中,当所有的数字都被加入后,结果才写回到主内存中。现今的CPU通常有很多暂存器,都可以被用来当作累加器。因此这个名词已经几乎不在微处理器暂存器中使用,例如,运算暂存器A中的名称A就是从“accumulator”累加器这个历史因素得来的。18五、数据通路数字系统中,各个子系统通过数据总线连接形成的数据传送路径称为数据通路。被传送的信号分为数据信号和控制信号。一般来说,处理速度快的数字系统,它的独立传送信息的通路较多。但是独立数据传送通路一旦增加,控制器的设计也就复杂了。因此,在满足速度指标的前提下,为使数字系统结构尽量简单,一般小型系统中多采用单一总线结构。在较大系统中可采用双总线或三总线结构。19五、数据通路20通用寄存器组R:容量16个字,双端口输出。暂存器A和B:保存通用寄存器组读出的数据或BUS上来的数据。算术逻辑单元ALU:有S3、S2、S1、S0、M五个控制端,用以选择运算类型。M反相,+1补码,可计算减法。21寄存器C:保存ALU运算产生的进位信号。RAM随机读写存储器:读/写操作受MRD/MWR控制信号控制。MAR:RAM的专用地址寄存器,寄存器的长度决定RAM的容量。22IR:专用寄存器,可存放由RAM读出的一个特殊数据。控制器:用来产生数据通路中的所有控制信号,它们与各个子系统上的使能控制信号一一对应。BUS:单一数据总线,通过三态门与有关子系统进行连接。23五、数据通路数据的来源于:通用寄存器的输出、程序计数器的输出、数据寄存器的输出、指令中相对位移量和常数“0”等。在数据传送中,常常会按一定的位移量送入暂存器或存储器,以进行移位计算或转移存储地址。具体的移位操作有:算术右移、算术左移、逻辑右移、逻辑左移、循环右移、循环左移等。24算术右移:各位按位右移,最低位向右移出,最高位产生的空位填入与原最高位相同的值,即符号位不变。移位后结果为原数的1/2如10101010右移一位为11010101再如P49[x]补=0.1001,则右移一位为00100算术左移:各位按位左移,最高位向左移出,最低位产生的空位填入0,即符号位可能有变。结果数据不定。如10101010左移一位为01010100再如P49[y]补=1.1001,则左移一位为1001025辑逻右移:各位按位右移,最低位向右移出,最高位空位填0;如10101010右移一位为01010101再如P49[y]补=1.1001,则右移一位为01100辑逻左移:各位按位左移,最高位向左移出,最低位空位填0;如10101010左移一位为01010100再如P49[x]补=0.1001,则左移一位为1001026逻辑左移=算术左移,右边统一添0逻辑右移,左边统一添0算术右移,左边添加的数和符号有关如11101011,其中[]是添加的位逻辑左移一位:1101011[0]算术左移一位:1101011[0]逻辑右移一位:[0]1110101算术右移一位:[1]1110101。2728总线:能为多个部件分时共享的公共信息传送线路。外部总线:系统总线。用于连接各大部件。内部总线:芯片内各部件之间的连线总线传送的方向可将总线分为单向总线双向总线3-2-2、运算器的内部总线结构29控制简单,在同一时间内,只能有一个操作数放在总线上,实现一次双操作数运算需要分三步,特点是操作速度慢。通用寄存器ABALU特殊寄存器内部总线1、单总线结构30两个操作数可以分别通过总线1和总线2同时送到ALU去进行运算,只需一次操作控制即可得到运算结果,运算结果经缓冲器送入目的寄存器,每次操作比单总线结构少一步。其特点是数据传送更灵活。通用寄存器ALU特殊寄存器总线1特殊寄存器缓冲寄存器总线22、双总线结构31ALU的两个操作数和运算结果可分别通过三条总线传输,算术逻辑运算可一步完成。其特点是操作速度快,控制复杂。ALU总线1总线2通用寄存器特殊寄存器总线旁路器总线33、三总线结构32随堂练习
本文标题:3-3_运算器组成和结构_5稿
链接地址:https://www.777doc.com/doc-2917130 .html