- 1、本文档共67页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章微处理器体系结构及关键技术.ppt
指 令 字 段 常见指令字段分配 操作码位段分配 扩展操作码 * */68 操作数的数目 二元操作(binary operation)是一种基本操作类型,通常包含三个操作数地址:两个源操作数和一个目的(结果)操作数。 每一个操作数可以定位在存储器或寄存器中。 如限制在机器内部只用一个累加器: ① 单操作数指令:累加器用做源操作数以及目的操作数; ② 双操作数指令:累加器用做源操作数之一以及目的操作数,以存储器 为另一个源操作数; 如限制在机器内部只用一个索引寄存器: ① 当进行存储器直接寻址时,存储器地址由指令中的部分字段提供。 ② 当进行指数寻址时,目标地址一部分来自于指令的存储器地址,与一 个指数寄存器相加之后,形成目标操作数的地址。 * */68 计算机的工作本质上就是执行程序的过程。 顺序执行 指令执行的基本过程可以分为取指令(fetch)、分析指令(decode)和执行指令(execute)三个阶段。 非顺序执行 转移(jump) 执行条件/无条件转移指令,不返回 过程(procedure)调用 主程序调用子程序后返回断点 中断(interrupt) 外界突发事件处理完后返回断点 异常( exception) 程序本身产生的某些例外处理完后重新执行 陷阱(trap) 程序本身产生某些例外条件处理完后返回断点 计算机工作过程 * */68 程序的执行过程 取指令、分析指令、执行指令 CB AB DB ALU 累加器ACC 暂存器 标志寄存器FR 寄存器组 操作控制器OC 指令译码器ID 指令寄存器IR 操作码, 地址码 内部总线 地址缓冲器 数据缓冲器 程序计数器PC 地址译码 读控制 B0H 5CH 04H 2EH 地址 1001H 1002H 1003H 内容 1000H 内存储器 MOV A,5CH ADD A,2EH +1 CPU外 CPU内 ① ② ③ ④ ⑤ ⑥ ① ② ③ ④ ⑤ ⑥ ① ③ ④ ⑤ ⑥ ② ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ * */68 流水线CPU中双存储器访问的操作 ① 所有ALU指令都限制为仅可对寄存器进行; ② 只有存储器取存指令才能读写存储器; a)从存储器取出(LOAD):Mem(Reg 1)→Reg 2 b)写入存储器(STORE):Reg 1→Mem(Reg 2) ③ 否则会需要更多级流水线; * */68 流水线CPU的性能 吞吐量(throughput) 单位时间完成的作业,最大值等于每一时钟周期1个作业。 等待时间(latency) 每一作业从开始到结束需用时钟周期数d。 深度(depth)或并行度(degree of parallelism) 即流水线的级数d 。 加速比 非流水线执行时间相对流水线执行时间之比。 如果d级流水线每级需用一个时钟周期T,则N条指令的总执行时间: Tpipeline = Tload +Tempty = (N+(d-1))*T 则该流水线的加速比为: Tunpipeline/ Tpipeline= Nd /(N + d -1) * */68 流水线结构与微码结构的比较1 指令集的限制 微码机器中指令可以任意复杂; 流水线机器中指令越复杂所需的级数就越多; 指令的并行性 微码机器中指令的各微码执行阶段必须依次执行 流水线机器容许同时执行不同指令; 提高性能的手段 微码机器通过减少存储器读来提高性能; 流水线机器通过增加硬件实现指令的并行来提高性能; * */68 流水线结构与微码结构的比较2 比较下列操作在微码CPU和流水线CPU中的执行情况: Mem(Reg 1)+Mem(Reg 2)→Reg 3 微码机器(CISC)中只需要一条指令表示,而在流水线机器(RISC)里则需要3条指令; 假设没有存储器延迟,则流水线机器中这3条指令可以在3个时钟周期内完成,而微码机器则需要8个时钟周期。 在流水线机器中需要取存5次存储器,而微码机器只需要3次。 若存储器较慢,则微码CPU的执行速度可能更快 3次指令,2次数据 1次指令,2次数据 取指+译码执行:取操作数×2,加法,存结果 * */68 流水线CPU的特点 优点: 通过指令级并行来提高性能。 缺点: 增加了硬件成本。 流水寄存器引入延迟和时钟偏移,这些额外开销会使每条指令的执行时间有所增加,这也限制了流水线的深度。 流水线中各段的操作存在关联(dependence)时也会引起流水线中断,从而影响流水线的性能和效率。 * */68 流水线冲突 理想流水线的性能:每个时钟周期完成一条指令 实际流水线机器中可能存在的冲突(hazard): ① 数据冲突(如后面的计算要用到前面的结果) 定向技术可将结果
文档评论(0)