一种多端口Cache的请求预处理电路制造技术

技术编号:23890099 阅读:33 留言:0更新日期:2020-04-22 06:06
本发明专利技术属于计算机硬件技术领域,具体涉及一种多端口Cache的请求预处理电路,包括请求合并处理模块、冲突请求判定模块、冲突请求处理模块、请求重排序模块和请求发送模块;本发明专利技术能够完成任意请求情况下对多端口Cache的合理访问,在不降低多端口Cache访问效率的条件下,解决多端口Cache的请求筛选问题及冲突处理并提高Cache的处理效率。

【技术实现步骤摘要】
一种多端口Cache的请求预处理电路
本专利技术涉及计算机硬件
,具体涉及一种多端口Cache的请求预处理电路。
技术介绍
随着计算机系统的迅速发展,现代计算机系统越来越受主存储器性能的限制。在面对Cache性能不能满足系统需求的情况时,多端口数据共享Cache是提高Cache访问带宽的有效方法。相较于单端口Cache,多端口Cache通过多Bank的存储设计,通过较少的存储资源,较大的提高了访问速率。相对于单端口Cache,多端口Cache对接收的请求有着较高的要求,同时在某些情况也存在请求的浪费,但是现有技术中还不具有一种高效的多端口Cache的请求预处理电路,在不降低多端口Cache访问效率的条件下,解决多端口Cache的请求筛选问题及冲突处理并提高Cache的处理效率。
技术实现思路
本专利技术的目的是:本专利技术公开了一种多端口Cache的请求预处理电路,能够完成任意情况下对多端口Cache的合理访问,在不降低多端口Cache访问效率的条件下,解决多端口Cache的请求筛选问题及冲突处理并提高Cache的处理效率。本专利技术的具体技术方案是:本专利技术提出一种多端口Cache的请求预处理电路,包含请求合并处理模块、冲突请求判定模块、冲突请求处理模块、请求重排序模块和请求发送模块;所述的请求合并处理模块用于判断当前多端口请求中是否有相同的请求,在没有相同的请求时将请求发送给冲突请求判定模块,在有相同的请求时将相同的请求合并为同一请求并发给冲突请求判定模块;所述的冲突请求判定模块用于判定多个请求间是否具有冲突,在存在相互冲突的请求时将所有的请求发送给请求冲突处理模块,在没有相互冲突的请求时将所有请求发送给请求重排序模块;所述的冲突请求处理模块用于相互冲突的请求分次发送给请求重排序模块;所述的请求重排序模块用于将冲突请求判定模块和冲突请求处理模块发送的请求重新排序,将重新排序后的请求发送给请求发送模块;所述的请求发送模块用于将重排序后的请求发送到多端口Cache核。优选的,所述多端口Cache的请求预处理电路为全流水结构。优选的,所述的请求合并处理模块用于将接收到的N路Cache访问请求进行锁存,分别为请求0到请求N-1;请求0需要与其他N-1个请求进行比较;请求1不需要与请求0比较,只需要与请求2至N-1比较,比较N-2次,依次类推最终得到每个请求的比较结果;存在比较结果相同的请求时将比较结果相同的请求设置为无效请求,保留比较结果不存在相同请求的请求并发送给冲突请求判定模块。优选的,所述的冲突请求判定模块用于对接收到的请求进行两两的Bank冲突判定,不存在Bank冲突时将接收到的请求发送给请求重排序模块,存在Bank冲突时将接收到的请求发送给冲突请求处理模块。优选的,所述的冲突请求处理模块用于对冲突请求进行处理,根据Bank冲突将多个请求分为互不冲突的几组请求,并将互不冲突的几组请求其依次发送给请求重排序模块;在发送完成前暂停合并处理模块和冲突请求判定模块的流水电路。优选的,所述请求重排序模块用于根据接收到的请求数量、每一路请求的请求有效位和请求的Bank值,将请求排序到相对应的Bank值端口;之后将排序后的请求发送给请求发送模块;优选的,所述请求发送模块用于根据Cache核的Ready信号向Cache核发送访问请求,并在Ready信号为低时暂停请求合并处理模块、冲突请求判定模块、冲突请求处理模块和请求重排序模块的流水电路。本专利技术的有益技术效果是:本专利技术提供一种多端口Cache的请求预处理电路,能够完成任意请求情况下对多端口Cache的合理访问,在不降低多端口Cache访问效率的条件下,解决多端口Cache的请求筛选问题及冲突处理并提高Cache的处理效率。附图说明图1是本专利技术一种多端口Cache的请求预处理电路图;其中:1、请求合并处理模块;2、冲突请求判定模块;3、冲突请求处理模块;4、请求重排序模块;5、请求发送模块。具体实施方式下面结合说明书附图和具体实施例,对本专利技术的技术方案进行清楚、完整地表述。显然,所表述的实施例仅是本专利技术一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域技术人员在没有做出创造性劳动前提所获得的所有其它实施例,都属于本专利技术的保护范围。在本专利技术的一个实施例中,如图1所示,提出一种多端口Cache的请求预处理电路,包含请求合并处理模块1、冲突请求判定模块2、冲突请求处理模块3、请求重排序模块4和请求发送模块5;请求合并处理模块1用于判断当前多端口请求中是否有相同的请求,在没有相同的请求时将请求发送给冲突请求判定模块2,在有相同的请求时将相同的请求合并为同一请求并发给冲突请求判定模块2;冲突请求判定模块2用于判定多个请求间是否具有冲突,在存在相互冲突的请求时将所有的请求发送给请求冲突处理模块,在没有相互冲突的请求时将所有请求发送给请求重排序模块4;冲突请求处理模块3用于相互冲突的请求分次发送给请求重排序模块4;请求重排序模块4用于将冲突请求判定模块2和冲突请求处理模块3发送的请求重新排序,将重新排序后的请求发送给请求发送模块5;请求发送模块5用于将重排序后的请求发送到多端口Cache核。在一个实施例中:多端口Cache的请求预处理电路为全流水结构。在一个实施例中:的请求合并处理模块1用于将接收到的N路Cache访问请求进行锁存,分别为请求0到请求N-1;请求0需要与其他N-1个请求进行比较;请求1不需要与请求0比较,只需要与请求2至N-1比较,比较N-2次,依次类推最终得到每个请求的比较结果;存在比较结果相同的请求时将比较结果相同的请求设置为无效请求,保留比较结果不存在相同请求的请求并发送给冲突请求判定模块2。请求合并处理模块可以减少访问存储的请求数量,提高Cache处理效率。在一个实施例中:冲突请求判定模块2用于对接收到的请求进行两两的Bank冲突判定,不存在Bank冲突时将接收到的请求发送给请求重排序模块4,存在Bank冲突时将接收到的请求发送给冲突请求处理模块3。在一个实施例中:冲突请求处理模块3用于对冲突请求进行处理,根据Bank冲突将多个请求分为互不冲突的几组请求,并将互不冲突的几组请求其依次发送给请求重排序模块4;在发送完成前暂停合并处理模块1和冲突请求判定模块2的流水电路。在一个实施例中:请求重排序模块4用于根据接收到的请求数量、每一路请求的请求有效位和请求的Bank值,将请求排序到相对应的Bank值端口;之后将排序后的请求发送给请求发送模块5;在一个实施例中:请求发送模块5用于根据Cache核的Ready信号向Cache核发送访问请求,并在Ready信号为低时暂停请求合并处理模块1、冲突请求判定模块2、冲突请求处理模块3和请求重排序模块4的流水电路。整体说明:请求合并处理模块1将接收到的本文档来自技高网...

【技术保护点】
1.一种多端口Cache的请求预处理电路,其特征在于:包括请求合并处理模块(1)、冲突请求判定模块(2)、冲突请求处理模块(3)、请求重排序模块(4)和请求发送模块(5);/n所述的请求合并处理模块(1)用于判断当前多端口请求中是否有相同的请求,在没有相同的请求时将请求发送给冲突请求判定模块(2),在有相同的请求时将相同的请求合并为同一请求并发给冲突请求判定模块(2);/n所述的冲突请求判定模块(2)用于判定多个请求间是否具有冲突,在存在相互冲突的请求时将所有的请求发送给请求冲突处理模块,在没有相互冲突的请求时将所有请求发送给请求重排序模块(4);/n所述的冲突请求处理模块(3)用于相互冲突的请求分次发送给请求重排序模块(4);/n所述的请求重排序模块(4)用于将冲突请求判定模块(2)和冲突请求处理模块(3)发送的请求重新排序,将重新排序后的请求发送给请求发送模块(5);/n所述的请求发送模块(5)用于将重排序后的请求发送到多端口Cache核。/n

【技术特征摘要】
1.一种多端口Cache的请求预处理电路,其特征在于:包括请求合并处理模块(1)、冲突请求判定模块(2)、冲突请求处理模块(3)、请求重排序模块(4)和请求发送模块(5);
所述的请求合并处理模块(1)用于判断当前多端口请求中是否有相同的请求,在没有相同的请求时将请求发送给冲突请求判定模块(2),在有相同的请求时将相同的请求合并为同一请求并发给冲突请求判定模块(2);
所述的冲突请求判定模块(2)用于判定多个请求间是否具有冲突,在存在相互冲突的请求时将所有的请求发送给请求冲突处理模块,在没有相互冲突的请求时将所有请求发送给请求重排序模块(4);
所述的冲突请求处理模块(3)用于相互冲突的请求分次发送给请求重排序模块(4);
所述的请求重排序模块(4)用于将冲突请求判定模块(2)和冲突请求处理模块(3)发送的请求重新排序,将重新排序后的请求发送给请求发送模块(5);
所述的请求发送模块(5)用于将重排序后的请求发送到多端口Cache核。


2.根据权利要求1所述的多端口Cache的请求预处理电路,其特征在于:所述多端口Cache的请求预处理电路为全流水结构。


3.根据权利要求2所述的多端口Cache的请求预处理电路,其特征在于:所述的请求合并处理模块(1)用于将接收到的N路Cache访问请求进行锁存,分别为请求0到请求N-1;请求0需要与其他N-1个请求进行比较;请求1不需要与请求0比较,只需要与请求2至N-1比较,比较N-2次,依次类推最终得到...

【专利技术属性】
技术研发人员:齐宇心田泽樊芊陈佳许宏杰郑新建
申请(专利权)人:中国航空工业集团公司西安航空计算技术研究所
类型:发明
国别省市:陕西;61

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

1