[发明专利]基于多输入单输出的FIFO结构的GPU数据处理系统有效
申请号: | 202210546501.4 | 申请日: | 2022-05-20 |
公开(公告)号: | CN114647516B | 公开(公告)日: | 2022-08-23 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 沐曦集成电路(上海)有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06K9/62;G06T1/20;G06F5/06;G06F12/06;G06F12/0877 |
代理公司: | 北京锺维联合知识产权代理有限公司 11579 | 代理人: | 丁慧玲 |
地址: | 201306 上海市浦东新区中国(上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 输入 输出 fifo 结构 gpu 数据处理系统 | ||
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;
所述映射器与P个并行处理的高速缓冲存储器相连接,每一高速缓冲存储器的输出端口连接一个对一个的映射器的输入端口,在一个周期中,当存在Q个高速缓冲存储器未命中数据时,Q个高速缓冲存储器并行向对应的输入端口输入对应的第三获取数据请求;
所述系统还包括位于GPU中的冲突检测模块和P个cache{C1,C2,…CP},其中,Cp表示第p个cache,p的取值范围为1到P,P为大于等于2的正整数;
所述冲突检测模块用于获取M个第一获取数据请求,并通过冲突检测将其中虚拟地址信息相同的第一获取数据请求进行融合,生成N个第二获取数据请求,N≤M,并将每一第二获取数据请求定向输出至对应的cache中,Cp对应的第二获取数据请求队列Lp为{R1p,R2p,…, RpSp },pS为Cp对应的第二获取数据请求数量,Rip表示Lp中第i个第二获取数据请求,0≤pS≤N,i的取值范围为1到pS;
所述P个cache均与memory连接,所述P个cache并行处理对应的第二获取数据请求,Cp用于分配pS个cycle, 为每一Rip分配一个cycle逐个处理Lp中的每一个Rip;
所述第一获取数据请求包括目标字节数量、偏移量信息、cache标识信息和虚拟地址信息;
Cp具体用于:
在Cp分配的第i个cycle中,基于Rip中虚拟地址信息对应的物理地址信息,判断当前Cp中是否已经存储有对应的数据,若存在,则基于偏移量信息定位到对应的cache line中的起点,并从起点开始获取目标字节数量的数据;若不存在,则基于对应的物理地址信息生成所述第三获取数据请求,基于第三获取数据请求从所述memory中获取对应的数据存储至对应的Cp对应的cache line中,再基于偏移量信息定位到对应的cache line中的起点,并从起点开始获取目标字节数量的数据。
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的深度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于沐曦集成电路(上海)有限公司,未经沐曦集成电路(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210546501.4/1.html,转载请声明来源钻瓜专利网。