用于处理器端设备中的高效缓存方法及输入缓冲装置的制造方法_4

文档序号:8361366阅读:来源:国知局
入操作前,缓冲中的各个子缓冲由于共享同一套写指针(写指针1,写指针2,…,写指针T),且写指针位于同一行。写入请求时,将请求对应的写入子缓冲写指针指向的位置处。写入操作结束后,子缓冲写指针全部下移一行,准备下一次的请求写入操作。如图2中的填充部分表示写入的请求,从图中可以看出,当拍写入的请求只有3个(RP、RP+1、RP+2),而T-3个子缓冲没有进行有效的数据写入,产生了 “气泡”现象,导致存储空间的浪费。
[0061]本发明具体实施例中读出请求如图13所示,缓冲中包含有T个子缓冲,当T等于M时,表示的是读缓冲的读出操作;当T等于N时,表示的是写缓冲的读出操作。进行读出操作前,请求读出电路进行读出预处理操作,产生出对应于各个子缓冲的读使能和读指针。根据起始子缓冲位置指针L的位置不同,各个子缓冲的读指针位置也不一样,可能位于同一行也可能位于相邻的两行,如图中各个子缓冲对应的读指针位于相邻的两行。从全局读指针指向的位置处开始,结合各个子缓冲对应的读使能信号和读指针信号将缓冲中的请求读出,图中的填充部分表示读出的请求,一共有Τ-Q+l个(Rq、…、Rh、Rt)。读出操作结束后,全局读指针根据实际从缓冲中读出的请求数进行移动,图中的指针L指向了子缓冲2而指针H指向了下一行。更新得到的全局读指针会保存在请求读出电路的指针控制电路中,以进行下一次读出操作。各个子缓冲对应的读指针在得到新全局读指针信号后,迅速进行移动。如图所示,读指针1、读指针Q+1到T都下移一行,其余的读指针没有变化。
[0062]本发明具体实施例中Busy信号产生原理如图14所示,缓冲中包含有i个子缓冲,子缓冲和请求通路是分离的,请求通路到达的请求会依照写入策略无间隙的写入到缓冲中,因而请求写入非常紧密。缓冲中至少应该能够容纳的请求数为在端设备Busy发出后各个源设备已经发出和将要发出的总请求数之和,即缓冲总深度为XJXf^Xi,子缓冲的深度为(XJXf-^XiVi,在缓冲存放请求总深度接近阈值时,才产生出Busy信号。当分离设置读缓冲、写缓冲时,则需要对两个缓冲各自产自的子Busy信号进行或操作。
[0063]而对于传统输入缓冲,每个子缓冲和请求通路一一对应,且假定端设备Busy发出后各个源设备已经发出和将要发出的总请求数对应于请求通路(按照通道号由小到大的顺序)分别为Xp \、…、\,由于传统方法是以行为单位对缓冲进行写入操作的,因此每个子缓冲深度相等且为请求通路中传递请求数的最大值,即MaxiX1, X2,…,XJ。如图3所示,子缓冲I接近阈值而其他子缓冲没有任何请求,此时这仍会产生Busy信号。
[0064]上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。
【主权项】
1.一种用于处理器端设备中的高效缓存方法,其特征在于,步骤包括: 1)在端设备中依次设置多个相同结构的用于缓冲请求的子缓冲; 2)接收各源设备发送的请求并统计每拍接收到的请求数;每拍根据请求数控制将接收到的各请求按行顺序分别依次循环的写入或读出各子缓冲中;当各子缓冲中请求数总和大于预设阈值时,产生Busy信号发送至各源设备。
2.根据权利要求1所述的用于处理器端设备中的高效缓存方法,其特征在于,所述步骤2)中每拍将接收到的各请求按行顺序分别依次循环的写入或读出各子缓冲中的具体实施步骤为: 2.1)每拍执行时,控制将上一拍执行结束位置的下一个子缓冲作为起始子缓冲,并从起使子缓冲开始依次循环的取η个目标子缓冲执行写入或读出请求操作,其中η为所述请求数; 2.2)各目标子缓冲按照当前对应的存储位置指针写入或读出请求后,更新各目标子缓冲的存储位置指针。
3.根据权利要求2所述的用于处理器端设备中的高效缓存方法,其特征在于,所述步骤2.1)的具体实施步骤为: 2.11)获取当前拍的起始子缓冲位置指针,根据所述起始子缓冲位置指针以及当前拍的请求数生成控制各子缓冲的使能信号,使从起始子缓冲开始依次循环的共η个子缓冲使能有效,其中η为所述请求数; 2.12)控制使能有效的子缓冲执行写入或读出请求,并更新起始子缓冲位置指针为当前拍执行结束位置的下一个子缓冲以用于下一拍执行。
4.根据权利要求3所述的用于处理器端设备中的高效缓存方法,其特征在于,所述步骤2.11)中生成控制各子缓冲的使能信号的具体实施步骤为: 2.111)产生一个各数据位与各子缓冲一一对应的使能信号,并初始化所述使能信号的各数据位中高位为O、低位为1,且其中为I的数据位的个数与所述请求数相等,得到初始使能信号; 2.112)对初始使能信号循环移位M位,所述M为将最低位移至起始子缓冲所对应的数据位所需要移动的次数,得到最终使能信号,所述最终使能信号中为I的数据位对应的子缓冲为使能有效。
5.根据权利要求2或3或4所述的用于处理器端设备中的高效缓存方法,其特征在于,所述步骤2.2)中更新各目标子缓冲的存储位置指针的具体实施步骤为:获取当前拍各子缓冲所处的行位置指针,将所述行位置指针增加I更新得到各目标子缓冲的存储位置指针。
6.一种利用权利要求1所述高效缓存方法的输入缓冲装置,其特征在于,包括: 请求缓冲模块,包括在端设备中依次设置的多个相同结构的用于缓冲请求的子缓冲; 请求管理模块,用于接收各源设备发送的请求并统计每拍接收到的请求数,输出至写入与读出控制模块; 写入与读出控制模块,用于每拍根据请求数控制将接收到的各请求按行顺序分别依次循环的写入或读出各子缓冲中; Busy产生模块,用于当各子缓冲中请求数总和大于预设阈值时,产生Busy信号发送至各源设备。
7.根据权利要求6所述的输入缓冲装置,其特征在于:所述写入与读出控制模块包括用于执行写入控制的请求写入控制单元、以及用于执行读出控制的请求读出控制单元;所述请求写入控制单元、请求读出控制单元均包括一个使能控制电路以及一个行控制电路,所述使能控制电路用于每拍执行时,控制将上一拍执行结束位置的下一个子缓冲作为起始子缓冲,并从起使子缓冲开始依次循环的取η个目标子缓冲执行写入或读出请求操作,其中η为所述请求数;所述行控制电路用于各目标子缓冲按照当前对应的存储位置指针写入或读出请求后,更新各目标子缓冲的存储位置指针。
8.根据权利要求7所述的输入缓冲装置,其特征在于:所述请求写入控制单元、请求读出控制单元均还包括一个分别与使能控制电路以及行控制电路连接的指针控制电路,所述指针控制电路用于每拍执行时将当前存储的起始子缓冲位置指针以及各子缓冲存储位置所在的行位置指针分别输出至所述使能控制电路、行控制电路,并根据请求数更新所述起始子缓冲位置指针为当前拍执行结束位置的下一个子缓冲以用于下一拍执行、更新所述行位置指针为当前拍执行结束位置的下一个子缓冲中存储位置指针所在的行。
9.根据权利要求8所述的输入缓冲装置,其特征在于:所述请求写入控制单元还包括请求排序电路,所述请求排序电路与所述使能控制电路的输出端连接;所述请求排序电路用于将源设备发送的各请求按照对应的使能信号进行排序,得到排序后的请求序列输出至各子缓冲。
10.根据权利要求6?9中任意一项所述的输入缓冲装置,其特征在于:所述请求缓冲模块包括用于缓冲读请求的读请求缓冲单元、用于缓冲写请求的写请求缓冲单元;所述请求管理模块包括请求识别与统计单元以及管理FIFO单元,所述请求识别与统计单元用于识别源设备发送的请求类型并统计其中读请求、写请求的个数,通过管理FIFO单元存储每拍统计得到的读请求、写请求的个数。
【专利摘要】本发明公开一种用于处理器端设备的高效缓存方法以及输入缓冲装置,该缓存方法步骤包括:在端设备中依次设置多个相同结构的用于缓冲请求的子缓冲;2)接收各源设备发送的请求并统计每拍接收到的请求数;每拍根据请求数控制将接收到的各请求按行顺序分别依次循环的写入或读出各子缓冲中;当各子缓冲中请求数总和大于预设阈值时,产生Busy信号发送至各源设备。该输入缓冲装置包括请求缓冲模块、写入与读出控制模块以及Busy产生模块。本发明能够实现无间隙的存储源设备请求,具有缓存效率与硬件利用率高、硬件开销小且功耗低的优点。
【IPC分类】G06F12-08
【公开号】CN104679671
【申请号】CN201510135337
【发明人】刘胜, 陈海燕, 陈书明, 郭阳, 万江华, 李振涛, 陈胜刚, 陈小文, 李昭然, 王慧慧
【申请人】中国人民解放军国防科学技术大学
【公开日】2015年6月3日
【申请日】2015年3月26日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1