- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(CPUTime)、峰值速度(PeakPerformance)、负载(load).doc
《现代微处理器—90分钟简介》学习报告-蒋林洋
常用性能评价指标:执行时间(CPU Time)、峰值速度(Peak Performance)、负载(load)
开销(overhead)、利用率(utilization ratio)、饱和性能(saturate performance)、
带宽(bandwidth)、延迟(latency)、吞吐率(throughout)、加速比(speedup)、Amdahi定律(amdahi law)、效率(efficiency)、基准测试(benchmark)、响应时间(response time)等等
CISC计算机指令集结构的功能设计
目标:增强指令功能,减少指令的指令条数,以提高系统性能
面向目标程序的优化,面向高级语言和编译器的优化
对大量的目标程序机器执行情况进行统计分析,找出使用频度高,执行时间长的指令或指令串
对于那些使用频度高的指令,用硬件加快其执行,对于那些使用频度高的指令串,用一条新的指令来代替它
RISC计算机指令结构的功能设计
通过简化指令系统,用最高效的方法实现最常用的指令
充分发挥流水线的效率,减少CPI
硬件方面:硬布线控制逻辑,减少指令和寻址方式的种类,使用固定格式,采用Load/Store,指令执行过程中设置多级流水线。
软件方面:十分强调优化编译的作用
1、流水线技术
流水线技术要点
流水线技术并不能提高单个任务的执行效率,它可以提高整个系统的吞吐率
流水线中的瓶颈——最慢的那一段
多个任务同时执行,但使用不同的资源
其潜在的加速比=流水线的级数
流水段所需时间不均衡将降低加速比
流水线存在装入时间和排空时间,使得加速比降低
由于存在相关问题,会导致流水线停顿
充分利用数据通路
当前指令执行时,启动下一条指令
性能受限于花费时间最长的段
解决办法:
串联:将最慢段进一步划分
并联:增加部件
更深的流水线、超流水
目的:可以让处理器跑在更高的主频下,处理器在每秒内完成的指令数目会更多。
多发射、超标量
目的:并发执行多个指令,每条指令都由其分配到的功能单元负责
指令依赖与延时
后果:较深流水线的处理器会被插入更多的气泡,相互依赖的指令不能并行执行,没办法多发射了,处理器效率低。
分支与分支预测
背景:指令中存在如条件等指令,所以必须等到条件分支指令抵达执行级才能最终确定,但对于较深流水线处理器而言,这就需要好多个时钟周期了,这样会使处理器效率变低。
解决:编译器可能可以在分支指令处做一些标志,从而高速处理器应该走哪条路。这被称为静态分支预测。
或者让处理器可以在运行时做出猜测。
还有就是通过基于断言的分支消除技术,消除分支。
指令调度、寄存器重命名与乱序执行
背景:分支和长延时指令会造成流水线气泡,可以让空出来的时钟做些其他的工作,在某条指令等待的时候,对程序中其他指令进行乱序处理,使之可以执行。
目的:充分利用处理器的功能单元。
解决:一种方法是通过硬件在运行时实现乱序。
另外一种实现乱序的方法是:通过编译器优化代码,并重新排布指令。
这里出现了一个问题?OoO的硬件可以挖掘更多的指令级并行度,因为很多事儿只有在运行时才能被触发(无法事先预计,比如cache缺失事件)。另一方面,简单的顺序处理器设计可以实现更小、功耗更低的核,这就使得我们可以在相同大小的硅片上放上更多的顺序核。那么问题来了,您是愿意用个4的nb核呢,还是愿意用8个简单的顺序核呢?
多线程、超线程与多核
背景:通过超标量执行方式挖掘指令级并行度的方法并不太好,因为绝大多数普通应用中没有那么多细粒度并行度可供挖掘。如果在被执行的程序中不存在额外的独立指令,则可能存在另外一类独立指令的来源:即其他执行的程序(或者同一个程序中的其他线程)。
核心的想法:利用有用的指令填充流水线中的气泡,但这一次,有用的指令不在来自于同一个程序中,而是来自于并行执行的多个线程(注意这些线程都在同一个处理器核上运行)。因此,从系统来看SMT处理器就像是多个独立的处理器,与真多核系统非常类似。
设计更多的核还是更宽的核?
非常宽的超标量处理器设计相对于芯片面积和时钟频率而言,scaling效果非常差。其中最主要的问题是:复杂的多发射dispatch逻辑与发射宽度之间存在 2次方,甚至指数型scaling。此外,非常宽的超标量设计需要较高的多端口寄存器和cache。上述这些因素不仅会增加面积,还会在电路级大幅增加互联线的数目,从而导致处理器的时钟频率上不去。因此一款10发射的处理器事实上会比2个5发射的处理器面积更大、速度更慢。从电路设计的角度来看,20发射的SMT处理器基本不可行。
5、存储系统
存储系统主要讲cache(提高访存速度)和 虚存技术(提高主存容量)。
Cache与虚存技术的区别
目的不同:Cache是为
文档评论(0)