Steven P.Vanderwiel与David J.Lilja总结了最近出现的各类数据预读机制,下面将以图3-11为例进一步探讨这些数据预读机制。处理器在第17~22时钟周期从存储器读取数据,并在第22个时钟周期继续执行第三阶段任务的8个时钟周期,之后访问存储器,此时也将发生Cache Miss。合理使用这些数据预读,完成同样的任务CPU仅需要28个时钟周期,从而极大提高了程序的执行效率,其执行过程如下。......
2023-10-20
采用硬件预读的优点是不需要软件进行干预,也不需要浪费一条预读指令来进行预读。但硬件预读的缺点是预读结果有时并不准确,有时预读的数据并不是程序执行所需要的。在许多处理器中这种硬件预读通常与指令预读协调工作。硬件预读机制的历史比软件预读更为久远,在IBM 370/168处理器系统中就已经支持硬件预读机制。
大多数硬件预读仅支持存储器到Cache的预读,并在程序执行过程中,利用数据的局部性原理进行硬件预读。其中最为简单的硬件预读机制是OBL(One Block Lookahead)机制,采用这种机制,当程序对数据块b进行读取出现Cache Miss时,将数据块b从存储器更新到Cache中,同时对数据块b+1也进行预读并将其放入Cache中;如果数据块b+1已经在Cache中,则不进行预读。
这种OBL机制有很多问题,一个程序可能只使用数据块b中的数据,而不使用数据块b+1中的数据,在这种情况下,采用OBL预读机制没有任何意义。而且使用这种预读机制时,每次预读都可能伴随着Cache Miss,这将极大地影响效率。有时预读的数据块b+1会将Cache中可能有用的数据替换出去,从而造成Cache污染。有时仅预读数据块b+1可能并不足够,有可能程序下一个使用的数据块来自数据块b+2。
为了解决OBL机制存在的问题,有许多新的预读方法涌现出来,如“tagged预读机制”。采用这种机制,将设置一个“tag位”,处理器访问数据块b时,如果数据块b没有在Cache中命中,则将数据块b从存储器更新到Cache中,同时对数据块b+1进行预读并将其放入Cache中;如果数据块b已经在Cache中,但是这个数据块b首次被处理器使用,此时也将数据块b+1预读到Cache中;如果数据块b已经在Cache中,但是这个数据块b已经被处理器使用过,此时不将数据块b+1预读到Cache中。(www.chuimin.cn)
这种“tagged预读机制”还有许多衍生机制,比如可以将数据块b+1,b+2都预读到Cache中,还可以根据程序的执行信息,将数据块b-1,b-2预读到Cache中。
但是这些方法都无法避免因为预读而造成的Cache污染问题,于是出现了Stream buffer机制。采用该机制,处理器可以将预读的数据块放入Stream Buffer中,如果处理器使用的数据没有在Cache中,则首先在Stream Buffer中查找,采用这种方法可以消除预读对Cache的污染,但是增加了系统设计的复杂性。
与软件预读机制相比,硬件预读机制可以根据程序执行的实际情况进行预读操作,是一种动态预读方法;而软件预读机制需要对程序进行静态分析,并由编译器自动或者由程序员手工加入软件预读指令来实现。
有关PCI Express体系结构导读的文章
Steven P.Vanderwiel与David J.Lilja总结了最近出现的各类数据预读机制,下面将以图3-11为例进一步探讨这些数据预读机制。处理器在第17~22时钟周期从存储器读取数据,并在第22个时钟周期继续执行第三阶段任务的8个时钟周期,之后访问存储器,此时也将发生Cache Miss。合理使用这些数据预读,完成同样的任务CPU仅需要28个时钟周期,从而极大提高了程序的执行效率,其执行过程如下。......
2023-10-20
PCI总线的预读机制需要HOST主桥、PCI桥和PCI设备的共同参与。PCI总线预读机制的拓扑结构如图3-12所示。当PCI主设备完成读总线事务后,PCI桥必须丢弃预读的数据以保证数据的完整性。PCI总线规定,如果下游PCI桥地址空间支持预读,则其上游PCI桥地址空间既可以支持也可以不支持预读机制。但是PCI总线不允许PCI桥A从其“可预读”的地址空间中,为PCI桥B的“不可预读”区域预留空间,因为这种情况将影响数据的完整性。......
2023-10-20
与常规的多效蒸发相比,MVR工艺技术应用于NMMO回收有三个突出的优点:回收产品的质量好、设备运行能耗低和投资成本少。MVR技术可以较大幅度地降低设备投资成本,Lyocell纤维溶剂回收中大都采用并流式多效蒸发工艺,这一工艺的特点是物料借助各效间的压力差流动。MVR系统不存在传热效率降低的问题,因此,不仅减少热交换器的面积,进而节约了近50%的建筑面积,使MVR整体的投资成本比多效蒸发下降了近17%。......
2023-06-25
目前,光纤通信已经成为通信中的最主要的传输技术,它与其他通信传输系统相比,具有以下优点:传输频带宽,通信容量大。目前,光纤通信使用的光载波频率在1014~1015Hz数量级,比常用的微波频率高104~105倍,所以,通信容量原则上比微波通信高104~105倍。光纤真正传光的是线芯,多模光纤的线芯直径为50~85μm,单模光纤的线芯直径为5~10μm,国际上规定通信光纤的包层直径为125μm。......
2023-06-27
源代码3-3 软件预读机制的改进程序对于以上这个例子,采用这种预读方法可以有效提高执行效率,对此有兴趣的读者可以对以上几个程序进行简单的对比测试。源代码3-4 软件预读机制的改进程序还可以对ip、数据a和b进行充分预读之后,再一边预读数据,一边计算ip的值,最后计算ip的最终结果。......
2023-10-20
我国儿歌历史十分悠久,远在三千年前就出现传唱于儿童之口的“童谣”。在全国范围内掀起了以搜集、研究民歌童谣为目的的“歌谣学运动”,收集了大量民间儿歌。“五四”以后,发表儿歌较多的有北京大学的《歌谣周刊》。中华人民共和国成立后,儿歌专集有《中国儿歌选》(资料本)、《古代儿歌资料》、《儿歌》等。张继楼的儿歌创作善于借鉴传统形式,又注入了新的内容。......
2023-10-20
显示部件是指能够显示各种电子产品工作状态的部件,是实现人机交互不可缺少的一种部件。在电子产品的实际应用中,随产品型号和性能的不同,显示屏和驱动电路中使用的元器件也不相同,下面就以常见的数码管显示屏、CRT(显像管)显示屏、LCD(液晶)显示屏以及LED显示屏及其驱动电路为例来介绍一下显示部件的结构和功能特点。图5-19 各种显示部件的实物外形及内部结构提示说明数码管是一种半导体发光器件,其基本单元是发光二极管。......
2023-06-26
相关推荐