优化软件降低失效率

来源 :中国教师教学论坛 | 被引量 : 0次 | 上传用户:w123youlin
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】迄今为止,我们所知道的技术(增加块大小,提高相联度,伪相联,硬件预取以及预取指令)都需要改变或者增加硬件,但下面介绍的方法无需对硬件做任何改动就可以降低失效率。
  这种方法就是通过对软件的优化来降低失效率。这也许是硬件设计者最喜欢的解决方案。处理器和主存之间越来越大的性能差距促使编译器的设计者们去仔细研究存储层次行为,以期能通过编译时的优化来改进性能。这项研究分为减少指令失效和减少数据失效两个方面。
  我们能很容易地重新组织程序而不影响程序的正确性。例如,把一个程序中的几个过程重新排序,就可能会减少冲突失效,从而降低指令失效率。McFarling研究了如何使用记录信息来判断指令组之间可能发生的冲突,并将指令重新排序以减少失效。他发现,这样可将容量为2KB、块大小为4字节的直接映象指令Cache的失效率降低50%;对于容量为8KB的Cache,可将失效率降低75%。他还发现,当能够使某些指令根本就不进入Cache时,可以得到最佳性能。但即使不这么做,优化后的程序在直接映象Cache中的失效率也低于未优化程序在同样大小的8路组相联Cache中的失效率。
  【关键词】失效率; Cache失效率;存储层次;降低失效率
  数据对存储位置的限制比指令对存储位置的限制还要少,因此更便于调整顺序。我们对数据进行变换的目的是改善数据的空间局部性和时间局部性。例如,可以把对数组的运算改为对存放在同一Cache块中的所有数据进行操作,而不是按照程序员原来随意书写的顺序访问数组元素。
  1数组合并
  这种技术通过提高空间局部性来减少失效次数。有些程序同时用相同的索引来访问若干个数组的同一维。这些访问可能会相互干扰,导致冲突失效。我们可以这样来消除这种危险:将这些相互独立的数组合并成为一个复合数组,使得一个Cache块中能包含全部所需的元素。
  2内外循环交换
  有些程序中含有嵌套循环,程序没有按照数据在存储器中存储的顺序进行访问。在这种情况下,只要简单地交换循环的嵌套关系就能使程序按数据在存储器中存储的顺序进行访问。和前一个例子一样,这种技术也是通过提高空间局部性来减少失效次数:重新排列访问顺序使得在一个Cache块被替换之前,能最大限度地利用块中的数据。
  修改前的程序以50个字的跨距访问存储器,而修改后的程序顺序地访问一个Cache块中的元素,然后再访问下一块中的元素。和前一个例子不同,这种优化技术在不改变执行的指令数的前提下,提高了Cache的性能。
  3循环融合
  有些程序含有几部分独立的程序段,它们用相同的循环访问同样的数组,对相同的数据作不同的运算。通过将它们融合为单一的一个循环,能使读入Cache的数据在被替换出去之前得到反复的使用。因此,和前面的两种技术不同,这种优化的目标是通过改进时间局部性来减少失效次数。
  修改前的程序在两个地方访问数组a和c,一次在第一个循环里,另一次在第二个循环里。两次循环分隔较远,可能重复失效。即在第一个循环中访问某个元素失效之后,虽已将相应块调入Cache,但在第二个循环中再次访问该元素时,还可能产生失效。而在修改后的程序中,第二条语句直接利用了第一条语句访问Cache的结果,无需做Load操作。
  4分块
  这种优化可能是Cache优化技术中最著名的一种,它也是通过改进时间局部性来减少失效。无论数组是按行优先还是按列优先存储,都不能解决问题,因为在每一次循环中既有按行访问也有按列访问。这种正交的访问意味着前面的变换方法,如内外循环交换,对此均无能为力。
  为了保证正在访问的元素能在Cache中命中,把原程序改为只对大小为B×B的子数组进行计算,而不是像原来那样,从x到z的第一个元素开始一直处理到最后一个。
  Rem 程序修改后
  为了保证正在访问的元素在Cache中命中,把原程序改为只对大小为B×B的子数组进行计算,而不是像原来那样,从x和z的第一个元素开始一直处理到最后一个。
  参考文献
  [1]李学干:计算机系统结构 西安电子科技大学出版社 2011-11
  [2]郑纬民汤志忠:计算机系统结构清华大学出版社 1998-01
  [3]张晨曦 :计算机系统结构教程清华大学出版社 2009-05
  [4]李学干:主编,李学干计算机系统结构 经济科学出版社 2000年2月
其他文献
【摘要】中班幼儿处于自主阅读能力培养的关键期,把握时机教给幼儿自主阅读的方法,帮助幼儿提高自主阅读能力,为今后的语言能力的发展打好基础。从绘本的封面、绘本的设计意图、阅读绘本时幼儿喜欢的内容入手设计幼儿自主阅读前的“关键性问题提示”,引领幼儿自主阅读,以提高自主阅读的效率。  【关键词】中班幼儿,自主阅读,问题引领  绘本是幼儿园语言教育活动的载体之一,是目前幼儿园内开展早期阅读教学活动的常用教材
期刊
【摘要】在德育教育活动中可以发掘乡土文化中的因素,以活动课的形式,来增进学生对家乡了解,进而培养学生热爱家乡的情感。乡土教育是德育教育一个很好的载体,这种根植的乡土文化资源,其蕴涵着丰富而深厚的教育和文化价值。可以培养小学生亲近社会、尊重和热爱本土文化的情感,可以丰富小学生社会实践活动,为小学生提供感受和体验家乡文化的机会。  【关键词】乡土文化;发掘;德育教育活动;拓展;教育作用  乡土文化是中
期刊
随着社会形态的变迁, 教学的历程逐渐由权威式而民主化,由单向而双向,由简单而复杂。在教学历程中教学者与学习者不再是单独、单向运作的,而是交互且双向的,师幼互动是一种交互作用和相互影响的过程。师幼互动也不再是教师对幼儿或幼儿对教师的单向、直线性的影响,而是师幼间的双向、交互的影响。同时,师幼间的这种交互作用和影响又不是一次性的或间断的,而是一个链状、循环的连续过程,师幼正是在这样一个连续的动态过程中
期刊
【摘要】教育不仅教授学生知识,更重要的是培养对社会有用的思想健康、道德合格的人。思想教育要将工作重点放在树立学生良好的人生观、价值观,以良好的师德教养指导和引领学生砥砺品格,磨练意志,成人成才。  【关键词】思想教育;价值取向;心得  苏霍姆林斯基曾经说过“思想是根基,理想是嫩绿的芽胚,在这上面生长出人类的思想、活动、行为、热情、激情的大树。”我们的教育事业不仅要教会学生知识,同时最重要也是最本质
期刊
【摘要】英语是一门语言。语言人类最重要的工具,人们学习语言的目的就是要学会运用所学的语言来表达自己的思想和情感,并与他人交往联系、沟通思想,从而促进相互了解。所以学生就必须掌握有关词汇的文化背景及一定量的词汇,以达到与人交流的目的。  【关键词】文化 ;英语词汇  1引言  我国在2001年7月制定了全日制义务教育,普通高级中学《英语课程标准》(实验稿)其课程目标中提出基础教育阶段英语课程的总体目
期刊
【摘要】民族的正气是一个民族的灵魂,是民族的尊严和自强的凝聚和升华,我们必须运用各种形式,加以发扬光大。在语文课的教学中,对学生进行思想政治教育,培养学生的爱国情操,是十分重要而和必不可少的环节,同样的也是文言文的重要任务。  【关键词】古诗文;思想教育;重要;批判继承  语文是从事学习和工作的最重要的基本工具,语文教学既要教给学生语文知识和听说读写能力。又要对学生进行思想政治教育。以完成语文学科
期刊
我大学毕业已经八年了,在平凡岗位上没有书写特别辉煌的历史篇章,也没有毛泽东同志那壮丽的《论持久战》。每天与学生打交道,在平淡与琐碎中寻找阳光灿烂的日子。不曾想也有很多让我们铭记的难忘瞬间。  一个人不能没有教养。洛克说:“在缺乏教养的人身上,勇敢就会变成粗暴,学识就会成为迂腐,机智就会成为逗趣,质朴就会成为粗鲁,温厚就会成为谄媚。”这句话,令人警醒!  我接高一(1)班班主任工作快一年了,除了贯彻
期刊
【摘要】这篇论文主要针对初中语文新课程标准中,对中学生的课外阅读提出的严格要求,论证了“怎样引导学生开展课外阅读”这一中心论点、围绕这一中心论点,本文从三个分论点展开论述:第一点,营造读书氛围,激发学生课外阅读的兴趣;第二点,加强阅读指导,提高课外阅读的质量,这一分论点又从指导的目的性和层次性两方面展开论述;第三点,重视阅读交流,培养学生自主学习的能力,这一分论点也从两方面展开了论述——首先,重视
期刊
学生作文是教学中的重点,也是难点。学生难学,老师难教。特别是我们农村小学,学生见闻少,阅读面狭窄,学生作文往往是三言两语,无内容可写,及其简单。  如何才能提高学生的习作水平,教师们各抒己见。我认为可从学生每天的日记入手。日记有很多好处,能够积累各种资料,丰富百科知识,提高分析能力,学习练笔,提高写作水平,培养良好的习惯等。要培养学生写日记的兴趣,使其写出好的日记来。我从多年的教学实践中总结出以下
期刊
【摘要】由于电算化信息系统的建立和运行的复杂性,会计控制的范围相应地扩大了,使原有的内部会计控制制度失去作用。本文分析了会计电算化对控制的影响,尝试了一套适合电算化会计信息系统的内部控制制度,实现了电算化信息系统下的会计控制。会计电算化是会计发展史上的一个历史性飞跃,它不但减轻了会计人员的劳动强度,提供了会计效率,而且大大提高了会计信息处理的及时性和准确性,有助于企业加强管理,提高经济效益和竞争能
期刊