《第三章计算机核心部件及其工作原理》由会员分享,可在线阅读,更多相关《第三章计算机核心部件及其工作原理(43页珍藏版)》请在金锄头文库上搜索。
1、第三章 计算机核心部件及其 工作原理第一节 中央处理器(CPU)冯诺伊曼计算机的特点冯诺伊曼计算机的特点计算机由运算器、存储器、控制器和输入计算机由运算器、存储器、控制器和输入/ /输出设备组成输出设备组成指令和数据一起以同等地位存放于存储器内,指令和数据一起以同等地位存放于存储器内,并可按地址访问并可按地址访问指令和数据均用二进制代码表示指令和数据均用二进制代码表示指令由操作码和地址码组成,操作码用于表指令由操作码和地址码组成,操作码用于表示操作的性质,地址码用来表示操作数在存示操作的性质,地址码用来表示操作数在存储器中的位置储器中的位置冯诺伊曼计算机的特点指令在存储器内按顺序存放指令在存储
2、器内按顺序存放机器以运算器为中心,输入输出设备与存储机器以运算器为中心,输入输出设备与存储器间的数据传送都通过运算器来完成。器间的数据传送都通过运算器来完成。典型的冯诺伊曼计算机结构框图运算器控制器输入设备存储器输出设备典型的冯诺伊曼计算机结构框图冯诺伊曼计算机结构的演化控制部件多样化现代计算机系统采用了总线结构总线总线:连接计算机各部件的一组公共信号线,连接计算机各部件的一组公共信号线,它是计算机中传送信号代码的公共通道。它是计算机中传送信号代码的公共通道。 内部总线:把微处理机内部各个逻辑功能单元互内部总线:把微处理机内部各个逻辑功能单元互相连接起来的线路相连接起来的线路 外部总线:把计算
3、机各个功能部件互相连接起来外部总线:把计算机各个功能部件互相连接起来的总线的总线数据总线、控制总线、地址总线数据总线、控制总线、地址总线 数据总线数据总线 实现实现CPUCPU、存储器和输入输出设备三者之间的数据交存储器和输入输出设备三者之间的数据交换换 双向总线双向总线 地址总线地址总线 用来输出指定的存储器或用来输出指定的存储器或I/OI/O设备地址的总线设备地址的总线 单向总线单向总线 地址总线的数目决定了所能访问的存储单元的数目地址总线的数目决定了所能访问的存储单元的数目 控制总线控制总线 三态门缓冲器三态门缓冲器输入输出启动/禁止控制端控制端输入输入输出输出0 00 00 00 01
4、 11 11 10 0高阻抗高阻抗1 11 1高阻抗高阻抗D3D2D1D0D3D2D1D0来自CPU来自存储器C1C201存储器成为计算机的中心存储器成为计算机的中心运算器控制器输入设备存储器输出设备以存储器为中心的计算机结构框图00010000地址译码器来自CPU的地址寄存器00000010控制CPU发送读命令将数据传送给CPU存储器读操作输入输入/ /输出系统的功能加强输出系统的功能加强 采用了中断技术、采用了中断技术、DMADMA的方式的高速总线技术的方式的高速总线技术指令系统基本概念指令:计算机执行某种操作的命令指令:计算机执行某种操作的命令指令系统:计算机各种操作的集合指令系统:计算
5、机各种操作的集合 指令系统是完备的指令系统是完备的 指令系统支持最高效率的执行指令系统支持最高效率的执行 指令编码是合理的指令编码是合理的 指令系统须采取系列设计指令系统须采取系列设计指令字长和指令格式机器字长:计算机能直接处理的二进制数据机器字长:计算机能直接处理的二进制数据的位数的位数指令字长:指令中包含的二进制代码的位数。指令字长:指令中包含的二进制代码的位数。 单字长指令:指令字长和机器字长相等单字长指令:指令字长和机器字长相等 双子长指令:指令子长度是机器子长的两倍双子长指令:指令子长度是机器子长的两倍 指令格式:由操作码和操作数组成指令格式:由操作码和操作数组成操作码操作数/操作数
6、地址 操作码:决定了操作的类型操作码:决定了操作的类型操作(助记符)操作(助记符)操作码编码(二进制)操作码编码(二进制)加法加法000000减法减法001001乘法乘法010010除法除法011011逻辑与逻辑与100100取数取数101101存数存数110110停机停机111111 操作数码操作数码 无操作数指令无操作数指令 由操作数指令由操作数指令操作码操作码操作数1/操作数地址1操作数n/操作数地址n计算机的工作过程(简要介绍)计算机的工作过程(简要介绍)例:计算例:计算 axax2 2+ +bxbx+c+c 化简化简( (ax+b)*x+cax+b)*x+c 运算步骤:运算步骤: 取
7、取x x送指运算器中送指运算器中 乘以乘以a a,得得axax,存于运算器中存于运算器中 加加b b,得得ax+bax+b,存于运算器中存于运算器中 乘以乘以x x,得得( (ax+b)xax+b)x,存于运算器中存于运算器中 加加c c,得得( (ax+b)x+cax+b)x+c,存于运算器中存于运算器中计算机的工作过程(简要介绍)设某机器的指令字长为设某机器的指令字长为1616位,其中操作码占位,其中操作码占6 6位,地址码占位,地址码占1010位,如下图所示位,如下图所示操作码操作数6位10位指令和数据指令和数据存于主存单存于主存单元的地址元的地址指指 令令注释注释操作码操作码地址地址0
8、 000000100000100000010000000001000取取x x送至送至ACCACC1 100010000010000000010010000001001乘乘a a得得ax-ax-ACCACC2 200001100001100000010100000001010加加b b得得ax+b-ACCax+b-ACC3 300010000010000000010000000001000乘乘x x得得( (ax+b)x-Aax+b)x-A4 400001100001100000010110000001011加加c c得得( (ax+b)x+c-ax+b)x+c-5 5000010000010
9、00000011000000001100存数存数6 600010100010100000011000000001100打印打印7 7000110000110停机停机8 8x x9 9a a1010b b1111c c1212使用系统总线的CPUALUCU寄存器中断系统CPU控制总线数据总线地址总线使用系统总线的CPUCPU的寄存器CPU的寄存器用户可见的寄存器用户可见的寄存器 通用寄存器通用寄存器 数据寄存器数据寄存器 地址寄存器地址寄存器 条件代码寄存器条件代码寄存器CPU的寄存器控制和状态寄存器控制和状态寄存器 MAR MAR 存储器地址寄存器存储器地址寄存器 MDR MDR 存储器数据寄
10、存器存储器数据寄存器 PC PC 程序计数器程序计数器 IR IR 指令寄存器指令寄存器AXBXCXDX通用寄存器SPBPSIDI指针和变址CSDSSSES段IPF程序状态8086微处理器寄存器的组织细化的计算机组成框图ACCALUXMQ运算器CU控制单元IRPC控制器CPU存储体MDRMAR主存储器I/OCPU的功能(控制器的功能)CPU的功能(控制器的功能)取指令取指令分析指令分析指令执行指令执行指令CPU的控制单元CPU的控制单元指令周期的基本概念指令周期的基本概念 CPUCPU每取出并执行一条指令所需的全部时间叫每取出并执行一条指令所需的全部时间叫指指令周期令周期取指阶段执行阶段取指周
11、期(取指、分析)执行周期执行指令指令周期CPU的控制单元 指令周期的比较指令周期的比较取指周期指令周期无条件转移指令 JMP X取指周期指令周期加法指令 执行周期取指周期指令周期执行周期乘法指令 CPU的控制单元机器周期:完成一个基本的操作如读或写等机器周期:完成一个基本的操作如读或写等所需要的时间所需要的时间时钟周期(节拍、状态)时钟周期(节拍、状态) 在一个机器周期里可以完成若干个微操作,每个在一个机器周期里可以完成若干个微操作,每个微操作都需要一定的时间,可以用时钟信号来控微操作都需要一定的时间,可以用时钟信号来控制产生每一个微操作命令。这样一个机器周期内制产生每一个微操作命令。这样一个
12、机器周期内就包含了若干个时钟周期,又称节拍或状态。就包含了若干个时钟周期,又称节拍或状态。CPU的控制单元机器周期TT1T2TnT1T2Tn机 器 周 期 M1机 器 周 期 M2指 令 周 期 (包括1n个机器周期)CPU的控制单元 微操作信号的产生电路设计方法数字逻辑设计方法数字逻辑设计方法微程序设计方法微程序设计方法流水线技术如何提高整机的处理能力提高器件的性能提高器件的性能改进系统的结构,开发系统的并行性改进系统的结构,开发系统的并行性流水线技术流水线结构取指令取指令,微处理器从高速缓存或内存中取一微处理器从高速缓存或内存中取一条指令条指令指令译码指令译码,分析指令分析指令操作数地址生
13、成操作数地址生成,针对访存指令,要访问存针对访存指令,要访问存储器中的操作数,需形成操作数的地址储器中的操作数,需形成操作数的地址取操作数,针对形成的存储器的地址,指令取操作数,针对形成的存储器的地址,指令取操作数取操作数执行指令,由执行指令,由ALUALU执行指令规定的操作执行指令规定的操作流水线技术写回运算结果,最后运算结果存放至某一内写回运算结果,最后运算结果存放至某一内存单元或某一通用寄存器存单元或某一通用寄存器修改指令指针,指向下一条指令修改指令指针,指向下一条指令流水线技术取指令1执行指令1取指令2执行指令2指令的串行执行CPU总线时间取指1执行1写数1取指2执行2取指3忙忙忙忙总
14、线的使用情况流水线技术取指令1执行指令1取指令2执行指令2取指令3执行指令3指令的二级流水流水线技术二级流水不能使执行效率加倍指令的执行时间一般大于取指时间,因此,指令的执行时间一般大于取指时间,因此,取指阶段可能要等待一段时间。取指阶段可能要等待一段时间。遇到转移指令,下一条指令是不可知的,因遇到转移指令,下一条指令是不可知的,因为必须要等到执行阶段结束之后,才能知道为必须要等到执行阶段结束之后,才能知道条件是否成立,从而决定下一条指令的地址,条件是否成立,从而决定下一条指令的地址,造成了时间上的浪费。造成了时间上的浪费。流水线技术1 12 23 34 45 56 67 78 8指令指令1
15、1 FIFIDIDICOCOFOFOEIEIWOWO指令指令2 2FIFIDIDICOCOFOFOEIEIWOWO指令指令3 3FIFIDIDICOCOFOFOEIEIWOWOFI 取指令 DI 指令译码 CO 计算操作数地址FO 取操作数 EI 执行指令 WO 写操作数流水线技术流水线种类指令流水线结构指令流水线结构取指令指令译码地址形成取操作数操作执行写操作数改指令指针流水线技术数据(运算)流水线数据(运算)流水线对阶锁存器尾数相加锁存器规格化锁存器流水线技术影响流水线性能的因素访存冲突访存冲突相关问题相关问题 控制相关控制相关 数据相关数据相关流水线技术流水线中的多发技术超标量技术(超标
16、量技术(Super ScalarSuper Scalar) 每个时钟周期可同时并发多条指令,即以并行操每个时钟周期可同时并发多条指令,即以并行操作的方式将两条或两条以上的指令编译并执行作的方式将两条或两条以上的指令编译并执行超流水线技术(超流水线技术(Super pipe liningSuper pipe lining)超长指令字技术(超长指令字技术(VLIWVLIW)假设一条指令分为四个阶段:取指(FI)、译码(ID)、执行(EI)、回写(WR)流水线技术RISC技术CISCCISCRISCRISC P=N*C*SP=N*C*S P:P:计算机执行程序所需要的时间计算机执行程序所需要的时间 N:N:高级语言程序编译后在机器上运行的机器指令高级语言程序编译后在机器上运行的机器指令数数 C:C:执行每条机器指令所需要的平均机器周期执行每条机器指令所需要的平均机器周期 S:S:每个机器周期的执行时间每个机器周期的执行时间流水线技术RISCRISC与与CISCCISC的统计比较的统计比较NNCCS SRISCRISC1.21.41.21.41.31.71.31.711CISCCISC1 14104101 1RISC 的性能优于 CISC 25 倍