[发明专利]数据处理设备中对共享存储器的写访问请求的处理有效
| 申请号: | 200780038393.3 | 申请日: | 2007-09-13 |
| 公开(公告)号: | CN101523361A | 公开(公告)日: | 2009-09-02 |
| 发明(设计)人: | F·C·M·皮里;P·J·-P·拉法伦;N·B·E·拉塔耶;S·D·比尔斯;R·R·格里森思怀特 | 申请(专利权)人: | ARM有限公司 |
| 主分类号: | G06F12/08 | 分类号: | G06F12/08 |
| 代理公司: | 中国专利代理(香港)有限公司 | 代理人: | 柯广华;王忠忠 |
| 地址: | 英国*** | 国省代码: | 英国;GB |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据处理 设备 共享 存储器 访问 请求 处理 | ||
技术领域
本发明涉及数据处理设备中对共享存储器的写访问请求的处理。
背景技术
提供多处理系统,其中例如处理器核的两个或更多处理单元共享对共享存储器的访问,这已为人所熟知。通过设置不同的处理器核并行运行各自的数据处理操作,此类系统一般用于得到更高的性能。提供此类多处理能力的已知数据处理系统包括IBM370系统和SPARC多处理系统。这些特殊的多处理系统是高性能系统,其中,几乎不关心功率效率和功率消耗,而主要目的是最大处理速度。
为进一步加快此类多处理系统内对数据的访问速度,为每个处理单元在其中提供其自己的本地高速缓存以存储保存在共享存储器中的数据的子集,这已为人所熟知。虽然这能加快对数据的访问数据,但它使数据一致性的问题变得复杂。具体而言,将理解,如果特定处理器执行有关在其本地高速缓存中保存的数据值的写操作,则该数据值将在高速缓存内本地更新,但可能不一定同时在共享存储器中也更新。具体而言,如果所述数据值涉及存储器的回写(write back)区域,则只有当随后从高速缓存清除该数据值时,高速缓存中的更新的数据值才会存储回共享存储器。
由于数据可与其它处理器共享,因此,重要的是确保那些处理器在寻求访问共享存储器中相关联的地址时将访问最新的数据。为确保这种情况发生,在多处理系统内采取高速缓存一致性协议以确保在特定处理器更新其本地高速缓存中保存的数据值时,将使得该最新的数据可用于随后请求访问该数据的任何其它处理器,这已为人所熟知。
根据一个典型的高速缓存一致性协议,处理器执行的某些访问将要求执行一致性操作。一致性操作将使通知发送到其它处理器,标识正在发生的访问类型和正在访问的地址。这将使那些其它处理器执行高速缓存一致性协议定义的某些动作,并且在一些情况下也可产生某些信息,这些信息从一个或多个那些处理器反馈回启动要求一致性操作的访问的处理器。通过此类技术,在各自本地高速缓存中保存的数据一致性得以维护,从而确保了每个处理器访问最新的数据。一个此类高速缓存一致性协议是“修改、独占、共享、无效”(MESI)高速缓存一致性协议。
如果能保证特定的数据段只由处理器之一独占使用,则在该处理器访问该数据时,将不要求一致性操作。然而,在典型的多处理系统中,多数数据在处理器之间共享,这是因为数据一般归类为共享数据,或者是因为多处理系统允许在处理器之间的进程迁移,或者实际上允许特定进程并行在多个处理器上运行,结果是即使专用于特定进程的数据也不能保证由特定处理器独占使用。
虽然高速缓存一致性协议的使用能用于确保每个处理单元访问最新的数据,但在具有多个处理单元共享存储器的系统内,仍有某些类型的访问的处理能变得极为复杂。例如,如果共享存储器的某个区域指定为通写(write through)区域,并且特定的处理单元对共享存储器的该通写区域发出写访问请求,则在与引发该写访问请求的该处理单元相关联的高速缓存中执行任何更新的同时,必须更新存储器。在多处理器系统中执行此类更新引入许多危害。要使得能够发生正确的行为,相关联本地高速缓存的高速缓存控制逻辑要求另外的逻辑以确保对高速缓存和共享存储器的更新原子地发生,但另外的逻辑将增大其复杂性的和/或在访问高速缓存中引入相当大的延迟。原子操作必须以整体执行而无任何介入的读或写操作,使得防止在更新操作进行的同时对相同数据位置进行任何其它读或写访问。
作为在处理对共享存储器的通写区域的写访问请求时能发生的危 害类型的示例,考虑第一写在高速缓存中引起命中并且正由高速缓存一致性逻辑处理,因此在处理器核内保持未决的情况。在该处理在进行的同时,对与第一写相邻位置的第二写被发出。第一写仍在未决时处理第二写的标准方式是在适当时合并两次访问。大多数情况下这是为了节省功率(当一致性逻辑已经完成其工作时只会对高速缓存进行一次写)和提高性能(两次写的合并允许单个“时隙(slot)”用于两次存储器访问,因此为一些随后的存储器访问释放一些资源)。
然而,如果这些写的目标是某一可共享的存储器区域,则此合并不应进行,因为它可能导致第一写被一致性逻辑发出两次。在第一写已经被处理,并且存储器已更新时,第二写应仍由一致性逻辑处理以便至少更新存储器。由于两次写已合并在一起,因此,第二一致性动作(和第二存储器更新)实际上将由两次写的合并组成,并且因此第一写将对存储器重复进行。这违反了任何存储器排序模型,因而被禁止。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于ARM有限公司,未经ARM有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200780038393.3/2.html,转载请声明来源钻瓜专利网。





