计算机系分统层结构.ppt
《计算机系分统层结构.ppt》由会员分享,可在线阅读,更多相关《计算机系分统层结构.ppt(97页珍藏版)》请在三一办公上搜索。
1、第2篇 计算机系统分层结构,在本篇用3章分三个层次,即微体系结构层、指令系统层和汇编语言层讨论计算机系统的组成。微体系结构层是具体的硬件层次,可看作是指令系统的解释器。指令系统层是一个抽象的层次,其指令系统是一种硬件和编译器都可识别的机器语言。汇编语言层提供的语言,是将机器语言“符号化”以便于人们理解。用汇编语言编写的程序先由汇编器翻译成机器语言程序,再由微体系结构层解释执行。,1.4 系统结构,计算机系统结构系统的层次结构,面向问题语言层,汇编语言层,操作系统层,指令系统层,微体系结构层,5层,4层,3层,2层,1层,硬件-机器语言,机器与人的界面,符号化的机器语言,面向用户的语言,硬件/固
2、件(微程序),翻译(编译器),翻译(汇编器),部分解释(操作系统),直接执行/解释(微程序),第3章 微体系结构层CPU组织,在微体系结构层,是从寄存器级分析CPU的结构和功能。本章主要内容:CPU的基本组成和功能 算术逻辑部件ALU和运算方法 CPU模型机 组合逻辑控制器原理 微程序控制器原理,第5章CPU,.学习目的和要求:认识CPU在计算机中的位置;要求掌握CPU与各个部分的协调工作原理;.重点:整机构成,三级时序,两类控制器;.难点:运算器,微程序控制和设计。,3.1 CPU(Central Process Unit)的组成和功能 计算机的工作就是不断执行指令序列的过程。CPU的主要功
3、能是从主存储器中取出指令、分析指令和执行指令,即按指令控制计算机各部件操作,并对数据进行处理。CPU是计算机的核心组成部分,3.1.CPU的组成和功能,由算术逻辑部件ALU、控制器、各种寄存器(寄存器群)和CPU内部总线(连接部件)另:Cache,3.1.1 CPU的组成,1ALU部件,ALU的功能是实现数据的算术与逻辑运算,两个输入端口,参加运算的两个操作数,通常来自CPU中的通用寄存器或ALU总线。控制信号:ADD,SUB,OR,AND等输出:运算结果,CPU 中的寄存器包括存放控制信息的寄存器,如指令寄存器(IR)、程序计数器(PC)和状态字寄存器(FR);以及存放所处理数据的寄存器,如
4、通用寄存器和暂存器。,2.寄存器,(1)通用寄存器本身在逻辑上只具有接收信息、存储信息和发送信息的功能。可为ALU提供操作数并存放运算结果(MUL,DIV),也可用作变址寄存器(SI,DI)、地址指针和计数器(CX)等。,(2)暂存器暂存从主存储器读出的数据,暂存器没有寄存器号,因此不能直接编程访问它们,是透明的。(ALU的两个输入),用来存放当前正在执行的一条指令。执行指令时,需根据PC中的指令地址从主存读取指令送到IR中。,(3)指令寄存器IR(Instruction Register),存放当前或下一条指令在主存中的地址,因此又称为指令计数器或指令指针IP(Instruction Poi
5、nter)。,(4)程序计数器PC(Program Counter),(5)状态寄存器存放当前程序的运行状态和工作方式,其内容称为程序状态字PSW(Program State Word),PSW是参与控制程序执行的重要依据。(P144),标志位的值,3总线,所谓总线是一组能为多个部件分时共享的公共信息传送线路,它分时接收各部件送来的信息,并发送信息到有关部件。,由于多个部件连接在一组公共总线上,可能会出现多个部件争用总线,因此需设置总线控制逻辑以解决总线控制权的有关问题。,CPU内部总线用来连接CPU内的各寄存器与ALU;,总线分类:,系统总线用来连接CPU、主存储器与I/O接口,它通常包括三
6、组:数据总线、地址总线和控制总线。,按总线传送的方向可将总线分为单向总线和双向总线。,4CPU内部数据通路,CPU内部寄存器及ALU之间通常用总线方式传送数据信息。介绍两种常见的结构。,(1)单总线数据通路结构(双向),采用单总线结构的CPU数据通路,CPU数据通路结构只采用一组内总线,它是双向总线。通用寄存器组、其他寄存器和ALU均连在这组内总线上。,CPU内各寄存器间的数据传送必须通过内总线进行,ALU通过内总线得到操作数,其运算结果也经内总线输出。,(2)多组内总线结构(单向),采用三总线结构的CPU数据通路,为了提高CPU的工作速度,一种方法是在CPU内部设置多组内总线,使几个数据传送
7、操作能够同时进行,即实现部分并行操作。,AC,Y,Memory,PC,ALU,Rn,R0,IR,CU,PSW,DR,AR,clock,IRin,PCin,ADD,SUB,AND,OR,R0in,移位器,R0out,R1in,R1out,Rnin,Rnout,DRin,DRout,ARin,ARout,A码,C码,PCout,ACin,Yin,IRout,微命令序列(微指令),时序,CPU内部的结构示意图,R1,B U S(总线),红色箭头是微命令,3.1.2 指令执行过程,CPU的主要功能就是执行存放在存储器中的指令序列,即程序。,1指令的分段执行过程,任何一条指令的执行都要经过读取指令、分析
8、指令和执行指令3个阶段。,执行阶段还可细分为:,(1)取指令,(2)分析指令,(3)执行指令,取操作数,执行操作,形成下一条指令地址,此外,CPU还应该对运行过程中出现的某些异常情况或输入/输出请求进行处理。,模型机数据通路结构图,2指令之间的衔接方式,指令之间的衔接方式有两种:串行的顺序安排方式与并行的重叠处理方式。,3.1.3 时序控制方式,执行一条指令的过程可分为几个阶段,而每一阶段又分为若干步基本操作,每一步操作则由控制器产生一些相应的控制信号实现。因此,每条指令都可分解为一个控制信号序列,指令的执行过程就是依次执行一个确定的控制信号序列的过程。,时序控制方式就是指微操作与时序信号之间
9、采取何种关系,它不仅直接决定时序信号的产生,也影响到控制器及其他部件的组成,以及指令的执行速度。,1同步控制方式,同步控制方式是指各项操作由统一的时序信号进行同步控制。,同步控制的基本特征是将操作时间分为若干长度相同的时钟周期(也称为节拍),要求在一个或几个时钟周期内完成各个微操作。在CPU内部通常是采用同步控制方式。,同步控制方式的优点是时序关系简单,结构上易于集中,相应的设计和实现比较方便。,2同步控制方式的多级时序系统,(1)多级时序的概念,在同步控制方式中,通常将时序信号划分为几级(其中包括指令周期),称为多级时序。,机器周期,节拍(时钟周期),时钟脉冲信号,(2)多级时序信号之间的关
10、系,三级时序信号之间的关系,(3)时序系统的组成,时序系统框图,3.1.4 指令流水线,两段指令流水线,为获得进一步的加速,流水线可以分成更多的阶段。,取指令,计算操作数地址,译码指令,写操作数,取操作数,执行指令,指令流水线操作时序图,影响流水线性能主要有以下几个因素:(1)若各个阶段不全是相等的时间(2)流水线中的相关问题(3)当遇到条件转移指令时(4)当I/O设备有中断请求或机器有故障时,第二节 算术逻辑部件ALU和运算方法,算术逻辑部件ALU主要完成对二进制代码的定点算术运算和逻辑运算。,3.2.1 算术逻辑部件ALU,算术逻辑部件ALU的硬件实现涉及三个问题:,(1)如何构成一位二进
11、制加法单元,即全加器。(2)n位全加器连同进位信号传送逻辑,构成一个n位并行加法器。(3)以加法器为核心,通过输入选择逻辑扩展为具有多种算术和逻辑运算功能的ALU。,1全加器,用半加器构成的全加器,和,进位,目前,广泛采用半加器构成全加器。,通常逻辑门电路都存在延迟时间,全加器电路就是一个延迟部件,正是这个延迟特性将影响全加器的速度。,2并行加法器与进位链结构,用n位全加器实现两个n位操作数各位同时相加,这种加法器称为并行加法器。并行加法器中全加器的位数与操作数的位数相同。,(1)基本进位公式,设相加的两个n位操作数为:,进位信号的逻辑式,可以看出C 由两部分组成:,我们定义两个辅助函数:,进
12、位产生函数,进位传递函数,因此有:,(2)并行加法器的串行进位,采用串行进位的并行加法器,是将n个全加器串接起来,就可进行两个n位数相加。,由于串行进位的延迟时间较长,所以在ALU中很少采用纯串行进位的方式。但这种方式可节省器件,成本低,在分组进位方式中局部采用有时也是可取的。,3并行进位(先行进位、同时进位),为了提高并行加法器的运算速度,就必须解决进位传递的问题。方法是让各级进位信号同时形成,而不是串行形成。,这种同时形成各位进位的方法称为并行进位或先行进位,又称为同时进位。,虽然并行进位加法器的运算速度快,但这是以增加硬件逻辑线路为代价的。两种常用的分组进位结构是:,组内并行、组间串行的
13、进位链。组内并行、组间并行的进位链。,4ALU举例,SN74181框图,(1)SN74181外特性,实验1 算术逻辑运算实验,两个SN74181组成8位片内并行进位,片间串行进位的运算器,16位并行进位ALU结构,P87 图3-13,3.2.2 定点数运算方法,数值运算的核心是指加、减、乘、除四则算术。由于计算机中的数有定点和浮点两种表示形式,因此相应有定点数的运算和浮点数的运算。,1定点加减运算,(1)原码加减运算(不用),例如,加法指令指示做(+A)+(-B),由于一个操作数为负,实际操作是做减法(+A)-(+B),结果符号与绝对值大的符号相同。同理,在减法指令中指示做(+A)-(-B),
14、实际操作是做加法(+A)+(+B),结果与被减数符号相同。,(2)补码加减运算,补码加法运算,X+Y=X+Y,补码减法运算,XY=X+(-Y)=X+-Y,补码运算规则 根据以上讨论,可将补码加减规则归纳如下:参加运算的操作数用补码表示。符号位参加运算。若指令操作码为加,则两数直接相加;若操作码为减,则将减数连同符号位一起变反加1后再与被减数相加。运算结果用补码表示。,【例3-3】X=00110110,Y=11001101,求X+Y,X-Y。,由y补怎么求-y补?,(3)溢出判别,在什么情况下可能产生溢出?,例:设定点整数字长8位,补码表示(最高位为符号位),表示范围为-128127,运算结果超
15、出此范围就发生溢出。,0 00111110 0001101,(1)31+13=44,0 0101100,(2)-31+(-12)=-43,0 11111110 1000001,(3)63+66=129,1 0000001,1 10000011 0111110,(4)-63+(-66)=-129,0 1111111,正溢,负溢,1 11000011 1110100,1 1010101,采用一个符号位判断,溢出=S+A B,采用最高有效位的进位判断,溢出=C+C=C C,采用变形补码判断(双符号位),用S、Sn分别表示结果最高符号位和第2符号位,溢出=S S,2移位,移位操作按移位性质可分为3种类
16、型:逻辑移位、循环移位和算术移位。,移位示意图,3.定点数乘除法,()软件实现()逻辑电路()专用乘除法器,【例3-10】1101 1011的运算过程如图所示。,无符号数乘法,除法不做要求(P92-94),3.2.3 浮点数运算方法,1浮点数加减运算,设有两个浮点数:X=Mx,Y=My。要实现X+Y的运算,需要以下4个步骤才能完成。,对阶操作 对阶的规则是:阶码小的数向阶码大的数对齐,实现尾数的加(减)运算,结果规格化和判溢出,a左规,b右规,若运算结果是非规格化的数,例如尾数是11.1xx或00.0 xx形式,就需要将尾数左移,每左移一位,阶码减1,直至满足规格化条件为止(即尾数最高有效位的
17、真值为1,或尾数符与最高有效位不等),这个过程称为左规。在左规的同时应判断结果是否会下溢,即阶码小于所能表示的最小负数。,若运算结果尾数发生溢出,例如尾数为10.xxx或01.xxx形式,这并不表明浮点结果会溢出,此时需调整阶码,将尾数右移一位,阶码加1,称为右规。右规时,应判断结果是否会上溢,即阶码大于所能表示的最大正数。,舍入操作,下面举一个浮点加的实例。【例3-12】设有两个浮点数X=2 0.1101012,Y=2(-0.101011)2。,阶码 尾数X浮=-10;00.110101Y浮=-01;11.010101,对阶,阶码取大的,即-01,的尾数为00.011011(0舍1入),尾数
18、求和,00.011011+11.010101 11.110000,规格化及判溢出,左规得,X+Y浮=1110;11.10000,舍入 由于是左规,结果不需要舍入。,最后运算结果的真值为X+Y=2(-0.100000)2。,小数点右移即左规,2浮点数乘除运算,(1)浮点数乘法运算,阶码相加并判溢出,尾数相乘,规格化处理,(2)浮点数除法运算,求阶差,尾数相除(都已经规格化),预置 检测被除数是否为0,若为0则置商为0。如果除数为0,则置0除数标志,转中断处理。,尾数调整,3.2.4 十进制数加减运算,1进制转换(十-二-十),2BCD码(二-十进制数),机器内部采用二-十进制数(BCD码),由B
19、CD码运算指令完成运算。实现BCD码运算的方法有两种:,专用进行BCD码加、减、乘、除的运算指令。,先用二进制数的加、减、乘、除指令进行运算,紧接着用BCD码校正指令对运算结果进行校正。,3BCD码校正,0-9不用校正,大于9则+6即+110校正,第3节 CPU模型机的组成及其数据通路,3.3.1 基本组成,模型机数据通路结构图,3.3.1 基本组成,1寄存器,(1)可编程寄存器,通用寄存器有4个:R0、R1、R2、R3;堆栈指针为SP;程序状态字寄存器为PSW;程序计数器为PC。,(2)暂存器,暂存器有3个:C、D、Z。,(3)指令寄存器IR,指令寄存器IR用来存放当前正在执行的一条指令。,
20、(4)与主存接口的寄存器MAR、MDR,CPU对主存的控制信号有两个:读信号RD控制对主存的读操作;写信号WR控制对主存的写操作。,2运算部件,ALU的输入A来自暂存器D,输入B来自ALU总线,运算结果输出到Z。控制ALU运算的控制信号有:ADD、SUB、AND、OR、XOR、COM、NEG、A+1、A-1、B+1、B-1,它们分别控制ALU完成加、减、与、或、异或、求负、求反等运算。,3总线与数据通路结构,(1)ALU 总线,CPU内部采用单总线结构,即设置一组ALU总线(也称为CPU内总线),由16根双向数据传送线组成,ALU和所有寄存器通过这组公共总线连接起来。,(2)系统总线,模型机的
21、CPU、存储器及I/O设备分别挂接在一组系统总线上。系统总线包括:16根地址总线、16根数据总线,以及控制总线。为简单起见,模型机采用同步控制方式。,4控制器及微命令的基本形式,(1)微命令的基本形式,在模型机中,微命令有两种形式。,电位型微命令,各寄存器输出到ALU总线的控制信号有:R0OUT、R1OUT、PCOUT、SPOUT、MDROUT等。ALU运算控制信号有:ADD、SUB、AND、OR、XOR等。暂存器D的左移/右移控制信号有:SAL、SAR。程序计数器PC的计数控制信号有:PC+1。MAR和MDR输出到系统总线的控制信号有:EMAR、EMDR。寄存器置入控制信号有:SMDR、SP
22、SW。主存的读/写信号有:RD、WR。,脉冲型微命令,脉冲型微命令有:CPR0、CPR1、CPPC、CPIR、CPSP、CPMAR、CPMDR等。,(2)控制器,传统控制器的主要部件包括:指令寄存器IR、指令译码器、程序计数器PC、状态字寄存器PSW、时序系统和微操作信号发生器。,控制器是整机的指挥中心,其基本功能就是执行指令,即根据指令产生控制信号序列以控制相应部件分步完成指定的操作。,3.3.2 数据传送,1寄存器之间的数据传送,在模型机中,寄存器之间可直接通过ALU总线传送数据,具体传送由输出门和打入脉冲控制。,例如:把寄存器R1的内容传送到寄存器R3,即实现传送操作R1R3所需控制信号
23、为R1OUT、CPR3,2主存数据传送到CPU,主存与CPU之间通过系统总线传送数据。,PCMAR;PC中的指令地址送存储器地址寄存器 MMDRIR;从存储器中读指令到IR,实现PCMAR的控制信号:PCOUT、CPMAR。,实现读操作MMDR的控制信号:EMAR、RD、SMDR;实现MDRIR的控制信号:MDROUT、CPIR。,例如:要从存储器中取指令到指令寄存器IR,通过以下操作序列即可实现:,3CPU数据传送到主存,R1MAR;地址送MAR R2MDR;数据送MDR MDRM;数据写入主存,例如:在R2中存放需写入主存的数据,存储单元地址在R1中,则写一个数据到存储器可通过以下操作序列
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系 分统层 结构
链接地址:https://www.31ppt.com/p-4995718.html