版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第6章 中央处理机组织,6.1CPU的结构与功能 6.2组合逻辑控制与PLA控制 6.3微程序控制,6.1.1 CPU的组成与操作,ALU及所有的CPU寄存器通过一条公共总线连接起来,又称内部总线。存储器总线经由存储器数据寄存器MDR和存储器地址寄存器MAR连到CPU。 寄存器R0 到R(n-1):通用寄存器 寄存器Y和Z:临时存储。 指令寄存器IR和指令译码器:,6.1.1 CPU的组成与操作,PC:程序计数器,存放即将执行的指令地址 IR:指令寄存器,暂时存放指令代码 MAR:存储器地址寄存器,存放访问内存时的地址 MDR:存储器数据寄存器,存放和内存之间传送的数据 R0R(n-1):CP
2、U内的数据寄存器 Y:ALU输入端的暂存器 Z:ALU输出端的暂存器 ALU:算术逻辑单元,完成运算 M: 主存,存放指令和数据,6.1.1 CPU的组成与操作,PC部件控制信号 IR部件控制信号 PC+1,PCout -IRin , IRout MAR部件控制信号 MDR部件控制信号 MARin,MARouT -MDRin,MDRout,D Ri部件控制信号 Rin,Rout Y部件控制信号 Z部件控制信号 Yin,Yout -Zin,Zout ALU部件控制信号 +,-,+1 主存控制信号 RM,WM,例6.1写出指令执行的控制信号序列和操作序列,指令mov R2,R1存放在主存中,完成读
3、指、分析指令、执行指令的过程 操作序列 取指令:PC-MAR-M-MDR MDR-IR,PC 分析指令:IR-ID 执行指令:R1-R2 信号序列: 取指令:PCout,MARin,MARout,RM,MDRin,D MDRout,D,IRin,PC+1 分析指令:IRout 执行指令:R1out,R2in,例6.2写出指令执行的控制信号序列和操作序列,指令mov 20h,R2存放在主存中,完成读指、分析指令、执行指令的过程 操作序列 取指令:PC-MAR-M-MDR MDR-IR,PC 分析指令:IR-ID 执行指令:IR中操作数部分-MAR-M R2-MDR-M 信号序列: 取指令:PCo
4、ut,MARin,MARout,RM,MDRin,D MDRout,D,IRin,PC+1 分析指令:IRout 执行指令:IRout,MARin,MARout R2out,MDRin,D,MDRout,WM,例6.3写出指令执行的控制信号序列和操作序列,指令ADD R1,R2存放在主存中,完成读指、分析指令、执行指令的过程 操作序列 取指令:PC-MAR-M-MDR MDR-IR,PC 分析指令:IR-ID 执行指令:R2-Y R1-ALU,Y-ALU, ALU-Z Z-R1 信号序列: 取指令:PCout,MARin,MARout,RM,MDRin,D MDRout,D,IRin,PC+1
5、 分析指令:IRout 执行指令:R2out,Yin R1out,Yout,+,Zin Zout,R1in,例6.4写出指令执行的控制信号序列和操作序列,指令MOV R1,R2存放在主存中,完成读指、分析指令、执行指令的过程 操作序列 取指令:PC-MAR-M-MDR MDR-IR,PC 分析指令:IR-ID 执行指令:R2-MAR-M-MDR MDR-R1 信号序列: 取指令:PCout,MARin,MARout,RM,MDRin,D MDRout,D,IRin,PC+1 分析指令:IRout 执行指令:R2out,MARin,MARout,RM,MDRin,D MDRout,D,R1in,
6、例6.5根据CPU硬件,完成程序执行,已知cpu 组成结构如图 其中IR为1个字节长度 已知指令系统中部分指令定义为 mov R0,#data;功能data-R0,编码6c,data mov R1,R0; 功能(R0)-R1,编码2c add R1,R0 ;功能R1+R0-R1,编码0c mov R0,R1;功能R1-(R0),编码8f,例6.5根据CPU硬件,完成程序执行,下面程序已经放在内存0单元开始部分,pc已置0 mov R0,#7 mov R1,R0 add R1,R0 mov R0,R1 在硬件上完成程序(取指-译码-执行指令)写出操作序列和控制信号序列 演示6-1.swf,操作序
7、列和信号序列,MOV R0,#7 操作序列 取指令 :PC-MAR-M-MDR MDR-IR,PC 分析指令:IR-ID 执行指令:PC-MAR-M-MDR MDR-R0,PC 信号序列 取指令 :PCout,MARin,MARout,RM,MDRin,D MDRout,D,IRin,PC+1 分析指令:IRout 执行指令:PCout,MARin,MARout,RM,MDRin,D MDRout,D.R0in,PC+1,操作序列和信号序列,MOV R1,R0 操作序列 取指令 :PC-MAR-M-MDR MDR-IR,PC 分析指令:IR-ID 执行指令:R0-MAR-M M-MDR-R1
8、信号序列 取指令 :PCout,MARin,MARout,RM,MDRin,D MDRout,D,IRin,PC+1 分析指令:IRout 执行指令:R0out,MARin,MARout,RM,MDRin,D MDRout,D.R1in,操作序列和信号序列,MOV R1,R0 操作序列 取指令 :PC-MAR-M-MDR MDR-IR,PC 分析指令:IR-ID 执行指令:R0-R1 信号序列 取指令 :PCout,MARin,MARout,RM,MDRin,D MDRout,D,IRin,PC+1 分析指令:IRout 执行指令:R0out,R1in,操作序列和信号序列,MOV R0,R1
9、操作序列 取指令 :PC-MAR-M-MDR MDR-IR,PC 分析指令:IR-ID 执行指令:R0-MAR-M R1-MDR-M 信号序列 取指令 :PCout,MARin,MARout,RM,MDRin,D MDRout,D,IRin,PC+1 分析指令:IRout 执行指令:R0out,MARin,MARout, R1out,MDRin,D,MDRout,D,WM,6.1.3 CPU控制流程,计算机进行信息处理的过程就是不断地取指令、分析指令和执行指令这样一个周而复始的过程。 CPU控制流程由以下几步完成: 取指令:由程序计数器(PC)指出当前指令地址,通过执行“MAR一(PC)”和“
10、Read”命令,从主存中取出指令。,6.1.3 CPU控制流程,分析指令:或称解释指令、指令译码等。对取出的指令进行分析,指出它执行什么操作,产牛相应的操作控制信号。如果参与操作的数据在主存中,则还需要形成操作数地址。 执行指令:根据指令分析得到的“操作命令”和“操作数地址”,按一定的算法形成相应的操作控制命令序列,通过运算器、存储器及外部设备的具体执行,实现每条指令的功能。 对异常情况和某些请求的处理,CPU控制流程图,6.1.4控制器的组成,6.1.4控制器的组成,程序计数器PC: 又称指令计数器或指令指针,在某些机器中用来存放正在执行的指令地址,大多数机器中存放要执行的下一条指令的地址
11、指令寄存器IR: 用来存放现行指令 指令译码器: 又称操作码译码器,对指令寄存器中操作码部分进行分析解释,产生相应的控制信号 脉冲源及启停控制线路: 脉冲源产生一定频率的脉冲信号作为整个机器的时钟脉冲。启停线路则是在需要的时候保证可靠地开放或封锁时钟脉冲,控制时序信号的发生与停止,实现对机器的启动和停机。,6.1.4控制器的组成,时序信号产生部件 以时钟脉冲为基础,具体产生不同指令相对应的周期、节拍、工作脉冲等时序信号 操作控制信号形成部件 综合时序信号、指令译码信息、被控功能部件反馈状态信号等,形成不同指令的控制信号序列 中断机构:对异常情况和外来请求处理 总线控制逻辑:实现对总线信息传输的
12、控制,62组合逻辑控制与PLA控制,通过逻辑电路直接产生控制信号:基于时钟信号CLK驱动的计数器来控制每个控制步。 控制步计数器内容(时序信号) 指令寄存器的内容 条件码和其他状态标志的内容,简化的组合逻辑控制器,例6.6组合逻辑控制信号产生电路,Cpu中使Z寄存器输入门接通的Zin信号在以下情况产生:所有指令的T1时间段,加法指令的T6时间段,转移指令的T5时间段。设计Zin的控制信号产生电路 Zin=T1+T6 ADD+T5 BR+,62组合逻辑控制与PLA控制,组合逻辑控制器的设计要用大量的逻辑门电路,按一定规则组合成一个逻辑网络,从而产生各机器指令的控制信号序列,设计过程的步骤 根据给
13、定CPU结构及指令功能,排列出每条指令的操作控制步序列 确定机器的状态周期、节拍和工作脉冲 列出每个操作控制信号的逻辑表达式。所有操作控制信号的逻辑表达式组成了编码器,63微程序控制,微程序控制技术是通过类似于机器语言程序的一种方法来产生控制信号的。 微程序设计的思想给计算机控制部件的设计和实现技术带来了巨大的影响。它与组合逻辑的控制方法相比,大大减少了控制器的复杂性和非标准化程度,从而把硬件的用量限制在很小范围内。由于全部机器指令的执行过程都用微程序控制,便提供了很大的灵活性,使得设计的变更、修改以及指令系统的扩充都成为不太困难的事情。,63微程序控制,由于微程序相对固定,且通常不放在主存内
14、,故有可能利用工作速度较高的ROM存放微程序,从而缩短微程序的运行时间。这是一种固化了的微程序,称为固件。 缺点是比相同或相近半导体技术的硬布线式控制器(如PLA)慢一些。因此当代大部分计算机采用硬布线式控制器。,6.3.2 基本概念,1基本术语 一条指令的功能是通过执行一系列操作控制步完成的。这些控制步中的基本操作被称为微操作。 微命令是微操作的控制信号,而微操作是微命令的操作过程。 可以同时执行的一组微操作组成一条微指令,它完成一个基本运算或传送功能,6.3.2 基本概念,完成指定任务的微指令序列称为微程序。一条机器指令其功能可由一段微程序解释完成。 微程序存储器(控制存储器):存放计算机
15、指令系统所对应的所有微程序的一个专门存储器。 微程序控制的基本思想是把机器指令的每一操作控制步编成一条微指令。每条机器指令对应一段微程序。当执行机器指令时,只要从控制存储器中顺序取出这些微指令,即可按所要求的次序产生相应的操作控制信号。,6.3.2 基本概念,2微程序控制器 微程序计数器uPC:将根据指令的内容,生成微程序的入口地址放入中。 uPC自动增值,依次从微程序存储器中读出一条条微指令。 微指令寄存器uIR,存放控制存储器中的微指令,译码后产生一系列微命令。,微程序控制器工作流程(演示6-2.swf),CPU工作就是不断地取出指令和执行指令的过程,取指令的微操作序列是相同的。微程序控制
16、器的工作流程就是不断地执行取指令的微程序和执行相应功能指令的微程序。,3微程序控制器工作流程,6.3.3 微指令的格式与编码,微指令格式大体上可分为两种:水平型微指令和垂直型微指令. 水平型微指令能最大限度地表示微操作的并行性,但需要使用较长的代码,少则几十位,多则上百位。较长的代码能充分利用硬件并行性所带来速度上的潜在优势,也使微程序中所包含的微指令条数减至最少,所以适用于要求较高速度的场合。但是,一般说来,水平型微指令的码空间利用率较低,并且编制最佳水平微程序难度较大。,6.3.3 微指令的格式与编码,垂直型微指令采用短格式,一条微指令只能控制一、二个微操作,其格式与普通机器指令相仿,设有
17、微操作码字段,由微操作码确定微指令的功能。它所包含的地址码用来指定微操作数所在的寄存器地址或微指令转移地址,也可表示立即数或标志码等。采用垂直型微指令编写的微程序称垂直微程序。,6.3.3 微指令的格式与编码,常用的微命令编码方法: 1)直接表示法。在微指令的微命令字段中,每个二进制位表示一个微命令而一条微指令是否发出某个微命令则由对应的位是“l”还是“0”来确定。很显然,这种方法直观、不必译码、控制电路简单、速度快。但是,通常微命令的个数很多,使得微指令字长多达几百位,实现上非常困难。,6.3.3 微指令的格式与编码,2)字段直接编码法: 把微指令中相容的微命令(即在一条微指令中可能同时出现
18、的微命令)分配在不同字段,而将那些相斥的微命令(即在一条微指令中不可能同时出现的微命令)组合在一起,编成一个字段。每个小字段分别编码,每个码表示一个微命令。在微命令字段中所包含的小字段数目,是在一条微指令中最多可同时发出微命令的个数,例6.7对单总线CPU,采用直接表示法设计微指令,CPU中有42个控制信号,采用直接表示法,则微指令有42位,每位对应1位控制信号。 微指令格式为,例6.7对单总线CPU,采用直接表示法设计微指令,指令ADD R3,R1的微程序为,例6.8对单总线CPU,采用编码法设计微指令,42个控制信号中大多数不可能同时发生,许多信号是互斥的,这样可以把控制信号分组,那些互斥
19、的分在同一组,在一条微指令中每组只能有1个操作信号有效,经过编码后只有20位了。,例6.9水平型字段编码微指令示例,计算机的微指令中有10个字段c0-c9,每个字段可激活的控制信号如下表, (1) 采用字段直接编码法,微指令长度是多少? (2)若改为水平型直接表示,微指令长度是多少?,例6.9水平型字段编码微指令示例,(1)每个字段译码后要能控制所有信号,并留1个码字表示该字段的任何信号都不激活,则字段长度n:2n字段控制的信号数 3+3+2+4+4+5+3+1+4+5=34 (2)水平型直接表示法,则每个控制信号占微指令中1位,所以 4+4+3+11+9+16+7+1+8+22=85,例6.
20、10字段编码微指令示例,某计算机有5条微指令,每条微指令发出的控制信号如表,设计微指令编码,使微指令长度最短,例6.10字段编码微指令示例,微指令编码最短,则要找出相同、相容、相斥的信号 相同信号:a=f,b=g,c=h,d=i,e=j 相斥信号:(a,b,c,d,e),(f,g,h,i,j) 格式:A|B|C|D|E 5位 A=0,a,f信号无效,A=1,a,f信号同时有效 B=0, b,g信号无效, B=1, b,g信号同时有效 C=0,c,h信号无效, C=1,c,h信号同时有效 D=0, d,i信号无效, D=1,d,i信号同时有效 E=0, e,j信号无效 , E =1,e,j信号同
21、时有效 对ABCDE5个信号进行编码 X(3位) 000:A有效 001:B有效 010:C有效 011:D有效 100:E有效 101:都无效,例6.11字段编码微指令示例,某计算机有5条微指令,每条微指令发出的控制信号如表,设计微指令编码,使微指令长度最短,例6.11字段编码微指令示例,相同信号:c=g=i,b=h, 相斥信号:(b,i),(e,j),(b,c),(i,f),(g,d),(b,g),(b,j) 微指令格式: a|(b/h)(c/g/i)|d|ej|f| a|bc|gd|ej|if,微指令地址生成,微指令地址生成是指如何获得下一条微指令的地址.可以有3种方法 由IR指令寄存器
22、中的代码确定对应微程序的起始地址 由前一微指令地址顺序产生下一顺序地址 根据当前微指令、条件标志、指令寄存器内容,产生下一微指令的地址,微指令地址生成,常用的微指令地址生成技术有 计数器法:顺序产生微指令地址。uPC有加1功能。 下址字段法:在微指令中设置一个专门的地址字段用以指出下一条微指令的地址。,例6.12根据CPU硬件和指令系统,设计微程序控制器,在单总线CPU中,用一条总线连接IR,MAR,MDR,R0R7,ALU输入寄存器为Y,输出寄存器为Z。 计算机指令有 ADD R3,R1,R2 ;R3R1+R2 LOAD MEM,R1 ; R1 MEM STORE MEM,R1 ; MEM R1 JMP #A ;PCPC+A 已知四条指令的操作码为00,01,10,11,ADD R3,R1,R2指令的控制序列,T1:PCOUT,MARIN,PC+1,READ T2:MDROUT,IRIN, T3:R1OUT,YIN, T4:R2OUT,ZIN,ADD T5:ZOUT,R3IN,LOAD MEM,R1控制序列,T1:PCOUT,MARIN,PC+1,READ T2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 美发技术协议书
- 胶水加工协议书
- 警防联动协议书
- 沥青铺路协议书
- 美日广场协议书
- 互联网技术融合推动消费场景创新研究
- 生态农业中新质生产力与可持续发展路径的整合机制探讨
- 数据流通安全防护技术演进路径与发展趋势分析
- 数字经济高质量发展所需技术生态系统的构建路径
- LCM安全教育培训感受课件
- 钢筋笼制作协议书
- DB21∕T 3165-2025 钢纤维混凝土预制管片技术规程
- 人工智能辅助耳鼻咽喉虚拟内镜训练系统构建
- 2025年及未来5年中国高功率连续光纤激光器行业发展监测及发展趋势预测报告
- 2025年常见非标机械设计师面试题及答案
- 员工冬季出行安全
- 单侧双通道脊柱内镜技术
- GB/T 14748-2025儿童呵护用品安全儿童推车
- 《粤港澳大湾区城际铁路建设工程资料管理规范》
- 期末复习知识清单 2024-2025学年统编版语文六年级上册
- 2025年中国碳氢清洗剂市场调查研究报告
评论
0/150
提交评论