计算机组织及结构(雷建军)7_第1页
计算机组织及结构(雷建军)7_第2页
计算机组织及结构(雷建军)7_第3页
计算机组织及结构(雷建军)7_第4页
计算机组织及结构(雷建军)7_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机组织与结构第七章第七章 CPUCPU的结构与功能的结构与功能重庆邮电大学7.1 CPU的功能1. 1. 控制器的功能(控制器的功能(CUCU)取指令取指令分析指令分析指令执行指令时,发出各种操作命令执行指令时,发出各种操作命令控制程序输入及结果的输出控制程序输入及结果的输出总线管理总线管理处理异常情况和特殊请求处理异常情况和特殊请求2. 2. 运算器的功能(运算器的功能(ALUALU)实现算术运算和逻辑运算实现算术运算和逻辑运算 CPU的运行过程就像在执行一个无限循环,重复着取指令、分析指令和执行指令。1)取指令控制器能自动地从存储器中取出指令。自动形成指令的地址;能发出取指令的命令;将

2、指令取到控制器中。2)分析指令首先,分析指令要建立的数据通路,控制器需发出什么操作控制信号;其次,分析参与这次操作的操作数地址,即操作数的有效地址的形成方式,从而给数据通路提供数据源。3)执行指令根据分析指令产生的“操作命令”和“操作数地址”的要求,建立和操作数据通路。通过对运算器、存储器及I/O设备的操作,执行指令。 CPU的基本功能:指令控制:控制程序的运行,保证指令序列的正确执行。操作控制:控制每条指令的操作步骤。每条指令在执行期间,分别需要多个操作步骤来完成,CPU产生完成这些操作所需的控制信号。时序控制:对每条指令的操作控制信号实施时序控制。 CPU产生完成一条指令运行的各种操作控制

3、信号(时序)。中断处理和异常处理:对存储器和外设提出的中断请求和非正常情况下产生异常进行响应。处理数据:完成指令要求的各个功能操作,如逻辑运算等。存储管理、总线管理和电源管理等。7.2 CPU的结构7.2.1 CPU7.2.1 CPU的结构框图的结构框图寄存器组: 缓存数据或指令的空间 7.2.2 7.2.2 算术逻辑单元和控制器算术逻辑单元和控制器1 1、算术逻辑单元(、算术逻辑单元(ALUALU)完成数据的算术和逻辑运算的部件。是计算机的核心和本质,其它所有部件都是为ALU服务。2 2、控制单元(、控制单元(CUCU)总指挥中心,主要功能就是对CPU 要做的工作进行排序,协调和指挥整个计算

4、机的工作。 7.2.3 CPU7.2.3 CPU的寄存器的寄存器用户可见寄存器:对程序员不透明;允许程序员使用;可通过优化寄存器操作减少对主存的访问。系统级寄存器:大部分对程序员透明;用来控制CPU 的操作;只能被特权级的系统程序访问,用来控制程序的执行。 1 1、用户可见的寄存器、用户可见的寄存器(1) (1) 通用寄存器通用寄存器存放操作数,由程序设计者指定各种功能;可作 某种寻址方式所需的寄存器。(2) (2) 数据寄存器数据寄存器存放操作数(满足各种数据类型);两个寄存器拼接存放双倍字长数据。(3) (3) 地址寄存器地址寄存器存放地址,其位数应满足最大的地址范围;用于特殊的寻址方式,

5、如:段基值 ,栈指针(4) (4) 条件码寄存器条件码寄存器存放条件码存放条件码,可作程序分支的依据;,可作程序分支的依据;根据运算结果由硬件设置的位,如根据运算结果由硬件设置的位,如 正、负、零、溢出、正、负、零、溢出、进位等进位等 2 2、系统级寄存器存储器地址寄存器(MAR):用于存放将被访问的存储单元的地址;存储器数据寄存器(MBR):用于存放欲存入存储器中的数据或最近从存储器中读出的数据; 程序计数器(PC),也叫指令指针寄存器,存放下一条待执行指令的地址,通常具有自动计数功能。当遇到转移类指令时,PC的值可被修改。指令寄存器(IR),存放当前正在执行的指令。如:取指PCMARMMB

6、RIR 取指操作流程MBRCUMARPCIR存储器存储器CPU地址总线地址总线数据总线数据总线控制总线控制总线IR+1 7.3 指令周期及其数据通路计算机完成的基本功能的方法是执行程序。程序:存于存储器中的一串指令。指令周期:取出并执行一条指令所需的全部时间。完成一条指令完成一条指令执行执行取指、分析取指、分析取指阶段取指阶段取指周期取指周期执行阶段执行阶段执行周期执行周期(取指、分析)(取指、分析)(执行指令)(执行指令)指令周期指令周期取指周期取指周期执行周期执行周期 每条指令的指令周期不同每条指令的指令周期不同取指周期取指周期指令周期指令周期取指周期取指周期 执行周期执行周期指令周期指令

7、周期NOPADD AL,09H MUL AL, 09H取指周期取指周期执行周期执行周期指令周期指令周期n具有间接寻址的指令周期具有间接寻址的指令周期取指周期取指周期间址周期间址周期指令周期指令周期执行周期执行周期ADD AL, BX 7.3.1 CPU7.3.1 CPU的执行过程的执行过程假设某计算机的指令长度为12 位,其中操作码占4 位,地址码占8 位。并且假定该计算机的ALU 有一个临时存储单元AC。使用机器指令编制的程序清单 取指 执行 机器启动后,控制器立即将PC的内容送到主存的MAR(记做PCMAR),并命令存储器做读操作,此时主存0号单元的内容“0001 00000100”被送入

8、MBR,然后由MBR送入控制器的IR(记做MBRIR),完成一条指令的取指过程;经CU分析操作码“0001”为取数指令,于是CU又将IR中的地址码“00000100”送至主存的MAR,并命令做存储器读操作,将第4号单元的内容3送至MBR,再由MBR送至运算器的AC(记做MBRAC),完成该指令的执行过程。同时PC完成自动加1操作,形成下一条指令的地址“1”号,完成一条指令的取指、分析和执行的完整过程; 内存取数(间址)MBRCUMARCPU地址总线地址总线数据总线数据总线控制总线控制总线PCIR存储器存储器MBR 7.3.2 7.3.2 指令周期的基本概念指令周期的基本概念指令周期:取出并执行

9、一条指令所需的全部时间。取指阶段取指阶段取指周期取指周期执行阶段执行阶段执行周期执行周期(取指、分析)(取指、分析)(执行指令)(执行指令)指令周期指令周期 基本指令周期的状态图取指包含指令地址计算,取指令和指令译码;执行过程包括取操作数,数据处理和存操作数等。 一个完整的指令周期可能包括:取指子周期:每个指令周期开始时,CPU都从存储器中读取一条指令。间址子周期:当取指时得到的指令字中只给出了操作数有效地址,为了取得操作数,需再访问一次存储器,取出操作数。执行子周期:通过对指令操作码的译码,生成相应的微操作信号,并由对应部件实施这些信号;中断子周期:若允许的中断已出现,则保存当前进程的状态并

10、转向中断服务程序。取指周期取指周期间址周期间址周期指令周期指令周期执行周期执行周期中断周期中断周期 指令周期的通用形式取指令执行取指令;取指令间址执行取指令;取指令执行中断 取指令;取指令间址执行中断 取指令; 指令周期流程指令周期流程取指周期取指周期执行周期执行周期有间址吗?有间址吗?有中断吗?有中断吗?间址周期间址周期中断周期中断周期是是是是否否否否 一个完整的指令周期状态图 7.3.3 7.3.3 数据通路及其基本要素数据通路及其基本要素计算机运行的主要任务就是建立数据通路,控制数据在计算机的各个部件之间有序的流动。(a) ALU 的示意图(b)程序计数器,可以赋值,如跳转(c)存储器,

11、存储程序或数据(c)寄存器组7.3.4 指令子周期的数据通路取指子周期取指子周期MBRCUMARPCIR存储器存储器CPU地址总线地址总线数据总线数据总线控制总线控制总线IR+1 间址子周期MBRCUMARCPU地址总线地址总线数据总线数据总线控制总线控制总线PCIR存储器存储器MBR 中断子周期MBRCUMARCPU地址总线地址总线数据总线数据总线控制总线控制总线PC存储器存储器写数据写数据 执行子周期 双寄存器指令 ADD R1,R2 执行子周期 存储器寻址ADD R1,# 完整的数据通路7.4 Pentium处理器1993年586( Pentium )微处理器数据总线64 位,地址总线3

12、6 位;它采用了超标量体系结构,分支预测技术;独立的指令、数据高速缓冲存储器;高性能浮点运算部件;128 位、256 位内部数据总线以及64 位可成组传送的外部总线的等技术;由总线部件、指令Cache、数据Cache、预取缓冲存储器、指令译码部件、整数运算部件、浮点运算部件、MMX 单元和存储管理部件等功能部件组成。 1 1、PentiumPentium处理器的结构框图处理器的结构框图 2 2、PentiumPentium处理器的寄存器组处理器的寄存器组1 1)用户可见寄存器)用户可见寄存器通用寄存器、指令指针寄存器、标志寄存器和通用寄存器、指令指针寄存器、标志寄存器和段寄存器,段寄存器,用于

13、浮点运算的浮点数寄存器、浮点标记寄存用于浮点运算的浮点数寄存器、浮点标记寄存器、浮点指令指针、数据指针和控制字寄存器。器、浮点指令指针、数据指针和控制字寄存器。 (1)通用寄存器、有8 个32 位通用寄存器 (2)指令指针寄存器(3)标志寄存器32位标志寄存器分为两大类:状态标志位:如CF、PF 和OF 等,表示指令执行结果的特征状态;控制标志位:如IF、DF 等,用来控制CPU 的操作。 (4)段寄存器有6 个16 位段寄存器:CS、DS、SS、ES、FS 和GS。CS 寄存器指向当前正在执行的指令所在的段,由操作系统设置,对用户是透明的。SS 寄存器指向用户可见的堆栈段。DS、ES、FS

14、和GS 允许用户一次可访问多达4 个不同的数据段。 2 2)系统级寄存器)系统级寄存器系统级寄存器包含系统级寄存器包含4 4个个控制寄存器控制寄存器和和4 4个个系统地系统地址寄存器址寄存器。作用:控制微处理器的片内作用:控制微处理器的片内CacheCache、运算部分、运算部分的浮点附件以及存储管理部分。只在的浮点附件以及存储管理部分。只在系统程序系统程序中才能使用。中才能使用。3 3)调试寄存器和测试寄存器)调试寄存器和测试寄存器有8 个调试寄存器DR0-DR7有5 个32位的测试寄存器TR3-TR7 4 4)用于浮点单元的寄存器组)用于浮点单元的寄存器组数值寄存器:共有8 个数值寄存器(

15、R0-R7),每个寄存器80 位,能保存扩展精度格式的浮点数。操作与堆栈一样。控制寄存器( 16 位):用于控制浮点单元操作,包括舍入类型控制,单、双或扩展精度控制;状态寄存器( 16 位):反映浮点单元当前的状态,包括一个指向堆栈栈顶的3 位指针和报告最后运算结果的条件代码;标记字寄存器( 16 位):为每个浮点数值寄存器分配2 个标记位(有效、零、特殊数和空)指令指针寄存器和数据指针寄存器(48位):分别用于被异常中断时的指令和操作数的指针。 5 5)MMXMMX寄存器寄存器主要针对64 位数据类型进行操作;使用3 位寄存器地址字段,可以寻址8 个MMX 寄存器(没有专门的MMX寄存器,直

16、接映射到8个浮点寄存器中)。使用浮点寄存器来执行MMX 指令的一些关键特性:浮点寄存器在浮点运算中是作为堆栈来对待。但在MMX操作中,这些寄存器是直接寻址的。在任何浮点运算之后开始执行MMX指令时,浮点寄存器的相应标记字字段的值应设为有效。访问方式由堆栈操作方式变换到直接寄存器寻址方式。在一个MMX代码块结束时要插入EMMS指令。 EMMS指令设置浮点寄存器标记字字段,令其指示所有寄存器都是空的,能使后面的浮点运算正常运行。当一个值写入MMX寄存器时,浮点寄存器的79位64位被置为全1。如果以浮点数来看待这些寄存器时,它们的值是无穷大或NaN,不会被看成有效的浮点数。 3 3、PentiumP

17、entium处理器的中断处理处理器的中断处理1) 1) 中断和异常中断和异常中断:是一个信息,它告诉计算机在执行正常程序的处理器已发生了某种需要特别注意的事件,需要暂时中断正在执行的正常程序,转去执行对这一事件的处理操作。当处理完毕后,CPU 再回到被暂时中断的程序,接着往下继续执行。异常:当一条特定指令执行过程中或执行结束时,产生不正常的或非法的状态。一般来讲,异常是和特定指令的执行相联系的。异常通常由执行指令(软件)产生,而中断则多由硬件发起,可能在指令执行周期内的任何时刻发生。它们都要求处理器保存当前程序的现场,然后才能转去处理中断和异常。 2 2)PentiumPentium的中断向量表的中断向量表采用了256 个32 位的中断向量表,存储中断服务程序的段地址和偏移地址。优先级按照一个预先制定的策略进行,向量号在表中的位置不代表其优先权。类1:前一指令的陷入,如单步执行(向量号1)。类2:外部中断(向量号2,32255)。类3:取下一指令时产生的故障(向量号3,14)。类4:译码下指令时产生的故障(向量号6,7)。类5:执行指令时产生的故障(向量号0,4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论