公开了原子地更新多处理器系统中的共享存储器的系统及方法。一种操作多处理器系统的共享存储器的系统,包括:处理器核心集合和对应的核心本地高速缓存集合;I/O设备集合和对应的I/O设备本地高速缓存集合。在核心本地高速缓存、I/O设备本地高速缓存上执行读取和写入操作,并且由确保所述共享存储器被原子地更新的高速缓存一致性协议(CCP)来管辖所述共享存储器。
【技术实现步骤摘要】
【专利摘要】公开了。一种操作多处理器系统的共享存储器的系统,包括:处理器核心集合和对应的核心本地高速缓存集合;I/O设备集合和对应的I/O设备本地高速缓存集合。在核心本地高速缓存、I/O设备本地高速缓存上执行读取和写入操作,并且由确保所述共享存储器被原子地更新的高速缓存一致性协议(CCP)来管辖所述共享存储器。【专利说明】
本专利技术通常涉及多处理器系统,更具体地说,涉及用于原子地更新多处理器系统 中的共享存储器的系统及方法。
技术介绍
多处理器系统被用于需要大量数据处理的应用。这些系统包括并行处理若干指令 的多个处理器核心。多处理器系统可能包括若干输入/输出(I/O)设备,以接收输入数据和 指令,并提供输出数据。指令和数据被存储在处理器核心和I/O设备都可以访问的共享存 储器中。为了改进性能,多处理器系统配备了快速存储器芯片,用于实现高速缓存存储器, 其中高速缓存存储器访问时间比共享存储器访问时间少的相当多。每个处理器核心和I/O 设备存储数据和指令,其在处理周期中在本地高速缓存中具有被访问的高可能性。当处理 器核心和/或I/O设备所需的数据在其对应的高速缓存中是可用的时候,较慢的共享存储 器不被访问,这就减少了数据访问时间和总处理时间。 具有用于处理器核心和I/O设备中每个的共享存储器和本地高速缓存存储器 的这种多处理器系统基于高速缓存一致性协议进行操作。高速缓存一致性协议(cache coherence protocol)确保共享操作对象值的变化以及时的方式在整个系统中传播。高速 缓存一致性协议也管辖由处理器核心和I/O设备在共享存储器上执行的读取/写入操作。 高速缓存一致性协议确保由写入器对共享存储器的更新对各自的读取器是可见。为了确保 这些更新是原子的,可以使用如同读取锁定和写入锁定的机制,来防止读取器访问瞬态数 据。通常,这是通过允许读取器或写入器在给定时刻访问共享存储器来实现的。 然而,存在传统的锁定机制不能确保原子性的情况。例如,I/O设备可能不能定位 在关联高速缓存存储器中的有效数据,在此期间,根据高速缓存一致性协议,请求被重定向 到处理器核心的高速缓存存储器。然而,如果处理器核心处于更新其高速缓存的进程中,则 读取操作导致I/O设备被提供了瞬态数据,这可能导致由多处理器系生成的错误输出。 因此,具有用于给多处理器系统的共享存储器提供原子更新的系统及方法将是有 利的,其防止I/O设备访问瞬态数据,减少处理周期的持续时间,并克服了用于更新多处理 器系统的共享存储器的传统系统及方法的上述局限性。 【专利附图】【附图说明】 当结合附图阅读的时候,本专利技术优选实施例的以下详细说明书将被更好的理解。 本专利技术通过举例的方式说明并没有被附图所限制,在附图中类似的参考符号表示相同的元 素。 图1根据本专利技术的一个实施例,是多处理器系统的示意方框图;以及 图2根据本专利技术的一个实施例,是用于操作多处理器系统的共享存储器的方法的 流程图。 【具体实施方式】 附属权利要求的详细说明书旨在作为本专利技术当前优选实施例的说明书,而不旨在 表示本专利技术在其中被实施的唯一形式。应了解,相同或等价功能可能通过旨在包含在本发 明精神和范围内的不同的实施例来实现。 在本专利技术的一个实施例中,提供了一种操作多处理器系统的共享存储器的方法。 所述多处理器系统包括:处理器核心集合和对应的核心本地高速缓存集合;以及,输入/输 出(I/O)设备集合和对应的I/O设备本地高速缓存集合。所述共享存储器在所述处理器核 心集合和所述I/O设备集合之间被共享。所述方法包括:由所述处理器核心集合的关联处 理器核心更新存储在所述核心本地高速缓存集合的核心本地高速缓存中的数据。在被所述 处理器核心更新之后,存储在所述核心本地高速缓存中的所述数据被发射到所述共享存储 器。在将存储在所述核心本地高速缓存中的所述数据发射到所述共享存储器之后,由所述 处理器核心将存储在所述I/O设备本地高速缓存集合的I/O设备本地高速缓存中的数据标 记为无效。由所述I/O设备集合的关联I/O设备访问所述I/O设备本地高速缓存。由所述 I/O设备确定存储在所述I/O设备本地高速缓存中的所述数据的有效性。当所述数据被确 定为有效的时候,读取存储在所述I/O设备本地高速缓存中的所述数据。当存储在所述I/O 设备本地高速缓存中的所述数据被确定为无效的时候,访问存储在所述共享存储器中的数 据。存储在所述共享存储器中的所述数据被所述I/O设备访问。 在本专利技术的另一实施例中,提供了一种多处理器系统。所述多处理器系统包括: 共享存储器;连接到所述共享存储器的核心本地高速缓存集合;以及,连接到所述共享存 储器的输入/输出(I/O)设备本地高速缓存集合。所述I/O设备本地高速缓存集合将存储 在所述共享存储器中的数据接收并存储。所述多处理器系统还包括:连接到所述核心本地 高速缓存集合的处理器核心集合,用于更新存储在所述核心本地高速缓存集合中的所述数 据。而且,所述处理器核心集合的至少一个处理器核心与所述核心本地高速缓存集合的至 少一个核心本地高速缓存相关联。所述至少一个处理器核心锁定所述核心本地高速缓存, 同时更新存储在其中的所述数据,将存储在所述核心本地高速缓存中的所述数据发射到所 述共享存储器,以及,在将存储在所述核心本地高速缓存中的所述数据发射到所述共享存 储器之后,将存储在所述I/O设备本地高速缓存集合的I/O设备本地高速缓存中的数据标 记为无效。 所述系统还包括连接到所述I/O设备本地高速缓存集合的I/O设备集合。至少一 个I/O设备与至少一个I/O设备本地高速缓存相关联。所述I/O设备确定存储在所述I/O 设备本地高速缓存中的所述数据的有效性。当所述数据被确定为有效的时候,读取存储在 所述I/O设备本地高速缓存中的所述数据,以及,当存储在所述I/O设备本地高速缓存中的 所述数据被确定为无效的时候,访问存储在所述共享存储器中的数据。 本专利技术的多种实施例提供一种用于操作多处理器系统的共享存储器的系统及方 法。所述多处理器系统包括:具有对应核心本地高速缓存集合的处理器核心集合;以及,具 有对应组的I/O设备本地高速缓存的I/O设备集合。在核心本地高速缓存、I/O设备本地高 速缓存上执行读取和写入操作,并且所述共享存储器由高速缓存一致性协议(CCP)管理, 使得所述共享存储器被原子地更新。所述CCP确保只有I/O设备是能够对所述I/O设备本 地高速缓存集合执行读取操作的有效读取器。此外,所述CCP定义了高速缓存一致性域,用 于管理由所述I/O设备生成的读取访问请求。所述高速缓存一致性域仅仅包括所述I/O设 备、所述I/O设备本地高速缓存以及所述共享存储器。 处理器核心更新在写入操作中存储在核心本地高速缓存中的数据,并且在更新所 述核心本地高速缓存之后,将更新的数据发射到所述共享存储器。在成功地将更新数据发 射到所述共享存储器之后,所述处理器核心也将存储在所述I/O设备本地高速缓存中的数 据标记为无效。当与I/O设备本地高速缓存相关联的I/O设备启动读取访问请求并不能定 位I/O设备本地高速缓存中的有效数据的本文档来自技高网...
【技术保护点】
一种用于操作多处理器系统的共享存储器的方法,所述多处理器系统包括:处理器核心集合和对应的核心本地高速缓存集合;以及输入/输出I/O设备集合和对应的I/O设备本地高速缓存集合,所述共享存储器在所述处理器核心集合和所述I/O设备集合之间被共享,所述处理器核心集合包括至少一个处理器核心,以及所述I/O设备集合包括至少一个I/O设备,所述方法包括:由所述处理器核心集合的关联处理器核心来更新存储在所述核心本地高速缓存集合的核心本地高速缓存中的数据;在由所述处理器核心更新之后,将存储在所述核心本地高速缓存中的所述数据发射到所述共享存储器;在将存储在所述核心本地高速缓存中的所述数据发射到所述共享存储器之后,由所述处理器核心将存储在所述I/O设备本地高速缓存集合的I/O设备本地高速缓存中的数据标记为无效;由所述I/O设备集合的关联I/O设备访问所述I/O设备本地高速缓存;由所述I/O设备确定存储在所述I/O设备本地高速缓存中的所述数据的有效性;当所述数据被确定为有效的时候,读取存储在所述I/O设备本地高速缓存中的所述数据;以及当存储在所述I/O设备本地高速缓存中的所述数据被确定为无效的时候,访问存储在所述共享存储器中的数据,其中,存储在所述共享存储器中的所述数据由所述I/O设备访问。...
【技术特征摘要】
...
【专利技术属性】
技术研发人员:瓦库尔·加尔,瓦伦·塞西,巴拉特·布尚,
申请(专利权)人:飞思卡尔半导体公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。