




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机组成原理 Principles of Computer Organization 广义双语教学课程 09/skyclass25/ 青岛理工大学 校级精品课程 /ec/C84/ 1 计算机组成原理设计性作业 课题3 组合逻辑控制单元设计 用硬布线(组合逻辑)控制法设计一个简单模型机的控 制单元CU(微操作信号产生电路)。 假设该模型机有8条不同类型的指令。包括:算术运算、 逻辑运算、移位、数据传送、访存操作、转移等。根据每条 指令的功能和时序,分析其执行过程中需要在各个阶段产生 的全部微操作,导出产生这些微操作控制信号的逻辑。 提示:需要决定指令周期包括哪几个机器周期,每个机器周期 包括几拍,每拍包括几个时钟,以及时钟周期是多少nS。有些 操作可能还需要规定是在时钟的上升沿或是在时钟的下降沿进 行。 第8周周末完成 2 第6章 中央处理器 Chapter 6 Central Processing Unit The description of the basic operation of a CPU offered in the previous section describes the simplest form that a CPU can take. This type of CPU, usually referred to as subscalar, operates on and executes one instruction on one or two pieces of data at a time. Model of a subscalar CPU. (5) 3 This process gives rise to an inherent inefficiency in subscalar CPUs. Since only one instruction is executed at a time, the entire CPU must wait for that instruction to complete before proceeding to the next instruction. This design, wherein the CPUs execution resources can operate on only one instruction at a time, can only possibly reach scalar performance (one instruction per clock). Model of a subscalar CPU. However, the performance is nearly always subscalar (less than one instruction per cycle). 4 6.5 流水线工作原理 指令的解释 计算机的速度可以用每秒执行的指令条数来表示。 为了加快单条指令的解释过程可采用的方法有: 选用更高速的器件 减少解释过程所需拍数 使解释过程的各个动作并行执行 指令的解释可以有三种控制方式:顺序,重叠,流水。 怎样加快一条指令的解释过程? 5 1顺序方式 各条机器指令间顺序串行执行。一条指令执行完之后,才取 下条指令来执行。指令内的各条微指令也是顺序串行执行的。 例如,把解释一条机器指令分为:取指,分析,执行,3个 子过程。 取指k分析k执行k取指k+1 分析k+1 执行k+1取指k+1取指k+2 顺序方式的优点是控制简单。 缺点是速度上不去,机器各部件的利用率不高。 6 2重叠方式 Overlap 在解释第k条指令的操作完成之前,就可开始解释第k+1条指令。 例如,把解释一条机器指令分为:取指,执行,两个子过程。 取指k执行k 执行k+1取指k+1 取指k+2执行k+2 重叠解释不能加快一条指令的实现,但能加快相邻两条指 令以至一段程序的解释。 重叠方式把一条指令的解释过程分解成“取指”,“执行”两个 子过程。若每个子过程需t时间,一条指令需2t时间完成。机 器每隔t时间完成一条指令的解释。吞吐率提高一倍。 t 7 取指k执行k执行k+1取指k+1取指k+2 执行k+2 取指k+3 执行k+3 取指k执行k 执行k+1取指k+1 取指k+2 执行k+2 取指k+3 执行k+3 重叠方式与顺序方式的比较 取指k执行k 执行k+1取指k+1 取指k+2执行k+2 一次重叠 理想情况 实际情况? 不同指令在各个阶段 所需时间不同 8 3流水方式 Pipelining 将一个重复的时序过程分解成为多个子过程Subprocess。每个 子过程都可有效地在其专用功能段上与其它子过程同时执行。 取指 令 指令 译码 取操 作数 执行 入口出口 例如,分成4个功能段Segment: One of the simplest methods used to accomplish increased parallelism is to begin the first steps of instruction fetching and decoding before the prior instruction finishes executing. This is the simplest form of a technique known as instruction pipelining, and is utilized in almost all modern general-purpose CPUs. 9 取指 令 指令 译码 取操 作数 执行 时空图 Space-Time-Diagram 1 1 1 1 2 2 2 2 34 34 34 34 56 56 56 56 789 789 789 789 空间(功能段) 取指 分析 取数 执行 时间 通过时间 排空时间 断流 t0t1t2t3t4t5t6t7t8t9t10t11t12t13t14 入口出口 各功能段时间相等 4个功能段Segment: 10 各功能段时间不等 1 1 1 1 2 2 2 2 3 3 3 3 空间(功能段) 取指 分析 取数 执行 时间 t0t1t2t3t4t5t6t7t8t9t10t11t12t13t14 4 4 4 4 气泡 时空图 Space-Time-Diagram Bubble In computing, a pipeline is a set of data processing elements connected in series, so that the output of one element is the input of the next one. The elements of a pipeline are often executed in parallel or in time-sliced fashion. 11 流水线的主要技术指标有:吞吐率,加速比,效率,等。 吞吐率 Throughput Rate 最大吞吐率: 如果各功能段时间都相等,ti=t0 TPmax=1/t0 如果各功能段时间不相等,TPmax=1/max(ti) 取决于最慢的段。 当流水线在连续流动达到稳定状态后的吞吐率。 单位时间内流水线所能处理的任务数(或指令数),或流 水线能输出的结果的数量。 12 加速比 Speedup Ratio m段流水线的速度与等效的非流水线的速度之比。 若各段时间相等 完成n个任务的时间: T流水= mt0 + (n-1)t0 T非流水= nmt0 加速比: 13 加速比 Speedup Ratio m段流水线的速度与等效的非流水线的速度之比。 若各段时间不等 加速比: tj是最慢的一段时间 14 效率 Efficiency 设各段时间相等,每段效率ei相等, e0 = e1 = = em : 整个流水线的效率 若各段时间不等,则各段的效率也不等,整个流水线的效率 e0 = nt0/T = n/(m+(n-1) 流水线上的设备利用率就是效率。 流水线上的各段有 “通过时间”和“排空时间”, 并非都是满负荷工作。 15 In the best case scenario, this pipeline can sustain a completion rate of one instruction per cycle. Pipelining allows more than one instruction to be executed at any given time by breaking down the execution pathway into discrete stages. This separation can be compared to an assembly line, in which an instruction is made more complete at each stage until it exits the execution pipeline and is retired. Basic five-stage pipeline. Instruction level parallelism 16 流水技术的特点 流水线可分成若干个互有联系的子过程,分别由专用功 能段实现。 实现子过程的功能段所需时间尽可能相等,避免因不等 而产生处理的瓶颈,形成流水线的断流。 形成流水处理需要一段准备时间,称为“通过时间”。此 后,流水过程才能稳定。 指令流发生不是顺序执行时,会使流水过程中断。再形 成流水过程需“通过时间”。要提高效率,不应常断流。 流水线技术适用于大量重复的程序过程。只有在输入端 能连续地提供任务,流水线效率才能充分发挥。 17 流水线结构 指令流水线 Instruction Pipeline 要求指令部件每个节拍输出一条指令给执行部件。指令流水 过程要分成更多的子过程。 在指令流水过程中要不断访存,所需时间不确定,难以 用统一的时钟控制各段工作。 取指令部件 指令译码部件 地址形成部件 取操作数部件 回写结果部件 修改指令指针部件 操作执行部件 18 流水线结构 运算操作流水线 Arithmetic Pipelining 按照指令的要求,选择合适的算法,把运算过程分成多个子 过程。使各个子过程的时间尽量相等。 各段与一个统一的时钟同步。 在各段间增加锁存器。 对阶功能部件 锁 存 器 尾数加部件 锁 存 器 规格化部件 锁 存 器 19 流水线要解决的技术问题 要实现重叠和流水,还要解决:访存冲突,相关,等问题。 1访存冲突 Resource Conflicts 在同一时间段,“分析k”在形成操作数有效地址后要访存取 操作数,而“取指k+1”也需访存取指令。 取指k分析k执行k 取指k+1分析k+1执行k+1取指k+1 取指k+1分析k+2执行k+2取指k+2 20 解决访存冲突的方法: 采用“哈佛结构”。指令和操作数分别存放在2个独立编址且可 同时访问的存储器内。 采用多体交叉存储器。使第k条指令的操作数与第k+1条指令 不在同一个存储体内。 设置指令缓冲寄存器组。把若干条指令预先从主存取到指缓。 取指令部件从指缓取指令,执行部件从主存取操作数,互相不干 扰。只要指缓不满,就自动从主存预取指令。 取指k分析k执行k 取指k+1分析k+1执行k+1取指k+1 取指k+1分析k+2执行k+2取指k+2 21 2流水线相关处理 造成流水线断流的原因,除了编译形成的目标程序不能发 挥流水结构的作用,或存储系统供应不上为连续流动所需的指 令和操作数外,就是由于出现了相关、转移和中断等问题。 转移和中断等现象与它们之后的指令有关联,从而不能同时 解释,称为全局性相关 Global Dependency。 与主存操作数或者通用寄存器的读写等关联的,称为局部性 相关 Local Dependency。 22 数相关 Data Dependency 如果第k+1条指令的操作数地址M正好是第k条指令存放运 算结果的地址(主存单元或寄存器),称为“先写后读”相关。 取指k分析k执行k 取指k+1分析k+1执行k+1取指k+1 取指k+1分析k+2执行k+2取指k+2 M 写 读 由于“分析k+1”与“执行k”重叠,在分析第k+1条指令时从M 单元取出的内容是“执行k”写数之前的内容,因而出错。 可用“相关专用通路”解决。 执行部件分析部件 23 转移相关 Branch Dependency 条件转移指令是在实际执行完后,才可能确定是否发生转移。 处理的方法有:转移预测Branch Prediction,预取转移目标 Pre-fetch Branch Target,转移目标缓冲BTB,循环缓冲Loop Buffer,多重流水Multiple Streams等。 取指k分析k执行k 取指k+1分析k+1执行k+1取指k+1 取指k+1分析k+2执行k+2取指k+2 JP 取指k+1分析k+3执行k+3取指k+3 对于无条件转移指令,可以采用“延迟转移Delayed Branch”的 方法。 24 中断处理 从中断第i条指令,到把中断服务程序由主存调入指缓并开 始在流水线中流动,其断流时间很长。 关键是如何处理好断点现场及中断后的恢复问题。 早期用“不精确断点”法。已经进入流水线的指令都执行完。 现在用“精确断点”法。需要保存大量的断点信息。 取指k分析k执行k 取指k+1 分析k+1 执行k+1取指k+1 取指k+1 分析k+2 执行k+2取指k+2 中断请求 中断响应 25 流水技术的发展 Super scalar Super Pipeline 26 控制器控制一条指令运行的过程是依次执行一系列微操作 的过程。微操作严格按照一定的时序进行。不同指令对应的微 操作数及其繁简程度不同,每条指令和每个微操作所需的执行 时间也不同。 控制器的控制方式是指形成控制不同微操作序列的时序控 制信号的方法。常用的时序控制方式有:同步控制方式、异步 控制方式和联合控制方式。 6.4.5 控制器的控制方式 Control Mode 27 (1) 同步控制方式 Synchronous Control Mode 同步控制方式是由基准时标控制微操作序列,每个微操作出 现的时间与统一的基准时标保持一致。 在程序运行时,任何指令的执行或指令中每个微操作的执行 都受事先确定的时序信号所控制。每个时序信号的结束就标志着 一个微操作或一条指令已经完成。随即开始执行后续的微操作, 或自动转向下一条指令的运行。 在同步控制方式下,一条机器指令由确定的机器周期组成, 每个机器周期又分成若干个节拍。在频率固定的脉冲作用下形成 这些节拍和周期。在任何情况下,一条指令的执行所需的机器周 期和节拍数都是不变的。 同步控制方式有三种方案:中央控制,局部控制,中央控制 和局部控制相结合。 28 1中央控制 中央控制采用完全统一的机器周期执行各种不同的指令。 指令的功能不同,所需的微操作也不同。 以最繁的需时最多的指令为标准来确定机器周期的节拍数 和时间间隔。对于那些比较简单的微操作将造成时间浪费。 优点是控制器的逻辑相对简单,时间便于控制。但要求所有 的指令都以相同方式进行处理,效率和性能上存在不足。 如果要提高效率,就必须让所有指令的处理时间都相同或相 近,因而限制了采用某些功能复杂、处理时间长的指令。 反之,若采用了功能复杂、处理时间长的指令,控制器处理 指令的时序要加长,那些功能简单的指令就存在时间浪费、处理 效率不高等问题。 29 2局部控制 局部控制采用不同节拍的机器周期,以解决微操作执行时 间不统一的问题。给操作较繁的微操作安排节拍数多的机器周 期,较简单的微操作安排在较短的机器周期内。 每条指令都有独立的处理方式或时序分配方式。指令周期 取决于所需的微操作序列长度。 优点是处理效率高。但控制器逻辑复杂。 30 3中央控制和局部控制相结合 大多数指令的执行过程中包含的微操作个数及指令的执行 时间比较接近或相等,可以将这样的指令作为标准建立统一的 时序节拍,称为中央节拍,由中央控制器发出。 少数指令执行过程中包含的微操作个数较多,指令的执行 时间比较长,需要增加节拍。就在中央节拍中间插入局部节拍 ,来完成相应的操作。 例如, 乘除法指令 31 3中央控制和局部控制相结合 少数指令执行过程中包含的微操作个数较多,指令的执行时 间比较长,需要增加节拍。就在中央节拍中间插入局部节拍,来 完成相应的操作。例如, 执行乘除法指令时,由一组中央节拍完成取指令操作。然 后,暂停中央节拍,启动局部节拍,完成N次加法和移位操作。 再结束局部节拍,转回中央节拍,继续执行指令的操作。 J1 J2 J3 J4Jn-1 Jn M1 M2 M3 M4M1 M2 M3 M4 插入 局部节拍的宽度与中央节拍的宽度相等。 中央节拍 局部节拍 32 (2) 异步控制方式 Asynchronous Control Mode 不用统一的基准时标信号,而由专用的应答线路控制微操 作的时序。前一个微操作的“终了”信号可命令后一个微操作启 动。微操作序列没有固定的周期节拍和严格的时钟同步。 系统各个部件之间没有统一的时钟,每条指令、每个微操 作需要多少时间就占用多少时间。微操作信号的宽度是由对应 微操作的需要来确定,几乎没有时间的浪费。 当控制器发出进行某一微操作控制信号后,等待执行部件 在完成该微操作后发回的“回答”信号,作为本次微操作的结束 信号,再开始新的操作。 异步控制方式的缺点是:设计比较复杂,器件多,控制方 式比较复杂,系统调试难度大,工作可靠性不易保证。 A B 33 (3) 联合控制方式 将同步控制方式和异步控制方式结合起来,指令的微操作 序列既有同步控制的,又有异步控制的。 CPU内部的数据加工、内部数据传送指令的微操作序列的执 行时间比较接近,采用同步控制。其中某些执行时间较长的指令 采用中央控制和局部控制相结合的方式。 I/O操作指令,由于I/O设备的工作速度与CPU的速度难以 匹配,时间难
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 华夏银行长春市二道区2025秋招笔试行测高频题及答案
- 2024年法律职业资格考试试卷及答案详解(名校卷)
- 2025广西生态工程职业技术学院人才招聘36人笔试备考题库及答案详解(必刷)
- 2024-2025学年度政法干警复习提分资料附答案详解(能力提升)
- 浦发银行银川市贺兰县2025秋招笔试综合模拟题库及答案
- 广发银行常德市鼎城区2025秋招面试典型题目及参考答案
- 兴业银行吉安市吉州区2025秋招半结构化面试题库及参考答案
- 重庆育才中学教共体2025-2026学年八年级上学期第一次月考语文试题(含答案)
- 平安银行杭州市拱墅区2025秋招笔试英文行测高频题含答案
- 浦发银行镇江市润州区2025秋招笔试英文行测高频题含答案
- GA/T 1312-2016法庭科学添改文件检验技术规程
- 大学物理实验长测量
- 卫生政策学之政策问题根源分析
- 步进电机及其工作原理-电机的工作原理及特性课件
- 基于CAN通讯的储能变流器并机方案及应用分析报告-培训课件
- 腹直肌分离康复(产后康复课件PPT)
- 聚合物成型的理论基础课件
- 药监系统官方培训06细菌内毒素方法介绍-蔡彤
- 慢性中耳炎的并发症课件
- 灭火器每月定期检查及记录(卡)表
- 千米、分米和毫米的认识单元备课
评论
0/150
提交评论