一种基于监听-目录两层协议的一致性处理方法及系统技术方案

技术编号:39249177 阅读:14 留言:0更新日期:2023-10-30 12:01
本发明专利技术涉及计算机技术领域,特别涉及一种基于监听

【技术实现步骤摘要】
一种基于监听

目录两层协议的一致性处理方法及系统


[0001]本专利技术涉及计算机
,特别涉及一种基于监听

目录两层协议的CC

NUMA(Cache Coherent Non

Uniform Memory Access)系统中局部Cache一致性处理方法及CC

NUMA系统。

技术介绍

[0002]随着信息时代社会的发展,处理器芯片在科学生产、工业应用、日常生活中扮演越来越重要的计算角色。半导体工艺技术飞速发展使得处理器技术也随着不断发展和进步,单核处理器的频率已经逐渐达到极限,随着频率的提升,功耗不断增加,性能的提升也变得缓慢,为了进一步提升处理器的计算能力,人们将多个处理器核集成在一个芯片上形成片上多处理器(CMP:Chip MultiProcessor)。
[0003]在CMP中,每个处理器核都拥有本地私有Cache用于存放最近使用的数据,当多个处理器同时访问某个数据时,在分布式共享内存处理器系统中可以使同一数据同时存在与多个核心各自的私有Cache中,带来Cache数据一致性问题。CC

NUMA结构作为CMP中一种重要体系结构已成为主流服务器处理其的必备特征,在CC

NUMA系统中,分布式内存相详解形成单一内存,内存之间没有页面复制或数据复制,不需要软件保证多个数据副本之间的一致性,Cache一致性问题由硬件保证实现。
[0004]Cache一致性协议目前有两种方式实现:监听一致性协议和目录一致性协议。
[0005]监听协议利用总线广播机制来实现,系统中所有缓存控制器都需要监听系统总线上的一致性消息,总线是一致性消息的定序点,所有总线节点上的缓存控制器都以相同的顺序接收到总线上的一致性消息,缺点是同一时间只有一个消息在总线上传输,每个缓存控制器管理自身的数据副本状态,通过总线进行不同缓存副本之间的状态同步。然而随着系统规模的不断扩大,多个系统组件之间会竞争使用总线资源,每次进行状态同步都会进行广播,严重影响总线效率,同时增加总线负载和功耗,可扩展行较差。
[0006]目录协议是使用目录表项来记录全局缓存状态,为每个数据块都建立一个目录,内容包括共享副本、当前副本拥有者、一致性状态等。在目录协议中,目录充当了定序点,消息的传输为点对点方式,系统中所有一致性消息都通过一个目录结构维护,避免了广播消息,可以有效的降低一致性消息对总线带宽的需求,具有很好的可扩展性。

技术实现思路

[0007]本专利技术的目的在于提供一种基于监听

目录两层协议的CC

NUMA系统中局部Cache一致性处理方法及CC

NUMA系统,以解决
技术介绍
中的问题。
[0008]为解决上述技术问题,本专利技术提供了一种基于监听

目录两层协议的CC

NUMA系统中局部Cache一致性处理方法,包括:局部Cache一致性处理部件接收来自处理器的一次请求和Home节点的监听请求;一次请求和监听请求轮转仲裁上一致性处理流水线并进行地址冲突判断,无地址
冲突的请求直接写入目录;写入目录的请求,依据目录中存储的数据块副本状态和拥有者情况,对一次请求或监听请求进行局部一致性处理;由目录管理一次请求或监听请求所派生的二次请求、访存请求、LLC访问请求和响应;对每一个一次请求要返回给处理器一个响应,对每一个监听请求要返回给Home一个监听回答。
[0009]优选的,针对每一个一次请求或监听请求的一致性处理流程进行地址冲突判断;其中,在地址冲突判断中,比较一次请求或监听请求的地址与目录中尚处于一致性处理状态中的所有请求地址;如果相同,则视为存在地址冲突,登记地址冲突信息,并使所述一次请求或监听请求等待下一次仲裁上流水线。
[0010]优选的,在一次请求或监听请求队列中记录地址冲突信息,并检测目录中与所述一次请求或监听请求地址冲突中的请求执行状态,当发生地址冲突的请求完成后,所述一次请求或监听请求可重新申请上一致性处理流水线。
[0011]优选的,对每一个写入目录操作的一次请求或监听请求,可从一次请求队列或监听请求队列中释放。
[0012]优选的,对每一个写入目录一次请求或执行二次请求、访存请求、LLC访问请求和响应的发送判断;如果需要则由目录生成快照发送向量,分别由对应的二次请求队列、访存请求队列、LLC、响应队列执行快照发送。
[0013]对每一个一次请求或监听请求的一致性处理流程执行二次请求发送判断,如果需要发送二次请求进行局部一致性处理,则由目录生成快照发送向量,由二次请求队列执行快照发送。
[0014]对每一个一次请求的一致性处理流程执行访存请求发送判断,如果需要进行访问主存则由目录生成快照发送向量,由访存请求队列执行快照发送。
[0015]对每一个一次请求或监听请求的一致性处理流程执行LLC访存判断,由目录生成LLC访问快照发送向量,由访存请求队列执行快照发送。
[0016]优选的,该方法具体包括如下步骤:步骤S1:等待处理;此时一次请求或监听请求等待处理,当二者存在有效请求时可进入步骤S2;步骤S2:仲裁判断;用于对一次请求、监听请求进行轮转仲裁,如果仲裁成功可进入地址冲突判断步骤S3,如果仲裁不成功,处理回到步骤S1;步骤S3:地址冲突判断;用于对当前请求进行地址冲突判断;即比较当前请求的地址和目录中尚未完成一致性处理的所有请求地址,如果有相同地址,则视为有地址冲突,登记地址冲突信息,处理回到步骤S1;如果没有相同地址,处理进入步骤S4;步骤S4:写入目录;将当前请求的请求类型、地址信息记录在目录条目中,并根据当前数据块所记录的副本状态产生的二次请求、访存请求、响应、LLC访问的有效位;
步骤S5:二次请求判断;用于判断当前请求是否需要向处理器发送二次请求进行局部一致性处理,如果需要进行局部一致性处理,则进入步骤S6,如果不需要进行局部一致性处理,则进入步骤S8;步骤S6:二次请求发送;用于对目录中的二次请求有效位进行快照处理,将有效二次请求发送到对应处理器;步骤S7:接收回答;用于对处理器返回的回答进行缓存并处理,回答接收完成后,修改目录中对应的状态位;步骤S8:请求类型判断;用于判断当前请求类型是一次请求或监听请求,如果请求类型为一次请求,则进入步骤S9,如果请求类型为监听请求,则进入步骤S12;步骤S9:访存请求判断;用于判断当前请求是否需要访问主存,如果需要访问主存,则进入步骤S10,如果不需要访问主存,则进入步骤S12;步骤S10:访存请求;用于对目录中的访存请求有效位进行快照处理,将访存请求发送到互联网络以转发到Home;步骤S11:访存响应;用于对Home返回的访存响应进行缓存并处理,访存响应接收完成后,修改目录中对应状态位;步骤S12:LLC访问判断;用于判断当前请求是否需要向访问LLC,如果需要访问LL本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于监听

目录两层协议的CC

NUMA系统中局部Cache一致性处理方法,其特征在于,包括:局部Cache一致性处理部件接收来自处理器的一次请求和Home节点的监听请求;一次请求和监听请求轮转仲裁上一致性处理流水线并进行地址冲突判断,无地址冲突的请求直接写入目录;写入目录的请求,依据目录中存储的数据块副本状态和拥有者情况,对一次请求或监听请求进行局部一致性处理;由目录管理一次请求或监听请求所派生的二次请求、访存请求、LLC访问请求和响应;对每一个一次请求要返回给处理器一个响应,对每一个监听请求要返回给Home一个监听回答;对每一个写入目录一次请求或执行二次请求、访存请求、LLC访问请求和响应的发送判断;如果需要则由目录生成快照发送向量,分别由对应的二次请求队列、访存请求队列、LLC、响应队列执行快照发送。2.如权利要求1所述的基于监听

目录两层协议的CC

NUMA系统中局部Cache一致性处理方法,其特征在于,针对每一个一次请求或监听请求的一致性处理流程进行地址冲突判断;其中,在地址冲突判断中,比较一次请求或监听请求的地址与目录中尚处于一致性处理状态中的所有请求地址;如果相同,则视为存在地址冲突,登记地址冲突信息,并使所述一次请求或监听请求等待下一次仲裁上流水线。3.如权利要求2所述的基于监听

目录两层协议的CC

NUMA系统中局部Cache一致性处理方法,其特征在于,在一次请求或监听请求队列中记录地址冲突信息,并检测目录中与所述一次请求或监听请求地址冲突中的请求执行状态,当发生地址冲突的请求完成后,所述一次请求或监听请求可重新申请上一致性处理流水线。4.如权利要求3所述的基于监听

目录两层协议的CC

NUMA系统中局部Cache一致性处理方法,其特征在于,对每一个写入目录操作的一次请求或监听请求,可从一次请求队列或监听请求队列中释放。5.如权利要求4所述的基于监听

目录两层协议的CC

NUMA系统中局部Cache一致性处理方法,其特征在于,该方法具体包括如下步骤:步骤S1:等待处理;此时一次请求或监听请求等待处理,当二者存在有效请求时可进入步骤S2;步骤S2:仲裁判断;用于对一次请求、监听请求进行轮转仲裁,如果仲裁成功可进入地址冲突判断步骤S3,如果仲裁不成功,处理回到步骤S1;步骤S3:地址冲突判断;用于对当前请求进行地址冲突判断;即比较当前请求的地址和目录中尚未完成一致性处理的所有请求地址,如果有相同地址,则视为有地址冲突,登记地址冲突信息,处理回到步骤S1;如果没有相同地址,处理进入步骤S4;步骤S4:写入目录;将当前请求的请求类型、地址信息记录在目录条目中,并根据当前数据块所记录的副本状态产生的二次请求、访存请求、响应、LLC访问的有效位;
步骤S5:二次请求判断;用于判断当前请求是否需要向处理器发送二次请求进行局部一致性处理,如果需要进行局部一致性处理,则进入步骤S6,如果不需要进行局部一致性处理,则进入步骤S8;步骤S6:二次请求发送;用于对目录中的二次请求有效位进行快照处理,将有效二次请求发送到对应处理器;步骤S7:接收回答;用于对处理器返回的回答进行缓存并处理,回答接收完成后,修改目录中对应的状态位;步骤S8:请求类型判断;用于判断当前请求类型是一次请求或监听请求,如果请求类型为一次请求,则进入步骤S9,如果请求类型为监听请求,则进入步骤S12;步骤S9:访存请求判断;用于判断当前请求是否需要访问主存,如果需要访问主存,则进入步骤S10,如果不需要访问主存,则进入步骤S12;步骤S10:访存请求;用于对目录中的访存请求有效位进行快照处理,将访存请求发送到互联网络以转发到Home;步骤S11:访存响应;...

【专利技术属性】
技术研发人员:曹世威赵达杨亮
申请(专利权)人:中电科申泰信息科技有限公司
类型:发明
国别省市:

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

1