600 likes | 901 Views
第 6 章 中央处理器. 本章要点: 控制器的组成 指令周期 微程序控制器 硬布线控制器 流水线技术. 6.1 CPU 的功能和构成 6.1.1 CPU 的功能
E N D
第6章 中央处理器 本章要点: 控制器的组成 指令周期 微程序控制器 硬布线控制器 流水线技术 计算机组成原理
6.1 CPU的功能和构成 • 6.1.1 CPU的功能 • 中央处理器(CPU)的基本功能就是执行指令,每种类型的CPU都有一组它能够执行的基本动作,例如完成两个整数的加、减、乘、除;判断两个数的大小、相等或不相等;把数据从一个地方转移到另一个地方等等,一种CPU能够完成的基本动作通常有几十种到几百种。每个基本动作对应一条指令,指令的全体构成CPU(或计算机)的指令集合。不同CPU的指令集合可能不同。执行指令的过程一般分为两个阶段:取指令过程和执行指令过程。 计算机组成原理
6.1.2 CPU的主要寄存器 • CPU中的寄存器可分为通用寄存器和专用寄存器两大类 : • 通用寄存器 • 专用寄存器 • 专用寄存器是专门用来完成某一种特殊功能的寄存器。CPU中至少要有5个专用的寄存器。它们是:程序计数器(PC)、指令寄存器(IR)、存储器地址寄存器(MAR)、存储器数据寄存器(MDR)、状态标志寄存器(PSWR)。 计算机组成原理
(1)程序计数器(PC) • 程序计数器又称指令计数器,用来存放正在执行的指令地址或接着要执行的下条指令地址。 • 对于顺序执行的情况,PC的内容应不断地增量(加“1”),以控制指令的顺序执行。这种加“1”的功能,有些机器是程序计数器本身具有的,也有些机器是借助运算器来实现的。 • (2)指令寄存器(IR) • 指令寄存器用来存放从存储和顺 中取出的指令。当指令从主存取出暂存于指令寄存器之后,在执行指令的过程中,指令寄存器的内容不允许发生变化,以保证实现指令的全部功能。 计算机组成原理
(3)存储器数据寄存器(MDR) • 存储器数据寄存器用来暂时存放由主存储器读出的一条指令或一个数据字;反之,当向主存存入一条指令或一个数据字时,也暂时将它们存放在存储器数据寄存器中。 • (4)存储器地址寄存器(MAR) • 存储器地址寄存器用来保存当前CPU所访问的主存单元的地址。由于主存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到主存的读写操作完成为止。 计算机组成原理
(5)状态标志寄存器(PSWR) • 主要包括两部分内容:一是状态标志,如进位标志(C)、结果为零标志(Z),大多数指令的执行将会影响到这些标志位;二是控制标志,如中断标志、陷阱标志等。 • 例如:8086微处理器的状态标志寄存器有16位,如图6-1所示,一共包括9个标志位,其中6个为状态标志,3个为控制标志。 计算机组成原理
6个状态标志为: • 进位标志位(CF),表示本次操作是否向高位有进位(借位),通常用于无符号数; • 辅助进位标志位(AF),表示第3号位是否向第4号位有进位(借位); • 溢出标志位(OF),表示本次运算结果是否溢出,通常用于带符号数; • 零标志位(ZF),表示本次运算结果是否为零; • 符号标志位(SF),表示本次运算结果的符号(正负); • 校验标志位(PF),表示数据校验位是0或1。 计算机组成原理
3个控制标志为: • 方向标志(DF),表示串操作指令中字符串操作的方向; • 中断允许标志位(IF),表示CPU是否能够响应外部的可屏蔽中断请求; • 陷阱标志位(TF),为了方便程序的调试,使处理器的执行进入单步方式而设置的控制标志位。 计算机组成原理
6.1.3 CPU的组成 • CPU由运算器和控制器两大部分组成,图6-2给出了CPU的模型 图6-2CUP模型图 计算机组成原理
在图6-2中,ID 表示指令译码器,CU表示控制单元,其作用将在稍后介绍。控制器的主要功能有: • (1)从主存中取出一条指令,并指出下一条指令在主存中的位置; • (2)对指令进行译码或测试,产生相应的操作控制信号,以便启动规定的动作; • (3)指挥并控制CPU、主存和输入输出设备之间的数据流动方向。 • 运算器的主要功能有: • (1)执行所有的算术运算; • (2)执行所有的逻辑运算,并进行逻辑测试。 计算机组成原理
6.1.4 CPU的主要技术参数 • CPU的主要技术参数 : • 1. 字长 • 2. 内部工作频率 • 3. 外部工作频率 • 4. 片内Cache的容量和速率 • 5. 工作电压 • 6. 地址总线宽度 • 7. 数据总线宽度 • 8. 制造工艺 计算机组成原理
思考:结合应用实际,请详细分析目前市场上销售的主流CPU的制造工艺和技术指标。思考:结合应用实际,请详细分析目前市场上销售的主流CPU的制造工艺和技术指标。 计算机组成原理
6.2 控制器的组成 • 6.2.1 控制器的功能 • 1.指令的流向控制 • 2.指令的控制执行 • (1)指令的流出控制 • 根据程序计数器的内容作为指令地址,并向存储器发读命令,取出现行指令,然后存放到控制器中的指令寄存器IR中。 • (2)指令分析与执行的控制 计算机组成原理
6.2.2 控制器的组成 • 它主要由以下几部分组成。 • 1.指令部件 • (1)程序计数器(PC) • (2)指令寄存器(IR) • (3)指令译码器(ID) • (4)程序状态寄存器(PSWR) • (5)地址形成部件 计算机组成原理
2.时序部件 • 时序部件包括: • (1)脉冲源 • (2)启停控制逻辑 • (3)节拍信号发生器 • 3.控制信号形成部件 • 4.中断控制逻辑 计算机组成原理
6.2.3 控制器的实现方式 • 1.微程序实现方式 • 2.组合逻辑实现方式 • 3.组合逻辑和存储逻辑结合实现方式 计算机组成原理
思考:详细比较微程序控制器和组合逻辑控制器的优缺点,请查阅资料分析我们目前使用的微处理器中那些采用的是微程序控制方式,那些采用的是组合逻辑控制方式。 计算机组成原理
6.3 指令周期 • 6.3.1指令周期的基本概念 • 计算机之所以能自动地工作,是因为CPU能从存放程序的内存里取出一条指令并执行这条指令,并且能够连续地取指令,执行指令……如此周而复始,构成了一个封闭的循环。这个循环将一直继续下去,直到遇到停机指令才能停止,如图6-6所示。 计算机组成原理
1.指令周期 • 2.机器周期 • 3.时钟周期(节拍) • 一个指令周期由若干个机器周期组成,所有指令的第一个CPU周期一定是取指周期,每个机器周期又由若干个时钟周期组成。根据指令动作的复杂程度不同,有的指令周期包含的CPU周期较多,有的则较少。它们之间的关系如图6-7所示。 计算机组成原理
6.3.2 非访存(CLA)指令周期 • 程序的第一条指令“CLA”是一条非访存指令,执行非访存指令需要两个CPU周期,其中取指令阶段一个CPU周期,执行指令阶段一个CPU周期。其指令周期如图6-8所示。 计算机组成原理
在第一个CPU周期,即取指令阶段,CPU完成三件事:在第一个CPU周期,即取指令阶段,CPU完成三件事: • (1)从内存取出指令; • (2)程序计数器PC加1,以便为取下一条指令做好准备; • (3)对指令操作码进行译码或测试,以确定进行什么操作。 • 在第二个CPU周期,即执行指令阶段。 计算机组成原理
1.取指令阶段 • 第一条指令的取指阶段如图6-9所示 计算机组成原理
2.执行指令阶段 • CLA指令的执行阶段如图6-10所示。 计算机组成原理
在此阶段,CPU的动作如下: • (1)操作控制器送CLA相应的控制信号给算术逻辑单元ALU; • (2)ALU响应该信号,将累加寄存器AC内容全部清零,从而执行了CLA指令。 计算机组成原理
6.3.3 访存(ADD)指令周期 • 程序的第二条指令是“ADD 40”指令,这是一条直接访问内存的指令。执行这条指令需完成三个CPU周期,如图6-11所示。 计算机组成原理
1.送操作数的地址 • 第二个CPU周期主要完成送操作数地址,其数据通路如下图所示。 计算机组成原理
2.两操作数相加 计算机组成原理
6.3.3 控制指令(JMP)周期 • JMP指令的指令周期仅由两个CPU周期组成,如下图所示。 计算机组成原理
第一个CPU周期仍然是取指令阶段 。 • 第二个CPU周期为执行阶段。 • 下图给出了JMP指令执行阶段的数据通路: 计算机组成原理
6.4 微程序控制器 • 6.4.1 微程序控制器的基本概念 • 微程序控制器的基本思想概括起来说有如下两点: • (1)将控制器所需的微命令以代码形式编成微指令,存入一个用ROM构成的控制存储器(CM)中。在CPU执行程序时,从控制存储器中取出微指令,其中包含了微命令控制的有关操作。与组合逻辑控制方式不同,它由存储逻辑事先存储与提供微命令。这一思想的关键就是将存储逻辑引入了CPU。 计算机组成原理
(2)将各种机器指令的操作分解成若干个微操作序列。每条微指令包含的微命令控制实现一步操作。若干条微指令组成一小段微程序,解释执行一条机器指令。针对整个指令系统的需要,编制出一套完整的微程序,事先存入控制存储器中。这一思想是利用程序技术去编排指令的解释与执行,也就是将程序技术引入CPU的构成级。(2)将各种机器指令的操作分解成若干个微操作序列。每条微指令包含的微命令控制实现一步操作。若干条微指令组成一小段微程序,解释执行一条机器指令。针对整个指令系统的需要,编制出一套完整的微程序,事先存入控制存储器中。这一思想是利用程序技术去编排指令的解释与执行,也就是将程序技术引入CPU的构成级。 计算机组成原理
微程序控制器中要用到的一些基本概念 : • (1)微命令:构成控制信号序列的最小单位称为微命令,又称微信号,通常是指那些直接作用于部件或控制门电路的命令,例如打开或关闭某传送通路的电位命令,或是对触发器或寄存器进行同步打入、置位、复位的控制脉冲。 • (2)微操作:由微命令控制实现的最基本的操作称为微操作,如开门、关门、选择、打入等。机器指令操作码所表示的往往是一种相对大一些的操作(宏观一些),如加法运算。它的实现要依靠建立相应的数据通路,如打开一些门、发出相应的打入脉冲等,即分割为一些更基本的微操作。 计算机组成原理
(3)微周期:从控制存储器读取一条微指令并执行相应的一步操作所需的时间称为微周期或微指令周期。通常一个时钟周期为一个微周期。(3)微周期:从控制存储器读取一条微指令并执行相应的一步操作所需的时间称为微周期或微指令周期。通常一个时钟周期为一个微周期。 • (4)微指令:从展开的角度来讲,每个微周期的操作所需的微命令(全部或大部分)组成一条微指令。从控制存储器的组织角度讲,每个单元存放一条微指令。图6-16所示为微指令格式的例子。 图6-16 计算机组成原理
(5)微程序:一系列微指令的有序集合称为微程序,用来解释执行机器指令。因此,一段微程序对应一条机器指令。(5)微程序:一系列微指令的有序集合称为微程序,用来解释执行机器指令。因此,一段微程序对应一条机器指令。 • (6)控制存储器:存放微程序的只读存储器称为微指令存储器。由于它主要存放控制命令(信号)和下一条要执行的微指令地址,因此又称控制存储器。计算机的指令系统是固定的,实现这个指令系统的微程序也是固定的,所以控制存储器采用只读存储器。 计算机组成原理
6.4.2 微程序控制器的组成 • 1.程序控制器的组成 • 微程序控制器的逻辑组成框图如图6-17所示。 计算机组成原理
微程序控制器的核心部件 : • (1)控制存储器CM • (2)微指令寄存器μIR • (3)微地址形成电路 • (4)微地址寄存器μAR 计算机组成原理
2.机器指令的读取与执行 • 在微程序控制器中,通过读取微程序与执行它所包含的微命令去解释执行机器指令。 计算机组成原理
6.4.3 微程序控制器的设计技术 • 1.微指令编码 计算机组成原理
微指令编码方式由多种,在这里主要介绍常用的三种 : • (1)直接表示法。 • (2)编码表示法。 • (3)混合表示法。 计算机组成原理
2.微地址的形成方法 • 产生后继微指令地址可有以下三种方式: • (1)计数器方式 • (2)断定方式 • (3)增量方式与断定方式结合 计算机组成原理
6.4.4 微指令格式 • 微指令格式大体上可分成两类:一是水平型微指令;二是垂直型微指令。 • 1.水平型微指令 • 水平型微指令的特点是在一条微指令中定义并执行多个并行微操作命令。在实际应用中,直接表示法和编码表示法经常应用在同一条水平型微指令中。从速度来看,直接表示法最快,字段编译法要经过译码,所以会增加一些延迟时间。 计算机组成原理
2.垂直微指令 • 在微指令中设置有微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能,成为垂直型的微指令。其特点是不强调实现微指令的并行控制功能,通常一条微指令只要求就能控制实现一二种微操作。 • (1)寄存器-寄存器传送型微指令 • 微指令格式: 计算机组成原理
(2)运算控制型微指令 • 微指令格式: (3)移位控制型微指令 微指令格式: 计算机组成原理
(4)访问主存微指令 • 微指令格式: (5)无条件转移微指令 微指令格式: 计算机组成原理
(6)条件转移微指令 • 微指令格式: • (7)其它 • 还有110和111两种操作码,可以用来定义输入/输出微操作或其它难以归类的杂操作,第3-15位可以根据需要定义各种相应的微命令字段。 计算机组成原理
3.水平型微指令与垂直微指令的比较 • (1)水平型微指令并行操作能力强,效率高,灵活性强,垂直型微指令则差。 • (2)水平型微指令执行一条指令的时间短,垂直型微指令执行时间长。 • (3)由水平型微指令解释指令的微程序,具有微指令字比较长,但微程序短的特点。垂直型微指令则相反,微指令字比较短而微程序长。 • (4)水平型微指令用户难以掌握,而垂直型微指令与指令格式比较相似,相对来说,比较容易掌握。 • 水平型微指令与机器指令差别很大,一般需要对机器的结构、数据通路、时序系统以及微命令很精通才能设计。 计算机组成原理
6.5 组合逻辑的控制器 • 6.5.1 组合逻辑控制器的基本结构 • 如图6-19所示为组合逻辑控制器的结构框图。 计算机组成原理
6.5.2 组合逻辑控制器的设计原理 • 组合逻辑控制器是根据指令功能要实现的微操作序列设计的,它的设计过程可归纳为:首先给定指令系统中每条指令功能实现的流程图,继而细化它,得到各指令的微操作序列,即各操作控制命令应该在什么时间执行;然后对各操作控制命令进行逻辑综合得到逻辑表达式;最后用逻辑门电路或可编程逻辑阵列实现操作控制信号的逻辑表达式功能。 • 逻辑综合的含义是,某一控制命令在哪些指令中被使用?在一条指令中使用了几次?在指令周期中的什么时间使用?将这些归并在一起就形成该控制命令的逻辑表达式。 计算机组成原理