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

文档序号:8361366阅读:来源:国知局
[0019]图1是无缓冲片上网络的一种具体结构原理示意图。
[0020]图2是传统的端设备输入缓冲在写入请求时的原理示意图。
[0021]图3是传统的端设备输入缓冲中产生Busy请求的原理示意图。
[0022]图4是本实施例用于处理器端设备中的高效缓存方法的实现流程示意图。
[0023]图5是本实施例用于处理器端设备中的输入缓冲装置的结构示意图。
[0024]图6是本实施例中请求写入单元的结构示意图。
[0025]图7是本实施例中请求读出单元的结构示意图。
[0026]图8是本实施例中Busy产生模块的结构示意图。
[0027]图9是本实施例中读写缓冲分离的输入缓冲装置的结构示意图。
[0028]图10是本实施例中输入缓冲装置写入请求的实现原理示意图。
[0029]图11是本实施例中输入缓冲装置读出请求的实现原理示意图。
[0030]图12是本发明具体实施例中写入请求的原理示意图。
[0031]图13是本发明具体实施例中读出请求的原理示意图。
[0032]图14是本发明具体实施例中Busy信号产生的原理示意图。
【具体实施方式】
[0033]以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
[0034]如图4所示,本实施例用于处理器端设备中的高效缓存方法,步骤包括:
1)在端设备中依次设置多个相同结构的用于缓冲请求的子缓冲;
2)接收各源设备发送的请求并统计每拍接收到的请求数;每拍根据请求数控制将接收到的各请求按行顺序分别依次循环的写入或读出各子缓冲中;当各子缓冲中请求数总和大于预设阈值时,产生Busy信号发送至各源设备。
[0035]本实施例通过按每拍到达的读写请求数,控制将源设备的请求依次循环的写入各子缓冲中,即依次写入各子缓冲并在各子缓冲中循环执行,以实现无间隙地缓存,避免了请求存储至输入缓冲时产生空存储的“气泡”情况,因而也降低了子缓冲的深度,显著的减少了输入缓冲的面积,同时降低功耗;通过每拍存储的请求数,还能够使得在进行请求读出操作时能够保持数据相关性。
[0036]本实施例在只有缓冲存放请求的总深度接近阈值时才会产生Busy信号,而传统的输入缓冲在任意子缓冲接近阈值就会产生Busy信号,因而本实施例高效缓存方法的Busy信号产生时机要比传统方法晚的多,能够有效提高缓存效率。
[0037]本实施例中,步骤2)中每拍将接收到的各请求按行顺序分别依次循环的写入或读出各子缓冲中的具体实施步骤为:
2.1)每拍执行时,控制将上一拍执行结束位置的下一个子缓冲作为起始子缓冲,并从起使子缓冲开始依次循环的取η个目标子缓冲执行写入或读出请求操作,其中η为请求数;
2.2)各目标子缓冲按照当前对应的存储位置指针写入或读出请求后,更新各目标子缓冲的存储位置指针。本实施例中,步骤2.1)的具体实施步骤为:
2.11)获取当前拍的起始子缓冲位置指针,根据起始子缓冲位置指针以及当前拍的请求数生成控制各子缓冲的使能信号,使从起始子缓冲开始依次循环的共η个子缓冲使能有效,其中η为请求数;
2.12)控制使能有效的子缓冲执行写入或读出请求,并更新起始子缓冲位置指针为当前拍执行结束位置的下一个子缓冲以用于下一拍执行。
[0038]本实施例中,步骤2.11)中生成控制各子缓冲的使能信号的具体实施步骤为:
2.111)产生一个各数据位与各子缓冲一一对应的使能信号,并初始化使能信号的各数据位中高位为0、低位为1,且其中为I的数据位的个数与请求数相等,得到初始使能信号;
2.112)对初始使能信号循环移位M位,M为将最低位移至起始子缓冲所对应的数据位所需要移动的次数,得到最终使能信号,最终使能信号中为I的数据位对应的子缓冲为使能有效。
[0039]本实施例中,步骤2.2)中更新各目标子缓冲的存储位置指针的具体实施步骤为:获取当前拍各子缓冲所处的行位置指针,将行位置指针增加I更新得到各目标子缓冲的存储位置指针。
[0040]本实施例将各子缓冲与请求通路分离,通过起始子缓冲位置指针、各子缓冲所处的行位置指针所构成的全局指针来带动各子缓冲的局部存储位置指针,由全局指针以及请求数生成各子缓冲的使能信号,控制使能有效对应子缓冲执行写入或读出操作,执行后再更新局部存储位置指针,以实现无间隙地将请求存储在子缓冲中。
[0041]如图5所示,本实施例中采用上述高效缓存方法的输入缓冲装置,包括:
请求缓冲模块,包括依次设置的多个相同结构的用于缓冲请求的子缓冲;
请求管理模块,用于接收各源设备发送的请求并统计每拍接收到的请求数,输出至写入与读出控制模块;
写入与读出控制模块,用于每拍根据请求数控制将接收到的各请求按行顺序分别依次循环的写入或读出各子缓冲中;
Busy产生模块,用于当各子缓冲中请求数总和大于预设阈值时,产生Busy信号发送至各源设备。
[0042]本实施例中,写入与读出控制模块包括用于执行写入控制的请求写入控制单元、以及用于执行读出控制的请求读出控制单元;请求写入控制单元、请求读出控制单元均包括一个使能控制电路以及一个行控制电路,使能控制电路用于每拍执行时,控制将上一拍执行结束位置的下一个子缓冲作为起始子缓冲,并从起使子缓冲开始依次循环的取η个目标子缓冲执行写入或读出请求操作,其中η为请求数;行控制电路用于各目标子缓冲按照当前对应的存储位置指针写入或读出请求后,更新各目标子缓冲的存储位置指针。通过按每拍到达输入缓冲的读写请求数将源设备的请求依次循环的写入各子缓冲中,能够实现无间隙地存储请求,避免了存储过程中出现的“气泡”问题,同时也降低了子缓冲的深度,从而显著的减少了输入缓冲的面积、降低功耗。
[0043]本实施例中,使能控制电路包括初始使能信号产生逻辑以及使能旋转逻辑,初始使能信号产生逻辑用于产生一个各数据位与各子缓冲一一对应的使能信号数据,并初始化使能信号数据的各数据位中高位为0、低位为1,且其中为I的数据位的个数与请求数相等,得到初始使能信号;使能旋转逻辑用于对初始使能信号进行循环移位M位,M为将最低位移至起始子缓冲所对应的数据位所需要移动的次数,得到最终使能信号,最终使能信号中为I的数据位对应的子缓冲为使能有效。
[0044]本实施例中,行控制电路包括指针选择信号产生逻辑以及行指针更新逻辑,指针选择信号产生逻辑用于产生一个各数据位与各子缓冲一一对应的指针选择信号数据,并初始化指针选择信号数据的各数据位中高位为O、低位为1,其中为I的数据位的个数与请求数相等,得到指针选择信号;行指针更新逻辑用于对指针选择信号中数据位为I对应的目标子缓冲,将指针控制电路发送的行位置指针增加I更新得到下一拍请求存储位置指针。
[0045]如图6、7所示,请求写入控制单元、请求读出控制单元均还包括一个分别与使能控制电路以及行控制电路连接的指针控制电路,指针控制电路用于每拍执行时将当前存储的起始子缓冲位置指针以及各子缓冲存储位置所在的行位置指针分别输出至使能控制电路、行控制电路,并根据请求数更新起始子缓冲位置指针为当前拍执行结束位置的下一个子缓冲以用于下一拍执行、更新行位置指针为当前拍执行结束位置的下一个子缓冲中存储位置指针所在的行。通过指针控制电路完成两个操作:一是把当前起始子缓冲位置指针、行位置指针的全局指针传递给使能控制电路、行控制电路;二是根据统计出的请求数更新全局指针,即计算出执行写入或读出操作结束后的全局指针,其值为将读请求数加上进行请求读出操作前的全局指针至。
[0046]本实施例中,由起始子缓冲位置指针L和各子缓冲存储位置所在的行位置指针H两部分构成请求缓冲模块的全局指针,指针L为低位、指针H为高位,指示当拍执行写入或读出操作时的起始子缓冲以及各子缓冲存储位置所在的行。假设缓冲含有X个子缓冲且该缓冲最多能够存储Y个请求,则定义全局指针高1g2Y-1og2X位为指针H,通过指针H确定进行下一拍操作起始请求所在的行数;定义全局指针低1g2X位为指针L,通过指针L确定进行下一拍操作起始请求所在的子缓冲的编号。
[0047]在写入请求至子缓冲时,通过请求写入控制单元对请求进行预处理,生成控制各子缓冲的写入使能信号以及写入存储位置指针,将写入存储位置指针作为写指针控制写入位置;在读出请求至子缓冲时,通过请求读出控制单元对请求进行预处理,生成控制各子缓冲的读出使能信号以及读出存储位置指针,将读出存储指针作为读指针控制读出位置。
[0048]如图6所示,请求写入控制单元还包括请求排序电路,请求排序电路与
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1