catch定义与详解..docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
处理器中的cache是存放于处理器附近的高速存储器,它可以用来保存运算处理时的一些共有的指令,从而加速运算的速度。 在本文中,将比较cache存储器和系统中的普通的存储器,随后将介绍cache的一些基本理论和基本术语,以及在高速处理器结构中cache的重要性。以 TI的TMS320C64x DSP结构为基础,将着重向开发者介绍cache是如何工作,如何配置,以及如何正确使用cahce,本文将以cache的一致性贯穿全文。 存储器结构 在图一中,左边的模块介绍了普通的存储器系统结构,CPU和内部存储器均工作在300MHZ。当CPU访问外部存储器时,将不会发生存储器访问禁止的情况。并且当访问内部存储器时也不会发生访问延迟的情况。 当 CPU的时钟增加到600MHZ时,只有当存储器的速度也增加到600MHZ时才不会发生访问等待的状态。很不幸,对于大多数情况下同样频率工作在 600MHZ的内部存储器价格将十分昂贵。而300MHZ的也不是好的选择,因为将大幅降低CPU的频率。设想一个算法需要在每个周期访问存储器,每一次对存储器的访问需等待一个周期,加倍了访问周期从而抵消了CPU的双倍工作频率。 使用cache - 灬MVP 教主~ - 激情吧 图一:普通存储器和多层存储器结构 解决的办法就是采用一个多层次的存储器。最靠近CPU的存储器由一块速度快但体积小组成,访问时不存在任何延迟。稍远离一些CPU的采用体积大但速度稍慢的存储器。对于低级别的存储器来说,最靠近CPU的这块存储器便是典型的cache存储器 位置法则 当然,这个解决办法必须工作在CPU能够最快访问最近的存储器的情况时。由于位置法则,对于大多数CPU来说这一情况都是适用的。这意为着在一个特定的窗口时间内,程序仅仅访问全部地址空间的一块相关的小区域。这包括一下两个基本的位置种类: 1、空间位置法则:一块刚刚被访问过的资源附近的资源更有可能被访问 2、时间位置法则:在过去的一个时间点刚刚被访问的资源更有可能马上在将来被访问 空间位置法则是由计算机程序的编程风格所决定的,一般情况下,相关的数据将被连续的存储在存储器中。例如一个共同的类型在计算时,总是将第一个元素放在第一列,然后是第二个元素,以此类推。同理,时间位置法则形成的原因是程序包含的结构比如循环结构调用的是相同的指令(甚至是同样的数据),以此反复。 图二阐述了空间位置法则,它描述了一个6阶FIR滤波器。为了计算y[0]输出,将从输入数据缓存x[](值由预算法则对内存中访问的采样数据决定)里读出 6个采样数据。当完成一次数据访问时,cache控制器从内存中取出x[0]和一系列的取样值地址。这个一系列的地址值称为cache 串。如果再从低速率的存储器中取出数据串将导致一些CPU的延迟周期。这样做的目的是而当进行以下计算时,临近x[0]的这些数据有可能马上将被访问。而对于FIR滤波器来说正好适用这个原则,因为接着的五个采样数值(x[1]-x[5])马上将被访问。这五个数值的访问过程将进入到cache中完成而不是在低速率的存储器中进行,因而不会产生任何延迟周期。 使用cache - 灬MVP 教主~ - 激情吧 图二:位置原则 当计算下一个输出y[1]时,五个抽样值(x[1]-x[5]) 将被再次使用,只有一个抽样值(x[6])是新的。所有的抽样值已经提取到cache中,CPU不会发生任何的延迟。这个早先使用过的数据在数据处理中再次被用到的例子很好的说明了时间位置原则。 cache是以局部时间地和空间地访问数据为基础的。因此极大的降低了对低速率的存储器访问,绝大多数数据访问都由高速cache存储器以CPU的工作频率服务于CPU。 存储器数率: cache系统代表性的包括三种级别 1、第一级cache (L1)位于CPU芯片上并且运算于CPU工作频率。 2、第二级cache(L2)也位于芯片上比L1速度慢而体积大。 3、第三级cache(L3)位于CPU外部,是速度最慢体积最大的存储器。 每一级别的cahce相应执行的因素决定于cache距离处理器的距离。表一中体现了一个有代表性的各自相应的时间。 使用cache - 灬MVP 教主~ - 激情吧 图三:在一个2ns时钟周期的具有多级cache系统的处理器cache执行时间 当运算器需要从存储器中提取数据时,它首先在最高级的cache中寻找然后在次高级的cache中寻找。如果在cache中找到,则称为命中。反之,则称为不命中。 一个cache系统的性能决定于cache申请

文档评论(0)

dashewan + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档