一种高速缓存处理方法及协议处理器高速缓存控制单元技术

技术编号:8655906 阅读:241 留言:0更新日期:2013-05-01 23:34
本发明专利技术公开了一种高速缓存处理方法及协议处理器高速缓存控制单元,高速缓存控制单元包括解析调度模块、标签阵列模块、数据阵列模块、接口通信模块;解析调度模块用于将译码数据发送至标签阵列模块,将译码数据和译码地址发送至标签阵列模块和数据阵列模块。标签阵列模块用于根据译码数据判断出命中的路的标识称为命中信息。数据阵列模块用于选通命中信息中相应路的数据。接口通信模块用于转发命中成功信息或者还同时转发从数据阵列模块接收到的数据。本发明专利技术以高速缓存控制单元与协议处理流水线的同步高速缓存操作方式取代现有的异步操作方式,消除了异步操作方式带来的高速缓存访问延迟问题。

【技术实现步骤摘要】

本专利技术涉及计算机领域和集成电路设计领域,具体涉及到一种高速缓存处理方法及协议处理器高速缓存控制单元
技术介绍
高速缓存(Cache)通常指介于处理器和主存之间的高速小容量存储器,访问速度比主存快得多,匹配处理器的存取速度。Cache通常基于静态随机存储器(Static RandomAccess Memory,简称 SRAM)实现,SRAM 相对动态随机存储器(Dynamic Random AccessMemory,简称DRAM)的优点是速度快,缺点是成本高,面积大。Cache以主存几百分之一的容量映射一部分主存地址上的内容,当处理器访问的数据地址正好位于其映射之内时,处理器可直接对Cache进行操作,省却了访问主存的步骤,计算机的处理速度大大提升。CC-NUMA系统中数据按照地址划分均匀分布在各个结点的主存上,结点和结点之间按照Cache —致性协议进行数据通信,以发包收包的形式完成通信过程。结点和结点之间的通信包以协议报文的形式存在。结点从端口上接收到协议报文后需要通过协议处理器对其进行解析和处理。协议处理器中存在一定容量的Cache,用于存储最近使用的协议信息。若Cache命中,协议处理器直接对Cache进行操作,若Cache未命中,则向下一级存储器发起访问。协议处理器中的Cache控制单元用于接收其发出的Cache访问指令,对指令进行解析后向Cache发起对应的操作。通常实现协议处理器时将Cache控制单元与协议处理流水线设计成异步模式,即两者之间数据操作流程和时序不存在关联。协议处理流水线向Cache发出访问指令后就将该指令相关的协议报文挂起,等待Cache控制单元响应返回后再重新取出被挂起的协议报文,进入流水线重新进行协议解析和处理。这种实现方式的弊端是协议处理流水线无论Cache命中与否都不能同步操作Cache上的数据,每一条协议报文的处理均需等待若干个时钟周期的Cache访问时间,降低了协议处理的效率,增大了系统延迟。
技术实现思路
本专利技术要解决的技术问题是提供一种高速缓存处理方法及协议处理器高速缓存控制单元,解决现有技术中高速缓存控制单元与协议处理流水线异步设计导致的处理效率低并且系统延迟大的问题。为了解决上述技术问题,本专利技术提供了一种协议处理器高速缓存控制单元,所述高速缓存控制单元包括解析调度模块、标签阵列模块、数据阵列模块、接口通信模块;所述解析调度模块,用于接收来自不同源的指令,对各指令进行调度仲裁后为其中一个或多个指令分配处理权限,获得处理权限的指令为流水线高速缓存访问指令时对其进行解析,将译码数据发送至所述标签阵列模块,将译码数据和译码地址发送至所述标签阵列模块和所述数据阵列模块;还用于在所述流水线高速缓存访问指令为写指令时,将待写入数据发送至所述数据阵列模块;所述标签阵列模块,用于根据所述译码数据判断出命中的路的标识称为命中信息后,将所述命中信息发送至所述数据阵列模块,向所述接口通信模块发送命中成功信息;所述数据阵列模块,用于选通所述命中信息中相应路的数据,进行相应的数据读出或待数据写入,还用于在读出数据后向所述接口通信模块发送读出的数据;所述接口通信模块,用于转发所述命中成功信息或者还同时转发从所述数据阵列模块接收到的数据。进一步地,上述高速缓存控制单元还可以具有以下特点所述解析调度模块,还用于根据接收到的指令的优先级分配处理权限,在多个指令同时有效时为优先级最高的指令分配处理权限。进一步地,上述高速缓存控制单元还可以具有以下特点所述解析调度模块,还用于将未获得处理权限的流水线高速缓存访问指令置入流水线指令挂起队列,还用于在指令调度仲裁中为所述流水线指令挂起队列的输出端的流水线高速缓存访问指令分配处理权限后,将此指令从所述流水线指令挂起队列中取出并处理。进一步地,上述高速缓存控制单元还可以具有以下特点所述标签阵列模块,还用于根据所述译码地址对各路标签发起读操作,判断读出结果均与所述译码数据不相同时,向所述接口通信模块发送命中失败信息;所述接口通信模块,还用于收到所述命中失败信息后,向下级存储器发起异步访问指令。进一步地,上述高速缓存控制单元还可以具有以下特点所述高速缓存控制模块还包括回填模块;所述接口通信模块,还用于收到所述下级存储器的数据响应后,通知所述回填模块;所述回填模块,用于向所述解析调度模块发起高速缓存回填指令;所述解析调度模块,还用于在为所述回填指令分配处理权限时,执行所述回填指令进行高速缓存回填,还用于在未为所述回填指令分配处理权限时,将所述回填指令置入回填指令挂起队列,在指令调度仲裁中为所述回填指令挂起队列的输出端的回填指令分配处理权限后,将此回填指令从所述回填指令挂起队列中取出并处理。进一步地,上述高速缓存控制单元还可以具有以下特点所述高速缓存控制模块还包括失效缓存模块;所述解析调度模块,还用于获知一流水线高速缓存访问指令命中失败后,将此流水线高速缓存访问指令写入失效缓存模块;所述失效缓存模块,用于在收到相应回填指令并完成回填后,激活所述失效缓存模块中相应地址的访问指令并向所述解析调度模块发送此指令。为了解决上述技术问题,本专利技术提供了一种高速缓存处理方法,包括解析调度模块接收来自不同源的指令,对各指令进行调度仲裁后为其中一个或多个指令分配处理权限,获得处理权限的指令为流水线高速缓存访问指令时对其进行解析,将译码数据发送至所述标签阵列模块,将译码数据和译码地址发送至所述标签阵列模块和所述数据阵列模块;在所述流水线高速缓存访问指令为写指令时,将待写入数据发送至所述数据阵列模块;所述标签阵列模块根据所述译码数据判断出命中的路的标识称为命中信息后,将所述命中信息发送至所述数据阵列模块,向所述接口通信模块发送命中成功信息;所述数据阵列模块选通所述命中信息中相应路的数据,进行相应的数据读出或待数据写入,在读出数据后向所述接口通信模块发送读出的数据;所述接口通信模块转发所述命中成功信息或者还同时转发从所述数据阵列模块接收到的数据。进一步地,上述方法还可以具有以下特点所述解析调度模块在多个指令同时有效时为优先级最高的指令分配处理权限。进一步地,上述方法还可以具有以下特点所述解析调度模块将未获得处理权限的流水线高速缓存访问指令置入流水线指令挂起队列,在指令调度仲裁中为所述流水线指令挂起队列的输出端的流水线高速缓存访问指令分配处理权限后,将此指令从所述流水线指令挂起队列中取出并处理。进一步地,上述方法还可以具有以下特点所述标签阵列模块根据所述译码地址对各路标签发起读操作,判断读出结果均与所述译码数据不相同时,向所述接口通信模块发送命中失败信息;接口通信模块收到所述命中失败信息后向下级存储器发起异步访问指令。进一步地,上述方法还可以具有以下特点所述接口通信模块收到所述下级存储器的数据响应后通知回填模块;所述回填模块向所述解析调度模块发起高速缓存回填指令;所述解析调度模块在为所述回填指令分配处理权限时,执行所述回填指令进行高速缓存回填,在未为所述回填指令分配处理权限时,将所述回填指令置入回填指令挂起队列,在指令调度仲裁中为所述回填指令挂起队列的输出端的回填指令分配处理权限后,将此回填指令从所述回填指令挂起队列中取出并处理。进一步地,上述方法还可以具有以下特点所述解本文档来自技高网
...

【技术保护点】
一种协议处理器高速缓存控制单元,其特征在于,所述高速缓存控制单元包括解析调度模块、标签阵列模块、数据阵列模块、接口通信模块;所述解析调度模块,用于接收来自不同源的指令,对各指令进行调度仲裁后为其中一个或多个指令分配处理权限,获得处理权限的指令为流水线高速缓存访问指令时对其进行解析,将译码数据发送至所述标签阵列模块,将译码数据和译码地址发送至所述标签阵列模块和所述数据阵列模块;还用于在所述流水线高速缓存访问指令为写指令时,将待写入数据发送至所述数据阵列模块;所述标签阵列模块,用于根据所述译码数据判断出命中的路的标识称为命中信息后,将所述命中信息发送至所述数据阵列模块,向所述接口通信模块发送命中成功信息;所述数据阵列模块,用于选通所述命中信息中相应路的数据,进行相应的数据读出或待数据写入,还用于在读出数据后向所述接口通信模块发送读出的数据;所述接口通信模块,用于转发所述命中成功信息或者还同时转发从所述数据阵列模块接收到的数据。

【技术特征摘要】
1.一种协议处理器高速缓存控制单元,其特征在于, 所述高速缓存控制单元包括解析调度模块、标签阵列模块、数据阵列模块、接口通信模块; 所述解析调度模块,用于接收来自不同源的指令,对各指令进行调度仲裁后为其中一个或多个指令分配处理权限,获得处理权限的指令为流水线高速缓存访问指令时对其进行解析,将译码数据发送至所述标签阵列模块,将译码数据和译码地址发送至所述标签阵列模块和所述数据阵列模块;还用于在所述流水线高速缓存访问指令为写指令时,将待写入数据发送至所述数据阵列模块; 所述标签阵列模块,用于根据所述译码数据判断出命中的路的标识称为命中信息后,将所述命中信息发送至所述数据阵列模块,向所述接口通信模块发送命中成功信息; 所述数据阵列模块,用于选通所述命中信息中相应路的数据,进行相应的数据读出或待数据写入,还用于在读出数据后向所述接口通信模块发送读出的数据; 所述接口通信模块,用于转发所述命中成功信息或者还同时转发从所述数据阵列模块接收到的数据。2.如权利要求1所述的高速缓存控制单元,其特征在于, 所述解析调度模块,还用于根据接收到的指令的优先级分配处理权限,在多个指令同时有效时为优先级最高的指令分配处理权限。3.如权利要求1所述的高速缓存控制单元,其特征在于, 所述解析调度模块,还用于将未获得处理权限的流水线高速缓存访问指令置入流水线指令挂起队列,还用于在指令调度仲裁中为所述流水线指令挂起队列的输出端的流水线高速缓存访问指令分配处理权限后,将此指令从所述流水线指令挂起队列中取出并处理。4.如权利要求1所述的高速缓存控制单元,其特征在于, 所述标签阵列模块,还用于根据所述译码地址对各路标签发起读操作,判断读出结果均与所述译码数据不相同时,向所述接口通信模块发送命中失败信息; 所述接口通信模块,还用于收到所述命中失败信息后,向下级存储器发起异步访问指令。5.如权利要求4所述的高速缓存控制单元,其特征在于, 所述高速缓存控制模块还包括回填模块; 所述接口通信模块,还用于收到所述下级存储器的数据响应后,通知所述回填模块; 所述回填模块,用于向所述解析调度模块发起高速缓存回填指令; 所述解析调度模块,还用于在为所述回填指令分配处理权限时,执行所述回填指令进行高速缓存回填,还用于在未为所述回填指令分配处理权限时,将所述回填指令置入回填指令挂起队列,在指令调度仲裁中为所述回填指令挂起队列的输出端的回填指令分配处理权限后,将此回填指令从所述回填指令挂起队列中取出并处理。6.如权利要求5所述的高速缓存控制单元,其特征在于, 所述高速缓存控制模块还包括失效缓存模块; 所述解析调度模块,还用于获知一流水线高速缓存...

【专利技术属性】
技术研发人员:周恒钊陈继承
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:

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

1