- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机组成原理课程报告
姓名:阿力木江·阿地力
学号:913106840549
班级:913065802
近代缓存优化技术的可能性
关键词:缓存原理,缓存现状,降低性能的问题
研究背景
CPU是计算机的三大核心部件之一, CPU很小巧却是整个计算机的运算核CPU性能的好坏直接CPU运算速度与内存读写速度不匹配的矛盾,,提前将所需的指令和数据放至高速的缓存设备来减小访存延迟一CPU的缓存(LI Cache)和外部缓存(L2 Cache)。封闭CPU芯片内部的高速缓存,用于暂时存储CPU运算时CPU主频一致,L1缓存的KB。外部缓存(L2 Cache):CPU外部的Pentium Pro处理器的2和CPU运行在相同Pentium II运行在相当于CPU频率一半下的。
CPU工作时与存取速度较慢的外部缓L1高速缓存与CPU同步运行,其缓存容量CPU的性能影响较大。L2高速缓存也称为二级高(L2Cache)的容量和频率对CPU的性能影响也较CPU的运行速度与内存存取速度之L2高速缓存是CPU晶体管总数中占得最多得L2高速缓存成本很高,因此L2高速缓存CPU产品得分界1]
研究现状
随着CPU制造工艺的发展,二级缓存也能轻易的集成在CPU内核中,容量也在逐年提升。用集成在CPU内部与否来定义一、二级缓存,已不确切。而且随着二级缓存被集成入CPU内核中,以往二级缓存与CPU大差距分频的情况也被改变,此时其以相同于主频的速度工作,可以为CPU提供更高的传输速度。往往同一核心的CPU高低端之分也是在二级缓存上有差异,由此可见二级缓存对于CPU的重要性。
CPU产品中,一级缓存的容量基本在4KB到64KB之间,二级缓存的容量则分为128KB、256KB、512KB、1MB、2MB等。一级缓存容量各产品之间相差不大,而二级缓存容量则是提高CPU性能的关键。二级缓存容量的提升是由CPU制造工艺所决定的,容量增大必然导致CPU内部晶体管数的增加,要在有限的CPU面积上集成更大的缓存,对制造工艺的要求也就越高。
双核心CPU的二级缓存比较特殊,和以前的单核心CPU相比,最重要的就是两个内核的缓存所保存的数据要保持一致,否则就会出现错误,为了解决这个问题不同的CPU使用了不同的办法。
Intel的双核心CPU主要有Pentium D、Pentium EE、Core Duo三种,其中Pentium D、Pentium EE的二级缓存方式完全相同。Pentium D和Pentium EE的二级缓存都是CPU内部两个内核具有互相独立的二级缓存,其中,8xx系列的Smithfield核心CPU为每核心1MB,而9xx系列的Presler核心CPU为每核心2MB。这种CPU内部的两个内核之间的缓存数据同步是依靠位于主板北桥芯片上的仲裁单元通过前端总线在两个核心之间传输来实现的,所以其数据延迟问题比较严重,性能并不尽如人意。
Core Duo使用的核心为Yonah,它的二级缓存则是两个核心共享2MB的二级缓存,共享式的二级缓存配合Intel的“Smart cache”共享缓存技术,实现了真正意义上的缓存数据同步,大幅度降低了数据延迟,减少了对前端总线的占用,性能表现不错,是目前双核心处理器上最先进的二级缓存架构。今后Intel的双核心处理器的二级缓存都会采用这种两个内核共享二级缓存的“Smart cache”共享缓存技术。[2]?
,硬件高速缓存在设计时面临许多新的问题:
(1)传统的单线程应用严重浪费了硬件高速缓存资源。尤其是引入了高速缓存层次结构后,单线程应用只能简单地使用本地缓存资源,而未能利用片上其它远程缓存资源3]:
因为CPU性能也能适合高性能,高运算的要求,为了了解决这些问题引入了多线程机制(2)缓存缺失处理带来的数据访问延迟问题更加严重。由于多核间的数据交互是通过共享硬件高速缓存来完成的,因此多核系统中缓存缺失处理机制变得更加复杂,特别是引入多线程思想以后,处理缓存缺失所需的时间代价3]:
对于以上问题通过了:(1)在多核处理器时代“存储墙”日益严重,单个程序及系统整体性能严重依赖访存性能,因此提高片上硬件高速缓存利用率比程序本身的指令优化更加有效;(2)并行程序线程间交互是通过共享来完成的,共享数据的使用和维护是造成片上缓存资源利用率低的重要原因。3]
因此目前除了硬件方面,在软件提高CPU性能和CPU利用率的比较可靠方法是处理好软件编程过程中的多线程技术对CPU缓存带来的影响。当然这个问题在硬件方面解决的可能性和好处也很大。
参考文献:
[1]: 计算机CPU性能指标浅析 2011年第2期
[3]: 处理器片上Cache利用率的关键技术研究 孙荪 中国科学技术大学硕士毕业论文
文档评论(0)