[发明专利]一种协议处理器Cache控制单元的设计方法在审
申请号: | 201310569312.X | 申请日: | 2013-11-15 |
公开(公告)号: | CN103593306A | 公开(公告)日: | 2014-02-19 |
发明(设计)人: | 周恒钊;陈继承 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250014 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 协议 处理器 cache 控制 单元 设计 方法 | ||
1.一种协议处理器Cache控制单元的设计方法, 其特征在于协议处理器Cache控制单元用于CC-NUMA系统中协议处理器对高速缓存的访问控制,通过对不同Cache访问指令的调度和挂起,实现Cache读写操作时序与协议处理器的流水线全同步,在 Cache空闲且命中的前提下实现高速缓存无缝隙访问和协议报文处理完全流水,系统按照功能划分为若干个子模块,包括:流水线指令挂起队列,调度模块,标签阵列,数据阵列,回填模块,接口通信模块和失效缓存,其中:
流水线指令挂起队列,用于被挂起的流水线Cache访问指令的存储,以实现FIFO的同步,FIFO数据宽度等同于Cache指令长度,FIFO深度等同于流水线流水站数量的2倍,当协议处理流水线向Cache控制单元发出的访问指令未获得处理权限时,FIFO写使能有效,该指令被写入流水线指令挂起队列,当其重新获得处理权限时,FIFO读使能有效,该指令从队列中读出,进行相应的Cache操作,当队列中存储的指令个数大于等于流水线数量时,阻塞来源,即停止接收协议处理流水线发出的Cache访问指令,等待队列中被挂起的指令处理完毕再重新打开该来源;
调度模块,用于对Cache控制单元接收的不同来源的访问指令的调度和仲裁,当多个访问指令同时有效时,按照规定优先级选通优先级最高的指令做Cache操作,优先级较低的指令则被写入响应的挂起队列或缓存;
标签阵列,用于标签的读出和比较,先对调度模块选通的访问指令进行译码,使用译码后的地址对8路标签同时发起读操作,各路读出的标签内容分别与译码数据进行比较,两者相等的那一路即命中路,标签阵列将各路的命中信息进行组合输出,用于Cache的数据选通;
数据阵列,用于数据的读出和多路选通,先对调度模块选通的访问指令进行译码,使用译码后的地址对8路数据阵列同时发起读操作,各路数据读出后,等待标签阵列输出的标签命中信息有效,使用标签的命中信息对8路数据进行数据选通,得到命中的那一路数据,完成数据选通后输出Cache命中结果和命中数据,整个Cache读操作都在协议流水线的发射站和执行站之间进行,与协议处理器的流水线同步,不产生额外的间隙或系统延迟,执行站得到Cache的命中结果和命中数据将作为输入,进行ALU运算;
回填模块,用于Cache的数据回填,当下一级存储器访问操作结束,数据响应返回时,回填模块向调度模块发出Cache回填指令,当回填指令获得处理权限时,进行相应的Cache数据回填,否则将回填指令写入回填挂起队列,回填挂起队列与FIFO同步,原理与流水线指令挂起队列相同;
接口通信模块,用于本级Cache与下一级存储器之间的指令和数据通信,当本级Cache未命中时,接口通信模块向下一级存储器发起异步访问指令,若干个时钟周期后,下一级存储器访问操作结束,数据响应返回时,接口通信模块接收返回的数据并通知回填模块;
失效缓存,用于对Cache访问未命中的指令进行缓存,Cache控制单元在执行站之前返回Cache未命中信息,并且将未命中的访问指令写入失效缓存中,等待接口通信模块接收到返回的数据,且回填某块完成回填后,激活失效缓存中相应地址的访问指令,向调度模块发出,其中:
协议处理流水线Cache控制单元的功能模块划分步骤如下:
调度模块接收不同来源的Cache访问指令,包括:流水线访问指令,流水线指令挂起队列,回填指令,回填指令挂起队列,失效缓冲指令,对其进行仲裁和调度,失效缓冲模块对脱靶指令进行缓冲,等待回填后重新激活,回填指令挂起队列对未获得处理权限的回填指令进行存储,等待冲裁成功重新被处理,标签阵列进行多路组相连Cache的索引,根据译码地址和数据计算出Cache的命中信息和多路选择信号,数据阵列进行Cache数据的读出和写入,并根据标签阵列输出的多路选择信号对各路数据阵列读出的数据进行选通,输出命中的那一路数据,接口通信模块接收标签阵列和数据阵列输出的命中信息和命中数据,组成标准格式向协议流水线返回,当脱靶时,该模块向下一级存储器发出异步访问指令,接口上有响应返回时,通知回填模块向调度模块发起回填指令;
Cache控制单元的指令处理流程如下:
协议流水线的发射站发出Cache访问指令,控制单元做完指令译码后进行多指令仲裁和调度,调度成功获得仲裁权限的指令得到处理,使用指令译码得到的地址和数据发起数据阵列和标签阵列的读操作,标签阵列读出结果进行数据比较,计算出Cache是否命中,命中则进行数据选通,得到命中的那一路数据,脱靶则输出Cache脱靶信号,向下一级存储器发出异步读指令,得到命中结果后,若处理指令类型为流水线,则输出Cache命中和命中数据,等待流水线执行站完成后发起Cache写操作,否则输出Cache脱靶,将流水线指令写入挂起队列,协议流水线在写回站发起Cache写操作,控制单元分别驱动标签阵列和数据阵列的写端口将数据写入对应地址,一个完整的与Cache相关的协议报文处理流程结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310569312.X/1.html,转载请声明来源钻瓜专利网。