CN114647516A - 基于多输入单输出的fifo结构的gpu数据处理系统 - Google Patents

基于多输入单输出的fifo结构的gpu数据处理系统 Download PDF

Info

Publication number
CN114647516A
CN114647516A CN202210546501.4A CN202210546501A CN114647516A CN 114647516 A CN114647516 A CN 114647516A CN 202210546501 A CN202210546501 A CN 202210546501A CN 114647516 A CN114647516 A CN 114647516A
Authority
CN
China
Prior art keywords
data
fifo
requests
output
input
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
CN202210546501.4A
Other languages
English (en)
Other versions
CN114647516B (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.)
Muxi Integrated Circuit Shanghai Co ltd
Original Assignee
Muxi Integrated Circuit Shanghai Co ltd
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 Muxi Integrated Circuit Shanghai Co ltd filed Critical Muxi Integrated Circuit Shanghai Co ltd
Priority to CN202210546501.4A priority Critical patent/CN114647516B/zh
Publication of CN114647516A publication Critical patent/CN114647516A/zh
Application granted granted Critical
Publication of CN114647516B publication Critical patent/CN114647516B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明涉及一种基于多输入单输出的FIFO结构的GPU数据处理系统,包括映射器、FIFO和写指针,映射器包括P个输入端口和P个输出端口{E1,E2,…EP},所述P个输入端口用于并行输入Q个第三获取数据请求,并将Q个第三获取数据请求映射至前Q个输出端口{E1,E2,…EQ},将{E1,E2,…EQ}中的Q个第三数据存入FIFO中;FIFO为多输入单输出的FIFO,用于并行输入Q个第三获取数据请求,单个输出FIFO中的第三获取数据请求;写指针始终指向当前FIFO下一待存入数据的行,当前写指针所指行数值为WR,当映射器向FIFO并行存入Q个第三获取数据请求后,更新WR。本发明提高了GPU的数据处理效率。

Description

基于多输入单输出的FIFO结构的GPU数据处理系统
技术领域
本发明涉及GPU数据处理技术领域,尤其涉及一种基于多输入单输出的FIFO结构的GPU数据处理系统。
背景技术
基于GPU的数据处理中存在多种并行处理的场景,需要将并行输出的信息存入到FIFO(First Input First Outpu)中供后级使用,但是,由于现有的FIFO是先出队列,且每次只能输入一个信息,而不能并行输入多个信息,当遇到并行输出场景时,则只能分别输入多个并行输出的信息,这样势必会造成并行输出信息通道的堵塞,降低GPU的数据处理效率。由此可知,如何实现FIFO的并行多输入,提高GPU的数据处理效率成为亟待解决的技术问题。
发明内容
本发明目的在于,提供一种基于多输入单输出的FIFO结构的GPU数据处理系统,提高了GPU的数据处理效率。
本发明提供了一种基于多输入单输出的FIFO结构的GPU数据处理系统,包括映射器、FIFO和写指针,其中,
所述映射器包括P个输入端口和P个输出端口{E1,E2,…EP},Ep表示第p个输出端口,p的取值范围为1到P,所述P个输入端口用于并行输入Q个第三获取数据请求,并将Q个第三获取数据请求映射至前Q个输出端口{E1,E2,…EQ},Q≤P,将{E1,E2,…EQ}中的Q个第三数据存入所述FIFO中;
所述FIFO为多输入单输出的FIFO,用于并行输入Q个第三获取数据请求,单个输出FIFO中的第三获取数据请求;
所述写指针始终指向当前FIFO下一待存入数据的行,当前写指针所指行数值为WR,当所述映射器向所述FIFO并行存入Q个第三获取数据请求后,更新WR。
本发明与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本发明提供的一种基于多输入单输出的FIFO结构的GPU数据处理系统可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有下列优点:
本发明通过设置映射器、多输入单输出端口的FIFO和写指针,能够将并行处理的Q个第三获取数据请求信息并行输入至FIFO中,避免任何一个第三获取数据请求信息获取通路的堵塞,提高了GPU的数据获取效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1为本发明实施例提供的基于冲突检测的GPU的数据获取系统示意图;
图2为本发明实施例提供的基于多输入单输出的FIFO结构的GPU数据处理系统示意图。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种基于多输入单输出的FIFO结构的GPU数据处理系统的具体实施方式及其功效,详细说明如后。
实施例一、
本发明实施例一提供了一种基于冲突检测的GPU的数据获取系统,如图1所示,包括位于GPU中的冲突检测模块和P个高速缓冲存储器{C1,C2,…CP},其中,Cp表示第p个高速缓冲存储器(cache),p的取值范围为1到P,P为大于等于2的正整数。
所述冲突检测模块用于获取M个第一获取数据请求,并通过冲突检测将其中虚拟地址信息相同的第一获取数据请求进行融合,生成N个第二获取数据请求,N≤M,并将每一第二获取数据请求定向输出至对应的高速缓冲存储器中, Cp对应的第二获取数据请求队列Lp为{R1 p,R2 p,…, RpS p },pS为Cp对应的第二获取数据请求数量,Ri p表示Lp中第i个第二获取数据请求,0≤pS≤N,i的取值范围为1到pS。如图1所示示例,可以由调度器来下发 M个第一获取数据请求。需要说明的是,高速缓冲存储器在一个周期(cycle)中只能对一个缓存行(cache line)进行处理,而虚拟地址信息相同的第一获取数据请求需要访问的是同一个缓存行,因此将虚拟地址信息相同的第一获取数据请求进行融合,减少第二获取数据请求的数量,减少所需要的周期数量,提高GPU的数据处理效率。
所述P个高速缓冲存储器均与存储器(memory)连接,所述P个高速缓冲存储器并行处理对应的第二获取数据请求,Cp用于分配pS个周期, 为每一Ri p分配一个周期逐个处理Lp中的每一个Ri p。需要说明的是,存储器可以为GPU中的存储器,也可以为GPU外的存储器,例如CPU(Central Processing Unit:中央处理器)中的存储器,根据具体应用场景而定。
作为一种实施例,所述第一获取数据请求包括目标字节数量、偏移量信息、高速缓冲存储器标识信息和虚拟地址信息。其中,目标字节数量可以通过设置访问格式信息来设置,例如,格式为BYTE,则对应一个字节;格式为WORD,则对应两个字节;格式为DWORD,则对应四个字节等等。所述偏移量信息、高速缓冲存储器标识信息和虚拟地址信息按照预设的格式存储至U位数据中,其中,第0-a位用于存储偏移量信息,a+1至b位用于存储高速缓冲存储器标识信息,b+1至U-1位用于存储虚拟地址信息,a、b满足2a=W,2b-a-1=P,W为高速缓冲存储器的位宽。以一个具体示例来进一步说明:高速缓冲存储器具体可以设置为位宽为128byte,深度为64行,U设置为48,对应0-47位,那么,0-6位具体可设置为偏移量,当定位到对应的缓存行时,基于偏移量即可确定获取数据的起始位置。假设共设置了4个高速缓冲存储器,即P=4,调度器每次下发16个第一获取数据请求,即M=16,那么,可以将7-8位设置为高速缓冲存储器标识信息,9-47位设置为虚拟地址信息,这样即可将高位设置为地址信息,低位设置为偏移量信息,便于数据的获取。
作为一种实施例,所述冲突检测模块包括Y个比较器、融合单元和分配单元,Y为M个第一获取数据请求两两任意组合的组合数量,需要说明的是,Y的数量直接基于排列组合即可直接计算得到,在此不再赘述。每一比较器用于输入一组第一获取数据请求进行冲突检测,具体包括比较该组第一获取数据请求中的虚拟地址信息是否相同,并将判断结果输出至融合单元。需要说明的是,若虚拟地址信息相同,则表示对应的第一获取数据请求不冲突,若虚拟地址信息不相同,则表示对应的第一获取数据请求存在冲突。例如第一个比较器的两个输入端口用于输入第一个第一获取数据请求和第二个第一获取数据请求进行比较,第二个比较器用于输入第一个第一获取数据请求和第三个第一获取数据请求进行比较等等。
作为一种实施例,所述融合单元用于将所有虚拟地址信息相同的第一获取数据请求进行融合,生成一个第二获取数据请求,输出至分配单元,所述第二获取数据请求中包括所有被融合的第一获取数据请求中对应的偏移量信息,共用同一高速缓冲存储器标识信息和虚拟地址信息,这样即可将多个第一获取数据请求融合为一个第二获取数据请求,减少获取数据请求的数量,从而减少数据处理所需要的周期数,提高GPU的数据处理效率。需要说明的是,M个第一获取数据请求中有可能存在与其他任何第一获取数据请求中的虚拟地址信息都不同的情况,因此,所述融合单元还用于将虚拟地址信息与其他第一获取数据请求的虚拟地址信息均不相同的第一获取数据请求直接生成为对应的第二获取数据请求,即直接将第一获取数据请求中的信息作为对应的第二获取数据请求中的信息,并输出至分配单元。
所述分配单元用于基于每一第二获取数据请求中的高速缓冲存储器标识信息将第二获取数据请求传输至对应的高速缓冲存储器中,通过分配单元后即可将N个第二获取数据请求划分为P路。
作为一种实施例,所述P个高速缓冲存储器中,每一高速缓冲存储器对应一个物理地址存储区间,用于从存储器中获取对应物理地址存储区间中的物理地址对应的数据,P个物理地址存储区间不重叠。可以理解的是,基于每一高速缓冲存储器和物理地址存储区间的对应关系,上游设备在下发第一获取数据请求时,即可直接指定对应的高速缓冲存储器。每一所述物理地址存储区间包括多个物理地址,所述高速缓冲存储器中包括多个缓存行,每一缓存行用于存储一个物理地址对应的地址标识和数据,即每一个缓存行存储一个物理地址对应的数据,地址标识即为物理地址信息。
作为一种优选示例,所述P个高速缓冲存储器的宽度和深度均相同,例如P个高速缓冲存储器均设置为宽度为128byte,64line的高速缓冲存储器,P个高速缓冲存储器的宽度和深度均相同便于硬件的设计和布局,也能提高GPU数据处理效率,但可以理解的是,如何需要设置不同宽度和深度的高速缓冲存储器,则在此基础上变形即可。
作为一种实施例,Cp具体用于:
在Cp分配的第i个周期中,基于Ri p中虚拟地址信息对应的物理地址信息,判断当前Cp中是否已经存储有对应的数据,若存在,则基于偏移量信息定位到对应的缓存行中的起点,并从起点开始获取目标字节数量的数据。需要说明的是,现有技术中将虚拟地址映射为物理地址的技术均落入本申请保护范围之内,在此不再赘述。若不存在,则基于对应的物理地址信息生成第三获取数据请求,基于第三获取数据请求从所述存储器中获取对应的数据存储至对应的Cp对应的缓存行中,再基于偏移量信息定位到对应的缓存行中的起点,并从起点开始获取目标字节数量的数据。本领域技术人员可以理解的是,现有的基于第三获取数据请求从所述存储器中获取对应的数据存储至对应的Cp对应的缓存行中的实现方式全都落入本发明保护范围之内,在此不再赘述。
可以理解的是,高速缓冲存储器初始状态未存储数据,但随着系统的运行,高速缓冲存储器中可能不断存入数据,还可能达到存满的状态,作为一种实施例,在Cp基于第三获取数据请求从所述存储器中获取对应的数据存储至对应的Cp对应的缓存行的过程中,Cp还用于:判断当前Cp的缓存行是否已存满,若存满,则从根据存储时间和/或使用频率选择一个缓存行,将其中的数据清除,再将从所述存储器中获取对应的数据存储至该缓存行中。具体的,可以仅根据存储时间来选择需清除的缓存行,即将存入时间最久的缓存行清除。也可仅根据使用频率来选择需清除的缓存行,即将距离当前预设时间段内使用频率最低的缓存行清除。亦可以将存储时间和使用频率均考虑在内,设置对应的权重来衡量,选择需清除的缓存行,还可以直接采用现有的LRU(Least Recently Used)算法来替换缓存行。
实施例一通过对M个第一获取数据请求的冲突检测,将其中虚拟地址信息相同的第一获取数据请求进行融合,减少获取数据请求的数量,并设置P个并行的高速缓冲存储器,并行处理N个第二获取数据请求,提高了GPU的数据获取效率。
实施例二、
在实施例一中,P个高速缓冲存储器在并行处理时,是有可能出现多个高速缓冲存储器都没有命中(miss)的情况,这种情况下,P个高速缓冲存储器在一个周期内是可能并行输出多个第三获取数据请求的,且并行输出多个第三获取数据请求是有需求同时存入一个FIFO中的,本领域技术人员可以理解,GPU的数据处理中,除了实施例一的场景之外,还可能存在其他需要并行输入一个FIFO中请求信息的场景,基于此,本发明提出了实施例二,为了便于说明,以实施例一为基础对实施例二进行进一步说明,但实施例二不仅限于适用于实施例一,其他类似的需要多输入的FIFO的场景也在本发明保护范围之内。
本发明实施例二提供了一种基于多输入单输出的FIFO结构的GPU数据处理系统,如图2所示,包括映射器、FIFO和写指针,可以理解的是,以实施例一为基础,映射器、FIFO和写指针位于P个高速缓冲存储器和存储器之间,且均位于GPU中。所述映射器包括P个输入端口和P个输出端口{E1,E2,…EP},Ep表示第p个输出端口,p的取值范围为1到P,所述P个输入端口用于并行输入Q个第三获取数据请求,并将Q个第三获取数据请求映射至前Q个输出端口{E1,E2,…EQ},Q≤P,将{E1,E2,…EQ}中的Q个第三数据存入所述FIFO中。
以实施例一为基础,作为示例,所述映射器与P个并行处理的高速缓冲存储器相连接,每一高速缓冲存储器的输出端口连接一个对一个的映射器的输入端口,在一个周期中,当存在Q个高速缓冲存储器未命中数据时,Q个高速缓冲存储器并行向对应的输入端口输入对应的第三获取数据请求。P个并行处理的高速缓冲存储器输出第三获取数据请求的技术细节已在实施例一种描述,在此不再展开。
以实施例一为基础,作为示例,所述第三获取数据请求包括物理地址信息,所述FIFO用于单个输出FIFO中的第三获取数据请求至存储器中,基于物理地址信息从存储器中获取对应的数据存储至对应的高速缓冲存储器中。实施例一中的相关技术细节在此不再展开。
所述FIFO为多输入单输出的FIFO,用于并行输入Q个第三获取数据请求,单个输出FIFO中的第三获取数据请求,即并行向FIFO的Q个行中存储对应的信息,输出是与现有的FIFO相同,逐行读取即可,在此不再赘述。
所述写指针始终指向当前FIFO下一待存入数据的行,可以理解的是,当前FIFO下一待存入数据的行指的是距离当前时刻最近的一次存储,结束后,下一可存粗的行。当前写指针所指行数值为WR,当所述映射器向所述FIFO并行存入Q个第三获取数据请求后,更新WR。作为一种实施例,所述写指针始终设置在E1上。
作为一种实施例,所述映射器还用于判断当前FIFO中剩余可存储行数是否大于等于当前Q值,若当前FIFO中剩余可存储行数大于等于当前Q值,则直接执行C1,否则,待当前FIFO中剩余可存储行数是否大于等于当前Q值时,再执行C1:
C1、将输出端口Ej的第三获取数据请求存储至FIFO的第WR+j-1行,j的取值范围为1到Q,判断WR+Q是否大于T,若WR+Q大于T,则则设置WR=WR+Q-T,若WR+Q小于等于T,则设置WR=WR+Q,其中,T为FIFO的深度。
作为一种实施例,P个输入端口为{F1,F2,…FP},Fp表示第p个输入端口,所述P个输入端口用于并行输入Q个第三获取数据请求,并将Q个第三获取数据请求映射至前Q个输出端口{E1,E2,…EQ},具体包括:
S1、若{F1,F2,…FP}中均输入了第三获取数据请求,则P=Q,Ep=Fp,否则,进入S2;
S2、按照F1,F2,…FP的顺序遍历每一输入端口,将第y个存在第三获取数据请求的输入端口的第三获取数据请求映射至Ey,y的取值范围为1到Q,Q<P。
以一具体示例来说明,假设P=4,F2和F4输入端口输入了对应的第三获取数据请求,则将F2的第三获取数据请求映射至输出端口E1,将F4输入端口的第三获取数据请求映射至输出端口E2,输出端口E1和E2,将输入端口F2和F4的第三获取数据请求并行存入FIFO中,其中E1将F2的第三获取数据请求存入FIFO的第WR行,E2将F2的第三获取数据请求存入FIFO的第WR+1行。
本发明实施例二通过设置映射器、多输入单输出端口的FIFO和写指针,能够将并行处理的Q个第三获取数据请求信息并行输入至FIFO中,避免任何一个第三获取数据请求信息获取通路的堵塞,提高了GPU的数据获取效率。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (7)

1.一种基于多输入单输出的FIFO结构的GPU数据处理系统,其特征在于,
包括映射器、FIFO和写指针,其中,
所述映射器包括P个输入端口和P个输出端口{E1,E2,…EP},Ep表示第p个输出端口,p的取值范围为1到P,所述P个输入端口用于并行输入Q个第三获取数据请求,并将Q个第三获取数据请求映射至前Q个输出端口{E1,E2,…EQ},Q≤P,将{E1,E2,…EQ}中的Q个第三数据存入所述FIFO中;
所述FIFO为多输入单输出的FIFO,用于并行输入Q个第三获取数据请求,单个输出FIFO中的第三获取数据请求;
所述写指针始终指向当前FIFO下一待存入数据的行,当前写指针所指行数值为WR,当所述映射器向所述FIFO并行存入Q个第三获取数据请求后,更新WR。
2.根据权利要求1所述的系统,其特征在于,
所述映射器还用于判断当前FIFO中剩余可存储行数是否大于等于当前Q值,若当前FIFO中剩余可存储行数大于等于当前Q值,则直接执行C1,否则,待当前FIFO中剩余可存储行数是否大于等于当前Q值时,再执行C1:
C1、将输出端口Ej的第三获取数据请求存储至FIFO的第WR+j-1行,j的取值范围为1到Q,判断WR+Q是否大于T,若WR+Q大于T,则设置WR=WR+Q-T,若WR+Q小于等于T,则设置WR=WR+Q,其中,T为FIFO的深度。
3.根据权利要求1所述的系统,其特征在于,
所述写指针始终设置在E1上。
4.根据权利要求1或2所述的系统,其特征在于,
P个输入端口为{F1,F2,…FP},Fp表示第p个输入端口,所述P个输入端口用于并行输入Q个第三获取数据请求,并将Q个第三获取数据请求映射至前Q个输出端口{E1,E2,…EQ},具体包括:
S1、若{F1,F2,…FP}中均输入了第三获取数据请求,则P=Q,Ep=Fp,否则,进入S2;
S2、按照F1,F2,…FP的顺序遍历每一输入端口,将第y个存在第三获取数据请求的输入端口的第三获取数据请求映射至Ey,y的取值范围为1到Q,Q<P。
5.根据权利要求1所述的系统,其特征在于,
所述映射器与P个并行处理的高速缓冲存储器相连接,每一高速缓冲存储器的输出端口连接一个对一个的映射器的输入端口,在一个周期中,当存在Q个高速缓冲存储器未命中数据时,Q个高速缓冲存储器并行向对应的输入端口输入对应的第三获取数据请求。
6.根据权利要求5所述的系统,其特征在于,
所述第三获取数据请求包括物理地址信息,所述FIFO用于单个输出FIFO中的第三获取数据请求至存储器中,基于物理地址信息从存储器中获取对应的数据存储至对应的高速缓冲存储器中。
7.根据权利要求5所述的系统,其特征在于,
所述P个高速缓冲存储器的宽度和深度均相同。
CN202210546501.4A 2022-05-20 2022-05-20 基于多输入单输出的fifo结构的gpu数据处理系统 Active CN114647516B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210546501.4A CN114647516B (zh) 2022-05-20 2022-05-20 基于多输入单输出的fifo结构的gpu数据处理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210546501.4A CN114647516B (zh) 2022-05-20 2022-05-20 基于多输入单输出的fifo结构的gpu数据处理系统

Publications (2)

Publication Number Publication Date
CN114647516A true CN114647516A (zh) 2022-06-21
CN114647516B CN114647516B (zh) 2022-08-23

Family

ID=81996657

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210546501.4A Active CN114647516B (zh) 2022-05-20 2022-05-20 基于多输入单输出的fifo结构的gpu数据处理系统

Country Status (1)

Country Link
CN (1) CN114647516B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5493434A (en) * 1993-07-14 1996-02-20 Nippon Telegraph And Telephone Corporation Photonic frequency division multiplexed FIFO buffer
CN102253921A (zh) * 2011-06-14 2011-11-23 清华大学 一种动态可重构处理器
CN104778025A (zh) * 2015-04-16 2015-07-15 浪潮电子信息产业股份有限公司 基于随机访问存储器的先入先出存储器的电路结构
CN106683158A (zh) * 2016-12-12 2017-05-17 中国航空工业集团公司西安航空计算技术研究所 一种GPU纹理映射非阻塞存储Cache的建模结构
CN110134366A (zh) * 2019-05-21 2019-08-16 合肥工业大学 一种并行写入多通道fifo的方法及装置
CN110457238A (zh) * 2019-07-04 2019-11-15 中国民航大学 减缓GPU访存请求及指令访问cache时停顿的方法
CN114063934A (zh) * 2021-12-09 2022-02-18 北京奕斯伟计算技术有限公司 数据更新装置、方法及电子设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5493434A (en) * 1993-07-14 1996-02-20 Nippon Telegraph And Telephone Corporation Photonic frequency division multiplexed FIFO buffer
CN102253921A (zh) * 2011-06-14 2011-11-23 清华大学 一种动态可重构处理器
CN104778025A (zh) * 2015-04-16 2015-07-15 浪潮电子信息产业股份有限公司 基于随机访问存储器的先入先出存储器的电路结构
CN106683158A (zh) * 2016-12-12 2017-05-17 中国航空工业集团公司西安航空计算技术研究所 一种GPU纹理映射非阻塞存储Cache的建模结构
CN110134366A (zh) * 2019-05-21 2019-08-16 合肥工业大学 一种并行写入多通道fifo的方法及装置
CN110457238A (zh) * 2019-07-04 2019-11-15 中国民航大学 减缓GPU访存请求及指令访问cache时停顿的方法
CN114063934A (zh) * 2021-12-09 2022-02-18 北京奕斯伟计算技术有限公司 数据更新装置、方法及电子设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SHUNA YANG等: ""Multiple input single output optical buffers for asynchronous optical packet switched networks"", 《2014 IEEE GLOBAL COMMUNICATIONS CONFERENCE》 *
李函: ""基于FPGA的FAST协议解码金融加速设计"", 《中国优秀硕士学位论文全文数据库 经济与管理科学辑》 *
胡佳明等: "基于SystemC的MIMO OFDM系统的仿真实现", 《计算机工程》 *

Also Published As

Publication number Publication date
CN114647516B (zh) 2022-08-23

Similar Documents

Publication Publication Date Title
CN100573477C (zh) 管理锁定的高速缓冲存储器中的组替换的系统和方法
US5555387A (en) Method and apparatus for implementing virtual memory having multiple selected page sizes
US7366865B2 (en) Enqueueing entries in a packet queue referencing packets
US20170242794A1 (en) Associative and atomic write-back caching system and method for storage subsystem
US20020116586A1 (en) Shared write buffer for use by multiple processor units
CN101918925B (zh) 用于处理器的高关联性高速缓存的第二次机会取代机制
CN101261575B (zh) 一种实现不等宽数据传输的异步先进先出存储器及方法
EP2074511B1 (en) Efficient store queue architecture
CA2556083A1 (en) Memory allocation
WO2019127104A1 (zh) 高速缓存中资源调整方法、数据访问方法及装置
CN101488919B (zh) 存储地址分配方法和装置
US20030149842A1 (en) Method for controling cache system comprising direct-mapped cache and fully-associative buffer
CN115168248B (zh) 支持simt架构的高速缓冲存储器及相应处理器
CN116501249A (zh) 一种减少gpu内存重复数据读写的方法及相关设备
JP2009015509A (ja) キャッシュメモリ装置
CN114647516B (zh) 基于多输入单输出的fifo结构的gpu数据处理系统
US20100257319A1 (en) Cache system, method of controlling cache system, and information processing apparatus
CN111341374B (zh) 存储器的测试方法、装置及可读存储器
CN114637609B (zh) 基于冲突检测的gpu的数据获取系统
US20140013054A1 (en) Storing data structures in cache
WO2013184855A1 (en) Memory with bank-conflict-resolution (bcr) module including cache
WO2023121839A1 (en) Approach for providing indirect addressing in memory modules background
US20040019764A1 (en) System and method for processing data in an integrated circuit environment
CN114625719A (zh) 一种基于移动滤波框架的动态集合管理方法和系统
CN114610231A (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