版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章中央处理器5.1CPU的功能和组成5.2指令周期5.3时序产生器和时序控制方式5.4硬布线控制器5.5微程序控制器5.6微程序设计技术
5.1CPU的功能和组成CPU(CentralProcessingUnit):计算机系统的核心部件,由运算器和控制器构成.5.1.1CPU的功能
指令控制:取指令并产生下一条指令在内存中的地址;操作控制:对指令进行译码,产生各种操作信号送往相应部件,以控制完成指令所要求的动作;时序控制:对各种操作信号实施时间上的控制,以保证计算机有条不紊地连续自动工作;数据加工:执行所有的算术运算和逻辑运算,并进行逻辑测试;异常处理和中断处理:检测和处理异常情况(如电源掉电、除法运算除0溢出等)及特殊请求(如打印机请求传送打印字符等)。微操作控制信号发生器时序信号发生器指令译码器...启停电路控制台脉冲源操作码寻址方式地址码地址形成部件pc至MAR增量中断控制逻辑......至MAR/ALUIRDB图5.1中央处理器组成框图程序状态寄存器
通用寄存器组
ALUDBAB……I/O状态信息微操作控制信号...5.1.2CPU的组成5.1.2CPU的组成
1.控制器的构成(1)指令部件:完成取指令和分析指令。程序计数器(ProgramCounter
,PC):又称为指令计数器、指令地址寄存器。PC中存放当前或下一条要执行的指令的地址,控制指令的执行顺序。顺序执行时,PC增量计数;遇到转移指令,则将转移地址送至PC。注意:由于PC可以指向主存中任一单元,故其位数应能表示主存的最大容量,并与MAR的位数相同。
指令寄存器(InstructionRegister,IR):存放当前正在执行的指令。
指令译码器(InstructionDecoder,ID):指令分析部件,对IR中的指令操作码部分进行译码分析,产生相应操作的控制电位,提供给微操作控制信号形成部件。注意:有的机器还需要对寻址方式字段进行译码,以控制操作数有效地址的形成。
5.1.2CPU的组成
1.控制器的构成
(1)指令部件:完成取指令和分析指令。地址形成部件:根据机器所规定的各种寻址方式,用来生成操作数有效地址。
(2)时序控制部件从宏观(即程序控制)上看,计算机的解题过程是指令序列的执行过程;从微观(即指令控制)上看,它又是微操作序列(即一个个微操作)的执行过程。一条指令的执行过程可以分解为若干简单的基本操作,称之为微操作。这些微操作信号是有严格的时间顺序要求的,不可以任意颠倒。时序控制部件的作用就是用来产生一系列时序信号,为各个微操作定时,保证各个微操作的执行顺序。(2)时序控制部件脉冲源:用于产生一定频率的主时钟脉冲,一般采用石英晶体震荡器作为脉冲源。启停电路:控制整个机器工作的启动与停止,即保证可靠地送出或封锁主时钟脉冲,控制时序信号的发生与停止。时序信号发生器:用以产生机器所需要的各种时序信号,以便控制有关部件在不同的时间完成不同的微操作。不同的机器有不同的时序信号。在同步控制的机器中,一般包括周期、节拍、脉冲等三级时序信号。(3)微操作控制信号发生器
不同的指令完成不同的功能,需要不同的微操作控制信号序列。每条指令都有自己对应的微操作序列。控制器必须根据不同的指令,在不同的时间,产生并发出不同的微操作控制信号,控制有关部件协调工作,完成指令规定的任务。(4)中断控制逻辑用以实现异常情况和特殊请求的处理。(5)程序状态寄存器PSR用以存放程序的工作状态(如管态、目态等)和指令执行的结果特征(如ALU的运算结果为零、结果为负、结果溢出等),把它存放的内容称为程序状态字(PSW),表明了系统的基本状态,是控制程序执行的重要依据。(6)用于主存接口的寄存器○存储器地址寄存器(MAR):接受来自PC的指令地址,或来自地址形成部件的操作数地址,以确定要访问的单元。○存储器数据寄存器(MDR):亦称为存储器数据缓冲寄存器(MBR)。写入主存的数据一般先送至MDR,再送主存;从主存读出的指令或数据一般先送入MDR,再送指令寄存器。○主存接口寄存器MAR、MDR的作用:
----作为CPU与主存、外设之间信息传递的中转站;
----补偿CPU与主存、外设之间操作速度的差别。(7)控制台:用于实现人与机器之间的通信联系,如启动或停止机器的运行、监视程序运行过程、对程序进行必要的修改或干预等。2、CPU内部的寄存器设置
CPU内部一般都设置下列寄存器:指令寄存器IR;程序计数器PC;累加寄存器AC;程序状态寄存器PSR;地址寄存器MAR;数据缓冲寄存器MDR(或MBR)。
(1)累加寄存器AC
用于操作数和操作结果,例如一个加法操作,AC的内容作为作为一个操作数与另外一个操作数相加,结果送回AC。早期的机器只有一个累加器,一般采用隐含寻址的方法供程序使用。
随着计算机的发展,运算器结构从单累加器发展为多累加器,即通用寄存器组结构。通用寄存器是一组程序可访问的、具有多种功能的寄存器。在指令系统中为这些寄存器分配了编号(或称寄存器地址),可编程使用其中的某个寄存器。因为可以实现多种功能,如提供操作数、保存中间结果(即作累加器用),或用作地址指针,或作为基址寄存器、变址寄存器、计数器等,因而称为通用寄存器。IR、PC、PSR、MAR、MDR的作用前面已经作了介绍,此处不再赘述。除了上述提到的寄存器外,CPU中还常设置一些程序不能直接访问、用于暂存操作数据或中间结果的寄存器,称为暂存器。5.1.2CPU的组成
2.控制器的构成方式控制器的主要任务为根据不同的指令,不同的状态条件,在不同的时间,产生不同的控制信号,控制计算机的各部件协调地进行工作。故控制器的核心为微操作控制信号发生器(控制单元CU)。
根据产生微操作控制信号的方式不同,控制器可以分为组合逻辑型、存储逻辑型、组合逻辑与存储逻辑结合型三种。(1)组合逻辑型这种控制器称为组合逻辑控制器,是用组合逻辑技术来实现的,其微操作信号发生器是由门电路组成的复杂树状网络构成的。这种方法是分立元件时代的产物,以使用最少器件数和取得最高操作速度为设计目标。(2)存储逻辑型这种控制器称为微程序控制器,采用存储逻辑实现,即将微操作信号代码化,使每条机器指令转化为一段微程序,存入控制存储器中,微操作控制信号由微指令产生。(3)组合逻辑和存储逻辑结合型这种控制器称为PLA控制器,吸收了前两种设计思想。PLA控制器实际上也是一种组合逻辑控制器,但与常规组合逻辑控制器不同的是,它是可编程的,某一微操作控制信号由PLA的某一输出函数产生。
微操作控制信号发生器指令译码器指令寄存器操作码时序信号…状态反馈信号译码输出图5.2
微操作控制信号发生器示意图...微操作控制信号注意:三种控制器只是微操作信号发生器的结构和原理不同,但产生的微操作命令的功能是相同的,并且各个控制条件都是由时序电路、操作码译码信号、被控部件的反馈信息有机配合而成的。3.总线(2)计算机中各部件的连接方式○在各部件之间用专门的通路连接优点:直观;缺点:结构复杂,硬件设备量增大.○在各部件之间设置总线来传送信息
优点:减少传送线数量,使数据通路结构简化,便于控制;(1)总线定义:一组能为多个部件分时共享的公共信息传送线路.它分时接受各部件送来的信息,并发送信息到有关部件.
缺点:当多个部件争用总线时,需设置总线控制逻辑解决总线控制权的问题.
(3)总线分类○CPU内部总线:连接CPU内的各寄存器与ALU,主要用于传送数据信息;○系统总线:连接CPU、主存与I/O接口,通常包括数据总线、地址总线、控制总线.4.CPU内部数据通路○总线结构:将所有寄存器的输入端和输出端都连接到一条或多条公共的通路上.又分为单总线结构、双总线结构(见图5.15)、多总线结构.(1)数据通路:CPU中寄存器及ALU之间的连接线路.通常有两种形式,同3(2),即:○专用数据通路结构:根据指令执行过程中的数据和地址的流动方向安排连接线路,结构见图5.3.5.2.1基本概念5.2指令周期(1)指令周期:取指令、分析指令到执行完该指令所需的时间。由于各种指令的操作类型不同、寻址方式不同,所以它们的指令周期也不同。如访存指令与不访存指令、加法指令与乘法指令的指令周期不同。(2)机器周期:亦称CPU周期,一般将一个指令周期划分为若干机器周期,每个机器周期完成一个基本操作,如取指周期、取操作数周期、执行周期、中断周期等。一般情况下,一条指令所需的最短时间为两个机器周期:取指周期和执行周期。
时序系统是控制器的心脏,由它为指令的执行提供各种定时信号。(2)机器周期:每个机器周期设置一个周期状态触发器与之对应,机器运行在不同的机器周期时,与其对应的周期状态触发器被置为“1”。可见,机器运行的任何时刻只能处于一种周期状态,故有且仅有一个周期状态触发器被置为“1”。注意:由于CPU内部操作速度快,而CPU访存所花时间较长,故许多计算机存取周期为基准时间来规定CPU周期。(3)时钟周期(节拍、T周期):时钟信号由机器主振电路发出的脉冲信号经整形后产生,时钟信号的频率即为机器主频,用时钟信号控制节拍发生器,即可产生节拍,每个节拍的宽度正好对应一个时钟周期,在每个节拍内机器可完成一个或几个需同时执行的微操作。通常一个节拍内CPU完成一个基本操作,如ALU完成一次正确运算、一次寄存器间的信息传送等。(4)三者关系:一个指令周期包含若干个CPU周期,一个CPU周期的功能由多个时钟周期来完成。
T周期CPU周期(取指令)CPU周期(执行指令)指令周期例:设某机主频为8MHZ,每个机器周期平均含2个时钟周期:(1)每条指令平均有2.5个机器周期,试问该机的平均指令执行速度为多少MIPS?解:根据主频为8MHZ,得时钟周期为1/8=0.125us,机器周期为0.125us×2=0.25us.指令周期为0.25×2.5=0.625us.
平均指令执行速度为1/0.625=1.6MIPS
例:设某机主频为8MHZ:(2)若机器主频不变,但每个机器周期平均含4个时钟周期,每条指令平均有5个机器周期,该机的平均指令执行速度又是多少MIPS?(3)由此,可以得出什么结论?解(2):指令周期为0.125us×4×5=2.5us,故平均指令执行速度为1/2.5=0.4MIPS.解(3):可见,机器的速度并不完全取决于主频,还与机器周期中所含的时钟周期数以及指令周期中所含的机器周期数有关.
此外,机器的速度还和许多其他因素,如主存的速度、机器是否有Cache、总线的传输率、硬盘的速度及机器是否采用流水技术等等。5.2.2指令执行的基本过程
一条指令执行过程分为3个阶段:取指、分析指令、执行指令。(1)取指令:将现行指令从主存取出并送至IR。PCMARIRMDRABDBCB主存(1)(1)(1)(2)(3)(3)(4)+1(5)
将PC内容送MAR,并送地址总线;
由控制单元
(CU)经CB向存储器发读命令;
启动相应存储单元,将指令通过数据总线送往MDR;
将MDR内容送IR;
将PC内容递增,为取下一条指令做准备。CU
注意:取指阶段的操作对任何一条指令来说,都是必须要执行的操作,称为公操作,完成取指阶段任务的时间,称为取指周期。
(2)分析指令:指令译码器(ID-InstructionDecoder)可以识别和区分不同的指令类型及各种获取操作数的方法.由于各条指令功能不同,寻址方式不同,所以分析指令阶段的操作各不相同。
(3)执行指令:执行指令规定的各种操作,形成稳定的运算结果,并存储起来。
可以看出,计算机的基本工作可以概括为:取指令(公操作)、分析指令(包括指令译码、计算操作数地址和取操作数等)、执行指令,然后再取下一条指令,……。如此循环,直到程序执行完毕,或外来干预为止。250000CLA;累加器清0,即0→AC021030030ADD30;(30)+(AC)→AC022021031STA40;(AC)→40023000000NOP;空操作
¦
¦八进制地址八进制内容024140021JMP21;无条件跳转,即21→PC030000006031000040
¦
¦040存和数单元数据表5.1五条典型指令组成的程序5.2.3-5.2.6(P.158-164)五条典型指令的执行过程图例。
首先了解五条指令的具体内容,详见P.158表5.1
CPU内部结构见下图所示.
0助记符ALUACPC地址总线ABUS数据总线DBUSDRIR指令译码器操作控制器时序产生器时钟状态反馈指令寄存器AR…微操作控制信号算术逻辑单元累加器
程序计数器地址寄存器数据缓冲寄存器CPU存储器输入/输出PSWR状态条件寄存器图5.3采用专用数据通路结构的CPU模型返回取指令PC+1对指令译码开始执行指令取下条指令PC+1取指令周期(FETCH)执行周期(EXE)一个CPU周期CLA指令周期5.2.3CLA指令的指令周期——非访内指令
功能:累加器清零,即0→AC一个CPU周期ALUAC000020PC000020①地址指令或数据内容20CLA21ADD3022STA4023NOP24JMP21¦¦300000063140存和数+1②③地址总线ABUSCLA④数据总线DBUSMDRCLA⑤IR指令译码器操作控制器时序产生器时钟状态反馈指令寄存器MAR…微操作控制信号算术逻辑单元累加器程序计数器地址寄存器数据缓冲寄存器存储器CPU图5.5取出CLA指令ALU000000000021PC000020地址指令或数据内容20CLA21ADD3022STA4023NOP24JMP21¦¦300000063140存和数②地址总线ABUSCLA数据总线DBUSMDRCLAIR指令译码器操作控制器时序产生器时钟状态反馈指令寄存器MAR…微操作控制信号算术逻辑单元累加器程序计数器地址寄存器数据缓冲寄存器存储器CPU①C(清AC)图5.6CLA指令执行阶段5.2.4ADD指令的指令周期——需要访问内存去取数并要执行加法指令
ADD30的功能:(AC)+(30)→AC取指令PC+1指令译码送操作数地址取出操作数执行加法操作开始取下条指令PC+1取指令周期执行周期1执行周期2FETCHEXE1EXE2一个CPU周期一个CPU周期一个CPU周期ADD指令周期ALU000000000021PC000021①地址指令或数据内容20CLA21ADD3022STA4023NOP24JMP21¦¦300000063140存和数地址总线ABUSADD30数据总线DBUSMDRADD30IR指令译码器操作控制器时序产生器时钟状态反馈指令寄存器MAR…微操作控制信号算术逻辑单元累加器程序计数器地址寄存器数据缓冲寄存器存储器CPU②+1③④⑤图5.7取出ADD指令(取指令周期)ALU000000000022PC000030地址指令或数据内容20CLA21ADD3022STA4023NOP24JMP21¦¦300000063140存和数地址总线ABUSADD30数据总线DBUSMDRADD30IR指令译码器操作控制器时序产生器时钟状态反馈指令寄存器MAR…微操作控制信号算术逻辑单元累加器程序计数器地址寄存器数据缓冲寄存器存储器CPU①图5.8送(ADD指令的)操作数地址(执行周期一)
ALU000006000022PC000030地址指令或数据内容20CLA21ADD3022STA4023NOP24JMP21¦¦300000063140存和数地址总线ABUS000006数据总线DBUSMDRADD30IR指令译码器操作控制器时序产生器时钟状态反馈指令寄存器MAR…微操作控制信号算术逻辑单元累加器程序计数器地址寄存器数据缓冲寄存器存储器CPU①②③③④图5.9取操作数并执行加法操作
(执行周期二)
取指令PC+1开始指令译码送操作数地址送操作数执行写内存操作取下条指令PC+1一个CPU周期一个CPU周期一个CPU周期取指令周期执行周期1执行周期2FETCHEXE1EXE2STA指令周期5.2.5STA指令的指令周期——访问内存的存数指令
STA40的功能:(AC)→40ALU000006000022PC000022①地址指令或数据内容20CLA21ADD3022STA4023NOP24JMP21¦¦300000063140存和数地址总线
ABUSSTA40数据总线DBUSMDRSTA40IR指令译码器操作控制器时序产生器时钟状态反馈指令寄存器MAR…微操作控制信号算术逻辑单元累加器程序计数器地址寄存器数据缓冲寄存器存储器CPU②+1③④⑤图5.10取出STA指令(取指周期)ALU000006000023PC000040地址指令或数据内容20CLA21ADD3022STA4023NOP24JMP21¦¦300000063140存和数地址总线
ABUSSTA40数据总线DBUSMDRSTA40IR指令译码器操作控制器时序产生器时钟状态反馈指令寄存器MAR…微操作控制信号算术逻辑单元累加器程序计数器地址寄存器数据缓冲寄存器存储器CPU①图5.10STA指令送操作数地址(执行周期一)ALU000006000023PC000040地址指令或数据内容20CLA21ADD3022STA4023NOP24JMP21¦¦300000063140000006地址总线
ABUS000006数据总线DBUSMDRSTA40IR指令译码器操作控制器时序产生器时钟状态反馈指令寄存器MAR…微操作控制信号算术逻辑单元累加器程序计数器地址寄存器数据缓冲寄存器存储器CPU①图5.11存储和数③②(执行周期二)取指令PC+1开始指令译码送转移地址取下条指令地址PC+1一个CPU周期一个CPU周期5.2.6NOP指令和JMP指令的指令周期NOP:空操作,只取指令;JMP21:21→PC取指令周期执行周期
FETCHEXEJMP指令的指令周期ALU000006000023PC000023地址指令或数据内容20CLA21ADD3022STA4023NOP24JMP21¦¦300000063140存和数地址总线
ABUSNOP数据总线DBUSMDRIR指令译码器操作控制器时序产生器时钟状态反馈指令寄存器MAR…微操作控制信号算术逻辑单元累加器程序计数器地址寄存器数据缓冲寄存器存储器CPU图5.12取出NOP指令(取指 周期)执行周期CU不发任何控制信号①②+1③④N
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025《鸿门宴》文化内涵课件
- 煤炭开采方法试题及答案
- 山东地生会考试卷及答案
- 1.2宪法的内容和作用 教案 2025-2026学年统编版道德与法治 八年级下册
- 药品零售企业药学服务人员岗前培训试题及答案
- 药物警戒知识试题及答案
- 医疗机构广告法培训试题及答案
- 农业职称竞聘试题及答案
- 医疗器械使用管理规范考核试题及答案
- 187公司例会部门会议模板
- 2026年宁夏葡萄酒与防沙治沙职业技术学院自主公开招聘工作人员考试参考试题及答案解析
- 2026年课件-冀人版二年级下册科学全册新质教学课件(2026年春改版教材)-新版
- 《工业机器人现场编程》课件-任务1.认识工业机器人
- 金蝶云星空应用开发初级认证
- 设备基础预埋件施工方案
- 供电协议合同格式模板
- 退役军人事务员(五级)职业资格考试题及答案
- DB34T∕ 2270-2014 铜阳极泥铜、金、银、硒、铋、铅含量的测定波长色散X射线荧光光谱法
- 初中学业规划-制定清晰学业目标与计划课件
- 医务人员批评与自我批评(通用7篇)
- 云南农业大学开题报告
评论
0/150
提交评论