《第9章 CPU的结构与功能ppt课件.ppt》由会员分享,可在线阅读,更多相关《第9章 CPU的结构与功能ppt课件.ppt(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第9章 CPU的结构与功能23第九章第九章 CPUCPU的结构与功能的结构与功能重点内容:处理器组织;寄存器组织;控制器;指令周期;时序产生器;指令流水。 计算机的基本功能是执行程序,计算机的核心组成部分是CPU,由运算器和控制器组成。控制器根据指令指挥和协调计算机各部件有条不紊地工作,由操作控制器和时序控制器组成。根据CPU的基本功能设计CPU内部的基本部件和结构。49.19.1 CPUCPU的组织 计算机系统的基本组成主要包括3个部分:中央处理器(CPU)、存储器和I/O系统,它们之间通过总线连接起来。 运算器和控制器共同构成CPU,它是计算机系统的核心。计算机接通电源后,如果没有程序,不
2、会工作,程序必须编译成计算机所能识别的机器指令后,装入内存,才可以由计算机来自动完成取指令、译码和执行指令等任务。计算机中就是由CPU来完成这项工作的。59.1.1 CPU的功能 指令控制:程序的顺序控制,称为指令控制。由于程序是一个指令序列,这些指令的相互顺序不能任意颠倒,严格按程序规定的顺序进行,因此,保证机器按顺序执行程序是CPU的首要任务。 操作控制:一条指令的功能往往是由若干个操作信号的组合来实现的,因此,CPU管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行操作。 时间控制:对各种操作实施时间上的定时,称为时间控制。因为在计算
3、机中,各种指令的操作信号均受到时间的严格定时。另一方面,一条指令的整个执行过程也受到时间的严格定时。只有这样,计算机才能有条不紊地自动工作。 数据加工:所谓数据加工,就是对数据进行算术运算和逻辑运算处理。完成数据的加工处理,是CPU的根本任务,因为,原始信息只有经过加工处理后才能对人们有用。69.1.2 CPU的基本组成 控制器由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成,它是发布命令的“决策机构”,即完成协调和指挥整个计算机系统的操作。它的主要功能有: 从内存中取出一条指令,并指出下一条指令在内存中的位置。 对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动
4、作。 指挥并控制CPU、内存和输入/输出设备之间数据流动的方向。 运算器由算术逻辑单元(ALU)、累加寄存器(或通用寄存器)、数据缓冲寄存器和状态条件寄存器组成,它是数据加工处理部件。 79.1.2 CPU的基本组成 简化的CPU视图 A LU 寄存器 控制器 C P U 控制路径 内 部 总 线 89.29.2 寄存器组织 CPU中的寄存器按功能可分为如下两类: 用户可见寄存器(User-Visible Register):允许机器语言或汇编语言的编程人员通过优化寄存器的使用而减少对主存的访问。 控制和状态寄存器(Control And Status Register):用来控制CPU的操作
5、并被特权的操作系统程序用于控制程序的执行。99.2.1 用户可见寄存器 通用寄存器(General Purpose Register)可被程序员指派各种用途。有时,它们在指令集中的使用是正交于操作的,即任何通用寄存器能为任何操作码容纳操作数。这提供了真正通用的意义。 数据寄存器仅可用于保持数据而不能用于操作数地址的计算。 地址寄存器可以是自身有某些通用性,或是专用于某种具体的寻址方式。 条件代码(Condition Codes)寄存器,也被称为程序状态字(Program Status Word,PSW),CPU硬件设置这些条件位作为操作的结果。109.2.2 控制和状态寄存器 程序计数器(PC
6、):含有待取指令的地址。 指令寄存器(IR):含有最近取来的指令。 存储地址寄存器(MAR):含有存储器位置的地址。 存储缓冲寄存器(MBR):也称为存储数据寄存器(MDR),含有将被写入存储器的数据字或最近读出的字。11简单CPU模型 CPU c c c A LU PSW A C c PC c c M A R M BR c IR c 指令译码器 时钟 状态反馈 控制信号 操作控制器 时序产生器 数据总线 D BU S 存储器 地址总线 A BU S 输入/输出 129.2.3 操作控制器和时序控制器 操作控制器可分为时序逻辑型和存储逻辑型两种。第一种称为硬布线控制器,它是采用时序逻辑技术来实
7、现的,它的优点是速度快,缺点是结构不规整,设计、调试、维护较困难;第二种称为微程序控制器,它是采用存储逻辑来实现的,优点是设计规整,调试、维护、扩充指令方便。 操作控制器产生的控制信号必须定时,为此必须有时序产生器。因为计算机高速地进行工作,每一个动作的时间是非常严格的,不能太早也不能太迟。时序产生器的作用,就是对各种操作信号实施时间上的控制。 139.39.3 控制器组织 控制器的功能是,从存储器中取指令,对指令译码产生控制信号并控制计算机系统各部件有序地执行,从而实现指令的功能。为了实现控制器的这些功能,需要配备相应的器件。149.3.1 控制器的基本组成(1)指令寄存器(IR) 用来存放
8、由内存取出的指令,在指令执行过程中指令一直保存在IR中。指令是控制工作的依据,IR内容的改变就意味着一条新指令的开始。(2)程序计数器(PC) 用来存放即将执行的指令地址,具有计数器的功能,PC的值是程序执行位置的体现。当程序开始执行时,PC内装有程序的起始位置的体现。当程序顺序执行时,每执行一条指令PC增加一个量,这个量等于指令所含的字节数(这就是为什么称为程序计数器的原因)。当程序转移时,转移指令执行的最终结果就是要改变PC的值,此PC值就是转去的地址,以此实现转移。在有些机器中PC也被称为指令指针(Instruction Pointer,IP)。(3)时序部件 用于产生计算机系统所需的各
9、种时序(定时)信号,计算机中的各种控制信号都有很强的定时性。指令告诉计算机做什么,由时序线路确定什么时候去做。时序线路由脉冲源、启停线路负责时钟信号的通断。时序形成线路负责生成周期信号,节拍信号和节拍脉冲信号。159.3.1 控制器的基本组成(4)程序状态字寄存器(PSW) PSW用来存放两类信息:一类是体现当前指令执行结果的各种状态信息。例如有无进位(CF位)、有无溢出(OF)、结果正负(SF)、结果是否为零(ZF位)、奇偶标志(PF位)等;另一类是存放控制信息,例如允许中断(IF位)、跟踪标志(TF位)等。有些机器中将PSW称为标志寄存器(Flag Register,FR)。实际上不同的机
10、器其状况信息的内容和名称并不完全相同。(5)微操作形成部件 根据IR的内容(指令)、PSW的内容(状态信息)以及时序线路3方面的内容,由微操作控制形成部件产生控制整个计算机系统所需要的各种控制信号(也称微命令或微操作),操作形成方式有组合逻辑和微程序两种方式,其形成部件的结构也大不相同。根据微操作的形成方式可将控制器分为组合逻辑控制器(或硬布线控制器)和微程序控制器两大类。 169.3.2 指令执行的基本过程(1)取指令阶段 取指令阶段对所有指令都是相同的,它是将程序计数器(PC)的内容作为地址去读内存,将该单元的内容即指令读出送往指令寄存器(IR)。同时PC的内容自增,指向下一条指令,也就是
11、说取指令是一次内存的读操作。(2)取操作数阶段 取操作数仅针对操作数存放在内存的情况。由于寻址方式的不同(直接、间接、基址、相对、变址等),取操作数的过程也大不相同,取操作数是一次或多次内存的读操作,还可能包括操作数地址的计算(如变址、基址、相对等)。(3)执行指令阶段 执行指令是根据指令操作码对操作数实施各种算术、逻辑及移位操作。对于结果地址在内存的,还应包括一次内存的写操作。对于转移指令或子程序调用及返回等指令,应对PC的内容进行更新。179.3.3 控制器的时序系统 计算机的协调动作需要时间标志,而时间标志则是用时序信号来体现的。一般来说,控制器发出的各种控制信号都是时间因素(时序信号)
12、和空间因素(部件位置)的函数。 时序系统的作用就在于将各种控制信号严格定时,使多个控制信号在时间上相互配合完成某一功能。189.3.3 控制器的时序系统 1组合逻辑控制器的时序系统 控制器组成有组合逻辑方式和微程序方式,相应地其时序系统也有区别。组合逻辑控制器中,将时序信号分为指令周期、CPU周期、节拍周期和节拍脉冲 。 指令周期 CPU 周期(取指) CPU 周期(取数) CPU 周期(执行) 节拍周期 T0 节拍脉冲 P0 节拍周期 T1 节拍脉冲 P1 节拍周期 T2 节拍脉冲 P2 节拍周期 T3 节拍脉冲 P3 主频 Clock 199.3.3 控制器的时序系统 2微程序控制器的时序
13、系统 与组合逻辑控制器的时序系统相比,微程序控制器的时序系统要简单得多,在微程序控制方式中,是将一条机器指令转化为一段有微指令组成的微程序。微指令的读取和执行所用的时间定义为微程序控制器的基本时序单位,称为“微周期”。也就是说,在微程序控制方式中,只有指令微周期,没有CPU周期。 一个指令周期由若干个微周期组成。微周期包括读取微指令和执行微指令,其中读取微指令所需时间取决于控制存储器(CM)的读出时间,而执行微指令所需的时间大致与组合逻辑控制器时序中的节拍周期相同,是以CPU内部寄存器到寄存器之间的数据传输,或ALU的一次运算所需的时间为基准。由于多数控制存储器的读出时间较长(与组合电路的延迟
14、相比较),微程序控制方式的执行速度要低于组合逻辑控制器。 20【例9-1】什么是指令周期、机器周期和时钟周期?三者有何关系? 指令周期是CPU 取出并执行一条指令所需的全部时间,即完成一条指令的时间。机器周期是所有指令执行过程中的一个基准时间,通常以存取周期作为机器周期。时钟周期是机器主频的倒数,也可称为节拍,它是控制计算机操作的最小单位时间。 一个指令周期包含若干个机器周期,一个机器周期又包含若干个时钟周期,每个指令周期内的机器周期数可以不等,每个机器周期内的时钟周期数也可以不等。21【例9-2】能不能说机器的主频越快,机器的速度就越快?为什么? 不能说机器的主频越快,机器的速度就越快。因为
15、机器的速度不仅与主频有关,还与机器周期中所含的时钟周期数以及指令周期中所含的机器周期数有关。同样主频的机器,由于机器周期所含时钟周期数不同,机器的速度也不同。机器周期中所含时钟周期数少的机器,速度更快。 此外,机器的速度还和其他很多因素有关,如主存的速度、机器是否配有 Cache、总线的数据传输率、硬盘的速度以及机器是否采用流水技术等。机器速度还可以用MIPS(每秒执行百万条指令数)和CPI(执行一条指令所需的时钟周期数)来衡量。22【例9-3】设某机主频为8MHz,每个机器周期平均含2个时钟周期,每条指令的指令周期平均有2.5个机器周期,试问该机的平均指令执行速度为多少MIPS?若机器主频不
16、变,但每个机器周期平均含4个时钟周期,每条指令的指令周期平均有5个机器周期,则该机的平均指令执行速度又是多少MIPS?由此可得出什么结论? 根据主频为8MHz ,得时钟周期为1/8 0.125s,机器周期为0.1252 0.25s,指令周期为0.252.5 0.625s。 平均指令执行速度为1/0.625 1.6MIPS。 若机器主频不变,机器周期含4个时钟周期,每条指令平均含5个机器周期,则指令周期为0.12545 2.5s ,故平均指令执行速度为1/2.5 0.4MIPS。 可见机器的速度并不完全取决于主频。239.3.4 控制器的基本控制方式 计算机的基本工作原理是由指令实现控制。指令的
17、操作不仅涉及CPU内部,还涉及内存和I/O接口。另外,指令的繁简程度不同,所需要的执行时间也有很大差异。 如何根据具体情况实施不同的控制,就是控制方式所需要解决的问题。根据是否有统一的时钟,控制方式可分为同步控制方式、异步控制方式和准同步控制方式。241同步控制方式 同步控制方式,就是系统有一个统一的时钟,所有的控制信号均来自这个统一的时钟信号。前面谈到的指令周期、CPU周期、节拍周期和节拍脉冲均来自统一的脉冲源,它们构成了组合逻辑控制器中的同步控制时序系统。 根据指令周期、CPU周期和节拍周期的长度固定与否,同步控制方式又可分为以下几种:(1)定长指令周期(2)定长CPU周期(3)变长CPU
18、周期、定长节拍周期(4)折中方式252异步控制方式 异步控制方式中没有统一的时钟信号,各部件按自身固有的速度工作,通过应答方式进行联络,常见的应答信号有准备好Ready或等待Wait等,异步控制相对于同步要复杂。指令的执行不可避免地要涉及对内存的操作和对I/O设备的操作,它们属于计算机系统的其他部件。组成存储芯片和I/O设备接口的材料可能与CPU不同,信号传输的距离相对较远,会有传输延迟,必须按异步方式进行协调。 CPU内部的操作采用同步方式,CPU与内存和I/O设备的操作采用异步方式,这就带来一个同步方式和异步方式如何过渡、如何衔接的问题。也就是说,当内存或I/O设备的Ready信号到达CP
19、U时,不可能恰好为CPU脉冲源的整周期或节拍的整周期,解决方法也是一种折中方案,即准同步方式。263联合控制方式 联合控制方式又称为准同步方式,是介于同步异步中间的一种折中,或者说是异步方式的同步化。在准同步方式中,CPU并不是在任何时刻立即对来自内存和I/O接口的应答信号做出反应,而是在一个节拍周期的结束(下一个节拍周期的开始)。也就是说,当CPU进行内存的读/写操作或进行I/O设备的数据传输时,是按同步方式插入一个节拍周期或几个节拍周期,直到内存或I/O设备的应答信号到达为止。 准同步方式是CPU进行内存的读/写操作和I/O数据传输操作通常采用的方式,较好地解决了同步与异步的衔接问题。27
20、9.49.4 时序产生器组织 各种计算机的时序信号产生电路是不尽相同的。一般来说,大、中型计算机的时序电路比较复杂,而小、微型机的时序电路比较简单,这是因为前者涉及的操作较多,后者涉及的操作较少。 另一方面,从设计操作控制器的方法来讲,硬布线控制器的时序电路比较复杂,而微程序控制器的时序电路比较简单。然而不管是哪一类,时序信号产生器最基本的构成是一样的。289.4.1 组合逻辑控制器的时序产生器 启动 取指周期 取数周期 执行周期 停止 S R Q & T0 T1 Tn P0 Pn P1 CPU 周 期信号 发生器 节拍周 期信号 发生器 节拍脉 冲信号 发生器 晶 振 299.4.1 组合逻
21、辑控制器的时序产生器 节拍脉冲信号发生器:节拍脉冲信号发生器用于产生节拍脉冲P0、P1、P2、P3(参考图9-3)。 节拍周期信号发生器:节拍周期信号发生器可由循环移位寄存器构成,也可由计数器和译码器组成,输出节拍周期信号T0、T1、T2、T3。 CPU周期信号发生器:CPU周期信号一般设置单独的触发器表示,有几个CPU周期就设置几个触发器。例如,若某计算机系统没有取指令,取操作数和执行3个CPU周期,便设立3个触发器分别表示之。每个CPU周期状态的建立条件由控制器的微操作形成部件产生相应的建立信号,例如1FIC信号,表示建立取指令状态,1FDC信号表示建立取操作数周期状态,1EXEC信号表示
22、建立执行周期状态。CPU周期状态的建立时刻是在上一个CPU状态周期的最后一个节拍周期信号(或节拍脉冲信号)的下降沿建立。309.4.2 微程序控制器的时序产生器 启停控制逻辑 节拍脉冲和读/写时序译码逻辑 环形脉冲发生器 时钟脉冲源 . . . 控制信号 (来自控制器输出) . . . 控制信号 (发送到执行部件) 319.4.2 微程序控制器的时序产生器(1)时钟源时钟源用来为环形脉冲发生器提供频率稳定且电平匹配的方波时钟脉冲信号。它通常由石英晶体振荡器和与非门组成的正反馈振荡电路组成,其输出送至环形脉冲发生器。(2)环形脉冲发生器环形脉冲发生器的作用是产生一组有序的间隔相等或不等的脉冲序列
23、,以便通过译码电路来产生最后所需的节拍脉冲。为了在节拍脉冲上不带干扰毛刺,环形脉冲发生器通常采用循环移位寄存器形式。(3)节拍脉冲和读/写时序的译码逻辑节拍脉冲和读/写时序的译码逻辑根据环形脉冲发生器的输出,通过译码产生CPU工作所需要的节拍脉冲信号。同时,与控制器输出的控制信号配合,产生存储器/外围设备需要的控制信号。例如,由存储器发出的读/写信号(RD、WE)都是持续时间为一个CPU周期的节拍电位信号,而实际上它们只在某些节拍脉冲有效,因此需要译码控制。(4)启停控制逻辑机器一旦接通电源,就会自动产生原始的节拍脉冲信号,然而,只有在启动机器运行的情况下,才允许时序产生器发出CPU工作所需的
24、节拍脉冲。为此需要由启停控制逻辑来控制节拍脉冲的发送。同样,对读/写时序信号也需要由启停逻辑加以控制。329.5 9.5 指指 令令 流流 水水 随着计算机系统的发展特别是集成电路工艺上的改进,可以实现更高的性能。另外,CPU组织的增强也能改善性能。如使用多个寄存器而不是单一的累加器,又如使用高速缓存等。另外一种使用非常普遍的组织方法是指令流水线技术。339.5.1 9.5.1 流水线策略流水线策略 指令流水类似于工厂中装配线的使用。装配线利用了这样一个事实,即一个产品要通过几个制作步骤。通过把制作过程安排在一条装配线上,产品能在各个阶段同时被加工。这种过程被称为流水处理(Pipelining
25、),因为作为一条流水线,在先前接收的输入已成为加工的结果出现在另一端时,新的输入又在一端被接收进来。 将这种概念施加到指令的执行上,必须认识到,事实上一条指令的执行也是分成几个步骤。作为一个简化的方法,考虑将指令处理分成两个阶段:取指令和执行指令。在一条指令执行期间,有主存未被存取的时间。这个时间能用于取下一条指令,从而这个取与当前指令的执行并行工作。 349.5.1 9.5.1 流水线策略流水线策略 (a)简化观点 (b)扩展观点 取指 执行 指令 结果 指令 取指 执行 指令 结果 指令 作废 359.5.1 9.5.1 流水线策略流水线策略 指令 1 指令 2 指令 3 指令 4 指令
26、5 指令 6 指令 7 指令 8 时间 1 2 3 4 5 6 7 8 9 10 11 12 13 14 FI D I CO FO EI W O FI D I CO FO EI W O FI D I CO FO EI W O FI D I CO FO EI W O FI D I CO FO EI W O FI D I CO FO EI W O FI D I CO FO EI W O FI D I CO FO EI W O FI D I CO FO EI W O 指令 9 369.5.2 流水线分类 1单功能流水线和多功能流水线 这是按照流水线所完成的功能来分类的。所谓单功能流水线,是指只能完成
27、一种固定功能的流水线。而所谓的多功能流水线,是指同一流水线的各个段之间可以进行不同的连接,从而使流水线在不同的时间,或者在同一时间完成不同的功能。 2静态流水线和动态流水线 这是按照同一时间内各段之间的连接方式来分类的。所谓静态流水线,是指在同一时间内,流水线的各段只能按同一种功能的连接方式工作。所谓动态流水线,是指在同一时间内,当某些段上在实现某种运算(如定点乘法)时,另一些段却在实现另一种运算(如浮点加法),这样就不是非得相同运算的一串操作才能流水处理。目前,绝大多数的流水线是静态流水线。379.5.2 流水线分类 3部件级、处理机级及处理机间流水线这是按照流水的级别来进行分类的。所谓部件
28、级流水线,又叫运算操作流水线。它是把处理机的算术逻辑部件分段,以便为各种数据类型进行流水操作。所谓处理机级流水线,又叫指令流水线。它是把解释指令的过程按照流水方式处理。因为处理机要处理的主要时序过程就是解释指令的过程,这个过程当然也可分解为若干个子过程。把它们按照流水(时间重叠)方式组织起来,就能使处理机重叠地解释多条指令。从这个意义上说可以把前面将指令解释过程分解为“分析”与“执行”两个子过程的最简单的指令流水线,它同时只能解释两条指令。所谓处理机间流水线,又叫宏流水线。它是由两个以上的处理机串行地对同一数据流进行处理,每个处理机完成一项任务。第一个处理机对输入的数据流完成任务1的处理,其结
29、果存入存储器中,它又被第二个处理机取出进行任务2的处理依此类推。这一般属于异构型多处理机系统,它对提高各处理机的效率有很大的作用。389.5.2 流水线分类4线性流水线和非线性流水线 这是按照流水线中是否有反馈回路来进行分类的。所谓线性流水线是指流水线的各段串行连接且没有反馈回路。而非线性流水线是指流水线中除有串行连接的通路处,还有反馈回路或前馈回路。5标量流水线、超标量流水线和超流水线 如果计算机中只有一条指令流水线,称之为标量流水线;所谓超标量流水线是指具有两条以上的指令流水线,在一个时钟周期可执行一条以上的指令。而超流水线是通过细化流水、提高主频,使得在一个机器周期内完成一个甚至多个操作
30、。此外,还可按照输出端任务流出顺序与输入端任务流入顺序是否相同,将流水线分为顺序流动流水线和异步流动流水线(或称为无序流水线、错序流水线、乱序流水线),这里就不再赘述了。399.5.3 流水线的主要问题 要使流水线具有良好的性能,必须使流水线畅通流动,不发生断流。但由于流水过程中会出现以下3种相关冲突,实现流水线的不断流是困难的,这3种相关是: 资源相关冲突 数据相关冲突 控制相关冲突409.5.3 流水线的主要问题 1资源相关冲突所谓资源相关冲突,是指多条指令进入流水线后在同一机器时钟周期内争用同一个功能部件所发生的冲突。由表9-1可以看出,在时钟4时,第1条的FO段与第4条的FI段都要访问
31、存储器。当数据和指令放在同一个存储器且只有一个访问口时,便发生两条指令争用存储器资源的相关冲突。解决冲突的办法,一是第4条指令停顿一拍后再启动,二是增设一个存储器,将指令和数据分别放在两个存储器中。 时钟指令1234567891FIDICOFOEIWO2FIDICOFOEIWO3FIDICOFOEIWO4FIDICOFOEIWO5FIDICOFOEI419.5.3 流水线的主要问题2数据相关冲突 在一个程序中,如果必须等前一条指令执行完毕后,才能执行后一条指令,那么两条指令就是数据相关的。 在流水计算机中,指令的处理是重叠进行的,前一条指令还没有结束,第二、三指令就陆续地开始工作。由于多条指令
32、的重叠处理,当后继指令所需的操作数,刚好是前一指令的运算结果时,使发生数据相关冲突。例如: ADDR1,R2,R3;(R2)(R3) R1 SUBR4,R1,R5;(R1)(R5) R4 ANDR6,R1,R7;(R1) AND (R7) R6 为了解决数据相关冲突,流水CPU的运算器中特意设置若干运算结果缓冲寄存器,暂时保留运算结果,以便于后继指令直接使用,这称为“向前”或定向传输技术。429.5.3 流水线的主要问题3控制相关冲突控制相关冲突是由转移指令引起的。当执行转移指令时,依据转移条件的产生结果,可能为顺序取下条指令;也可能转移到新的目标地址取指令,从而使流水线发生断流。为了减小转移
33、指令对流水线性能的影响,常用以下两种转移处理技术: 延迟转移法:由编译程序重排指令序列来实现。基本思想是“先执行再转移”,即发生转移时并不排空指令流水线,而是让紧跟在转移指令Ib之后已进入流水线的少数几条指令继续完成。如果这些指令是与Ib结果无关的有用指令,那么延迟损失时间片正好得到了有效的利用。 预测法:硬件方法来实现,依据指令过去的行为来预测将来的行为。通过使用转移取和顺序取两路指令预取队列以及目标指令Cache,可将转移预测提前到取指阶段进行,以获得良好的效果。439.69.6 RISCRISC的硬件结构 精简指令集计算机(Reduced Instruction Set Computer
34、,RISC)结构是一个对CPU传统趋势的重大叛离,在语言和行为方面对大多数计算机结构的常规学识是一个挑战。 虽然,已有不同的组织以各种方式定义和设计了RISC系统,然而有些关键点是大多数(不是所有)设计都采用的。它们是:一个有限的和简单的指令集。大量的通用寄存器或使用编译器技术来优化寄存器的使用。强调指令流水的优化。 RISC的目标决不是简单地缩减指令系统,而是使处理器的结构更简单,更合理,具有更高的性能和执行效率,并降低处理器的开发成本。449.69.6 RISCRISC的硬件结构典型的RISC的特征有: 单一的指令长度。 典型的长度是4B。 较少的寻址方式,一般少于5种。 无间接寻址。间接
35、寻址要求先进行一次存储器访问来得到操作数的存储器地址。 每条指令不会有多于一个的存储器操作数。 装入/存储操作不会与算术操作混在一起(例如,由存储器加或加到存储器)。 对装入/存储操作,不支持数据的任意对齐。 对指令中的数据地址,存储管理单元(Memory Management Unit,MMU)的使用次数最多。 至少有32个整数寄存器能被显式地引用。 至少有16个浮点寄存器也能被显式地引用。459.79.7 PentiumPentium处理器 Pentium是Intel公司生产的超标量流水处理器,它代表了在复杂指令集计算机(CISC)中几十年设计努力的结晶,它采用了过去只有大型机和超级计算机
36、中才会采用的设计原则,是CISC体系结构的优秀范例。469.7.1 Pentium的结构框图 总线接口单元 指令池 L1 指令 Cache L1 数据 Cache 取指令/ 译码单元 派遣/执 行单元 回收单元 L2 Cache 系统总线 装入 存储 取 479.7.2 寄存器组织 通用寄存器(General):Pentium有8个32位通用寄存器。它们可被所有的Pentium指令类型使用,也可保持用于地址计算的操作数。此外,某些寄存器亦服务于专门目的。例如,字符串指令使用ECX、ESI和EDI寄存器的内容作为操作数,无需指令中有对这些寄存器的显式引用。 段寄存器(Segment):Penti
37、um有6个16位段寄存器,它们容纳索引段表的段选择符。代码段(CS)寄存器引用含有正被执行指令的段。堆栈段(SS)寄存器引用含有用户可见堆栈的段。其余的段寄存器(DS、ES、FS、GS)允许用户一次可访问多达4个分开的数据段。 标志寄存器(Flag):EFLAGS寄存器容纳条件代码的各种模式位。 指令指针寄存器(Instruction Pointer):存有当前指令的地址。489.7.2 寄存器组织还有一些寄存器专门用于浮点单元 数值寄存器(Numeric):每个寄存器保持扩展精度的80位浮点数。这样的寄存器有8个,它们的功能像一个堆栈,有相应的压入和弹出操作可用于指令集中。 控制寄存器(Co
38、ntrol):l6位的控制寄存器含有控制浮点单元操作的各个位,包括舍入类型控制,单、双或扩展精度控制,以及禁止或允许各种异常条件的位。 状态寄存器(Status):16位状态寄存器包括反映浮点单元当前状态的位,包括一个指向寄存器堆栈栈顶的3位指针,报告最后运算结果的条件代码,以及异常标志。 标记字寄存器(Tag Word):这个16位寄存器为8个浮点值寄存器每个保留2位标记,它们用于指示相应寄存器内容的属性。4种可能值是有效、零、特殊数(NaN、无穷、反规格化)和空。这些标记允许程序在不对寄存器中的实际数据进行复杂译码的情况下,检查数值寄存器中的内容。49小 结CPU是计算机的中央处理部件,具
39、有指令控制、操作控制、时间控制、数据加工等基本功能。早期的CPU由运算器和控制器两大部分组成。随各高密度集成电路技术的发展,当今的CPU芯片变成运算器、Cache和控制器三大部分,其中还包括浮点运算器、存储管理部件等。处理器中还包括用户可见的寄存器和控制/状态寄存器。用户可见寄存器是指,用户使用机器指令显式或隐式可访问的寄存器。它们可以是通用寄存器,也可以是用于定点或浮点数、地址、索引和段指针这样的专用寄存器。控制/状态寄存器用于控制CPU的操作。它包含各种状态和条件位。CPU从存储器取出一条指令并执行这条指令的时间称为指令周期。由于各种指令的操作功能不同,各种指令的指令周期是不尽相同的。划分指令周期,是设计操作控制器的重要依据。时序信号产生器提供CPU周期(也称机器周期)所需的时序信号。操作控制器利用这些时序信号进行定时,有条不紊地取出一条指令并执行这条指令。