[发明专利]片上多核处理器系统的高速缓存一致性协议的实现方法有效
申请号: | 201110032914.2 | 申请日: | 2011-01-30 |
公开(公告)号: | CN102103568A | 公开(公告)日: | 2011-06-22 |
发明(设计)人: | 曹非;刘志勇 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F15/167 | 分类号: | G06F15/167;G06F15/173 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 祁建国;梁挥 |
地址: | 100080 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 多核 处理器 系统 高速缓存 一致性 协议 实现 方法 | ||
技术领域
本发明涉及微处理器,尤其涉及片上多核处理器(Chip Multiprocessor,CMP)系统的高速缓存(Cache)一致性协议的实现方法。
背景技术
由于共享存储CMP系统中,可能出现同一数据的多个版本同时存在于内存和多个处理器的Cache中的情况,如果此时有多个处理器对该数据进行写操作,则可能出现数据不一致的情况,导致程序执行发生错误。Cache一致性协议是一种用于保证多处理器系统各处理器Cache中数据一致性的机制,是影响系统的正确性、性能、功耗和带宽的关键因素。协议可以由软件或者硬件方法来实现。本发明是一种硬件方法实现的Cache一致性协议,以下所述协议均指硬件实现的协议。
Cache一致性协议通过赋予Cache中数据块不同的状态,由数据块的状态来决定可以对该数据块进行的操作(读或写),协议规定在遇到不同的本地处理器操作或者协议消息的情况下数据块的状态转换关系和产生应答数据以及协议消息等相关动作,以达到保证写操作相对于所有的处理器以相同的顺序完成的写一致性条件,并且所写的新值能及时地传给其他使用该数据的处理器的写传递条件,从而保证多处理器系统的正确性。
根据对写操作产生的新值传递的时机不同,Cache一致性协议可以分为基于无效的协议和基于更新的协议两种。基于无效的协议是指当某个处理器发出写失效请求信号时,其他处理器需要将各自Cache中的对应数据块置为无效状态,当这些处理器再次访问该数据块时会发生Cache失效,并发出失效请求信号以得到新写入该数据块的值。基于更新的协议是指当某个处理器完成写操作时,将写入对应数据块的新值传给其他Cache中有该数据块的处理器,并对这些处理器Cache中对应数据块的值进行更新。基于无效的协议只有在处理器需要用到新写入的值时才产生数据的传递;而基于更新的协议在新值产生的同时就将数据传给拥有该数据的所有处理器,这些处理器在将来不一定会用到该数据,可能造成互连带宽的浪费。随着Cache数据块的增大,基于更新的协议会造成过多的带宽消耗。由于基于更新的协议实现写一致性条件的机制相对于基于无效的协议也更加复杂,因此大量的Cache一致性协议都采用了基于无效的值传递方式。本发明是一种采用基于无效的值传递方式的协议。以下所述协议均采用基于无效的值传递方式。
如图1所示,以一个简单的基于无效的MSI协议为例来说明上述的协议状态转换关系。图1中,实线箭头表示本处理器的访存操作引起的Cache块状态变化,虚线箭头表示其他处理器访存失效请求信号引起的状态变化。图1中的“/”前边是引起状态变化的原因,后边是状态变化时需要进行的操作,M(Modified)为已修改状态,表示本处理器拥有对该状态数据块的读和写权限。S(Shared)为共享状态,表示本处理器对该数据块拥有读权限。I(Invalid)为无效状态,表示本处理器Cache中不存在该数据块。写失效请求信号会将系统中所有其他处理器Cache中的数据置为I状态,使得系统中同一数据块的M态在同一时间仅能出现在某一个处理器的Cache中,同时该数据块在其他处理器Cache中的状态都为I,以保证写一致性和写传递条件。
协议在应用于总线等控制集中的互连结构时,对失效请求信号进行广播,各处理器对广播的信号进行侦听操作。这种各个处理器通过侦听方式来决定是否提供数据或者进行无效等操作的协议称为侦听协议。而协议在应用于分布式互连结构(如mesh、torus等)时,使用目录结构来记录各数据的所有者处理器,失效请求首先发送给目录,由目录来决定将该请求发送给对应的数据提供者处理器和是否发送无效请求给其他处理器。这种协议称为目录协议。
由于总线等控制集中的互连结构可以为所有处理器提供统一的失效信号顺序,时序简单,使得侦听协议的实现相对简单;而对失效信号的广播与侦听可以直接找到数据提供者,失效延时相对较低。但由于总线等控制集中的互连结构带宽有限,对失效信号的广播需要消耗大量带宽,侦听协议一般仅用于较小规模的系统,系统规模的可扩展性有限。
由于包交换互连结构控制功能分布,无法为失效信号提供统一的顺序,时序复杂,目录协议的实现相对复杂;对目录的访问使得失效延时增加;但目录的使用避免了对失效信号进行广播,节约了带宽,使得系统的规模可扩展。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110032914.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:无错位结晶板的制造方法及其装置
- 下一篇:设备安装的功率出口