第三章-Welcometonginx!.ppt

上传人:ga****84 文档编号:357153 上传时间:2018-09-26 格式:PPT 页数:148 大小:3.57MB
下载 相关 举报
第三章-Welcometonginx!.ppt_第1页
第1页 / 共148页
第三章-Welcometonginx!.ppt_第2页
第2页 / 共148页
第三章-Welcometonginx!.ppt_第3页
第3页 / 共148页
第三章-Welcometonginx!.ppt_第4页
第4页 / 共148页
第三章-Welcometonginx!.ppt_第5页
第5页 / 共148页
点击查看更多>>
资源描述

1、第三章 CPU子系统,运算器,控制器,本章主要讨论,运算器 控制器数据通路结构与外部的连接,指令的执行过程,CPU组成,CPU工作原理,逻辑代数与逻辑电路基础(补充),CPU组成原理 CPU工作机制(设计模型机),CPU子系统,运算器组成和运算方法,控制器原理,主机和外设的信息交换,时序控制,本章知识架构:,第一节 逻辑代数与逻辑电路(补充),3.1 逻辑代数3.2 逻辑电路基础,3.1 逻辑代数,逻辑代数是对二值变量进行逻辑运算的代数,可以对所计算的量进行“或”、“与”、“非”等逻辑运算,它是形式逻辑的一个分支,是由英国数学家、逻辑学家乔治布尔建立和发展起来的,所以常称为“布尔代数”(Boo

2、lean algebra)。,3.1.1. 逻辑变量,逻辑变量: 逻辑代数的变量简称为逻辑变量,它是赋以逻辑属性值真或假的变量。逻辑代数是一种二值代数,逻辑变量只有0、1两种取值。只有三种最基本的运算,即逻辑加(“或”运算)、逻辑乘(“与”运算)及逻辑非(“非”运算),逻辑代数中的一切其它运算都由这三种运算构成。,3.1.1.1.逻辑加,逻辑加又叫“或”逻辑运算,运算符号是“+”或“”。其运算规则是,只要A、B、C中任一为“1”时,其“或”的结果F就为“1”,只有当A、B、C都为“0”,其结果F才为“0”。 F A B C ABC+(字母A、B、C等表示逻辑变量),3.1.1.2.逻辑乘,逻辑

3、乘又叫“与”逻辑运算,运算符号是“”或“”。其运算规则是,只有当A、B、C均为“1”时,其“与”的结果F才为“1”,否则为“0”。 F A B C ABC (字母A、B、C等表示逻辑变量),3.1.1.3.逻辑非,逻辑非也叫“非”运算,又叫逻辑求反,运算符号为“”。“非”运算的运算规则是,当A为“1”时,即为“0”;当A为“0”时,为“1” (字母A表示逻辑变量),3.1.2.逻辑函数,逻辑代数中的函数简称为逻辑函数,它是描述逻辑变量关系的函数。 逻辑函数也是一种变量,这种变量随其它变量的变化而改变,逻辑函数可表示为F=f(A1,A2,Ai,An)在逻辑代数中,表示逻辑函数的方法有三种:逻辑表

4、达式、真值表和卡诺图。,3.1.2.1 逻辑表达式,逻辑表达式是用公式表示的函数与变量之间关系的一种方法。例如,有两个逻辑变量A和B,当它们的取值相异时,函数F的值为1,否则为0。对于这样一种函数关系,它的逻辑表达式为:,3.1.2.2. 真值表,真值表则是用表格表示函数与变量关系的一种方法。,3.1.3. 基本的逻辑关系式, “与 ”逻辑功能定义为: 逻辑表达式为:F=AB (有时也写成F=A B)(2)“或”逻辑功能定义为:逻辑表达式为:F=A+B (有时也写成F=AVB)(3)“非”逻辑功能定义为:逻辑表达式为:,3.1.4. 逻辑代数基本定律,0-1律,重叠律,互补律,交换律,反演律,

5、还原律,结合律,分配律,3.1.5. 逻辑代数常用公式,3.1.6. 逻辑代数基本规则,(1).代入规则:任何一个含有变量A的等式,如果将所有出现A的位置都用同一个逻辑函数代替,则等式仍然成立。这个规则称为代入规则。(2).反演规则:对于任何一个逻辑表达式Y,如果将表达式中的所有“”换成“”,“”换成“”,“0”换成“1”,“1”换成“0”,原变量换成反变量,反变量换成原变量,那么所得到的表达式就是函数Y的反函数Y(或称补函数)。这个规则称为反演规则。(3).对偶规则:对于任何一个逻辑表达式Y,如果将表达式中的所有“”换成“”,“”换成“”,“0”换成“1”,“1”换成“0”,而变量保持不变,

6、则可得到的一个新的函数表达式Y,Y称为函Y的对偶函数。这个规则称为对偶规则。,3.1.7. 逻辑代数的化简,一个逻辑函数可以有多种不同的表达式,实现这些表达式的逻辑线路也有许多种。为了使逻辑设计简单,尽量少使用元件,把电路设计得更合理,一般都要把逻辑表达式进行化简。 常用化简方法有: 合并项法 吸收法 配项法 卡洛图法,3.1.8. 逻辑函数的表示方法,(1).真值表是用来描述逻辑函数的值与它的逻辑变量之间关系的表格。(2). 逻辑表达式是用逻辑运算符把逻辑变量连接在一起表示某种逻辑关系的表达式。 (3).逻辑图是根据逻辑表达式用线段把逻辑符号连接起来,实现逻辑表达式功能的图。(4).卡诺图是

7、真值表的图形化,因此也称真值图。卡诺图主要用来化简逻辑函数。它具有直观、明了、易于化简等优点。,3.2. 逻辑电路基础,逻辑电路和逻辑器件的概念逻辑电路:实现逻辑函数的电路逻辑器件:利用逻辑电路做成的计算机系统中常用的器件计算机中常用的逻辑器件分为组合逻辑器件和时序逻辑器件两大类。,3.2.1.逻辑电路的分类,组合逻辑器件:如果该器件的输出状态仅和当时的输入状态有关,而与过去的输入状态无关,称为组合逻辑器件,常用的组合逻辑器件有加法器、算术逻辑运算单元、译码器、数据选择器等;时序逻辑器件:如果逻辑器件的输出状态不但和当时的输入状态有关,而且还和电路在此以前的输入状态有关,称该器件为时序逻辑器件

8、,时序电路内必须包含能存储信息的记忆元件触发器,它是构成时序逻辑电路的基本电路。常用的时序逻辑器件有寄存器、计数器等 。,3.2.2.基本逻辑电路,“与”、“或”、“非”三种基本逻辑运算的电路是三种基本逻辑门:“与”门、“或”门、“非”门(反相门)。把这三种基本逻辑门串联组合起来,可形成实现“与非”、“或非”、“与或非”、“异或”、“同或”等功能的与非门、或非门、与或非门、异或门、同或门(异或非门)。,3.2.2.1. 各种逻辑门的图形符号,3.2.3. 组合逻辑电路,逻辑电路中输出状态只与当时的输入状态有关,而与过去的输入状态无关,这种逻辑电路称为组合逻辑电路。本节介绍计算机中常用的组合逻辑

9、电路:加法器、算术逻辑单元、译码器和数据选择器。,本课程主要关心的组合逻辑电路,(1).加法器(2).算术逻辑单元(3).译码器(4).数据选择器,3.2.3.1.1 加法器,有两种加法部件:半加器和全加器。半加器:不考虑低位进位输入,两数码Ai、Bi相加的电路,Ci为向高位的进位。 它的功能表、符号和逻辑图如下。,用一个异或门和一个与门就可以构成一个半加器。其逻辑关系是: Si=AiBi Ci= AiBi,3.2.3.1.2 全加器,全加器是考虑低位进位输入Ci-1的加法器,其功能表、符号和逻辑图如下:,从全加器的逻辑图中可以看出,一个全加器可由一个或门、两个异或门和三个与门组成,也可由两个

10、半加器来形成。其逻辑关系为:Si=AiBiCi-1 Ci=AiBi+BiCi-1+AiCi-1,3.2.3.1.3 n位加法器,4位串行进位加法器的逻辑图如下。,n位串行进位加法器的加法时间较长,各位间的进位是串行传送的,高位全加必须等低位进位来到后才能进行,加法时间与位数有关。,3.2.3.2. 算术逻辑单元,算术逻辑单元简称ALU,是一种功能较强的组合逻辑电路,是计算机的运算器中都不可缺少的重要组成部件。ALU能进行多种算术运算和逻辑运算。ALU的基本逻辑结构是超前进位加法器,它是通过改变超前进位加法器的进位发生输出和进位传送输出来获得多种运算能力的。有关ALU的功能在后面的课程中再介绍。

11、,3.2.3.3.译码器,译码器是具有多个输入端和多个输出端的器件。当输入端加上某一组合信号时,对应这一组合信号的若干个输出端便有信号输出,也就是说,译码器是把输入的一种格式的代码信号译成另一种格式的信号,以实现代码所要求的操作的器件。根据使用方式的不同,译码器又称编码器或换码器。 译码器也是计算机中不可缺少的器件,主要用在控制器里的指令分析,存储器里的地址选择上。,3.2.3.3.1 译码电路的设计,以设计3-8译码电路为例。要求根据输入的3位二进制数编码来选择8个输出端中的哪一个有效。设计步骤如下:确定输入输出变量。设3个输入变量为x2x1x0,8个输出变量为y7y6y5y4y3y2y1y

12、0。给出真值表。真值表如下页所示。,3.2.3.3.2. 典型的译码器芯片,74LS138是一种常用的3-8译码器。其引脚图(a)和电路图(b)如下。,当G1端为“0”或G2端为“1”时,译码器此时输出的组合信号为全“1”。,3.2.3.4. 数据选择器,数据选择器MUX (Multiplexor/Selector)又称多路开关,是以“与或门”或“与或非门”为主的电路。 它的作用是在选择信号的作用下,从多个输入通道中选择一个通道的数据作为输出。,右图是4选1的MUX逻辑符号和功能表。有4个数据输入端A、B、C、D,输出端为Z(或),S1、S0为数据选择端。,该电路的逻辑函数为:,3.2.4.时

13、序逻辑电路,逻辑电路中输出状态不但和当时的输入状态有关,而且还与电路在此以前的输入状态有关,这种逻辑电路称为时序逻辑电路。时序逻辑电路中必须要有能存储信息的记忆元件触发器。本节先介绍触发器,接着介绍计算机中常用的时序逻辑电路寄存器和计数器。,3.2.4.1 触发器,触发器(flip-flop)是一种能记忆机器以前输入状态的存放二进制代码的单元电路,是构成计算机硬件系统中各种时序逻辑电路的基本电路。分类:按时钟控制方式来分,有电位触发、边沿触发、主-从触发等方式的触发器;按功能来分,有R-S型、D型、J-K型等触发器。,由与非门组成的触发器,其置1和置0都要0电平触发当 时, 为高电平,Q为低电

14、平,称为0状态。 时,Q为高电平, 为低电平,称为1状态。 时,触发器保持原状态不变。 时,触发器状态不定。一般在正常工作时,不允许出现这种状态。,3.2.4.1.1 R-S基本触发器,基本RS触发器工作原理,R-S同步触发器的翻转是在同步时钟(在CP端输入)的作用下同步地进行的。可由R-S基本触发器构成。 图中表示, 为置0端, 为置1端,CP为时钟脉冲。Q(t)称为触发器的原态,Q(t+1)为触发器的次态。,3.2.4.1.2 R-S同步触发器,3.2.4.1.3 D触发器,D触发器又称数据触发器。主要用来存放数据。D触发器的逻辑符号和真值表如下。 图中RD为置0端,SD为置1端(RDSD

15、也称异步输入端),D为同步输入端。触发器的状态由时钟脉冲到来时(前沿)D端的状态决定,当D=1时,触发器置1,当D=0时,触发器置0。这与触发器的原状态无关。,3.2.4.1.4 J-K触发器,其逻辑符号和真值表如下:RD为置0端,SD为置1端,K为同步置0输入端,J为同步置1输入端。当J=0,K=0时,CP脉冲不改变触发器的状态;当J=0,K=1时,CP脉冲使触发器置0;当J=1,K=0时,CP脉冲使触发器置1;当J=1,K=1时,CP脉冲使触发器翻转。,3.2.4.2 寄存器,寄存器:就是计算机中用来暂时存放数据代码的器件,它可以接受需要寄存的代码,也可以将寄存的代码送出去。 寄存器是由触

16、发器和一些控制门构成的,一个触发器可以寄存一位二进制代码,如果一个二进制数由n位组成,那么就需要有n个触发器排列起来组成一个寄存器。,3.2.4.2.1 寄存器原理图,下图是由正沿触发的D触发器组成的4位寄存器,在CP脉冲正沿作用下,外部数据才能进入寄存器。,3.2.4.2.2 常见寄存器的组成结构,(1).串行寄存器串行寄存器中每来一个同步脉冲CK,其内容就向QD方向移一位。,(2).并行寄存器:当时钟脉冲CP到来时,各触发器的输入端的数据可以被锁定至输出端以备输出的寄存器。,芯片74LS373是一种典型的并行寄存器,该芯片内含8个独立的D型触发器,故称作8D锁存器。锁存即保存数据不变的意思

17、。,(3) 移位寄存器,n位移位寄存器由n个D型触发器级联组成。电路一般按以下顺序进行工作。复位:在输入端R0将负脉冲作用于D型触发器的直接复位端RD,使触发器复位。触发器的输出 Q1=Q2=Q3=Qn=0置入数据:将输入的串行数据逐位送至DIN端,在时钟脉冲CP的作用下,顺次输入到D型触发器中,若DIN =1,则CP脉冲将使触发器FF1置位,否则将使FF1复位,即输入数据通过CP的作用寄存在D型触发器中。,数据移位:每个上游D触发器的输出,都与下游相邻的D触发器数据输入端D相接,因此,在移位的时钟脉冲CP的作用下,寄存器中的数据将向下游的D触发器移动,移动的位数与输入的时钟脉冲数一致。数据输

18、出:D触发器的各输出端Q,直接将移位寄存器内的数据并行输出。 上述工作过程是将串行的数据移位后并行输出。对于二进制数左移一次,相当乘2。移位寄存器也可将并行数据通过移位转换成串行输出。若将输入逻辑稍加变动,可用于双向移位(左移或右移),即移位寄存器既可用于乘法运算,又可用于除法运算。,3.2.4.3 计数器,计数器是指能对输入信号进行加或减运算的装置,是由触发器和控制门所组成的基本逻辑部件。 计数器在计算机中的主要用途是累计脉冲数目、定时或作分频器使用。,3.2.4.3.1 计数器的分类,1.按构成计数器的触发器的翻转次序分类,可分为“异步计数器”和“同步计数器”。2.按计数过程中计数器中数字

19、的增减来分类,可分为“加法计数器”、“减法计数器”和“可逆计数器”(“加减计数器”)。3.按计数器中数字的编码方式来分类,可分为“二进制计数器”和“十进制计数器”。,3.2.4.3.2 计数器的工作过程。,CP,初始时,Ri负脉冲清零,CP,Q0,Q1,Q2,Q3,CP上升沿使触发器状态翻转,第二节 运算器组织,3.2.1 CPU的基本组成,选择操作数组合,3.2.1.1 CPU 的内部结构,20位,AH AL,BH BL,CH CL,DH DL,SP,BP,DI,SI,通用寄存器,运算寄存器,ALU,标志,执行部分控制电路,1 2 3 4 5 6,CS,DS,SS,ES,IP,内部寄存器,I

20、/O控制电路,地址加法器,16位,8位,指令队列缓冲器,外总线,执行部件EU,总线接口部件BIU,8086CPU结构图,AX,BX,CX,DX,16位,3.2.1.2 运算部件,输出逻辑,ALU,运算部件包括输入逻辑、算术逻辑单元(ALU)、以及输出逻辑等,3.2.1.3 寄存器组,(1).通用寄存器组:存放操作数,可作 某种寻址方式所需的 专用寄存器,如80X86的EAXEDX(2).暂存器:不能被CPU直接编程访问,对用户透明(3).指令寄存器IR:保存当前正在执行的指令(4).程序计数器PC:保存下一条指令的地址(5).程序状态字PSW包括特征位:进位位C、溢出位V、零位Z、负位N、奇偶

21、校验为P等程序设定位:跟踪位T、中断位I等 (6).地址寄存器MAR:存放CPU需要访问的地址单元,对用户透明(7).数据缓冲器MBR:存放CPU和主存之间交换的数据,对用户透明,8086的PSW,16位寄存器,其中有7位未用。,D15,D0,OF DF IF TF SF ZF AF PF CF,进借位标志,奇偶标志,半进借位标志,零标志,符号标志,跟踪标志,中断允许,方向标志,溢出标志,1-有进、借位0-无进、借位,1-低8位有偶数个10-低8位有奇数个1,1-低4位向高4位有进、借位0-低4位向高4位无进、借位,1-结果为00-结果不为0,3.2.1.4 微命令产生部件,一条指令最终在计算

22、机中要分解为多个步骤、每一个步骤就是一个微命令,因此微命令可以理解为指令的分解动作。微命令产生部件分类:(1).组合逻辑控制方式(2).微程序控制方式,3.2.1.4 时序系统,1. 机器周期,(1) 机器周期的概念,(2) 确定机器周期需考虑的因素,(3) 基准时间的确定,所有指令执行过程中的一个基准时间,每条指令的执行 步骤,每一步骤 所需的 时间,以完成 最复杂 指令功能的时间 为准,以 访问一次存储器 的时间 为基准,若指令字长 = 存储字长,取指周期 = 机器周期,2. 时钟周期(节拍、状态),一个机器周期内可完成若干个微操作,每个微操作需一定的时间,时钟周期是控制计算机操作的最小单

23、位时间,将一个机器周期分成若干个时间相等的时间段(节拍、状态、时钟周期),用时钟周期控制产生一个或几个微操作命令,CLK,T0,T1,T2,T3,3. 多级时序系统,机器周期、节拍(状态)组成多级时序系统,一个指令周期包含若干个机器周期,一个机器周期包含若干个时钟周期,CLK,节拍(状态),节拍(状态),3.2.1.5 CPU内部的数据通路结构,1. 分离寄存器结构的CPU数据通路,特点:R各自独立;可同时向ALU提供两个操作数;采用单向内总线。,2. 集成寄存器结构的数据通路,特点:单口RAM不能同时向ALU提供两个操作数;用锁存器暂存操作数;采用双向内总线。,3. 位片式运算器,特点:用双

24、口RAM(两地址端、两数据端)作通用寄存器组,可同时提供数据;用多路选择器作输入逻辑,不需暂存操作数;ALU增加乘、除功能,用乘商寄存器存放乘数、乘积或商。,例. 4位片运算器粗框,3.2.2 时序控制方式,产生不同微操作命令序列所用的时序控制方式,3.2.2.1 同步控制方式,任一微操作均由 统一基准时间的时序信号控制,CLK,(1) 采用 定长 的机器周期,以 最长 的 微操作序列 和 最繁 的微操作作为 标准,机器周期内 节拍数相同,(2) 采用不定长的机器周期,节拍(状态),机器周期内 节拍数不等,(3) 采用中央控制和局部控制相结合的方法,局部控制的节拍宽度与中央控制的节拍宽度一致,

25、将大部分指令安排在固定的、较短的机器周期内完成,称为中央控制,对少数复杂指令(如,乘、除、浮点运算)采用另外的时序进行,称为局部控制,3.2.2.2 异步控制方式,无基准时标信号,无固定的周期节拍和严格的时钟同步,采用 应答方式,每条指令、每个操作控制信号需要多少时间就占用多少时间,物理硬件线路实现较复杂,每条指令的指令周期可由多个不等的机器周期数组成;也可以是当控制器发出某一操作控制信号后,等待执行部件完成操作后发回“回答”信号再开始新的操作。,特点:,3.2.2.3 联合控制方式,同步与异步相结合,对各种不同指令的微操作实行“大部分统一、小部分区别对待”,特点:,一种情况是:大部分操作序列

26、安排在固定的机器周期内,例如取指令操作;对某些时间难以确定的操作则以执行部件的“回答”信号作为本次操作的结束,例如CPU访问外设时,依靠其送来的“READY”信号作为读写周期的结束,另一种情况是:机器周期所包含的时钟周期数固定,但是各条指令周期的机器周期数不固定,3.2.3 控制器分类,3.2.3.2 微程序控制器,3.2.3.1 组合逻辑控制器,3.2.3.1 组合逻辑控制器,组合逻辑控制单元框图,IR,操作码译码,3.2.3.2 微程序控制器,微程序控制方式是指微命令产生不是由组合逻辑电路产生,而是由微指令译码产生,一条机器指令分为几步执行,将每步操作所需的若干微命令以代码的形式编写在一条

27、微指令中,若干微指组成一段微程序,对应一条机器指令,在设计CPU时,根据指令系统的需要,事先编制好微程序,并把他们存储到专用存储器中,称为控制存储器。,微程序控制单元的基本框图,顺序逻辑,CMAR,地址译码,至 CPU 内部和系统总线的控制信号,3.2.4 CPU与外部的信息交换,主机与外设的交换通过它们之间的数据传送通路实现,本小节主要讨论以下两个问题:3.2.4.1 主机与外设的连接3.2.4.2 信息传送方式,3.2.4.1 主机与外设之间的连接模式,(1).辐射型:主机与各个设备之间有单独连线,优点是信息传输速度快,缺点是扩展困难,为了连接更多设备,扩展出了实用星型连接(2).总线型:

28、主机与外设之间没有单独的连接通路,通过公共的系统总线交换信息,优点是外设扩展容易,缺点是信息的吞吐量受到限制。(3).通道型:在大型计算机中,专门设置控制部件来管理I/O操作,这种专门部件就是通道,主要优点是信息传输速度快,数据传输不占用CPU时间,辐射型连接图,主机,接口,实用星型连接图,主机,总线型连接图,主机,通道型连接图,主机,3.2.4.2 信息传送控制方式,信息传输需要解决几个问题:(1).CPU与外设的速度不同,在外设做准备或执行期间,CPU是等待还是并行直行主机的程序?(2).外设如何通知CPU去执行外设有关的I/O操作?(3).CPU通过什么方式执行I/O操作?是通过程序实现

29、I/O传送,还是通过硬件操作实现?,3.2.4.2.1 直接程序传送方式,直接程序传送方式又称为查询传送方式,即CPU不断查询外设的状态,当外设处于准备接收数据状态时,向外设发送控制命令或者接收外设的数据。,CPU启动外设,外设准备好?,CPU与外设交换数据,全部工作完成?,CPU清除外设,3.2.4.2.2 中断传送方式,CPU平时执行其他程序,当外设准备好和计算机传送数据时,触发中断,主机跳入到“中断程序”中,完成数据的传输,然后返回继续执行原来的程序,因此中断传输方式比查询传送方式具有更高的效率,开中断,启动外设,中断服务程序,中断请求,3.2.4.2.3 DMA传送方式,DMA传输即设

30、备直接读写计算机的内存,DMA传送期间,CPU放弃总线,让设备接管总线,此时CPU不能访问内存,但可以执行与内存无关的操作指令,DMA传送完成后,CPU接管总线,DMA传送通常和中断程序配合使用,即DMA传输完成后,触发中断,在中断程序中完成传送的善后处理,DMA初始化,启动外设,(DMA传送),(DMA传送),中断程序(善后处理),3.3 算术逻辑运算部件,3.3.1 加法单元3.3.2 并行加法器与进位逻辑结构3.3.3 多功能算术、逻辑运算部件3.3.4 运算器组织,3.3.1 加法单元,全加器逻辑图,3.3.2 并行加法器与进位逻辑结构,3.3.2.1 进位信号的基本逻辑,进位产生函数

31、: Gi = AiBi,进位传递函数: Pi = AiBi=Ai+Bi,=Gi+PiCi-1,3.3.2.2 串行进位与并行进位,(1). 串行进位:,C1 = G1+P1C0C2 = G2+P2C1 Cn = Gn+PnCn,(2). 并行进位:,C1 = G1+P1C0C2 = G2+P2G1+P2P1C0 Cn = Gn+PnGn-1+PnP1C0,把低位的进位函数依次带入高位的进位函数中得到:,3.3.2.3 分组进位,(1).组内采用并行进位,组间采用串行进位,(1).组内采用并行进位,组间也采用并行进位,C = G+PC0C = G+PG+PPC0 ,3.3.3 多功能算术、逻辑运

32、算部件,当 S3 = 0,S2=0 时:,当 S3 = 0,S2=1 时:,当 S3 = 1,S2=0 时:,当 S3 = 1,S2=1 时:,当 S1=0,S0=0 时:,当 S1=1,S0=0 时:,当 S1=0,S0=1 时:,当 S1=1,S0=1 时:,当 M=0,S0=1,S1=0,S2=0,S3=1 时:,可以得到:,实现全加功能,3.3.3.2 ALU 多位逻辑,SN74181为4位ALU,其中每一位的逻辑组成与1位逻辑ALU相同,4位共用一个控制门,由M控制做算术运算或逻辑运算,根据S3S2S1S0的不同状态,向全加器提供操作数的不同组合,实现选择运算功能SN74181片内采

33、用并行进位结构。若干片SN74181可以方便地构成更多位的ALU部件,还可以配合SN74182构成多位组间并行ALU,组间串联进位的ALU,第四节 运算方法,3.4.1.1 补码加减法,数用补码表示,符号位参加运算。,实际操作能否只取决于操作码?结果需不需修正?如何将减法转换为加法?,3.4.1 定点加减运算,1. 基本关系式,( X + Y )补 = X补 + Y补 (1) ( X - Y )补 = X补 + (-Y)补 (2),式(1):操作码为“加”时,两数直接相加。,3) X= 3 Y= 2,X补=0 0011 Y补=1 1110,0 0001,(+1补码),2) X= 3 Y= 2,

34、X补=1 1101 Y补=1 1110,1 1011,( 5补码),1) X=3 Y=2,X补=0 0011 Y补=0 0010,0 0101,(+5补码),4) X= 3 Y= 2,X补=1 1101 Y补=0 0010,1 1111,(1补码),例. 求(X+Y)补 (5位,含1位符号位),( X + Y )补 = X补 + Y补 (1) ( X - Y )补 = X补 + (-Y)补 (2),式(2):操作码为“减”时,将减转换为加。,1) X= 4 Y= 5,X补=0 0100 Y补=1 1011(-Y)补=0 0101,0 1001,(+9补码),2) X= 4 Y= 5,X补=1

35、1100 Y补=0 0101(-Y)补=1 1011,1 0111,(9补码),例. 求(X Y)补,Y补 (Y)补:,将Y补变补,不管Y补为正或负,将其符号连同尾数一起各位变反,末位加1。,即将减数变补后与被减数相加。,X补=0 0100 Y补=1 1011,X补=1 1100 Y补=0 0101,注意:某数的补码表示与某数变补的区别。,例. 1 0101原 1 1011,补码表示,1 0011补 0 1101,变补,0 0101原 0 0101,补码表示,符号位不变;,负数尾数改变,正数尾数不变。,0 0011补 1 1101,变补,符号位改变,,尾数改变。,补码的机器负数,2. 算法流程

36、,3. 逻辑实现,+1,(1)控制信号,加法器输入端:,+A:打开控制门,将A送。,+B:打开控制门,将B送。,+1:控制末位加 1 。,加法器输出端:,CPA:将结果打入A。,(2)补码加减运算器粗框,控制命令:,加 +A +B A CPA,3.4.1.2 溢出判断,在什么情况下可能产生溢出?,例.数A有4位尾数,1位符号SA 数B有4位尾数,1位符号SB,符号位参加运算,结果符号Sf符号位进位Cf尾数最高位进位C,正确,正溢,正确,负溢,正确,正确,1. 硬件判断逻辑一(SA、SB与Sf的关系),溢出=,SA,SB,Sf,SA,Sf,SB,正确,正溢,正确,负溢,正确,正确,Cf=0C =

37、0,Cf=0C =1,Cf=1C =1,Cf=1C =0,Cf=1C =1,Cf=0C =0,1,1,1,1,1,1,2. 硬件判断逻辑二(Cf与C的关系),第一符号位Sf1,第二符号位Sf2,3. 硬件判断逻辑三(双符号位),3.4.1.3 移位操作,逻辑移位,:数码位置变化,无数值含义。,1. 移位类型,算术移位,1 0 0 0 1 1 1 1,循环左移:,0,1 0 0 1 1 1 1,算术左移:,1,0,0,1,1,1,1,1,0,1,1,1,1,0,(-15),(-30),(1)单符号位 :,0 0111,0 1110,(2)双符号位:,00 1110,00 0111,2.正数补码移

38、位规则,(3)移位规则,0 0111,0 0011,01 1100,00 1110,00 0111,数符不变,(单:符号位不变;双:第一符号位不变)。,空位补0,(右移时第二符号位移至尾数最高位)。,(1)单符号位 :,1 1011,1 0110,(2)双符号位:,10 1100,11 0110,3.负数补码移位规则,(3)移位规则,1 1011,1 1101,11 0110,11 1011,数符不变,(单:符号位不变;双:第一符号位不变)。,左移空位补0,(第二符号位移至尾数最高位)。,右移空位补1,3.4.1.4 舍入方法,1. 0舍1入(原码、补码),0 00100原,1 00101原,

39、1 11011补,2. 末位恒置1(原码、补码),0 00100原,1 11011补,1 00101原,0 0010原,1 0011原,1 1110补,0 0011原,1 0011原,1 1101补,1 0011原,1 1101补,例. 保留4位尾数:,例. 保留4位尾数:,3.4.2 定点乘法运算,3.4.2.1 原码一位乘法 每次用一位乘数去乘被乘数。 1.算法分析,例. 0.11011.1011,X原,Y原,(1)手算 0.1101 0.1011,1101 1101 0000 1101,0.10001111上符号:1.10001111,部分积,问题:1)加数增多(由乘数位数决定)。 2)

40、加数的位数增多(与被乘数、乘 数位数有关)。改进:将一次相加改为分步累加。,(2)分步乘法,每次将一位乘数所对应的部分积与原部分积的累加和相加,并移位。,设置寄存器: A:存放部分积累加和、乘积高位 B:存放被乘数 C:存放乘数、乘积低位,步数 条件 操作 A C,00.0000 .1011,1),Cn=1,+B,Cn,+ 00.1101,00.1101,1101,00.0110,1.101,0.1101 0.1011,2),Cn=1,+B,+ 00.1101,01.0011,00.1001,11.10,0.1101 0.1011,3),Cn=0,+0,+ 00.0000,00.1001,00

41、.0100,111.1,4),Cn=1,+B,+ 00.1101,01.0001,00.1000,1111,X原Y原 = 1.10001111,2.算法流程,Y,Y,N,N,3.逻辑实现,&,&,4.运算规则,(1)操作数、结果用原码表示;(2)绝对值运算,符号单独处理;(3)被乘数(B)、累加和(A)取双符号位;(4)乘数末位(Cn)为判断位,其状态决定 下步操作;(5)作n次循环(累加、右移)。,3.4.2.2 补码一位乘法,(1)Y为正:Y补 = 0.Y1Y2Yn (XY)补 = X补(0.Y1Y2Yn)(2)Y为负:Y补 = 1.Y1Y2Yn (XY)补 = X补(0.Y1Y2Yn)+

42、(-X)补(3)Y符号任意: (XY)补 = X补(0.Y1Y2Yn)+(-X)补Y0,符号位,1.算法分析 X补 = X0.X1X2Xn,(4)展开为部分积的累加和形式:(XY)补 = X补(0.Y1Y2Yn)+(-X)补Y0,= X补(0.Y1Y2Yn)-X补Y0,Yn+1,比较法:用相邻两位乘数比较的结果决定 +X补、-X补或+0。,2.比较法算法 Yn(高位) Yn+1(低位) 操作(A补为部分积累加和),0 00 11 01 1,1/2A补 1/2(A补+X补) 1/2(A补-X补) 1/2A补,( 0 ),( 1 ),(-1 ),( 0 ),3.运算实例X=-0.1101,Y=-0

43、.1011,求(XY)补。初值:A=00.0000,B=X补=11.0011,-B=(-X)补=00.1101, C =Y补=1.0101,注意: 需要4个寄存器,A,B,-B用双符号位,C用单符号位,C寄存器末位增加1位,称为Cn+1,初值该位为0,0,步数 条件 操作 A C,00.0000 1.0101,1),1 0,-B,Cn,+ 00.1101,00.1101,00.0110,11.0101,2),0 1,+B,+ 11.0011,11.1001,11.1100,111.010,3),1 0,-B,+ 00.1101,00.1001,00.0100,1111.01,4),0 1,+B

44、,+ 11.0011,11.0111,11.1011,11111.0,0,Cn+1,Cn Cn+1,5),1 0,-B,+ 00.1101,00.1000,1111,修正,(XY)补= 0.10001111,1.0 : -B修正, 0.1 : +B修正0.0 : 不修正, 1.1 : 不修正,4.算法流程,0A,X补B,-X补 -B,Y补C,添加Cn+1位,CR=0,CnCn+1=01?,CnCn+1=00 ?,CnCn+1=10?,A+B A,A+(-B) A,CR+1CR,CR=n ?,CnCn+1=01?,CnCn+1=00 ?,CnCn+1=10?,A+B A,A+(-B) A,(X补

45、Y补)高位=A, (X补Y补)低位=C,(1)A、B取双符号位,符号参加运算;(2)C取单符号位,符号参加移位,以决定最后是否 修正;(3)C末位设置附加位Cn+1,初值为0,CnCn+1组成判 断位,决定运算操作;(4)作n步循环,若需作第n+1步,则不移位,仅修正。,4.运算规则,3.4.3 定点除法运算,例. 0.101100.11111,0.10110,1101,0.,0,1,11111,0.11111,0,0,0,1,11111,10101,0,1,11111,1011,0,0,.,00000,.,0.,商: 0.10110余数:0.101102,实现除法的关键:比较余数、除数绝对值大小,以决定上商。,3.4.3.1 原码恢复余数法1.算法 比较两数大小可用减法试探。,2余数-除数=新余数,为正:够减,商1。为负:不够减,商0,恢复原余数。,2.实例,X=-0.10110,Y=0.11111,求X/Y,给出商Q和余数R,设置:A:被除数、余数,B:除数,C:商,初值:A= X = 00.10110,B= Y = 00.11111,C= Q = 0.00000,-B= 11.00001,步数 条件 操作 A C,00.10110 0.00000,1),0,-B,01.01100,+11.00001,00.01101,0.00001,2),1,-B,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 1

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。