面向流数据的重排序访存缓冲方法及装置的制作方法

文档序号:6572219阅读:188来源:国知局
专利名称:面向流数据的重排序访存缓冲方法及装置的制作方法
技术领域
本发明主要涉及到微处理器设计领域,特指一种面向流数据的重排序访存缓冲方法及装置。
背景技术
流处理器结构是一类针对流应用能高效处理的SIMD类型的处理器结构。流应用对带宽有很高要求,其数据有量大、持续流入且较少重用等特点。流处理器核心处理部件为一系列并行工作的计算群。其处理单位为流(stream),流由一些有序同构的记录(record)组成,组成记录的则是一系列相关的数据元素(element),其中一个数据元素为一个字,记录内部的数据元素在存储器中是连续存放的。地址产生部件负责将上层结构中以记录为单位的流按照适应计算群并行高效处理的算法分解成单个的数据元素序列,存储调度缓存负责将其转换成适合访问DDR或者DDR2存储器的地址序列,为了便于说明,后文中统称DDR或者DDR2存储器为DDR存储器。
当今最常用的片外存储器为DDR DRAM,DDR的一个重要的特性就是突发式(burst)传输,它通过一个列访问实现对当前激活行的多个连续数据元素的快速访问,其突发长度一般为2、4和8,也就是说一次访存可以从存储器拿几个数据,该访问方式为连续访存提供了很高的吞吐量。因此,如果访存流地址序列为连续的块地址序列,那么DDR存储器可以达到很高的访存效率。

发明内容
本发明要解决的技术问题就在于针对现有技术存在的技术问题,本发明提供一种通过采用一种根据访存流记录长度可动态配置的重排序缓冲方法对访存序列进行重新排序,使离散的访存序列连续化,优化访存,同时能够提高访存效率、扩展有效带宽的面向流数据的重排序访存缓冲方法及装置。
为解决上述技术问题,本发明提出的解决方案为一种面向流数据的重排序访存缓冲方法,其特征在于(1)在地址产生器与底层存储器之间设置有地址重排序缓冲单元,在地址产生器与上层流缓冲单元之间设置有数据返回缓冲单元,地址重排序缓冲单元和数据返回缓冲单元与控制逻辑单元相连,地址重排序缓冲单元和数据返回缓冲单元都为双缓冲;(2)流控制器启动地址产生器工作的同时将记录长度、访存模式等信息传送到与地址重排序缓冲单元相连的控制逻辑单元,控制逻辑单元根据这些信息确定填写重排序缓冲的规则;(3)根据上述规则对地址重排序缓冲单元中的一个地址重排序半缓冲单元进行填写,当填写完成时,阻止该地址重排序半缓冲单元接收填写操作并向下层发送选择出来的访存地址,此时另一个地址重排序半缓冲单元可以接收地址产生器产生的请求;(4)对与load操作来说,当访存地址发送出去之后,控制逻辑单元等待存储器的数据返回信号有效,一旦底层burst传输有效,就将数据送入到对应的数据返回半缓冲单元的M[i]
(0≤i≤burst length-1,burst length为一次存储器突发式传输的长度)号位置,下一次则将数据存放在M[i][1](0≤i≤burst length-1,burst length为一次存储器突发式传输的长度)号位置,以此类推,直到将n次burst传输数据全部填写完毕,其中n与CLUSTER数目以及OFFSET寄存器数目对应;以上过程完成之后,该数据返回半缓冲单元已填写完毕,此时可以向上层流缓冲单元发送缓冲可读信号,控制逻辑单元按照重排序半缓冲单元中的地址选择在数据返回半缓冲单元中的相应数据送往上层缓冲单元,当数据返回半缓冲单元中的数据全部读取完毕之后,释放该重排序半缓冲单元和数据返回半缓冲单元;(5)对于Store操作来说,某个访存地址发送出去之后,要将重排序半缓冲单元的矩阵中该列对应的数据依次发送到底层存储器,也就是说一个地址对应该列的若干个数据,以此类推,直到该重排序半缓冲单元中所有数据都发送完毕,释放该重排序半缓冲单元。
所述重排序缓冲单元包括两个相同结构的重排序半缓冲单元,每个重排序半缓冲单元拥有8×n个数据字单元,其中n与计算群的数目、OFFSET寄存器的数目相对应,每个重排序半缓冲单元从逻辑上讲是一个8×n的矩阵M[7][n-1];所述写缓冲顺序为按行优先原则,即以M
,M
[1],…,M
[n-1],M[1]
,…,M[1][n-1],……,M[7]
,M[7][n-1]的顺序,每一次填写是否完毕视当前访存流的记录长度而定,并不是每次都要将重排序半缓冲单元填满才向下层发送访存请求(1)、当长度≥8时,底层的burst长度请求设为8,半缓冲矩阵列方向填满8个后向下层发送访存请求,请求地址为半缓冲中M
,M
[1],…,M
[n-1]号位置内存放的地址;如果reclen%8不等于零且半缓冲正在填写当前每个记录的最后reclen%8个元素时,半缓冲矩阵列方向只要填写reclen%8个元素后就应该向下层发送访存请求;
(2)、当4≤长度<8时,底层burst长度请求设为4,半缓冲矩阵列方向填满4个后向下层发送访存请求,即缓冲只填写了M[i][j](0≤i≤3,0≤j≤n-1位置的单元。请求地址为半缓冲中M
,M
[1],…,M
[n-1]号位置内存放的地址;如果reclen%4不等于零且半缓冲正在处理当前每个记录的最后reclen%4个元素时,半缓冲矩阵列方向只要填写reclen%4个元素后就应该向下层发送访存请求;(3)、当2≤长度<4时,底层burst长度请求设为2,半缓冲矩阵列方向填满两个后向底层发送访存请求,即缓冲只填写了M[i][j](0≤i≤1,0≤j≤n-1)位置的单元,请求地址为半缓冲中M
,M
[1],…,M
[n-1]号位置内存放的地址;如果reclen%2不等于零且半缓冲正在处理当前每个记录的最后reclen%2个元素时,半缓冲矩阵列方向只要填写reclen%2个元素后就应该向下层发送访存请求;(4)、当长度=1时,在跨步模式下要特殊考虑,跨步长度为1时底层burst长度请求设为4,半缓冲M
[j](0≤j≤n-1)号位置填写完毕之后就可以向下层发送访存请求,在这种情况下只要发送M
号位置的地址就可以了;当跨步长度为其他情况的时候,可以采取跟前面描述的方法一样向下层发送访存请求。
一种面向流数据的重排序访存缓冲方法装置,其特征在于它包括地址重排序缓冲单元、数据返回缓冲单元以及控制逻辑单元,地址重排序缓冲单元用来将地址产生器产生的访存地址序列重新组合,使得各自记录内部元素的地址相对连续起来;数据返回缓冲单元保存底层存储器突发式传输出来的数据,控制逻辑单元根据当次访问的特点控制何时向外发送访存请求、从数据返回缓冲中选择某次突发式传输的部分或者全部元素送回到上层流缓冲单元中工作。
所述重排序缓冲单元包括两个相同结构的重排序半缓冲单元,每个重排序半缓冲单元拥有8×n个数据字单元,其中n与计算群的数目、OFFSET寄存器的数目相对应,每个重排序半缓冲单元从逻辑上讲是一个8×n的矩阵M[7][n-1]。
所述写缓冲顺序为按行优先原则,即以M
,M
[1],…,M
[n-1],M[1]
,…,M[1][n-1],……,M[7]
,M[7][n-1]的顺序,每一次填写是否完毕视当前访存流的记录长度而定,并不是每次都要将重排序半缓冲单元填满才向下层发送访存请求(1)、当长度≥8时,底层的burst长度请求设为8,半缓冲矩阵列方向填满8个后向下层发送访存请求,请求地址为半缓冲中M
,M
[1],…,M
[n-1]号位置内存放的地址;如果reclen%8不等于零且半缓冲正在填写当前每个记录的最后reclen%8个元素时,半缓冲矩阵列方向只要填写reclen%8个元素后就应该向下层发送访存请求;(2)、当4≤长度<8时,底层burst长度请求设为4,半缓冲矩阵列方向填满4个后向下层发送访存请求,即缓冲只填写了M[i][j](0≤i≤3,0≤j≤n-1位置的单元。请求地址为半缓冲中M
,M
[1],…,M
[n-1]号位置内存放的地址;如果reclen%4不等于零且半缓冲正在处理当前每个记录的最后reclen%4个元素时,半缓冲矩阵列方向只要填写reclen%4个元素后就应该向下层发送访存请求;(3)、当2≤长度<4时,底层burst长度请求设为2,半缓冲矩阵列方向填满两个后向底层发送访存请求,即缓冲只填写了M[i][j](0≤i≤1,0≤j≤n-1)位置的单元,请求地址为半缓冲中M
,M
[1],…,M
[n-1]号位置内存放的地址;如果reclen%2不等于零且半缓冲正在处理当前每个记录的最后reclen%2个元素时,半缓冲矩阵列方向只要填写reclen%2个元素后就应该向下层发送访存请求;(4)、当长度=1时,在跨步模式下要特殊考虑,跨步长度为1时底层burst长度请求设为4,半缓冲M
[j](0≤j≤n-1)号位置填写完毕之后就可以向下层发送访存请求,在这种情况下只要发送M
号位置的地址就可以了;当跨步长度为其他情况的时候,可以采取跟前面描述的方法一样向下层发送访存请求。
所述数据返回缓冲单元包括两个相同结构的数据返回半缓冲单元,每个数据返回半缓冲单元拥有8×n个数据字单元。
与现有技术相比,本发明的优点就在于1、硬件实现复杂度低。本发明中最重要的部件是两组相对应的缓冲结构;控制逻辑则主要是控制对各个缓冲的读写以及缓冲之间地址数据的配对,不涉及到很复杂的逻辑。
2、大幅度提高了流处理器的访存效率,增加了有效带宽。采用本发明的访存序列重排技术,能够有效的利用流的记录组织特性和当今主流存储器的访存特性,提高访存数据利用率,增加有效带宽。能解决流处理器中地址产生部件生成的地址序列直接送入底层存储控制器带来的吞吐率低的问题,


图1是本发明的重排序逻辑框架示意图;图2是本发明的重排序半缓冲和数据返回缓冲的逻辑结构示意图;图3为本发明的工作流程示意图。
具体实施例方式
以下将结合附图和具体实施例对本发明做进一步详细说明。
参见图3所示,本发明的一种面向流数据的重排序访存缓冲方法,其步骤为(1)在地址产生器与底层存储器之间设置有地址重排序缓冲单元,在地址产生器与上层流缓冲单元之间设置有数据返回缓冲单元,地址重排序缓冲单元和数据返回缓冲单元与控制逻辑单元相连,地址重排序缓冲单元和数据返回缓冲单元都为双缓冲;(2)流控制器启动地址产生器工作的同时将记录长度、访存模式等信息传送到与地址重排序缓冲单元相连的控制逻辑单元,控制逻辑单元根据这些信息确定填写重排序缓冲的规则;(3)根据上述规则对地址重排序缓冲单元中的一个地址重排序半缓冲单元进行填写,当填写完成时,阻止该地址重排序半缓冲单元接收填写操作并向下层发送选择出来的访存地址,此时另一个地址重排序半缓冲单元可以接收地址产生器产生的请求;(4)对与load操作来说,当访存地址发送出去之后,控制逻辑单元等待存储器的数据返回信号有效,一旦底层burst传输有效,就将数据送入到对应的数据返回半缓冲单元的M[i]
(0≤i≤burst length-1,burst length为一次存储器突发式传输的长度)号位置,下一次则将数据存放在M[i][1](0≤i≤burst length-1,burst length为一次存储器突发式传输的长度)号位置,以此类推,直到将n次burst传输数据全部填写完毕,其中n与CLUSTER数目以及OFFSET寄存器数目对应;以上过程完成之后,该数据返回半缓冲单元已填写完毕,此时可以向上层流缓冲单元发送缓冲可读信号,控制逻辑单元按照重排序半缓冲单元中的地址选择在数据返回半缓冲单元中的相应数据送往上层缓冲单元,当数据返回半缓冲单元中的数据全部读取完毕之后,释放该重排序半缓冲单元和数据返回半缓冲单元;(5)对于Store操作来说,某个访存地址发送出去之后,要将重排序半缓冲单元的矩阵中该列对应的数据依次发送到底层存储器,也就是说一个地址对应该列的若干个数据,以此类推,直到该重排序半缓冲单元中所有数据都发送完毕,释放该重排序半缓冲单元。
其中,重排序缓冲单元包括两个相同结构的重排序半缓冲单元,每个重排序半缓冲单元拥有8×n个数据字单元,其中n与计算群的数目、OFFSET寄存器的数目相对应,每个重排序半缓冲单元从逻辑上讲是一个8×n的矩阵M[7][n-1];所述写缓冲顺序为按行优先原则,即以M
,M
[1],…,M
[n-1],M[1]
,…,M[1][n-1],……,M[7]
,M[7][n-1]的顺序,每一次填写是否完毕视当前访存流的记录长度而定,并不是每次都要将重排序半缓冲单元填满才向下层发送访存请求(1)、当长度≥8时,底层的burst长度请求设为8,半缓冲矩阵列方向填满8个后向下层发送访存请求,请求地址为半缓冲中M
,M
[1],…,M
[n-1]号位置内存放的地址;如果reclen%8不等于零且半缓冲正在填写当前每个记录的最后reclen%8个元素时,半缓冲矩阵列方向只要填写reclen%8个元素后就应该向下层发送访存请求;(2)、当4≤长度<8时,底层burst长度请求设为4,半缓冲矩阵列方向填满4个后向下层发送访存请求,即缓冲只填写了M[i][j](0≤i≤3,0≤j≤n-1)位置的单元。请求地址为半缓冲中M
,M
[1],…,M
[n-1]号位置内存放的地址;如果reclen%4不等于零且半缓冲正在处理当前每个记录的最后reclen%4个元素时,半缓冲矩阵列方向只要填写reclen%4个元素后就应该向下层发送访存请求;(3)、当2≤长度<4时,底层burst长度请求设为2,半缓冲矩阵列方向填满两个后向底层发送访存请求,即缓冲只填写了M[i][j](0≤i≤1,0≤j≤n-1)位置的单元,请求地址为半缓冲中M
,M
[1],…,M
[n-1]号位置内存放的地址;如果reclen%2不等于零且半缓冲正在处理当前每个记录的最后reclen%2个元素时,半缓冲矩阵列方向只要填写reclen%2个元素后就应该向下层发送访存请求;(4)、当长度=1时,在跨步模式下要特殊考虑,跨步长度为1时底层burst长度请求设为4,半缓冲M
[j](0≤j≤n-1)号位置填写完毕之后就可以向下层发送访存请求,在这种情况下只要发送M
号位置的地址就可以了;当跨步长度为其他情况的时候,可以采取跟前面描述的方法一样向下层发送访存请求。
如图1和图2所示,本发明的一种面向流数据的重排序访存缓冲方法装置,它包括地址重排序缓冲单元、数据返回缓冲单元以及控制逻辑单元,地址重排序缓冲单元用来将地址产生器产生的访存地址序列重新组合,使得各自记录内部元素的地址相对连续起来;数据返回缓冲单元保存底层存储器突发式传输出来的数据,控制逻辑单元根据当次访问的特点控制何时向外发送访存请求、从数据返回缓冲中选择某次突发式传输的部分或者全部元素送回到上层流缓冲单元中工作。重排序缓冲单元包括两个相同结构的重排序半缓冲单元,每个重排序半缓冲单元拥有8×n个数据字单元,其中n与计算群的数目、OFFSET寄存器的数目相对应,每个重排序半缓冲单元从逻辑上讲是一个8×n的矩阵M[7][n-1]。数据返回缓冲和重排序缓冲是相对应的,也是由两个8×n的半缓冲组成,其作用在于load操作时接收由DDR突发传输出来的数据,它并不对这些数据进行选择,直接存到相对应的位置。控制部件根据控制信息确定重排序缓冲的填写规则、确定发送访存地址的时机以及在load操作的时候对数据返回缓冲中的数据进行选择。参见图1所示,本发明实施例中的重排序模块逻辑框图。重排序模块共包括以下几个小模块两个重排序半缓冲,两个数据返回半缓冲以及控制这些缓冲有效运转的控制逻辑。重排序半缓冲和数据返回半缓冲逻辑上都是8×n的矩阵结构,控制逻辑可以根据记录长度的大小动态的决定填写它们的方式,并且根据填写方式确定访存的时机和方式。通过地址产生器打乱的记录内部存储连续性在重排序部件中被重新组合以适应底层存储控制器的访存操作。图2是本发明的重排序半缓冲和数据返回缓冲的逻辑结构图。图1中的四个半缓冲逻辑上都被组织成矩阵形式的结构,实际可以通过读写指针的跳变来实现这种逻辑结构。图中n的取值取决于计算群的数目。每次访存操作发出的都只是M
[j](0≤j≤n-1)位置的地址,在跨步模式中记录长度为1的特殊情况中半缓冲填写完毕后只有M
位置的地址发出,此时M
[j](0≤j≤n-1)位置的地址在存储空间中是连续的。
权利要求
1.一种面向流数据的重排序访存缓冲方法,其特征在于(1)在地址产生器与底层存储器之间设置有地址重排序缓冲单元,在地址产生器与上层流缓冲单元之间设置有数据返回缓冲单元,地址重排序缓冲单元和数据返回缓冲单元与控制逻辑单元相连,地址重排序缓冲单元和数据返回缓冲单元都为双缓冲;(2)流控制器启动地址产生器工作的同时将记录长度、访存模式等信息传送到与地址重排序缓冲单元相连的控制逻辑单元,控制逻辑单元根据这些信息确定填写重排序缓冲的规则;(3)根据上述规则对地址重排序缓冲单元中的一个地址重排序半缓冲单元进行填写,当填写完成时,阻止该地址重排序半缓冲单元接收填写操作并向下层发送选择出来的访存地址,此时另一个地址重排序半缓冲单元可以接收地址产生器产生的请求;(4)对与load操作来说,当访存地址发送出去之后,控制逻辑单元等待存储器的数据返回信号有效,一旦底层burst传输有效,就将数据送入到对应的数据返回半缓冲单元的M[i]
(0≤i≤burst length-1,burst length为一次存储器突发式传输的长度)号位置,下一次则将数据存放在M[i][1](0≤i≤burst length-1,burst length为一次存储器突发式传输的长度)号位置,以此类推,直到将n次burst传输数据全部填写完毕,其中n与CLUSTER数目以及OFFSET寄存器数目对应;以上过程完成之后,该数据返回半缓冲单元已填写完毕,此时可以向上层流缓冲单元发送缓冲可读信号,控制逻辑单元按照重排序半缓冲单元中的地址选择在数据返回半缓冲单元中的相应数据送往上层缓冲单元,当数据返回半缓冲单元中的数据全部读取完毕之后,释放该重排序半缓冲单元和数据返回半缓冲单元;(5)对于Store操作来说,某个访存地址发送出去之后,要将重排序半缓冲单元的矩阵中该列对应的数据依次发送到底层存储器,也就是说一个地址对应该列的若干个数据,以此类推,直到该重排序半缓冲单元中所有数据都发送完毕,释放该重排序半缓冲单元。
2.根据权利要求1所述的面向流数据的重排序访存缓冲方法,其特征在于所述重排序缓冲单元包括两个相同结构的重排序半缓冲单元,每个重排序半缓冲单元拥有8×n个数据字单元,其中n与计算群的数目、OFFSET寄存器的数目相对应,每个重排序半缓冲单元从逻辑上讲是一个8×n的矩阵M[7][n-1];所述写缓冲顺序为按行优先原则,即以M
,M
[1],…,M
[n-1],M[1]
,…,M[1][n-1],……,M[7]
,M[7][n-1]的顺序,每一次填写是否完毕视当前访存流的记录长度而定,并不是每次都要将重排序半缓冲单元填满才向下层发送访存请求(1)、当长度≥8时,底层的burst长度请求设为8,半缓冲矩阵列方向填满8个后向下层发送访存请求,请求地址为半缓冲中M
,M
[1],…,M
[n-1]号位置内存放的地址;如果reclen%8不等于零且半缓冲正在填写当前每个记录的最后reclen%8个元素时,半缓冲矩阵列方向只要填写reclen%8个元素后就应该向下层发送访存请求;(2)、当4≤长度<8时,底层burst长度请求设为4,半缓冲矩阵列方向填满4个后向下层发送访存请求,即缓冲只填写了M[i][j](0≤i≤3,0≤j≤n-1)位置的单元,请求地址为半缓冲中M
,M
[1],…,M
[n-1]号位置内存放的地址;如果reclen%4不等于零且半缓冲正在处理当前每个记录的最后reclen%4个元素时,半缓冲矩阵列方向只要填写reclen%4个元素后就应该向下层发送访存请求;(3)、当2≤长度<4时,底层burst长度请求设为2,半缓冲矩阵列方向填满两个后向底层发送访存请求,即缓冲只填写了M[i][j](0≤i≤1,0≤j≤n-1)位置的单元,请求地址为半缓冲中M
,M
[1],…,M
[n-1]号位置内存放的地址;如果reclen%2不等于零且半缓冲正在处理当前每个记录的最后reclen%2个元素时,半缓冲矩阵列方向只要填写reclen%2个元素后就应该向下层发送访存请求;(4)、当长度=1时,在跨步模式下要特殊考虑,跨步长度为1时底层burst长度请求设为4,半缓冲M
[j](0≤j≤n-1)号位置填写完毕之后就可以向下层发送访存请求,在这种情况下只要发送M
号位置的地址就可以了;当跨步长度为其他情况的时候,可以采取跟前面描述的方法一样向下层发送访存请求。
3.一种面向流数据的重排序访存缓冲方法装置,其特征在于它包括地址重排序缓冲单元、数据返回缓冲单元以及控制逻辑单元,地址重排序缓冲单元用来将地址产生器产生的访存地址序列重新组合,使得各自记录内部元素的地址相对连续起来;数据返回缓冲单元保存底层存储器突发式传输出来的数据,控制逻辑单元根据当次访问的特点控制何时向外发送访存请求、从数据返回缓冲中选择某次突发式传输的部分或者全部元素送回到上层流缓冲单元中工作。
4.根据权利要求3所述的面向流数据的重排序访存缓冲方法装置,其特征在于所述重排序缓冲单元包括两个相同结构的重排序半缓冲单元,每个重排序半缓冲单元拥有8×n个数据字单元,其中n与计算群的数目、OFFSET寄存器的数目相对应,每个重排序半缓冲单元从逻辑上讲是一个8×n的矩阵M[7][n-1]。
5.根据权利要求4所述的面向流数据的重排序访存缓冲方法装置,其特征在于所述写缓冲顺序为按行优先原则,即以M
,M
[1],…,M
[n-1],M[1]
,…,M[1][n-1],……,M[7]
,M[7][n-1]的顺序,每一次填写是否完毕视当前访存流的记录长度而定,并不是每次都要将重排序半缓冲单元填满才向下层发送访存请求(1)、当长度≥8时,底层的burst长度请求设为8,半缓冲矩阵列方向填满8个后向下层发送访存请求,请求地址为半缓冲中M
,M
[1],…,M
[n-1]号位置内存放的地址;如果reclen%8不等于零且半缓冲正在填写当前每个记录的最后reclen%8个元素时,半缓冲矩阵列方向只要填写reclen%8个元素后就应该向下层发送访存请求;(2)、当4≤长度<8时,底层burst长度请求设为4,半缓冲矩阵列方向填满4个后向下层发送访存请求,即缓冲只填写了M[i][j](0≤i≤3,0≤j≤n-1)位置的单元,请求地址为半缓冲中M
,M
[1],…,M
[n-1]号位置内存放的地址;如果reclen%4不等于零且半缓冲正在处理当前每个记录的最后reclen%4个元素时,半缓冲矩阵列方向只要填写reclen%4个元素后就应该向下层发送访存请求;(3)、当2≤长度<4时,底层burst长度请求设为2,半缓冲矩阵列方向填满两个后向底层发送访存请求,即缓冲只填写了M[i][j](0≤i≤1,0≤j≤n-1)位置的单元,请求地址为半缓冲中M
,M
[1],…,M
[n-1]号位置内存放的地址;如果reclen%2不等于零且半缓冲正在处理当前每个记录的最后reclen%2个元素时,半缓冲矩阵列方向只要填写reclen%2个元素后就应该向下层发送访存请求;(4)、当长度=1时,在跨步模式下要特殊考虑,跨步长度为1时底层burst长度请求设为4,半缓冲M
[j](0≤j≤n-1)号位置填写完毕之后就可以向下层发送访存请求,在这种情况下只要发送M
号位置的地址就可以了;当跨步长度为其他情况的时候,可以采取跟前面描述的方法一样向下层发送访存请求。
6.根据权利要求3或4或5所述的面向流数据的重排序访存缓冲方法装置,其特征在于所述数据返回缓冲单元包括两个相同结构的数据返回半缓冲单元,每个数据返回半缓冲单元拥有8×n个数据字单元。
全文摘要
本发明公开了一种面向流数据的重排序访存缓冲方法及装置,在地址产生器与底层存储器之间设置有地址重排序缓冲单元,在地址产生器与上层流缓冲单元之间设置有数据返回缓冲单元,地址重排序缓冲单元和数据返回缓冲单元与控制逻辑单元相连;地址重排序缓冲单元用来将地址产生器产生的访存地址序列重新组合,使得各自记录内部元素的地址相对连续起来;数据返回缓冲单元保存底层存储器突发式传输出来的数据,控制逻辑单元根据当次访问的特点控制何时向外发送访存请求、从数据返回缓冲中选择某次突发式传输的部分或者全部元素送回到上层流缓冲单元中工作。本发明能使离散的访存序列连续化、优化访存,同时能够提高访存效率、扩展有效带宽的面向流数据。
文档编号G06F15/76GK101021783SQ20071003457
公开日2007年8月22日 申请日期2007年3月19日 优先权日2007年3月19日
发明者蒋江, 张民选, 邢座程, 杨学军, 陈海燕, 高军, 李晋文, 衣晓飞, 张明, 穆长富, 阳柳, 曾献君, 马驰远, 李勇, 倪晓强, 唐遇星, 张承义, 汤明 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1