第2篇-计算机系统分层结构-第3章-微体系结构层课件.ppt

上传人(卖家):晟晟文业 文档编号:4538079 上传时间:2022-12-17 格式:PPT 页数:151 大小:2.86MB
下载 相关 举报
第2篇-计算机系统分层结构-第3章-微体系结构层课件.ppt_第1页
第1页 / 共151页
第2篇-计算机系统分层结构-第3章-微体系结构层课件.ppt_第2页
第2页 / 共151页
第2篇-计算机系统分层结构-第3章-微体系结构层课件.ppt_第3页
第3页 / 共151页
第2篇-计算机系统分层结构-第3章-微体系结构层课件.ppt_第4页
第4页 / 共151页
第2篇-计算机系统分层结构-第3章-微体系结构层课件.ppt_第5页
第5页 / 共151页
点击查看更多>>
资源描述

1、1第第2 2篇篇 计算机系统分层结构计算机系统分层结构 在本篇用在本篇用3章分三个层次,即微体系结构层、指章分三个层次,即微体系结构层、指令系统层和汇编语言层讨论计算机系统的组成。令系统层和汇编语言层讨论计算机系统的组成。微体系结构层是具体的硬件层次,可看作是指令系微体系结构层是具体的硬件层次,可看作是指令系统的解释器。统的解释器。指令系统层是一个抽象的层次,其指令系统是一种指令系统层是一个抽象的层次,其指令系统是一种硬件和编译器都可识别的机器语言。硬件和编译器都可识别的机器语言。汇编语言层提供的语言,是将机器语言汇编语言层提供的语言,是将机器语言“符号化符号化”以便于人们理解。以便于人们理解

2、。用汇编语言编写的程序先由汇编器翻译成机器语用汇编语言编写的程序先由汇编器翻译成机器语言程序,再由微体系结构层解释执行。言程序,再由微体系结构层解释执行。2第第3 3章章 微体系结构层微体系结构层CPU CPU 组织组织 在微体系结构层在微体系结构层,是从寄存器级分析是从寄存器级分析CPU的的结构和功能。本章主要内容:结构和功能。本章主要内容:3.1 CPU的基本组成和功能的基本组成和功能3.2 算术逻辑部件算术逻辑部件ALU和运算方法和运算方法3.3 CPU模型机的组成及其数据通路模型机的组成及其数据通路3.4 组合逻辑控制器原理组合逻辑控制器原理3.5 微程序控制器原理微程序控制器原理3.

3、6 精简指令集计算机(精简指令集计算机(RISC)3 中央处理器中央处理器CPU的主要功能是从主存储器中取的主要功能是从主存储器中取出指令、分析指令和执行指令,即按指令控制计算出指令、分析指令和执行指令,即按指令控制计算机各部件操作,并对数据进行处理。机各部件操作,并对数据进行处理。3.1 CPU3.1 CPU的组成和功能的组成和功能第第3 3章章 微体系结构层微体系结构层CPU CPU 组织组织43.1.1 CPU3.1.1 CPU的组成的组成CPUCPU通常由以下几部分构成通常由以下几部分构成:控制器控制器;算术逻辑部件算术逻辑部件ALU;ALU;各种寄存器各种寄存器;CPUCPU内部总线

4、。内部总线。CPU的基本组成框图 51 1ALUALU部件与寄存器部件与寄存器ALU框图(1 1)ALUALU部件部件 ALU ALU的功能是实现数据的的功能是实现数据的算算术与逻辑运算术与逻辑运算。ALU ALU的输入有两个端口,分别接收参加运算的两个操的输入有两个端口,分别接收参加运算的两个操作数,通常它们来自作数,通常它们来自CPUCPU中的通用寄存器或中的通用寄存器或ALUALU总线。总线。ALUALU的输的输出取决于对其功能的控制,当控制功能选择加、减、与、或出取决于对其功能的控制,当控制功能选择加、减、与、或等运算功能之一时,其输出结果将为对应的和、差、与值、等运算功能之一时,其输

5、出结果将为对应的和、差、与值、或值等。或值等。6(2 2)寄存器)寄存器 CPU CPU 中的寄存器包括存放中的寄存器包括存放控制信息控制信息的寄存器,如的寄存器,如指令寄存指令寄存器器、程序计数器程序计数器和和状态字寄存器状态字寄存器;以及存放所;以及存放所处理数据处理数据的寄的寄存器,如存器,如通用寄存器通用寄存器和和暂存器暂存器。寄存器寄存器 通常通常CPUCPU内部设置有一组寄存器,每个寄存器都可以承担多种内部设置有一组寄存器,每个寄存器都可以承担多种用途,因此习惯上称为通用寄存器。用途,因此习惯上称为通用寄存器。通用寄存器本身在逻辑上只具有接收信息、存储信息和发送信通用寄存器本身在逻

6、辑上只具有接收信息、存储信息和发送信息的功能。但通过编程以及与息的功能。但通过编程以及与ALUALU的配合可以实现多种功能,如它的配合可以实现多种功能,如它们可为们可为ALUALU提供操作数并存放运算结果,也可用作变址寄存器、地提供操作数并存放运算结果,也可用作变址寄存器、地址指针和计数器等。址指针和计数器等。器 在在CPUCPU中一般要设置暂存器,主要是为了暂存从主存储器读中一般要设置暂存器,主要是为了暂存从主存储器读出的数据出的数据,暂存器没有寄存器号,因此不能直接编程访问它们。暂存器没有寄存器号,因此不能直接编程访问它们。7 寄存器寄存器IRIR(I Instruction nstruc

7、tion R Registeregister)用来存放当前正在执行的一条指令。用来存放当前正在执行的一条指令。指令可划分为指令可划分为操作码操作码和和地址码地址码字段,由二进制代码组成。执字段,由二进制代码组成。执行指令时必须对操作码进行译码,以识别出所要求的操作,这个功行指令时必须对操作码进行译码,以识别出所要求的操作,这个功能由能由“指令译码器指令译码器”完成。完成。计数器计数器PCPC(P Program rogram C Counterounter)用以存放当前或下一条用以存放当前或下一条指令指令在主存中的在主存中的地址地址,因此又称为指,因此又称为指令计数器或指令指针令计数器或指令指

8、针IPIP(Instruction PointerInstruction Pointer)。)。寄存器寄存器 CPU CPU内部设置的状态寄存器,用来存放当前程序的内部设置的状态寄存器,用来存放当前程序的运行状态运行状态和和工作方式工作方式,其内容称为程序状态字,其内容称为程序状态字PSWPSW(Program State WordProgram State Word),),PSWPSW是参与控制程序执行的重要依据。是参与控制程序执行的重要依据。82 2总线总线 所谓总线是一组能为多个部件所谓总线是一组能为多个部件分时共享分时共享的公共信息传送线路,的公共信息传送线路,它分时接收各部件送来的信

9、息,并发送信息到有关部件。它分时接收各部件送来的信息,并发送信息到有关部件。由于多个部件连接在一组公共总线上,可能会出现多个部件由于多个部件连接在一组公共总线上,可能会出现多个部件争争用用总线,因此需设置总线控制逻辑以解决总线控制权的有关问题。总线,因此需设置总线控制逻辑以解决总线控制权的有关问题。CPUCPU内部总线内部总线用来连接用来连接CPUCPU内的各寄存器与内的各寄存器与ALUALU;总线分类:系统总线系统总线用来连接用来连接CPUCPU、主存储器与、主存储器与I/OI/O接口,它通常包括三接口,它通常包括三组:组:数据数据总线、总线、地址地址总线和总线和控制控制总线。总线。按总线传

10、送的方向可将总线分为按总线传送的方向可将总线分为单向单向总线和总线和双向双向总线。总线。93 3CPUCPU内部数据通路内部数据通路 CPU CPU内部寄存器及内部寄存器及ALUALU之间通常用总线方式传送数据信息。之间通常用总线方式传送数据信息。介绍介绍两种常见的结构。两种常见的结构。(1 1)单总线单总线数据通路结构数据通路结构采用单总线结构的采用单总线结构的CPUCPU数据通路数据通路 10 CPU CPU数据通路结构只采用数据通路结构只采用一组内总线一组内总线,它是,它是双向双向总线。通用总线。通用寄存器组、其他寄存器和寄存器组、其他寄存器和ALUALU均连在这组内总线上。均连在这组内

11、总线上。CPU CPU内各寄存器间的数据传送必须通过内总线进行,内各寄存器间的数据传送必须通过内总线进行,ALUALU通过内通过内总线得到操作数,其运算结果也经内总线输出。总线得到操作数,其运算结果也经内总线输出。(2 2)多组内总线结构)多组内总线结构采用三总线结构的采用三总线结构的CPUCPU数据通路数据通路 为了提高为了提高CPUCPU的工作速度,一种方法是在的工作速度,一种方法是在CPUCPU内部设置多组内总内部设置多组内总线,使几个数据传送操作能够同时进行,即实现部分并行操作。线,使几个数据传送操作能够同时进行,即实现部分并行操作。113.1.2 3.1.2 指令执行过程指令执行过程

12、 CPU CPU的主要功能就是的主要功能就是执行存放在存储器中的指令序列执行存放在存储器中的指令序列,即,即程序。程序。1 1指令的分段执行过程指令的分段执行过程 任何一条指令的执行都要经过任何一条指令的执行都要经过读取读取指令、指令、分析分析指令和指令和执行执行指指令令3 3个阶段。个阶段。执行阶段还可细分执行阶段还可细分为:(1 1)取指令)取指令(2 2)分析指令)分析指令(3 3)执行指令)执行指令 取操作数取操作数 执行操作执行操作 形成下一条指令地址形成下一条指令地址 此外,此外,CPUCPU还应该对运行过程中出现的某些还应该对运行过程中出现的某些异常情况异常情况或或输入输入/输出

13、请求输出请求进行处理进行处理 122 2指令之间的衔接方式指令之间的衔接方式 指令之间的衔接方式有两种:指令之间的衔接方式有两种:串行串行的顺序安排方式与的顺序安排方式与并行并行的的重叠处理方式。重叠处理方式。3.1.3 3.1.3 时序控制方式时序控制方式 执行一条指令的过程可分为几个阶段,而每一阶段又分为若干执行一条指令的过程可分为几个阶段,而每一阶段又分为若干步基本操作,每一步操作则由控制器产生一些相应的控制信号实现。步基本操作,每一步操作则由控制器产生一些相应的控制信号实现。因此,每条指令都可分解为一个控制信号序列,指令的执行过程就因此,每条指令都可分解为一个控制信号序列,指令的执行过

14、程就是依次执行一个确定的是依次执行一个确定的控制信号序列控制信号序列的过程。的过程。时序控制方式时序控制方式就是指微操作与时序信号之间采取何种关系,就是指微操作与时序信号之间采取何种关系,它不仅直接决定时序信号的产生,也影响到控制器及其他部件的组它不仅直接决定时序信号的产生,也影响到控制器及其他部件的组成,以及指令的执行速度。成,以及指令的执行速度。131 1同步控制方式同步控制方式 同步控制方式是指各项操作由同步控制方式是指各项操作由统一统一的时序信号进行同步控制。的时序信号进行同步控制。同步控制的基本特征是将操作时间分为若干长度相同的同步控制的基本特征是将操作时间分为若干长度相同的时钟时钟

15、周期周期(也称为节拍),要求在一个或几个时钟周期内完成各个(也称为节拍),要求在一个或几个时钟周期内完成各个微微操作操作。在在CPUCPU内部通常是采用同步控制方式内部通常是采用同步控制方式。同步控制方式的优点是时序关系简单,结构上易于集中,相应同步控制方式的优点是时序关系简单,结构上易于集中,相应的设计和实现比较方便。的设计和实现比较方便。2 2同步控制方式的多级时序系统同步控制方式的多级时序系统(1 1)多级时序的概念)多级时序的概念 在同步控制方式中,通常将时序信号划分为几级(其中包括指在同步控制方式中,通常将时序信号划分为几级(其中包括指令周期),称为多级时序。令周期),称为多级时序。

16、机器周期机器周期 节拍(时钟周期节拍(时钟周期)时钟脉冲信号时钟脉冲信号14(2 2)多级时序信号之间的关系)多级时序信号之间的关系三级时序信号之间的关系三级时序信号之间的关系 15(3 3)时序系统的组成)时序系统的组成时序系统框图时序系统框图 3.1.4 3.1.4 指令流水线指令流水线 两段指令流水线两段指令流水线 16为获得进一步的加速,流水线可以分成更多的阶段。为获得进一步的加速,流水线可以分成更多的阶段。取指令取指令计算操作数地计算操作数地址址译码指令译码指令写操作数写操作数取操作数取操作数执行指令执行指令指令流水线操作时序图指令流水线操作时序图 影响流水线性能主要有以下几个因素:

17、影响流水线性能主要有以下几个因素:(1)若各个阶段不全是相等的时间)若各个阶段不全是相等的时间(2)流水线中的相关问题)流水线中的相关问题(3)当遇到条件转移指令时)当遇到条件转移指令时(4)当)当I/O设备有中断请求或机器有故障时设备有中断请求或机器有故障时173.2 3.2 算术逻辑部件算术逻辑部件ALUALU和运算方法和运算方法 算术逻辑部件算术逻辑部件ALUALU主要完成对二进制代码的定点主要完成对二进制代码的定点算术运算算术运算和和逻辑运算逻辑运算。3.2.1 3.2.1 算术逻辑部件算术逻辑部件ALUALU算术逻辑部件算术逻辑部件ALUALU的硬件实现涉及三个问题:的硬件实现涉及三

18、个问题:(1 1)如何构成一位二进制加法单元,即全加器。)如何构成一位二进制加法单元,即全加器。(2 2)n n位全加器连同进位信号传送逻辑,构成一个位全加器连同进位信号传送逻辑,构成一个n n位并行加法器。位并行加法器。(3 3)以加法器为核心,通过输入选择逻辑扩展为具有多种算术和逻)以加法器为核心,通过输入选择逻辑扩展为具有多种算术和逻辑运算功能的辑运算功能的ALUALU。181 1全加器全加器 用半加器构成的全加器用半加器构成的全加器 iiiiCBAiiiiiiC)BA(BAC1和和进位进位目前,广泛采用半加器构成全加器。目前,广泛采用半加器构成全加器。通常逻辑门电路都存在延通常逻辑门电

19、路都存在延迟时间,全加器电路就是一个迟时间,全加器电路就是一个延迟部件,正是这个延迟特性延迟部件,正是这个延迟特性将影响全加器的速度。将影响全加器的速度。192 2并行加法器与进位链结构并行加法器与进位链结构 用用n n位全加器实现两个位全加器实现两个n n位操作数各位同时相加,这种加法器称位操作数各位同时相加,这种加法器称为并行加法器。并行加法器中全加器的位数与操作数的位数相同。为并行加法器。并行加法器中全加器的位数与操作数的位数相同。(1 1)基本进位公式)基本进位公式设相加的两个设相加的两个n n位操作数为位操作数为:021AAAAAinn021BBBBinnBiiiiii)CB(ABA

20、C1进位信号的逻辑式 可以看出可以看出C C 由两部分组成:由两部分组成:1iiiiii)CB(ABA与我们定义两个辅助函数:我们定义两个辅助函数:iiiBAG iiiBAP进位产进位产生函数生函数进位传进位传递函数递函数因此有:因此有:iiiiCPGC120(2 2)并行加法器的串行进位)并行加法器的串行进位 采用串行进位的并行加法器,是将采用串行进位的并行加法器,是将n n个全加器串接起来,就可个全加器串接起来,就可进行两个进行两个n n位数相加。位数相加。11111111111111112000000001)CB(ABACPGC)CB(ABACPGC)CB(ABACPGCnnnnnnnn

21、n 由于串行进位的延迟时间较长,所以在由于串行进位的延迟时间较长,所以在ALUALU中很少采用纯串行中很少采用纯串行进位的方式。但这种方式可节省器件,成本低,在分组进位方式中进位的方式。但这种方式可节省器件,成本低,在分组进位方式中局部采用有时也是可取的。局部采用有时也是可取的。213 3并行进位(先行进位、同时进位)并行进位(先行进位、同时进位)为了提高并行加法器的运算速度,就必须解决进位传递的问题。为了提高并行加法器的运算速度,就必须解决进位传递的问题。方法是让各级进位信号同时形成,而不是串行形成。方法是让各级进位信号同时形成,而不是串行形成。00123012312323333340012

22、012122222300101111120001CPPPPGPPPGPPGPGCPGCCPPPGPPGPGCPGCCPPGPGCPGCCPGC 这种同时形成各位进位的方法称为这种同时形成各位进位的方法称为并行进位并行进位或或先行进位先行进位,又称为又称为同时进位同时进位。虽然并行进位加法器的运算速度快,但这是以增加硬件逻辑线虽然并行进位加法器的运算速度快,但这是以增加硬件逻辑线路为代价的。两种常用的路为代价的。两种常用的分组进位分组进位结构是:两种常用的分组进位结构是:两种常用的分组进位结构是:结构是:组内并行、组间串行的进位链。组内并行、组间串行的进位链。组内并行、组间并行的进位链。组内并行

23、、组间并行的进位链。224 4ALUALU举例举例SN74181SN74181框图框图 一位一位ALUALU单元单元 233.2.2 3.2.2 定点数运算方法定点数运算方法 数值运算的核心是指加、减、乘、除四则算术。由于计算机中数值运算的核心是指加、减、乘、除四则算术。由于计算机中的数有定点和浮点两种表示形式,因此相应有的数有定点和浮点两种表示形式,因此相应有定点数定点数的运算和的运算和浮浮点数点数的运算。的运算。1 1定点加减运算定点加减运算(1 1)原码加减运算)原码加减运算 例如,加法指令指示做(例如,加法指令指示做(+A+A)+(-B-B),由于一个操作数为负,),由于一个操作数为负

24、,实际操作是做减法(实际操作是做减法(+A+A)-(+B+B),结果符号与绝对值大的符号相),结果符号与绝对值大的符号相同。同理,在减法指令中指示做(同。同理,在减法指令中指示做(+A+A)-(-B-B),实际操作是做加),实际操作是做加法(法(+A+A)+(+B+B),结果与被减数符号相同。),结果与被减数符号相同。(2 2)补码加减运算)补码加减运算 补码加法运算补码加法运算 X X +Y Y =X X+Y Y 补补补 补码减法运算补码减法运算 X XY Y =X X+(-+(-Y Y)=)=X X +-+-Y Y 补补补补24 补码运算规则补码运算规则 根据以上讨论,可将补码加减规则归纳

25、根据以上讨论,可将补码加减规则归纳如下:如下:参加运算的操作数用补码表示。参加运算的操作数用补码表示。符号位参加运算。符号位参加运算。若指令操作码为加,则两数直接相加;若操作码为减,若指令操作码为加,则两数直接相加;若操作码为减,则将减数连同符号位一起变反加则将减数连同符号位一起变反加1 1后再与被减数相加。后再与被减数相加。运算结果用补码表示。运算结果用补码表示。【例【例3-33-3】X X =00110110=00110110,Y Y =11001101=11001101,求,求 X X+Y Y ,X X-Y Y 。补补补补25(3 3)溢出判别)溢出判别在什么情况下可能产生溢出在什么情况

26、下可能产生溢出?例例.A.A有有4 4位尾数,位尾数,1 1位符号位符号S Sn n 数数B B有有4 4位尾数,位尾数,1 1位符号位符号S Sn n符号位参符号位参加运算加运算结果符号结果符号S Sn n符号位进位符号位进位C Cn n尾数最高位进位尾数最高位进位Cn-1Cn-1260 00111110 0001101(1)A=31 B=13 31+13:0 0101100 1 11000011 1110100(2)A=-31 B=-13-31-13:1 1010101 0 11111110 1000001(3)A=63 B=66 63+66:1 0000001 1 10000011 01

27、11110(4)A=-63 B=-66-63-66:0 1111111 正溢正溢负溢负溢27 采用一个符号位判断采用一个符号位判断溢出溢出=S+A B=S+A B nAnBnSnnn 采用最高有效位的进位判断采用最高有效位的进位判断溢出溢出=C +C =C C=C +C =C C 1nnCn1Cnn1n 采用变形补码判断采用变形补码判断(双符号位双符号位)用用S S 、S Sn n分别表示结果最高符号位和第分别表示结果最高符号位和第2 2符号位符号位 1n溢出溢出=S S=S S 1nn282 2移位移位 移位操作按移位性质可分为移位操作按移位性质可分为3 3种类型:种类型:逻辑移位逻辑移位、

28、循环移位循环移位和和算术移位算术移位。移位示意图移位示意图 293 3定点数乘除运算定点数乘除运算(1 1)无符号整数一位乘)无符号整数一位乘法法【例【例3-103-10】11011101 10111011的运算过程如图所示。的运算过程如图所示。30(2 2)无符号整数一位除法)无符号整数一位除法【例【例3-113-11】用不恢复余数法计算用不恢复余数法计算000010000000100000110011。解:解:A A、C C:0000100000001000;B B:00110011;:;:11011101。其。其运算过程如图:运算过程如图:313.2.3 3.2.3 浮点数运算方法浮点数

29、运算方法1 1浮点数加减运算浮点数加减运算 设有两个浮点数:设有两个浮点数:X X=MxMx ,Y Y=MyMy 。要实现。要实现X X+Y Y的运算,的运算,需要以下需要以下4 4个步骤才能完成。个步骤才能完成。XE2YE2 对阶操作对阶操作 对阶的规则是对阶的规则是:阶码小的数向阶码大的数对齐阶码小的数向阶码大的数对齐 实现尾数的加(减)运算实现尾数的加(减)运算 结果规格化和判溢出结果规格化和判溢出a左规左规 b右规右规 若运算结果是非规格化的数,若运算结果是非规格化的数,例如尾数是例如尾数是11.1xx11.1xx或或00.0 xx00.0 xx形式,就需要将尾数形式,就需要将尾数左移

30、,每左移一位,阶码减左移,每左移一位,阶码减1 1,直至满足规格化条件为止(即直至满足规格化条件为止(即尾数最高有效位的真值为尾数最高有效位的真值为1 1,或尾数符与最高有效位不等),或尾数符与最高有效位不等),这个过程称为左规。在左规的这个过程称为左规。在左规的同时应判断结果是否会下溢,同时应判断结果是否会下溢,即阶码小于所能表示的最小负即阶码小于所能表示的最小负数。数。若运算结果尾数发生溢出,例若运算结果尾数发生溢出,例如尾数为如尾数为10.xxx10.xxx或或01.xxx01.xxx形式,这并不表明浮形式,这并不表明浮点结果会溢出,此时需调整阶点结果会溢出,此时需调整阶码,将尾数右移一

31、位,阶码加码,将尾数右移一位,阶码加1 1,称为右规。右规时,应判,称为右规。右规时,应判断结果是否会上溢,即阶码大断结果是否会上溢,即阶码大于所能表示的最大正数。于所能表示的最大正数。舍入操作舍入操作 32 下面举一个浮点加的实例。下面举一个浮点加的实例。【例【例3-123-12】设有两个浮点数设有两个浮点数X X=2 =2 0.1101010.1101012 2,Y Y=2 =2 (-(-0.101011)0.101011)2 2。20102010阶码阶码 尾数尾数 X X 浮浮=11,10=11,10;00.11010100.110101 Y Y 浮浮=11,11=11,11;11.01

32、010111.010101 对阶对阶 E E=EXEX+-+-EYEY=1110+0001=1111=1110+0001=1111,即,即 E E=-1=-1,将将MXMX右移一位,右移一位,其阶码加其阶码加1 1,得,得 补补补 =11 =11,1111;00.01101100.011011(用(用0 0舍舍1 1入法)入法)浮X 尾数求和尾数求和 00.011011+11.010101 11.110000补XM补YM 规格化及判溢出规格化及判溢出 左规得X+Y浮浮=1110;11.10000 舍入舍入 由于是左规,结果不需要舍入。由于是左规,结果不需要舍入。最后运算结果的真值为最后运算结果

33、的真值为X+Y=2 (-0.100000)2。2010332 2浮点数乘除运算浮点数乘除运算(1 1)浮点数乘法运算)浮点数乘法运算 阶码相加并判溢出阶码相加并判溢出 尾数相乘尾数相乘 规格化处理规格化处理 (2 2)浮点数除法运算)浮点数除法运算 求阶差求阶差 尾数相除尾数相除 预置预置 检测被除数是否为检测被除数是否为0 0,若为,若为0 0则置商为则置商为0 0。如果除数为。如果除数为0 0,则置则置0 0除数标志,转中断处理。除数标志,转中断处理。尾数调整尾数调整 343.2.4 3.2.4 十进制数加减运算十进制数加减运算1 1进制转换进制转换2 2直接进行十进制数运算直接进行十进制

34、数运算 机器内部所处理的十进制数采用二机器内部所处理的十进制数采用二-十进制数(十进制数(BCDBCD码)表码)表示形式,其运算由示形式,其运算由BCDBCD码运算指令完成。目前,计算机实现码运算指令完成。目前,计算机实现BCDBCD码运算的方法有两种:码运算的方法有两种:机器的指令系统中设有专用进行机器的指令系统中设有专用进行BCDBCD码加、减、乘、除的运算指令。码加、减、乘、除的运算指令。先用二进制数的加、减、乘、除指令进行运算,紧接着用先用二进制数的加、减、乘、除指令进行运算,紧接着用BCDBCD码校正码校正指令对运算结果进行校正。指令对运算结果进行校正。3 3BCDBCD码的加法运算

35、码的加法运算 在在BCDBCD码中,每位十进制数与小于或等于码中,每位十进制数与小于或等于9 9的二进制数的二进制数相同,但求得的和可能大于相同,但求得的和可能大于9 9,因而需要校正。,因而需要校正。353.3 3.3 CPUCPU模型机的组成及其数据通路模型机的组成及其数据通路3.3.1 3.3.1 基本组成基本组成模型机数据通路结构图模型机数据通路结构图363.3.1 3.3.1 基本组成基本组成1 1寄存器寄存器(1 1)可编程寄存器)可编程寄存器 通用寄存器有通用寄存器有4 4个:个:R R0 0、R R1 1、R R2 2、R R3 3;堆栈指针为;堆栈指针为SPSP;程序状态字寄

36、存;程序状态字寄存器为器为PSWPSW;程序计数器为;程序计数器为PCPC。(2 2)暂存器)暂存器暂存器有暂存器有3 3个:个:C C、D D、Z Z 。(3 3)指令寄存器)指令寄存器IRIR指令寄存器指令寄存器IRIR用来存放当前正在执行的一条指令用来存放当前正在执行的一条指令。(4 4)与主存接口的寄存器)与主存接口的寄存器MARMAR、MDRMDR CPU CPU对主存的控制信号有两个:读信号对主存的控制信号有两个:读信号RDRD控制对主存的读操作;写信号控制对主存的读操作;写信号WRWR控制对主存的写操作。控制对主存的写操作。372 2运算部件运算部件 ALU ALU的输入的输入A

37、 A来自暂存器来自暂存器D D,输入,输入B B来自来自ALUALU总线,运算结果输出总线,运算结果输出到到Z Z。控制。控制ALUALU运算的控制信号有:运算的控制信号有:ADDADD、SUBSUB、ANDAND、OROR、XORXOR、COMCOM、NEGNEG、A+1A+1、A-1A-1、B+1B+1、B-1B-1,它们分别控制,它们分别控制ALUALU完成加、减、与、或、完成加、减、与、或、异或、求负、求反等运算。异或、求负、求反等运算。3 3总线与数据通路结构总线与数据通路结构(1 1)ALU ALU 总线总线 CPU CPU内部采用单总线结构,即设置一组内部采用单总线结构,即设置一

38、组ALUALU总线(也称为总线(也称为CPUCPU内内总线),由总线),由1616根双向数据传送线组成,根双向数据传送线组成,ALUALU和所有寄存器通过这组和所有寄存器通过这组公共总线连接起来。公共总线连接起来。(2 2)系统总线)系统总线 模型机的模型机的CPUCPU、存储器及、存储器及I/OI/O设备分别挂接在一组系统总线上。设备分别挂接在一组系统总线上。系统总线包括:系统总线包括:1616根地址总线、根地址总线、1616根数据总线,以及控制总线。为根数据总线,以及控制总线。为简单起见,模型机采用简单起见,模型机采用同步控制同步控制方式。方式。384 4控制器及微命令的基本形式控制器及微

39、命令的基本形式(1 1)微命令的基本形式)微命令的基本形式 在模型机中,微命令有两种形式。在模型机中,微命令有两种形式。电位型微命令电位型微命令 各寄存器输出到各寄存器输出到ALU总线的控制信号有:总线的控制信号有:R0OUT、R1OUT、PCOUT、SPOUT、MDROUT等。等。ALU运算控制信号有:运算控制信号有:ADD、SUB、AND、OR、XOR等。等。暂存器暂存器D的左移的左移/右移控制信号有:右移控制信号有:SAL、SAR。程序计数器程序计数器PC的计数控制信号有:的计数控制信号有:PC+1。MAR和和MDR输出到系统总线的控制信号有:输出到系统总线的控制信号有:EMAR、EMD

40、R。寄存器置入控制信号有:寄存器置入控制信号有:SMDR、SPSW。主存的读主存的读/写信号有:写信号有:RD、WR。脉冲型微命令脉冲型微命令脉冲型微命令有:脉冲型微命令有:CPR0、CPR1、CPPC、CPIR、CPSP、CPMAR、CPMDR等。等。39(2 2)控制器)控制器 传统控制器的主要部件包括:传统控制器的主要部件包括:指令寄存器指令寄存器IRIR、指令译码器指令译码器、程程序计数器序计数器PCPC、状态字寄存器状态字寄存器PSWPSW、时序系统和微操作信号发生器时序系统和微操作信号发生器。控制器是整机的指挥中心,其控制器是整机的指挥中心,其基本功能就是分析执行指令,即根基本功能

41、就是分析执行指令,即根据指令产生控制信号序列以控制相据指令产生控制信号序列以控制相应部件分步完成指定的操作。应部件分步完成指定的操作。403.3.2 3.3.2 数据传送数据传送1 1寄存器之间的数据传送寄存器之间的数据传送 在模型机中,寄存器之间可直接通过在模型机中,寄存器之间可直接通过ALUALU总线传送数总线传送数据,具体传送由据,具体传送由输出门输出门和和打入脉冲打入脉冲控制。控制。例如例如:把寄存器:把寄存器R1的内容传送到寄存器的内容传送到寄存器R3,即实现传,即实现传送操作送操作R1R3所需控制信号为所需控制信号为R1OUT、CPR3 412 2主存数据传送到主存数据传送到CPU

42、CPU 主存与主存与CPUCPU之间通过之间通过系统总线系统总线传送数据。传送数据。PCMAR PCMAR ;PCPC中的指令地址送存储器地址寄存器中的指令地址送存储器地址寄存器 MMDRIR MMDRIR;从存储器中读指令到;从存储器中读指令到IRIR实现实现PCMAR的控制信号:的控制信号:PCOUT、CPMAR。实现读操作实现读操作MMDR的控制信号:的控制信号:EMAR、RD、SMDR;实现实现MDRIR的控制信号:的控制信号:MDROUT、CPIR。例如:要从存储器中取指令到指令寄存器例如:要从存储器中取指令到指令寄存器IR,通过以下操作序列即可实现:通过以下操作序列即可实现:423

43、 3CPUCPU数据传送到主存数据传送到主存 R1MAR R1MAR ;地址送;地址送MARMAR R2MDR R2MDR ;数据送;数据送MDRMDR MDRM MDRM ;数据写入主存;数据写入主存例如:在例如:在R2中存放需写入主存的数据,存储单元地址在中存放需写入主存的数据,存储单元地址在R1中,则写一个数据到存储器可通过以下操作序列实现:中,则写一个数据到存储器可通过以下操作序列实现:实现实现R1MAR的控制信号:的控制信号:R1OUT、CPMAR。实现实现R2MDR的控制信号为的控制信号为R2OUT、CPMDR。实现写操作实现写操作MDRM的控制信号为的控制信号为EMAR、EMDR

44、、WR 434 4执行算术或逻辑操作执行算术或逻辑操作 R1D R1D ;把;把R1R1的内容先送到寄存器的内容先送到寄存器D D D+R2Z D+R2Z ;R2R2内容送到内容送到ALUALU的的B B端与端与D D内容通过内容通过ALUALU 相加,结果送相加,结果送Z Z ZR3 ZR3 ;将存放在;将存放在Z Z中的相加结果送入中的相加结果送入R3R3中中例如:完成例如:完成“把寄存器把寄存器R1和和R2的内容相加,结果送到的内容相加,结果送到R3”这个功能,需要分成这个功能,需要分成3步执行:步执行:实现实现R1D的控制信号:的控制信号:R1OUT、CPD。实现实现D+R2MDR的控

45、制信号:的控制信号:R2OUT、ADD、CPZ。实现实现ZR3的控制信号:的控制信号:ZOUT、CPR3。44 3.4 3.4 组合逻辑控制器原理组合逻辑控制器原理 组合逻辑控制器组合逻辑控制器是指产生控制信号(即微命令)的部件,是指产生控制信号(即微命令)的部件,是用组合逻辑线路来实现。在模型机中有几十个微命令,则每个微是用组合逻辑线路来实现。在模型机中有几十个微命令,则每个微命令都需要一组逻辑门电路,根据相应的逻辑条件(如指令的操作命令都需要一组逻辑门电路,根据相应的逻辑条件(如指令的操作码、寻址方式、时序信号等)产生该微命令。码、寻址方式、时序信号等)产生该微命令。本节先介绍模型机的指令

46、系统,然后假设模型机采用的是组合本节先介绍模型机的指令系统,然后假设模型机采用的是组合逻辑控制器,讨论其时序系统、指令执行流程及微命令的产生与综逻辑控制器,讨论其时序系统、指令执行流程及微命令的产生与综合。合。453.4.1 模型机的指令系统模型机的指令系统1 1指令格式指令格式(1 1)双操作数指令:其格式如下图所示)双操作数指令:其格式如下图所示 第第12121515位表示操作码,第位表示操作码,第6 61111位为源操作数地址段,第位为源操作数地址段,第0 05 5位为目的操作数地址段,在每个地址段字段中又分为两部分,其位为目的操作数地址段,在每个地址段字段中又分为两部分,其中中3 3位

47、表明位表明寻址方式寻址方式类型,另外类型,另外3 3位给出所指定的位给出所指定的寄存器编号寄存器编号。46(1 1)双操作数指令格式)双操作数指令格式可编程寄存器有可编程寄存器有7 7个,编号如下(留个,编号如下(留有一种编码未用,可扩展):有一种编码未用,可扩展):通用寄存器通用寄存器R0R0R3 000R3 000011011 堆栈指针堆栈指针SP 100SP 100 程序状态字程序状态字PSW 101PSW 101 程序计数器程序计数器PC 111PC 11147(2 2)单操作数指令)单操作数指令 第第0 05 5位为地址字段,第位为地址字段,第6 61111位空闲不用,位空闲不用,也

48、可供扩展操作码用。也可供扩展操作码用。48(3 3)转移指令)转移指令 第第12121515位为操作码,第位为操作码,第6 61111位给出转移地址字段(也分为位给出转移地址字段(也分为寻址方式与寄存器号两部分)。第寻址方式与寄存器号两部分)。第0 05 5位则为转移条件字段。其中,位则为转移条件字段。其中,第第0 03 3位中有一位为位中有一位为1 1,表明,表明转移条件转移条件进位进位C C、溢出溢出V V、结果为结果为零零Z Z、结果为负结果为负N N。第。第5 5位表明位表明转移方式转移方式,若为,若为0 0,表示相关标志位为,表示相关标志位为0 0转移;若为转移;若为1 1,表示相关

49、标志位为,表示相关标志位为1 1转移。若第转移。若第0 05 5位全为位全为0 0,表示,表示无条件转移。无条件转移。492 2寻址方式寻址方式 模型机的编址为模型机的编址为按字编址按字编址,字长,字长1616位,即主存每个单元位,即主存每个单元1616位。位。采用简单变字长指令格式,指令长度可为采用简单变字长指令格式,指令长度可为1616位、位、3232位(指令中含立位(指令中含立即数或一个操作数地址)或即数或一个操作数地址)或4848位(含位(含2 2个操作数地址),操作数字个操作数地址),操作数字长长1616位。位。模型机寻址方式模型机寻址方式 如下表如下表:类型类型寻址方式寻址方式汇编

50、符号汇编符号 可指定寄存器可指定寄存器 定义简述定义简述 0寄存器寻址寄存器寻址 R R R0R0R3R3,SPSP,PSWPSW 数在指定寄存器中数在指定寄存器中 1寄存器间址寄存器间址 (R)(R)R0R0R3R3,SPSP 地址在指定寄存器中地址在指定寄存器中 2自减型寄存自减型寄存器间址器间址 -(R)-(R)R0R0R3R3,SPSP 寄存器内容减寄存器内容减1 1后为操作数地后为操作数地址址 3立即立即/自增自增型寄存器间型寄存器间址址 (R)+(R)+R0R0R3R3,SPSP,PCPC 寄存器内容为操作数地址,寄存器内容为操作数地址,操作后加操作后加1 1 4直接寻址直接寻址

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第2篇-计算机系统分层结构-第3章-微体系结构层课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|