计算机系统结构(清华大学)第5章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机系统结构(清华大学)第5章

第五章 标量处理机 2017-4-11 本章主要内容 5.1 先行控制技术 5.2 流水线技术 5.3 相关性分析技术 5.4 超标量处理机 5.5 超流水线处理机 5.6 超标量超流水线处理机 标量处理机 只有标量数据表示和标量指令系统的处理机称为标量处理机,是最常用最普通的处理机。 设计处理机的主要任务就是缩短解释指令的时间,提高处理机指令的执行速度: 提高处理机的工作主频。5、60年代主要采用这种技术,每3、4年处理机的速度要提高一个数量级。 采用更好的算法和设计更好的功能部件,如采用RISC等。 多条指令并行执行。指令级的并行技术。 流水线技术。 处理机中设置多个独立的功能部件,如浮点运算器,定点运算器,访存部件等。 超长指令技术。 5.1 先行控制技术 先行控制技术的关键是采用缓冲技术和预处理技术,以及两者都采用,通过对指令流和数据流的预处理和缓冲,能够尽量使指令分析器和指令执行部件独立工作并始终处于忙碌状态。 5.1.1 指令的重叠执行方式 5.1.2 先行控制方式的原理 5.1.3 处理机结构 5.1.4 指令执行序列 5.1.5 先行缓冲栈 5.1.6 缓冲深度的设计方法 指令的重叠执行方式 一条指令的执行可以分为多个阶段,具体分法视处理机而定,一般可以分为三个阶段: 取指令是指按照指令计数器的内容访问主存,取出一条指令送到指令寄存器。 分析指令是指对指令的操作码进行译码,按照给定的寻址方式和地址字段内容形成操作数地址,并用这个地址读出操作数,操作数可以在主存也可以在寄存器。 执行指令是根据操作码的要求,完成指令规定的功能,把结果写到主存或者寄存器。 指令分析或者指令执行阶段还得修改指令计数器的更新,为下一条指令作准备。 指令的重叠执行方式 1.顺序执行方式 执行n条指令所用的时间为: 如果每段时间都为t,则执行n条指令所用的时间为:T=3 n t 主要优点:控制简单,节省设备。 主要缺点:速度慢,功能部件的利用率低。 2.一次重叠执行方式 如果两个过程的时间相等,则执行n条指令的时间为:T=(1+2n)t 主要优点: 指令的执行时间缩短, 功能部件的利用率明显提高。 主要缺点: 需要增加一些硬件, 控制过程稍复杂。 指令的重叠执行方式(续) 3.二次重叠执行方式 如果三个过程的时间相等,执行n条指令的时间为:T=(2+n)t 在理想情况下,处理机中同时有三条指令在执行。 处理机的结构要作比较大的改变,需要采用先行控制技术。 指令的重叠执行方式(续) 先行控制方式的原理 1.采用二次重叠执行方式必须解决两个问题: (1)有独立的取指令部件、指令分析部件和指令执行部件 把一个集中的指令控制器,分解成三个独立的控制器: 存储控制器、指令控制器、运算控制器。 (2)要解决访问主存储器的冲突问题 取指令、分析指令、执行指令都可能要访问存储器。 2.解决访存冲突的方法: (1)采用低位交叉存取方式: 这种方法不能根本解决冲突问题。 取指令、读操作数、写结果。 (2)主存分为两个独立的存储器:独立的指令存储器和数据存储器。 如果再规定,执行指令所需要的操作数和执行结果只写到通用寄存器,则取指令、分析指令和执行指令就可以同时进行。 在许多高性能处理机中,有独立的指令Cache和数据Cache。这种结构被称为哈佛结构。 先行控制方式的原理(续) (3)采用先行控制技术 采用先行控制技术的关键是缓冲技术和预处理技术。 缓冲技术通常用在工作速度不固定的两个功能部件之间。设置缓冲栈的目的是用来以平滑功能部件之间的工作速度。 在采用了缓冲技术和预处理技术之后,运算器能够专心于数据的运算,从而大幅度提高程序的执行速度。 先行控制方式的原理(续) 处理机结构 1.三个独立的控制器: 存储控制器、指令控制器、运算控制器。 2.四个缓冲栈: 先行指令缓冲栈、先行读数缓冲栈、先行操作栈、后行写数栈。 3.处理机组成 4.先行指令缓冲栈的组成 作用:只要指令缓冲栈没有充满,就自动发出取指令的请求。 指令分析器每分析完一条指令,自动向指令缓冲栈发出取下一条指令的请求,指令取出后就把先行指令缓冲栈中的指令作废。 分析指令速度和从主存取指令的速度是随机的,指令缓冲栈的指令数目是动态的。 设置两个程序计数器: 先行程序计数器PC1,用来指示取指令, 现行程序计数器PC,记录指令分析器正在分析的指令地址。 处理机结构(续) 处理机结构(续) 先行缓冲站的组成 指令缓冲存储器堆,采用先进先出的方式,保证指令的执行顺序不致混乱。 处理机结构(续) 先行控制方式中的一次重叠执行 重叠部分,无论谁先结束,都不能提前执行下一条指令,需要等待。 无论任何时刻,在指令分析部件和指令执行部件内都只有相邻的两条指令重叠执行,处理机只需要设

文档评论(0)

zilaiye + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档