[发明专利]多处理器系统上的分散-收集智能存储器体系结构无效
申请号: | 200710106316.9 | 申请日: | 2007-05-10 |
公开(公告)号: | CN101071398A | 公开(公告)日: | 2007-11-14 |
发明(设计)人: | D·金;C·J·休斯;Y·-K·陈;P·昆杜 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 中国专利代理(香港)有限公司 | 代理人: | 曾祥夌;王忠忠 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理器 系统 分散 收集 智能 存储器 体系结构 | ||
技术领域
本公开涉及微处理器系统,具体来说,涉及微处理器系统中的存储器体系结构。
背景技术
对主存储器(外部存储器)的存取等待时间滞后于处理器速度的提高,从而产生性能瓶颈。为了减少存取等待时间,许多处理器包括根据空间和时间局部性保存从主存储器取出的大毗邻数据块(高速缓存行)的集成于芯片上的高速缓存。空间局部性是引用数据的可能性在其附近的数据刚被引用过时较高的概念。时间局部性是在一个时间点被引用的数据可能在不久以后的某个时间再次被引用的可能性。
虽然许多应用具有呈现时间和空间局部性的数据存取模式,但是也存在具有不呈现时间和空间局部性的数据存取模式的应用类。例如,一些多媒体应用、数据库和信号处理应用不呈现高度的时间和空间局部性。另外,许多数据密集应用中使用的某些步幅存取模式和间接存取模式不呈现高度的时间和空间局部性。
传统高速缓存体系结构中的芯片外通信是低效的,因为数据管理由高速缓存行来确定大小。如果数据存取模式不呈现空间局部性,则实际上仅使用高速缓存行的一小部分,并且浪费了用于存取高速缓存行的其它部分的存储器带宽。另外,由于数据缓冲还基于整个高速缓存行,所以高速缓存的效率低,从而引起更多高速缓存未命中以及更多芯片外通信。
另外,传统处理器体系结构没有利用存储器存取的并行性。为了预备计算的操作数,即,指令所操作的值,处理器可能引起大开销,例如,除实际存储器存取之外还有地址计算和数据格式转换。虽然纯粹的存储器等待时间是性能瓶颈的一个原因,但是存储器存取开销也增加了存取等待时间。
发明内容
根据本发明的一个方面,提供一种装置,包括:处理器;高速缓存,耦合到所述处理器,采用高速缓存行大小的传送在所述高速缓存与芯片外存储器之间传送数据;以及所述处理器可访问的分散/收集引擎,所述分散/收集引擎能够生成对所述芯片外存储器的子高速缓存行大小的数据存取,以便直接从/向所述芯片外存储器读取/写入子高速缓存行大小的数据,供所述处理器使用。
在本发明的装置的一个实施例中,所述分散/收集引擎还包括:访问处理器,能够为所述存储器存取计算存储地址并执行数据格式转换。
在本发明的装置的一个实施例中,所述分散/收集引擎还包括:流端口,耦合到所述处理器,所述流端口包括能够存储所述访问处理器和所述处理器可访问的有序数据的缓冲器。
在本发明的装置的一个实施例中,所述分散/收集引擎还包括:高速缓存接口,耦合到所述高速缓存,当通过所述高速缓存以及所述分散/收集引擎存取相同数据时,所述高速缓存接口结合所述高速缓存来提供数据相干性。
在本发明的装置的一个实施例中,还包括:存储控制器,耦合到所述分散/收集引擎和所述芯片外存储器,所述存储控制器支持对所述芯片外存储器的高速缓存行以及子高速缓存行大小的存取。
在本发明的装置的一个实施例中,所述访问处理器还包括:存取模式生成器,用于根据编程定义模式来生成存储器存取。
在本发明的装置的一个实施例中,所述访问处理器还包括:存取模式生成器,用于根据基于步幅的存取模式来生成存储器存取。
在本发明的装置的一个实施例中,所述访问处理器还包括:存取模式生成器,用于根据间接存取模式来生成存储器存取。
根据本发明的另一方面,提供一种方法,包括:在高速缓存与芯片外存储器之间传送高速缓存行大小的数据;以及由分散/收集引擎生成对所述芯片外存储器的子高速缓存行大小的数据存取,以便直接从/向所述芯片外存储器读取/写入子高速缓存行大小的数据,供处理器使用。
在本发明的方法的一个实施例中,在通过所述高速缓存以及所述分散/收集引擎来存取相同数据时,数据相干性得到增强。
在本发明的方法的一个实施例中,数据相干性经由所述分散/收集引擎中的缓冲器中的或所述高速缓存中的数据的互斥来增强。
在本发明的方法的一个实施例中,所述数据相干性经由目录中的地址范围检查来增强。
在本发明的方法的一个实施例中,生成还包括:为所述存储器存取计算存储地址;以及执行数据格式转换。
在本发明的方法的一个实施例中,还包括:在所述分散/收集引擎中分配流端口;以及通过所分配的流端口存取数据。
在本发明的方法的一个实施例中,还包括:把所述分散/收集引擎中的流端口分配给所述处理器中的线程;响应线程上下文切换,在所述流端口中存储的写数据已经写入所述存储器之后,释放所述流端口。
在本发明的方法的一个实施例中,生成还包括:根据程序定义模式为所述存储器存取计算存储地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710106316.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种环保型地面阻隔剂及制备方法
- 下一篇:用于显示图像的移动通信终端和方法