当前位置: 首页 > 专利查询>廖鑫专利>正文

基于集中式目录的嵌入式多核缓存一致性方法技术

技术编号:3813063 阅读:305 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于集中式目录的嵌入式多核缓存一致性方法。本发明专利技术根据硬件实现的细节内容优化了部分状态转换,用写回法和写分配两种策略实现了基于集中式目录的缓存一致性,其主要功能是实现多个处理器核在二级缓存进行共享并保证同一数据块在多个处理器核私有缓存中的副本一致。本发明专利技术采用定向消息发送降低了广播机制给带宽的压力,避免了对无关处理器正常运行的干扰,具有较好的可扩展性,适用于嵌入式多核体系处理器。

【技术实现步骤摘要】

本专利技术涉及多核处理器体系领域,尤其涉及一种基于集中式目录的嵌入式多核缓 存一致性方法。
技术介绍
未来的微处理器芯片结构越来越强调结构的层次化、功能部件的模块化和分布 化,让每个功能部件都相对地简单,部件内部尽可能保持连线的局部性。在此情况下,更高 并行度的片上多核结构应运而生。片上多核处理器CMP (Chip Multi-Processor)是在20 世纪90年代出现的一种体系结构设计,最初是由美国斯坦福大学的研究人员提出,其思想 是在单个芯片上利用丰富的晶体管资源集成多个处理器核,通过多核并行执行的方式开发 指令级、线程级等各个层次并行度来提高性能。CMP结构是利用海量集成度构造新型高性能处理器的重要探索之一,以其良好的 可扩展性、可重用性、低功耗和容忍线延迟等优点被业界广泛看好和接受,已经成为目前高 性能微处理器体系结构的发展趋势。进入21世纪后,主要微处理器制造厂商陆续开发基于 CMP 的多核 CPU,,如 IBM 的 Power6、Sun 的 OpenSparcTl 、Intel 的 Montecito 等。针对特定领域的微处理器,如IBM与索尼、东芝合作设计,用于图形工作站和PS3游戏 机的Cell处理器,以及主要面向嵌入式领域的MIPS、ARM微处理器也推出了多核处理 器架构。存储层次向来是制约处理器性能的关键因素,运算性能的发挥在极大程度依赖于 访存子系统对运算数据的高效供应。在多核CPU环境中,多个处理器同时运行的多线程竞 争单芯片有限的缓存、带宽等存储资源,造成访存冲突加剧,传统的访存瓶颈将变得更加突 出,存储系统是决定多核处理器性能的关键因素之一。在多核CPU中,每个处理器都有自己私有的缓存,并在二级缓存、三级缓存或者主 存级别进行共享。然而,由于同一数据块在多个处理器私有缓存中的副本不一致,在改善访 存性能的同时会产生缓存一致性问题。对于高速缓存一致性,如果一个存储器系统满足以 下三个条件,则认为该存储器系统是一致的1)对于处理器P对X进行写操作之后的读请求,如果在P的写操作之后没有其它 处理器对x进行写操作,那么返回的是处理器P写的值。2)在处理器Q对x进行写操作后,处理器P对x进行读请求,如果这两个操作之间 有足够的间隔,且两者之间没有其它写操作,那么返回给P的是Q所写的值。3)对同一地址的写操作是串行执行的,也就是说,任何两个处理器对同一个地址 的两个写操作在所有处理器看来都有相同的顺序。从硬件角度来看,多核CPU引入高速缓存一致性协议维护存储器系统的一致性。 在支持高速缓存一致性的多核CPU中,共享数据可以迁入本地高速缓存进行访问,从而有 效减少了访问远程共享数据的延迟,进而减少对共享缓存的带宽要求。同时由于本地缓存 为读取的共享数据作了备份,所以一致性的高速缓存访问这些副本时可以减少访问延迟和读取共享数据时的竞争现象。根据写操作的处理方式不同,缓存一致性协议可分为写无效(Writelnvalidate) 与写更新(Write Update)两类。实现缓存一致性协议的关键在于跟踪所有共享数据块的 状态。目前广泛使用的有两类协议,它们采用不同的技术跟踪共享数据。一是目录式,把物 理存储块的有效状态存放在一个地点,称之为目录。二是监听式,每个含有物理存储器中数 据块副本的高速缓存还要保留该数据块有效状态的副本,但是不集中地保存状态。高速缓 存通常放在共享存储总线上,所有的高速缓存控制器对总线进行监听,来确定它们是否含 有总线上请求的数据块的副本。
技术实现思路
本专利技术的目的是在于提出多核处理器环境下基于集中式目录的缓存一致性方法。本专利技术解决其技术问题采用的技术方案如下各处理器对存储层次的访问过程是首先查找处理器核内部的数据缓存和指令缓 存,查看其中是否存在所要访问的数据,数据缓存根据相应数据缓存块的状态向目录控制 器发出请求,目录控制器根据目录项的内容控制数据缓存和共享缓存的数据通信。如果发 现要访问的数据仍然不在共享缓存中,启动共享缓存对主存的访问。不管在哪一级存储层 次中找到了要寻址的单元,对目标访问以后,都要设置和修改维护数据一致性的标识位以 便在后面的处理过程中根据恰当的标识进行修改或读取数据。1)缓存块的状态划分在目录一致性协议中,每个数据缓存控制器接收两方面输入处理器发出的读写 请求和目录控制器发来的消息。作为这些输入的响应,高速缓存控制器可能根据相应高速 缓存块的当前状态及状态转换图来更新该块的状态,并且也可能要执行一些动作。比如,作 为对处理器发出的读请求的响应,高速缓存控制器可能要产生一个发给目录控制器的消息 来获得数据,并返回给处理器。本专利技术中数据缓存块的状态分为三种,即无效状态、有效状态和修正状态。若某个 数据缓存块处于无效状态,则本地处理器对该块的读请求或写请求都不命中。若某个数据 缓存块处于有效状态,表明可能还有其他的处理器持有该块的有效副本。若某个缓存块处 于修正状态,表明该块是对应共享缓存块的唯一有效副本,本地处理器对该块的读请求或 写请求均在数据缓存命中。2)目录项的状态划分本专利技术采用全映射目录,每个共享缓存块有三种目录状态,即无效状态、有效状态 和修正状态。若某个目录处于无效状态,表明共享缓存没有该缓存块的有效副本。若某个 目录处于有效状态,表明一个或多个处理器的数据缓存具有该缓存块的副本,并且共享缓 存的数据也是最新的(与所有数据缓存中的副本一致),只要处理器的数据缓存中含有该 块的副本,共享者集合中的对应位就置1。若某个目录处于专有状态,表明只有一个处理器 的数据缓存拥有该缓存块的副本并且对该块执行过写操作,因此该副本与共享缓存中的缓 存块是不一致的,由共享者集合来指示拥有该块副本的处理器。本专利技术与
技术介绍
相比,具有的有益效果是本方法适用于嵌入式多核体系处理器,把写回法和写分配两种策略的优点相结5合,实现了基于集中式目录的缓存一致性。相比于监听协议,目录协议采用定向消息发送降 低了广播机制给带宽的压力,避免了对无关处理器正常运行的干扰,具有较好的可扩展性。附图说明图1是多核CPU的存储层次RTL模型图;它包含四个处理器核,通过总线与共享缓 存互联,各个处理器核含私有的数据缓存和指令缓存,并且通过目录控制器与共享缓存进 行通讯。图2是数据缓存块的状态转换图;图3是目录状态转换图;状态转换图中的字母意义是CBS代表目录控制器通知数据缓存把请求数据传到共享缓存,并把请求数据块的 状态改为有效。RDD代表目录控制器通知数据缓存接收共享缓存的数据,并把缓存块状态改为有 效RDM代表目录控制器通知数据缓存接收共享缓存的数据,并把缓存块状态改为修 正CBI代表目录控制器通知数据缓存把数据写到共享缓存并置该块为无效INV代表目录控制器通知数据缓存把数据所在块置无效,不写回STM代表目录控制器通知数据缓存把数据所在块状态由有效改为修正 ADS代表目录控制器通知数据缓存发出的回应消息RDMS代表数据缓存向目录控制器发读缺失WTHT代表数据缓存向目录控制器发写命中消息WTMS代表数据缓存向目录控制器发写缺失信号,AKD代表数据缓存向目录控制器发出的响应RDS代表目录控制器通知共享缓存接收数据缓存的数据WTS代表目录控制器通知共享缓存向数据缓存发本文档来自技高网
...

【技术保护点】
一种基于集中式目录的嵌入式多核缓存一致性方法,其特征在于:1)缓存块的状态划分在目录一致性协议中,每个数据缓存控制器接收两方面输入:处理器发出的读写请求和目录控制器发来的消息。作为这些输入的响应,高速缓存控制器可能根据相应高速缓存块的当前状态及状态转换图来更新该块的状态,并且也可能要执行一些动作。比如,作为对处理器发出的读请求的响应,高速缓存控制器可能要产生一个发给目录控制器的消息来获得数据,并返回给处理器。本专利技术中数据缓存块的状态分为三种,即无效状态、有效状态和修正状态。若器共享该缓存块则向非访问者发INV命令并把其从共享者集合中清除。若为无效,数据缓存向目录控制器发WTMS信号,目录控制器查找与数据块的目录状态,作如下不同操作:Ⅰ.如果目录控制器中访问块对应的目录状态是有效,目录控制器向共享者集合中的非访问者发INV信号并把其从共享者集合中清除,同时向共享缓存发WTS命令。当共享者集合为全0时,目录控制器向共享缓存发WTS命令,收到回应后向数据缓存发RDM命令,同时把访问者加入共享者集合中并把该块的目录状态改为修正。Ⅱ.如果目录控制器中访问块对应的目录状态是修正,如果是当前访问者在访问该块,则目录控制器不动作,否则目录控制器向该缓存块的所有者发CBI命令,向共享缓存发RDS命令,收到回应后把共享者集合清0,置该块修改位为1并把该块的目录状态改为有效。Ⅲ.如果目录控制器中访问块对应的目录状态是无效,目录控制器将检查访问块同一组中的待替换块的目录状态。若为修正状态,目录控制器向待替换块所在的数据缓存发CBI请求,收到响应后向共享缓存发RDS请求并置该块修改位为1,同时把该块的目录状态改为无效。若为有效状态,目录控制器向待替换块所在的处理器发INV命令,同时把该块的目录状态改为无效。若为无效状态,目录控制器检查修改位的状态,如为1则向共享缓存发WTM命令,收到回应后把修改位复位,向共享缓存发RDM命令通知其从主存读入访问块,把访问块的标识写入替换块,完成替换并把访问块的目录状态改为有效。某个数据缓存块处于无效状态,则本地处理器对该块的读请求或写请求都不命中。若某个数据缓存块处于有效状态,表明可能还有其他的处理器持有该块的有效副本。若某个缓存块处于修正状态,表明该块是对应共享缓存块的唯一有效副本,本地处理器对该块的读请求或写请求均在数据缓存命中。2)目录项的状态划分本专利技术采用全映射目录,每个共享缓存块有三种目录状态...

【技术特征摘要】

【专利技术属性】
技术研发人员:廖鑫
申请(专利权)人:廖鑫
类型:发明
国别省市:31[中国|上海]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1