




已阅读5页,还剩49页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第九章控制单元的组成原理 计算机组成原理 2013年3月26日 控制单元是CPU的一部分 计算机无论完成什么任务 都是在控制单元控制下完成的 CU向CPU外部发出控制信号 以命令CPU与存储器和I O模块交换数据 控制单元也向CPU内部发送控制信号 以完成寄存器间数据传送 使ALU完成指定的功能以及其他内部操作 该模型表示了控制单元的输入和输出信号之间的关系 输入信号有 时序 CPU的所有工作都按一定的时间关系有序安排 9 1控制单元模型 指令寄存器 控制单元 CU 系统总线 图9 1控制单元模型 CPU的控制信号 来自总线控制信号 至总线控制信号 标志 时序 指令寄存器 当前指令的操作码 确定指令完成何种微操作 标志 标志决定CPU发出哪些控制信号 例如 对 增量若为0跳步 指令来说 CU据零标志是否置位确定PC是否加1 来自系统总线的控制信号 系统的控制线部分向CU提供 如中断信号和存储器的操作完成信号等 输出信号有 CPU内的控制信号 包括用于寄存器之间传送数据和用于指定ALU的功能两类 到控制总线的控制信号 有存储器的控制信号和对I O模块的控制信号 这里的控制信号即微操作控制信号 这些控制信号作为二进制输入量直接送到各个逻辑门上 例如取指令操作包括两步 第一步将程序计数器PC的内容传送到主存的地址寄存器MAR 第二步由存储器读一个字装入IR 并且PC增1 图9 2一个简单的数据通路 C4 对于图9 2所示的数据通路结构 CU需发出下面的微操作控制信号来完成取指令工作 1 打开PC各位与MAR各位之间的门C0 2 一个开门信号以允许MAR的内容送到地址总线上 C1 3 一个存储器的读控制信号送到控制总线上 CR 4 一个允许数据总线上的内容被存入MDR的开门信号C2 5 对PC内容加1 并返存PC控制信号 C10 6 打开MDR和IR之间门的控制信号C3 CU是CPU中的最主要的组成部分 后面将讨论CU的组成和设计 对于图9 2所示的数据通路结构 CU需发出下面的微操作控制信号来完成取指令工作 1 打开PC各位与MAR各位之间的门C0 2 一个开门信号以允许MAR的内容送到地址总线上 C1 3 一个存储器的读控制信号送到控制总线上 CR 4 一个允许数据总线上的内容被存入MDR的开门信号C2 5 对PC内容加1 并返存PC控制信号 C10 6 打开MDR和IR之间门的控制信号C3 CU是CPU中的最主要的组成部分 后面将讨论CU的组成和设计 ADD X的控制 取指 C0 C1 C2 C3 C4 ADD X的控制 间址 C5 C1 C2 C3 得到EA ADD X的控制 执行 取数 C5 C1 C2计算 C6 C7写回 C8 9 2指令执行的过程中的操作 PC ARPC 1 PCAR ABUS RAM DBUS DRDR IRIR A PCNextcommand 9 2 1计算机的总体结构图9 3为一简单计算机的总体结构 主要是数据通路结构 假设机器字长16位 采用单总线结构 CPU 主存和外设都挂在总线上 1 部件设置1 CPU 运算部件ALU 算 逻单元LT 暂存器LA 锁存器 寄存的组织 16位 R0 R7 可编程寄存器 SR 源操作数寄存器 Z Y 暂存器 指令执行过程暂存数据 PC 程序计数器 MAR 存储器地址寄存器 MDR 存储器缓冲寄存器 IR 指令寄存器 控制单元 CU 输入有指令译码器和时序 输出为微操作控制信号 引向各个控制点 2 主存储器按字编址 字长16位 容量64KW 接收CU送来的RD WR 存储器完成操作后为CPU回答MOC信号 3 总线总线由16位数据线 16位地址线和若干位控制线组成 不仅CPU与主存之间交换信息要通过总线 而且CPU内部信息传送也要通过总线完成 图中 表示信息传送方向 基本构成 控制器 运算器 寄存器 数据通路寄存器的类型 指令寄存器 IR 程序计数器 PC 数据寄存器 MDR 地址寄存器 MAR 状态寄存器 SR 通用寄存器 Ri 用户不可见暂存器 Z Y 数据通路 单总线结构 单总线CPU结构 2 各类信息的传送路径指令的执行基本上可以归为信息的传送即控制流 或指令流 和数据流二大信息流 1 指令M MDR BUS IR 2 地址1 指令地址 PC BUS MAR2 数据地址 操作数地址与转移地址根据不同寻址方式的要求决定 如为寄存的间接寻址 则将指定寄存器的内容 R BUS MAR 3 数据寄存器 寄存器 经总线直接传送寄存器 存储器 Ri BUS MDR M存储器 寄存器 M MDR BUS Ri3 设置的微操作控制信号 微命令 下图标出的控制信号 即为微操作控制信号 它实际控制数据通路中的数据流和指令流的流向 这些控制信号在本质上是控制数据通路的各个控制门的打开或关闭 ALU的实际操作功能 寄存器接收数据控制 主存的读或写命令等 主机基本组成 PC AR PC BUSLDAR 主机基本组成 READMEM AR ABUSRDLDDR 主机基本组成 DR IR DR BUSLDIR 执行指令过程 ADDR0 81 执行指令过程 ADDR0 81 IR IRi PC AR R0 R1 R2 R3 M DR X G Y PCi ARi DRi IRo PCo ARo RW DRo R0o R0i R3o R3i Xi Yi A总线 B总线 双总线结构机器的数据通路 IR IRi PC AR R0 R1 R2 R3 M DR X Y PCi ARi DRi IRo PCo ARo RW DRo R0o R0i R3o R3i Xi Yi A总线 B总线 执行指令 G ADDR0 R2 IR IRi PC AR R0 R1 R2 R3 M DR X Y PCi ARi DRi IRo PCo ARo RW DRo R0o R0i R3o R3i Xi Yi A总线 B总线 单总线结构机器 IR IR PC AR R0 R1 R2 R3 M DR X Y PC AR DR RW R0 R3 X Y A总线 单总线结构机器 操作控制器 ALU PC AR 译码测试 M DR DR IR R2 Y R0 X R0 R2 R0 PCo G ARi RW R DRo G IRi R2o G Yi R0o G Xi G R0i CPU周期 9 2 2指令系统1 指令格式指令系统采用定长指令格式 字长16位 格式如下 1512119865320 其中OP为操作码 4位 可定义16种操作 M为寻址方式 MS为源操作数寻址方式 MD为目的操作数寻址方式 RS为源操作数寄存器 RD为目的操作数寄存器 MS RS配合可确定源操作数 MD RD配合可确定目的操作数 2 寻址方式其中自增型双间址是指寄存器的内容不是操作数的地址 而是操作数地址的地址 同时要修改寄存器的内容 变址寻址是以指令向下一单元的内容作为位移量 与寄存器的内容相加作为操作数的地址 M 100 001 000 010 011 名称 汇编符号 含义 寄存器寻址 寄存器间址 自增型寄存器间址 自增型双间址 变址寻址 R R R R X R R 为操作数 有效地址E R E R 且 R 1R E R 且 R 1R E X R 表9 1寻址方式 3 操作类型双操作数运算指令操作码名称汇编符号操作0001加法ADD0010减法SUB0011逻辑乘AND单操作数运算指令操作码名称汇编符号操作0100加1INC0101减1DEC0110求补NEG 转移类指令 无条件转移 条件转移 无条件转移指令不受任何条件约束 直接把控制转移到所指定的目的地 从那进而开始执行程序 条件转移指令先测试某个条件 然后根据所测试的条件来决定是否转移 1 指令格式结构如下所示 试分析指令格式特点 解 1 OP字段有4位 指定16种操作 2 单字长二地址指令 3 寻址特征位3位 每个操作数可以指定8种寻址方式 寄存器编址位3位 共可以有8个寄存器 4 操作数可以是RR型 RS型 SS型 课堂练习与思考 2 CPU结构如图B9 1所示 其中有一个累加寄存器AC 一个状态条件寄存器 各部分之间的连线表示数据通路 箭头表示信息传送方向 标明图中四个寄存器的名称 简述指令从主存取到控制器的数据通路 3 简述数据在运算器和主存之间进行存 取访问的数据通路 课堂练习与思考 解 1 a为数据缓冲寄存器DR b为指令寄存器IR c为主存地址寄存器 d为程序计数器PC 2 主存M 缓冲寄存器DR 指令寄存器IR 操作控制器 3 存储器读 M DR ALU AC存储器写 AC DR M 9 2 4指令操作流程每条指令都可分解为一串操作序列 将这些操作按操作周期归类合并 并以流程图的形式画出 就得到指令的操作流程图 反过来 有了操作流程图后 也能非常清晰的了解一条指令的执行过程 简单指令系统的指令操作流程图如图9 4所示 取指周期 每条指令都要经历的周期是操作 取操作数周期 要取源操作数的指令进入此周期 其操作流程与源寻址方式有关 1 寄存的寻址 RS中的内容为源操作数 将它送入源操作数寄存器SR 2 寄存器间接寻址 以RS为地址访问主存一次 从存储器中取出源操作数送入源操作数寄存器SR 3 自增型寄存器间址 除了完成上述间址操作外 还要修改RS的内容 经ALU增1再送回RS 4 变扯寻址 先以PC现行值为地址从存储器单元取得位移量X 再与RS的内容相加 以相对结果为地址取出操作数送入源操作数寄存器SR 此外 PC 1 准备好下一条指令地址 在这个流程中因为要两次访问存储器 所以周期要延迟一次 通过指令流程 将能了解各种寻址方式的实现过程 取目的操作数周期 需要取目的操作数的指令进入此周期 取目的操作数与取源操作数相似 只是将其送入LA 执行周期 所有指令都要进入本周期 根据指令操作码决定进行什么操作 通过指令流程的分析可以看出 指令流程受机器结构 指令功能和寻址方式等因素约束 不能任意编造 它是指令在机器内部执行的过程的反映 LA SR BUS END WRITE BUS MDR SR LA BUS SR LA BUS BUS RD 指令操作流程 接上一张 ADD SUB AND ET R R 指令操作流程 指令操作流程 例9 1加法指令ADDR0 R1 的微操作序列 FT P0PC BUS BUS MAR READ CLEAR LA 1 C0 ADD ALU LTP1 LT BUS BUS PC PC 1 PC WAITP2 MDR BUS BUS IRP3 1 ST 取源操作数周期触发器 ST P0R0 BUS BUS SRP1空操作P2空操作P31 DT 取目的操作数周期触发器 DT P0R1 BUS BUS MAR READ WAITP1MDR BUS BUS LAP2空操作P31 ET 取执行周期触发器 ET P0SR BUS ADD ALU LTP1LT BUS BUS MDR WRITE WAITP2空P3END 例9 2减法指令SUB R0 x R1 的微操作序列 START FT微操作序列同例9 1所示ST P0R0 BUS BUS MAR READ CLEARLA 1 C0 ADD ALU LTP1LT BUS BUS R0 WAITP2MDR BUS BUS SRP31 DTDT P0PC BUS BUS MAR READ CLEARLA 1 C0 ADD ALU LTP1LT BUS BUS R1 WAITP2MDR BUS BUS LAP31 DTDT P0R1 BUS ADD ALU LTP1LT BUS BUS MAR READ WAITP2MDR BUS BUS LAP31 ETET P0SR BUS SUB ALU LTP1LT BUS BUS MDR WRITE WAITP2空操作P3END 例9 3转移指令JMP R0 的微操作序列START FT微操作序列同例9 1 P31 ET ET P0R0 BUS BUS PC CLEARLA 1 C0 ADD ALU LTP1LT BUS BUS R0P2空操作P3END说明几点 1 指令的微操作序列是机器所有指令的微操作在各个时序信号上的分配 它是指令流程的进一步具体化 安排微操作序列遵循二个规则 微操作序列的顺序必须是恰当的 例如 PC BUS BUS MAR 必须先于MDR BUS BUS IR 因为存储器读操作需使用MAR地址 不能引起数据通路上的信息发生冲突 例如在一个节拍内不能两次往总线上发送信息 2 上述安排方式 目的在于说明由指令操作流程写出指令的微操作序列的方法 因此 不是最优方案 例如 对寄存器寻址方式 因为操作数已放在寄存器中 微操作序列十分简单 有的节拍轮空 出现空操作 在实际设计时应避免 不同类型指令所需的周期数可能不同 上述双操作数运算指令至少要经过四个周期 单操作指令至少要经过三个周期 转移指令经过两个周期 通常一条指令至少要经过取指和执行二个周期 取操作数周期是可变的 单操作数指令仅有一个地址 至少经过一个取操作数周期 双操作数指令至少需要经过两个取操作数周期 图9 5描述了周期状态的变化情况 称为CPU控制流程 执行周期结束后 一条指令执行完毕 此时要进入 END 框 END的含义是现行指令结束后 CPU要进行一串状态测试 测试的顺序如图9 5所示 由于DMA方式和中断方式分别用于处理高速和低速外设的请求 所以DMA的优先级高于中断请求 为此 在一条指令结束时 先判断有无DMA请求 若有 则插入DMAT DMA周期 注意 实际的计算机大多在一个总线周期结束时就插入DMAT 这是为简化问题 限制在一条指令结束时才判别与响应DMA请求 FTSIDCIR 图9 6FT触发器 FT DMA请求 ST DT ET DMAT IT 中断请求 N Y Y N 图9 5CPU控制流程 1 原理性地说明ADDR0 R1指令 条件相对转移指令的指令格式和执行步骤 答案 ADDR0 R1 指令中给出操作码和R0 R1的编号 指令执行步骤 1 程序计数器 PC 的内容送地址寄存器 2 读内存 读出内容送指令寄存器 IR PC内容 1 增量 3 R0 R1送ALU ALU执行加运算 运算结果存回R0寄存器 保存运算结果的特征状态 4 检查有无中断请求 有 则响应中断 无则转入下一条指令的执行过程 条件相对转移指令 指令中给出操作码和相对转移偏移值 条件转移要依据的转移判断条件 指令的执行步骤 其中 1 2 步的取指和最后一步的判中断同前一条指令的处理 3 执行条件转移指令时 要判别指定的条件 若为真 才执行 尚未修改的PC内容送ALU 相对转移偏移值送ALU ALU执行加操作 结果送入PC 否则顺序地进入下一条指令的执行过程 课堂练习与思考 解答 执行流程 程序计数器的内容 地址寄存器 读内存 读出的指令 指令寄存器 DR的内容异或SR的内容 结果 DR 检查有无中断请求 有 则进行相应处理 无 则转入下一条指令的执行过程 执行流程 程序计数器的内容 地址寄存器 读内存 读出的指令 指令寄存器 SR的内容 地址寄存器 寄存器间接寻址方式 读内存 读出的数据 DR 检查有无中断请求 有 则进行相应处理 无 则转入下一条指令的执行过程 本章主要内容9 2 1控制单元的外特性控制单元CU的外特性如图9 1所示 9 2 2微操作命令的分析1 取指周期的微操作命令2 间址周期的微操作命令3 执行周期的微操作命令4 中断周期的微操作命令 图9 1控制单元的外特性 9 2 3多级时序系统1 机器周期2 时钟周期机器周期 时钟周期和节拍的关系如图9 2所示 图9 2机器周期 时钟周期和节拍的关系3 指令周期 机器周期 节拍和时钟周期的关系图9 3反映了指令周期 机器周期 节拍和时钟周期的关系 图9 3指令周期 机器周期 节拍和时钟周期的关系 9 2 4控制方式1 同步控制方式 1 采用完全统一节拍的机器周期 2 采用不同节拍的机器周期 3 采用中央控制和局部控制相结合的方法2 异步控制方式3 联合控制方式本章小结学习本章后要理解并掌握以下内容 1 指令周期 机器周期 时钟周期的概念及它们之间的关系 2 多级时序系统 3 分析取指周期 间址周期 执行周期 中断周期的微操作命令 4 什么是CU的控制方式 常见的控制方式 5 以8085CPU为例 说明指令周期 机器周期和节拍与控制信号的关系 第九章控制单元原理自测题一 选择题1 与微指令的执行周期对应的是 A 指令周期B 机器周期C 节拍周期D 时钟周期2 在微程序控制器中 机器指令和微指令的关系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 回收手机商务合同范本
- 房屋租赁合同范本版
- 阀门长期供货合同范本
- 厂房货物承揽合同范本
- 会员入会合同范本
- 游园项目合作合同范本
- 学校课桌采购合同范本
- 高空外墙施工合同范本
- 营销保密合同范本
- 月租酒店转租合同范本
- 2025年教师招聘小学语文真题及答案
- 2025年(完整版)十八项核心制度培训考核试题(含答案)
- 2025年低压电工理论考试1000题(附答案)
- 2025年益阳市融资担保有限责任公司招聘考试笔试试卷【附答案】
- 【湖南】2025年高考湖南卷化学高考真题+答案
- 2025年中国LCP料数据监测报告
- DGTJ08-2093-2019 电动汽车充电基础设施建设技术标准 含2021年局部修订
- 民政知识教学课件
- DB1301∕T494-2023 城市非机动车停放设施建设及管理规范
- KET教学课件新版
- 乳房恶性肿瘤放疗护理查房
评论
0/150
提交评论