CN111045818A - 一种多端口Cache的请求预处理电路 - Google Patents

一种多端口Cache的请求预处理电路 Download PDF

Info

Publication number
CN111045818A
CN111045818A CN201911147213.6A CN201911147213A CN111045818A CN 111045818 A CN111045818 A CN 111045818A CN 201911147213 A CN201911147213 A CN 201911147213A CN 111045818 A CN111045818 A CN 111045818A
Authority
CN
China
Prior art keywords
request
requests
conflict
module
sending
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911147213.6A
Other languages
English (en)
Other versions
CN111045818B (zh
Inventor
齐宇心
田泽
樊芊
陈佳
许宏杰
郑新建
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Aeronautics Computing Technique Research Institute of AVIC
Original Assignee
Xian Aeronautics Computing Technique Research Institute of AVIC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian Aeronautics Computing Technique Research Institute of AVIC filed Critical Xian Aeronautics Computing Technique Research Institute of AVIC
Priority to CN201911147213.6A priority Critical patent/CN111045818B/zh
Publication of CN111045818A publication Critical patent/CN111045818A/zh
Application granted granted Critical
Publication of CN111045818B publication Critical patent/CN111045818B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明属于计算机硬件技术领域,具体涉及一种多端口Cache的请求预处理电路,包括请求合并处理模块、冲突请求判定模块、冲突请求处理模块、请求重排序模块和请求发送模块;本发明能够完成任意请求情况下对多端口Cache的合理访问,在不降低多端口Cache访问效率的条件下,解决多端口Cache的请求筛选问题及冲突处理并提高Cache的处理效率。

Description

一种多端口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将接收到的请求进行判断,确认当前多端口请求中是否有相同的请求,若没有,则将请求发送给冲突请求判定模块2;如有相同请求,则将相同请求合并为同一请求。冲突请求判定模块2接收请求合并处理模块1发送的请求,若请求间存在相互冲突的请求,则将请求发送给请求冲突处理模块3,若没有,则将请求发送给请求重排序模块4。
冲突请求处理模块3将冲突请求的分次处理,将分次的请求发送给请求重排序模块4。请求重排序模块4将多个请求的重新排序,将重新排序的请求发送给请求发送模块5。请求发送模块将重排序好的请求发送到多端口Cache核。
最后应说明的是,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (7)

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次,依次类推最终得到每个请求的比较结果;存在比较结果相同的请求时将比较结果相同的请求设置为无效请求,保留比较结果不存在相同请求的请求并发送给冲突请求判定模块(2)。
4.根据权利要求3所述的多端口Cache的请求预处理电路,其特征在于:所述的冲突请求判定模块(2)用于对接收到的请求进行两两的Bank冲突判定,不存在Bank冲突时将接收到的请求发送给请求重排序模块(4),存在Bank冲突时将接收到的请求发送给冲突请求处理模块(3)。
5.根据权利要求4所述的多端口Cache的请求预处理电路,其特征在于:所述的冲突请求处理模块(3)用于对冲突请求进行处理,根据Bank冲突将多个请求分为互不冲突的几组请求,并将互不冲突的几组请求其依次发送给请求重排序模块(4);在发送完成前暂停合并处理模块(1)和冲突请求判定模块(2)的流水电路。
6.根据权利要求5所述的多端口Cache的请求预处理电路,其特征在于:所述请求重排序模块(4)用于根据接收到的请求数量、每一路请求的请求有效位和请求的Bank值,将请求排序到相对应的Bank值端口;之后将排序后的请求发送给请求发送模块(5)。
7.根据权利要求6所述的多端口Cache的请求预处理电路,其特征在于:所述请求发送模块(5)用于根据Cache核的Ready信号向Cache核发送访问请求,并在Ready信号为低时暂停请求合并处理模块(1)、冲突请求判定模块(2)、冲突请求处理模块(3)和请求重排序模块(4)的流水电路。
CN201911147213.6A 2019-11-21 2019-11-21 一种多端口Cache的请求预处理电路 Active CN111045818B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911147213.6A CN111045818B (zh) 2019-11-21 2019-11-21 一种多端口Cache的请求预处理电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911147213.6A CN111045818B (zh) 2019-11-21 2019-11-21 一种多端口Cache的请求预处理电路

Publications (2)

Publication Number Publication Date
CN111045818A true CN111045818A (zh) 2020-04-21
CN111045818B CN111045818B (zh) 2022-12-16

Family

ID=70232567

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911147213.6A Active CN111045818B (zh) 2019-11-21 2019-11-21 一种多端口Cache的请求预处理电路

Country Status (1)

Country Link
CN (1) CN111045818B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070288725A1 (en) * 2006-06-07 2007-12-13 Luick David A A Fast and Inexpensive Store-Load Conflict Scheduling and Forwarding Mechanism
JP2011209903A (ja) * 2010-03-29 2011-10-20 Sony Corp 命令フェッチ装置、プロセッサ、プログラム変換装置、および、プログラム変換方法
CN104461400A (zh) * 2014-12-25 2015-03-25 浪潮(北京)电子信息产业有限公司 处理访存请求冲突的方法和装置
CN106683158A (zh) * 2016-12-12 2017-05-17 中国航空工业集团公司西安航空计算技术研究所 一种GPU纹理映射非阻塞存储Cache的建模结构
CN109215728A (zh) * 2017-07-01 2019-01-15 英特尔公司 用于分布式存储器危险检测和错误恢复的存储器电路和方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070288725A1 (en) * 2006-06-07 2007-12-13 Luick David A A Fast and Inexpensive Store-Load Conflict Scheduling and Forwarding Mechanism
JP2011209903A (ja) * 2010-03-29 2011-10-20 Sony Corp 命令フェッチ装置、プロセッサ、プログラム変換装置、および、プログラム変換方法
CN104461400A (zh) * 2014-12-25 2015-03-25 浪潮(北京)电子信息产业有限公司 处理访存请求冲突的方法和装置
CN106683158A (zh) * 2016-12-12 2017-05-17 中国航空工业集团公司西安航空计算技术研究所 一种GPU纹理映射非阻塞存储Cache的建模结构
CN109215728A (zh) * 2017-07-01 2019-01-15 英特尔公司 用于分布式存储器危险检测和错误恢复的存储器电路和方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
邢二保等: "私有Cache的选择对紧耦合多处理机系统访存冲突的影响", 《计算机工程》 *
齐宇心等: "一种基于AXI 接口的多端口高速纹理cache 设计与实现", 《信息通信》 *

Also Published As

Publication number Publication date
CN111045818B (zh) 2022-12-16

Similar Documents

Publication Publication Date Title
US11307769B2 (en) Data storage method, apparatus and storage medium
US7249152B2 (en) Dynamic disk space management by multiple database server instances in a cluster configuration
CN105573839B (zh) 用于端口选择的基于成本的负载平衡的方法和装置
CN107493327B (zh) 分布式缓存管理方法、系统及数据管理系统
CN106293944B (zh) 虚拟化多核环境下基于非一致性i/o访问系统和优化方法
CN111209232B (zh) 访问静态随机存取存储器的方法、装置、设备和存储介质
CN111124270A (zh) 缓存管理的方法、设备和计算机程序产品
CN103150149A (zh) 处理数据库重做数据的方法和装置
CN112612623A (zh) 一种共享内存管理的方法和设备
CN115481048A (zh) 一种内存系统及芯片
CN111949681A (zh) 数据的聚合处理装置、方法和存储介质
US9378125B2 (en) Semiconductor chip and method of controlling memory
CN116501249A (zh) 一种减少gpu内存重复数据读写的方法及相关设备
CN115129621A (zh) 一种内存管理方法、设备、介质及内存管理模块
Luo et al. {SMART}: A {High-Performance} Adaptive Radix Tree for Disaggregated Memory
CN110442594A (zh) 一种面向Spark SQL聚集算子的动态执行方法
EP3872629B1 (en) Method and apparatus for executing instructions, device, and computer readable storage medium
CN111045818B (zh) 一种多端口Cache的请求预处理电路
CN104166587B (zh) 一种临界资源的访问装置和方法
CN117215491A (zh) 一种快速数据访问方法、快速数据访问装置及光模块
CN116457751A (zh) 一种写数据通路结构和芯片
CN109992196A (zh) 索引数据的存储方法及装置、存储系统
WO2019060526A1 (en) MEMORY MANAGEMENT UNIT TRANSACTION DISTRIBUTOR
CN110716814B (zh) 一种进程间大数据量通讯的性能优化方法和装置
CN109960588B (zh) 一种针对异构内存集群的读请求调度方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant