CN101986287B - 用于向量数据流的重整理缓冲器 - Google Patents

用于向量数据流的重整理缓冲器 Download PDF

Info

Publication number
CN101986287B
CN101986287B CN201010559301A CN201010559301A CN101986287B CN 101986287 B CN101986287 B CN 101986287B CN 201010559301 A CN201010559301 A CN 201010559301A CN 201010559301 A CN201010559301 A CN 201010559301A CN 101986287 B CN101986287 B CN 101986287B
Authority
CN
China
Prior art keywords
data
write
read
dma
buffer
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.)
Active
Application number
CN201010559301A
Other languages
English (en)
Other versions
CN101986287A (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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201010559301A priority Critical patent/CN101986287B/zh
Publication of CN101986287A publication Critical patent/CN101986287A/zh
Application granted granted Critical
Publication of CN101986287B publication Critical patent/CN101986287B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

一种用于向量数据流的重整理缓冲器,它包括:缓冲存储体,用来暂存来自于DMA总线的并且要写入向量存储器VM的数据或者暂存从向量存储器VM读出的并且要通过DMA总线写入到其它空间的数据;控制寄存器,由DMA总线传输开始时进行配置;状态位,记录了缓冲存储体中的每一行映射的是向量存储器VM中的哪一行,并且记录了该行是否有效;主控逻辑单元,用来进行总体控制,在DMA总线进行数据传输时,主控逻辑单元根据控制寄存器选择不同的缓冲位置、进行对应的数据变换、并且在数据传输完毕选择是否进行读写缓冲器的作废或更新处理。本发明具有结构简单紧凑、成本低廉、适用范围广、可靠性好等优点。

Description

用于向量数据流的重整理缓冲器
技术领域
本发明主要涉及到采用向量技术的处理器,特指在数字信号处理器(Digital Signal Processor,DSP)当中,DMA(Direct Memory Access,直接存储器访问)总线与向量存储器(Vector Memory,VM)之间的数据传输接口的设计和实现方法,尤其是数据在DMA总线和VM之间进行搬移时需要进行位置重组、压缩或扩展时的技术方案。
背景技术
随着4G无线通信技术和高清视频图像处理技术的发展,向量处理器得到了广泛的应用。向量处理器通过多个并行的向量运算单元同时处理来开发应用的数据级并行性,如何为向量运算单元提供充足的数据带宽是向量处理器设计中的一个重要环节。由于流式应用缺乏数据的局部性,同时又具有较强的实时性需求,由多个并行的片内静态随机存储器(Static Random Access Memory,SRAM)组成的VM因其访存延时的确定性逐渐取代了通用的缓存(Cache)结构。VM一般由DMA控制器通过DMA总线进行数据的加载和搬移,同时能够响应来自向量处理单元的访存请求。
在VM的管理和设计当中面临着以下几个关键的技术环节:1.VM采用单端口SRAM还是双端口SRAM;2.如何有效地匹配DMA总线带宽与VM带宽之间的差异;3.数据流重整理操作(位置重组、压缩或扩展等)如何高效的处理等。
由于VM需要同时响应DMA和向量处理单元的访问请求,传统的VM一般采用双端口的SRAM,这样能够使DMA的访问请求和向量处理单元的访问请求并行处理、互不干扰。然而相同容量的双端口SRAM的面积是单端口SRAM的两倍左右。目前向量处理器中VM的容量在逐渐增大(512KB以上),并且占据了芯片面积的绝大部分(70%左右)。在如此大容量的片上存储器中采用双端口设计将变得不合时宜。在采用单端口SRAM的VM中如何减少向量处理单元和DMA的访问冲突是设计人员必须考虑的重要问题。
在向量处理器中,由于工艺水平和片上互连长线资源的限制,DMA总线的带宽较窄(32bits/cycle左右)。而VM是由多个并行的SRAM组成,并且同时向多个向量运算单元供给数据,带宽比较宽(512bits/cycle左右)。在VM和DMA总线之间采用缓冲结构是一种常用的匹配两者带宽差异的方法,然而普通的缓冲结构仅能够较好地支持连续的数据搬移或带广播的数据搬移,对于目的地址非连续或需要位置重组的数据流支持较差,如何解决这一问题,需要统筹考虑。
由于向量运算单元对数据的格式和位置要求比较严格,这需要对数据进行较多的压缩或扩展等格式转换操作。尽管这些操作能够在向量运算单元中处理,但是往往需要比较多的指令条数,并且处理效率不高。这些压缩或扩展等格式转换操作如何高效处理,是需要设计人员认真思考的问题。
综上所述,在向量处理器的设计当中,VM与DMA总线的接口设计、带宽匹配技术和数据整理等环节需要统筹的、完善的解决方案。从目前公开的文献来看,VM采用双端口SRAM的方案居多,这种方案的弊端在这里不再赘述。目前还没有公开的文献涉及到在VM为单端口SRAM的情况下,面向向量数据流的,同时能够有效地平衡DMA总线和VM之间的带宽差异,并且提供数据流位置重组、压缩或扩展等重整理功能的缓冲器结构的设计问题。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种结构简单紧凑、成本低廉、适用范围广、可靠性好的用于向量数据流的重整理缓冲器。
为解决上述技术问题,本发明采用以下技术方案:
一种重整理缓冲器,其特征在于包括:
缓冲存储体,用来暂存来自于DMA总线的并且要写入向量存储器VM的数据或者暂存从向量存储器VM读出的并且要通过DMA总线写入到其它空间的数据;
控制寄存器,由DMA总线传输开始时进行配置;
状态位,记录了缓冲存储体中的每一行映射的是向量存储器VM中的哪一行,并且记录了该行是否有效;
主控逻辑单元,用来进行总体控制,在DMA总线进行数据传输时,主控逻辑单元根据控制寄存器选择不同的缓冲位置、进行对应的数据变换、并且在数据传输完毕选择是否进行读写缓冲器的作废或更新处理。
作为本发明的进一步改进:
所述缓冲存储体由多个并行的单端口SRAM组成,其宽度与向量存储器VM的宽度相同,记为W;令缓冲存储体的容量为M,则缓冲存储体共有L行数据,其中L=M/W。
所述控制寄存器包含读写缓冲区域、数据一致性域和数据压缩扩展域,所述读写缓冲区域包含读缓冲域和写缓冲域;所述数据一致性域包含读缓冲数据一致性域和写缓冲数据一致性域,分别控制读缓冲数据作废的时机和写缓冲数据更新至向量存储器VM的时机;所述数据压缩扩展域包含压缩域和扩展域。
与现有技术相比,本发明的优点在于:
1、本发明能够在向量存储器VM是单端口SRAM的情况下,有效地平衡DMA总线和VM之间的带宽差异,减少DMA对VM的打扰。由于本发明在DMA总线和VM间引入了重整理缓冲器,使得由DMA访问引入的访问VM请求能够充分减少对VM带宽的浪费,这样使得VM能够充分地为向量运算单元服务,提高访存指令的访问效率;
2、本发明的重整理缓冲器设置于采用单端口SRAM的VM和DMA总线的之间,并且提供了一系列的控制寄存器,用户可通过配置这些控制寄存器,设置读写缓冲器的大小、选择某次DMA操作是否需要经过读写缓冲、选择某次DMA操作之后是否需要清空缓冲区中的内容等等;同时用户在启动DMA传输之前配置特定的寄存器,从而可以在缓冲器中进行位置重组、压缩或扩展等重整理工作的处理,既能有效地加速这些操作的进行,又使得向量运算单元可以有更多的时间完成高密集度的计算任务;
3、本发明控制接口方便灵活。如读写缓冲的大小、缓冲中数据作废或更新的时机均可由程序员配置,既能够方便程序员控制,又比较灵活;
4、本发明中提供的位置重组、数据压缩、扩展功能,能够为用户提供更为灵活的数据组织方式。这些操作如果在向量运算单元处理,需要执行比较复杂的交换、变换、数据混洗等操作,不仅需要比较多的指令条数,并且执行效率不高,因而应用本专利能够有效地减少指令条数,提高执行效率;
5、综上所述,本发明提出的用于向量数据流重整理的缓冲器为VM和DMA总线之间的接口设计提供了完善和灵活的解决方案,因而适用于基于向量技术的DSP,同时其它的面向视频和多媒体应用的采用向量技术的处理器均可采用。
附图说明
图1是重整理缓冲器、VM与DMA总线的结构示意图;
图2是重整理缓冲器的整体结构示意图;
图3是DMA通过重整理缓冲器从VM读数据的流程图;
图4是DMA通过重整理缓冲器向VM写数据的流程图;
图5是多个DMA请求向同一VM区域发送写请求,数据重组的示意图;
图6是通过重整理缓冲器进行数据扩展示意图;
图7是通过重整理缓冲器进行数据压缩示意图。
具体实施方式
以下将结合说明书附图和具体实施例对本发明做进一步详细说明。
图1是本发明用于向量数据流的重整理缓冲器以及向量存储器VM、DMA总线的结构示意图。本发明的重整理缓冲器位于在DMA总线和VM之间。多个向量存储器VM和其它存储单元或外设共享DMA总线,每一个向量存储器VM与DMA总线之间均存在一个重整理缓冲器。来自于DMA的读写请求首先在重整理缓冲器中进行处理,在读缓冲或写缓冲没有满的情况下,只有向缓冲中分配数据行或者写缓冲行替换的时候才会访问向量存储器VM,这样既可以充分利用向量存储器VM的高带宽特性,又可以减少DMA总线请求对向量运算单元访存操作的打扰。
本发明为一种可编程的重整理缓冲器,用于提供位置重组、压缩或扩展等重整理功能,不仅能为向量存储器VM提供高带宽的、可配置的数据流加载方式,还可以很好平衡向量存储器VM与总线之间的带宽。在向量存储器VM采用单端口SRAM的基础上,通过在向量存储器VM和DMA总线之间设置重整理缓冲器,使得大部分DMA的请求可以在重整理缓冲器中命中,较少占用向量存储器VM访问端口,这样向量存储器VM可以主要为向量运算单元的数据访问操作提供支持,提高处理效率;同时提供了完善的数据一致性机制,用户可以灵活地设置读缓冲器作废的时机和写缓冲器数据更新至VM的时机,从而在保证数据正确性的基础上提高DMA请求在重整理缓冲器中的利用效率;提供了灵活的数据重整理机制,在启动DMA请求时配置控制寄存器的内容,重整理缓冲器的控制器根据控制寄存器的内容对每次DMA操作的数据进行位置重组、压缩和扩展等操作。
如图2所示,本发明的用于向量数据流的重整理缓冲器包括缓冲存储体、状态位、控制寄存器和主控逻辑四个部分。DMA总线在进行数据传输之前首先会配置对应重整理缓冲器的控制寄存器,主控逻辑根据控制寄存器的内容对缓冲存储体进行分配(分配读缓冲体行数或写缓冲体行数)。当DMA总线读请求到来时,主控逻辑根据访存地址和状态位信息,在读缓冲存储体中进行相应的数据处理(分配或读数据),读出的数据根据控制寄存器的配置信息,选择是否进行压缩处理;当DMA写请求到来时,主控逻辑根据控制寄存器的配置信息,选择是否进行扩展处理,然后根据访存地址和状态位信息,在写缓冲存储体中进行相应的数据处理(分配或读数据)。在一次DMA操作的读请求或写请求完成之后,主控逻辑会根据控制寄存器的内容将读缓冲中的数据作废或保留,将写缓冲中的数据更新至VM或保留。
其中,缓冲存储体是重整理缓冲器的主体部分,主要暂存来自于DMA总线的并且要写入向量存储器VM的数据(写缓冲),或者暂存从向量存储器VM读出的并且要通过DMA总线写入到其它空间的数据(读缓冲);控制寄存器由DMA传输开始时进行配置;状态位记录了缓冲存储体中的每一行映射的是向量存储器VM中的哪一行,并且记录了该行是否有效;主控逻辑负责重整理缓冲器总体控制,在DMA进行数据传输时,主控逻辑根据控制寄存器选择不同的缓冲位置、进行对应的数据变换、并且在数据传输完毕选择是否进行读写缓冲器的作废或更新处理。
缓冲存储体由多个并行的单端口SRAM组成的,其宽度与VM的宽度相同,记为W(bits),设缓冲存储体的容量为M(bits),则缓冲存储体共有L行数据(L=M/W),为了方便说明,本发明中W取512,L取32。
控制寄存器为一个32位的寄存器,包含三个域:读写缓冲区域(10bits),数据一致性域(2bits)和数据压缩扩展域(5bits),其余位保留。读写缓冲区域包含5bits的读缓冲域(Rd_Field)和5bits的写缓冲域(Wt_Field),设两个5bits的区域包含的01序列对应的无符号数分别为Ucst5_R和Ucst5_W,则读写缓冲区分别包含Ucst5_R+1和Ucst5_W+1行数据,注意读写缓冲区最少为1行,最多为32行,且总的行数Ucst5_R+Ucst5_W+2小于等于L.数据一致性域包含1bit的读缓冲数据一致性域(Rd_Inv)和1bit的写缓冲数据一致性域(Wt_Upd),分别控制读缓冲数据作废的时机和写缓冲数据更新至VM的时机:当Rd_Inv为0时,表示当前DMA请求中的操作完成后读缓冲的数据保留,读缓冲行的Valid位保持不变,Rd_Inv为1时,表示当前DMA请求中操作完成后读缓冲中的数据作废,所有的读缓冲行的Valid位置0;Wt_Upd为0时,表示当前DMA请求中的操作完成后写缓冲的数据保留,写缓冲行的Valid位和内容保持不变,Wt_Upd为1时,表示当前DMA请求中操作完成后写缓冲中的凡是Valid位为1的行中的数据需要更新至VM,然后将所有的写缓冲中的行数据的Valid位置为0。数据压缩扩展域包含压缩域(2bits,记为Cpr[1:0])和扩展域(3bits,记为Exp[2:0]),其中Cpr[1]为0时,当前DMA请求从VM中读出时不进行压缩,其中Cpr[1]为1时,当前DMA请求从VM中读出数据时进行压缩,若Cpr[0]为0,压缩方式为连续四个字中每个字的最低字节组成一个字,若Cpr[0]为1,压缩方式为连续两个字中每个字的最低半字组成一个字;Exp[2]为0时,当前DMA请求从DMA总线中读出数据不进行扩展,Exp[2]为1时,当前DMA请求从DMA总线中读出数据进行扩展,若Exp[1:0]=00,扩展方式为一个字中的高低半字各自按照无符号方式进行扩展,从而生成两个字;若Exp[1:0]=01,扩展方式为一个字中的高低半字各自按照有符号方式进行扩展,从而生成两个字;若Exp[1:0]=10,扩展方式为一个字中的四个字节各自按照无符号方式进行扩展,从而生成四个字;若Exp[1:0]=11,扩展方式为一个字中的四个字节各自按照有符号方式进行扩展,从而生成四个字。
为了减少对VM存储体的访问,重整理缓冲器和VM中的数据的数据一致性由程序员通过配置Rd_Inv和Wt_Upd来设置。如果一次DMA传输之后,VM需要马上读写缓冲映射地址中的数据或者VM需要马上写入读缓冲映射的地址,则配置DMA通道时必须将重整理缓冲器控制寄存器的Rd_Inv和Wt_Upd位置1。如果多个连续的DMA请求从同一数据空间向其它不同的空间搬移数据,并且这段时间内VM不会向读缓冲映射的地址写入数据,则程序员可以将重整理缓冲器控制寄存器的Rd_Inv位置0,则多个DMA的读请求可以直接从读缓冲读出数据。如果多个连续的DMA写请求从不同数据空间向同一的空间写数据,并且这段时间内VM不会从写缓冲映射的地址读出数据,则程序员可以将重整理缓冲器控制寄存器的Wt_Upd位置0,则多个DMA的写请求可以直接写入在写缓冲。
重整理缓冲器控制寄存器的配置信息和DMA通道绑定,程序员在配置DMA通道的过程中设置重整理缓冲器控制寄存器。在DMA进行数据传输时,附加一个新的控制线标识DMA总线包含的数据是当前通道中的配置控制寄存器的请求或者是最后一个访问请求。
缓冲存储体中的每一行数据共用一组状态位,包括标签位Tag、有效位Valid,其中Tag的长度VM的访存地址相关,Valid位的位数为1。状态位在缓冲器工作时由硬件自动进行设置,当DMA读请求需要访问的数据在读缓冲中没有命中时,从VM中分配一行到读缓冲中,设置对应的Tag位,同时将Valid位置1,当进行读缓冲作废操作时,将所有行的Valid位置0;当DMA的写请求需要访问的数据在写缓冲中没有命中时,从VM中分配一行到写缓冲中,设置对应的Tag位,同时将Valid位置1,将要写的数据写入到写缓冲中的该行,当进行写缓冲更新操作时,写缓冲中的凡是Valid位为1的行中的数据需要更新至VM,然后将所有的写缓冲中每一行的Valid位置0。
如图3所示,为DMA总线通过重整理缓冲器从向量存储器VM读数据的流程图:
3.1当DMA对某一VM地址进行读操作时,查看当前读缓冲的Tag位和Valid位,判断需要读取的数据是否在读缓冲中命中,若当前的读地址和某一行数据的Tag位匹配,并且该行的Valid位为1,则认为该读请求在读缓冲中命中,转至3.3,否则转至3.2;
3.2 从VM读取当前读操作的地址所在的一行数据,将其分配到读缓冲中,并将设置行数据的Tag位,将Valid位置1;
3.3 从读缓冲读取当前读请求的地址所包含的数据,根据控制寄存器的Cpr域,判断是否需要数据压缩,若不需要数据压缩,转至3.5,否则转至3.4;
3.4 根据发明内容中阐述的压缩方式,将读取的数据进行压缩;
3.5 将压缩后或未经压缩的数据放置到DMA总线上,返回给DMA控制器,判断当前读请求是否是某次DMA通道中的最后一个请求,若不是,则转至3.1,准备处理下一个DMA读请求;否则根据控制寄存器判断是否需要作废读缓冲器,若不是则转至3.7,否则转至3.6;
3.6 将读缓冲中所有行的Valid位置0;
3.7 本次DMA通道的请求处理完毕。
如图4所示,为DMA通过重整理缓冲器向VM写数据的流程图:
4.1 当DMA对某一VM地址进行写操作时,首先查看当前写缓冲的Tag位和Valid位,判断需要写入的位置是否在写缓冲中命中,若当前的写地址和某一行数据的Tag位匹配,并且该行的Valid位为1,则认为该写请求在写缓冲中命中,转至4.3,否则转至4.2;
4.2 从VM读取当前所写位置的所在的行的数据,将其分配到写缓冲中,并将设置行数据的Tag位,将Valid位置1;
4.3 根据控制寄存器的Exp域,判断是否需要数据扩展,若不需要,转至4.5,否则转至4.4;
4.4 根据发明内容中阐述的扩展方式,将要写入的数据进行扩展;
4.5 将扩展后的数据或未经扩展的数据写入到写缓冲去,判断当前写请求是否是某次DMA通道中的最后一个请求,若不是,则转至4.1,准备处理下一个DMA写请求;否则根据控制寄存器判断是否需要将写缓冲中的数据更新至VM中,若不是则转至4.7,否则转至4.6;
4.6 将写缓冲中所有行的Valid位为1的行的数据写回到VM中之后,将Valid位置0;
4.7 本次DMA通道的请求处理完毕。
如图5所示,为多个DMA请求向同一VM区域发送写请求,数据重组的示意图:图中采用同一填充方式的数据来自于同一DMA通道,可以看出写缓冲器(假设有32行)共接受了8个DMA通道的写数据。在不使用写缓冲的情况下,每次DMA通道至少需要向VM访问32次;使用写缓冲的情况下,8个DMA通道总共需要向VM访问64次(32次写分配和32次数据更新),则平均每个通道访问VM的次数降低到了8次。由此可见,使用写缓冲器能够充分利用不同DMA通道中的访问地址的空间局部性,将不同DMA通道的写数据合并起来,一起更新至VM中,从而减少对VM的打扰。
如图6所示,通过重整理缓冲器进行数据扩展示意图:由于DMA总线带宽是比较稀缺的资源,在DMA总线上传输的数据往往是比较紧凑的数据。这些数据如果直接存放至VM中,并且接受向量计算单元的处理,则其格式转化开销比较大。图中的DMA写操作,地址总线和数据总线上传输的数据分别是0x0000_4000和0x4433_2211,通过控制寄存器的设置,原始数据分别扩展成了四个写请求,地址分别为0x0000_4000、0x0000_4004、0x0000_4008、0x0000_400C、数据分别为0x0000_0011、0x0000_0022、0x0000_0033、0x0000_0044,再一次写入到向量写缓冲器中。
如图7所示,是通过重整理缓冲器进行数据压缩示意图:该过程和图6的实例相反。为了节约总线资源,VM中的数据在传入DMA总线时可以先进行压缩,图中读请求访问的地址为:0x0000_5000和0x0000_5004,对应的数据为0x00001234和0x0000_5678,压缩为0x5678_1234后才传输至DMA总线上。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

Claims (2)

1.一种用于向量数据流的重整理缓冲器,其特征在于包括:
缓冲存储体,用来暂存来自于DMA总线的并且要写入向量存储器VM的数据或者暂存从向量存储器VM读出的并且要通过DMA总线写入到其它空间的数据;所述缓冲存储体由多个并行的单端口SRAM组成,所述缓冲存储体的宽度与向量存储器VM的宽度相同,记为W;令缓冲存储体的容量为M,则缓冲存储体共有L行数据,其中L=M/W;所述缓冲存储体中的每一行数据共用一组状态位,包括标签位Tag、有效位Valid;
控制寄存器,由DMA总线传输开始时进行配置;
状态位,记录了缓冲存储体中的每一行映射的是向量存储器VM中的哪一行,并且记录了该行是否有效;
主控逻辑单元,用来进行总体控制,在DMA总线进行数据传输时,主控逻辑单元根据控制寄存器选择不同的缓冲位置、进行对应的数据变换、并且在数据传输完毕时选择是否进行读写缓冲器的作废或更新处理;
当DMA总线读请求对某VM地址进行读操作时,所述主控逻辑单元进行以下操作:
1.1查看当前读缓冲的标签位和有效位,判断需要读取的数据是否在读缓冲中命中,若当前的读地址和某一行数据的标签位匹配,并且该行的有效位为1,则认为该读请求在读缓冲中命中,转至1.3,否则转至1.2;
1.2 从VM读取当前读操作的地址所在的一行数据,将其分配到读缓冲中,设置行数据的标签位,将该行的有效位置1;
1.3 从读缓冲读取当前读请求的地址所包含的数据,根据控制寄存器的内容判断是否需要数据压缩,若不需要数据压缩,转至1.5,否则转至1.4;
1.4将读取的数据进行压缩;
1.5 将压缩后或未经压缩的数据放置到DMA总线上,判断当前读请求是否是DMA通道中的最后一个请求,若不是,则转至1.1,准备处理下一个DMA读请求;否则根据控制寄存器的内容判断是否需要作废读缓冲存储体,若不是则转至1.7,否则转至1.6;
1.6 将读缓冲存储体中所有行的有效位置0;
1.7 本次DMA通道的请求处理完毕;
当DMA总线写请求对某VM地址进行写操作时,所述主控逻辑单元进行以下操作:
2.1查看当前写缓冲存储体的标签位和有效位,判断需要写入的位置是否在写缓冲存储体中命中,若当前的写地址和某一行数据的标签位匹配,并且该行的有效位为1,则认为该写请求在写缓冲存储体中命中,转至2.3,否则转至2.2;
2.2 从VM读取当前所写位置的所在的行的数据,将其分配到写缓冲存储体中,设置行数据的标签位,将有效位置1;
2.3 根据控制寄存器的内容判断是否需要数据扩展,若不需要,转至2.5,否则转至2.4;
2.4 将要写入的数据进行扩展;
2.5 将扩展后的数据或未经扩展的数据写入写缓冲存储体,判断当前写请求是否是DMA通道中的最后一个请求,若不是,则转至2.1,准备处理下一个DMA写请求;否则根据控制寄存器判断是否需要将写缓冲存储体中的数据更新至VM中,若不是则转至2.7,否则转至2.6;
2.6 将写缓冲存储体中所有行的有效位为1的行的数据写回到VM中之后,将有效位置0;
2.7 本次DMA通道的请求处理完毕。
2.根据权利要求1所述的用于向量数据流的重整理缓冲器,其特征在于:所述控制寄存器包含读写缓冲区域、数据一致性域和数据压缩扩展域,所述读写缓冲区域包含读缓冲域和写缓冲域;所述数据一致性域包含读缓冲数据一致性域和写缓冲数据一致性域,分别控制读缓冲数据作废的时机和写缓冲数据更新至向量存储器VM的时机;所述数据压缩扩展域包含压缩域和扩展域。
CN201010559301A 2010-11-25 2010-11-25 用于向量数据流的重整理缓冲器 Active CN101986287B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010559301A CN101986287B (zh) 2010-11-25 2010-11-25 用于向量数据流的重整理缓冲器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010559301A CN101986287B (zh) 2010-11-25 2010-11-25 用于向量数据流的重整理缓冲器

Publications (2)

Publication Number Publication Date
CN101986287A CN101986287A (zh) 2011-03-16
CN101986287B true CN101986287B (zh) 2012-10-17

Family

ID=43710635

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010559301A Active CN101986287B (zh) 2010-11-25 2010-11-25 用于向量数据流的重整理缓冲器

Country Status (1)

Country Link
CN (1) CN101986287B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104679671B (zh) * 2015-03-26 2018-10-12 中国人民解放军国防科学技术大学 用于处理器端设备中的高效缓存方法及输入缓冲装置
WO2018223302A1 (zh) * 2017-06-07 2018-12-13 华为技术有限公司 数据的重组方法和装置
CN114780460B (zh) * 2022-04-20 2024-05-03 深圳鲲云信息科技有限公司 一种dma控制器和方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1656445A (zh) * 2002-05-24 2005-08-17 皇家飞利浦电子股份有限公司 对宽存储器访问
CN1656495A (zh) * 2002-05-24 2005-08-17 皇家飞利浦电子股份有限公司 标量/矢量处理器
US7620748B1 (en) * 2006-04-06 2009-11-17 Bitmicro Networks, Inc. Hardware assisted non-volatile memory-to-input/output direct memory access (DMA) transfer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1656445A (zh) * 2002-05-24 2005-08-17 皇家飞利浦电子股份有限公司 对宽存储器访问
CN1656495A (zh) * 2002-05-24 2005-08-17 皇家飞利浦电子股份有限公司 标量/矢量处理器
US7620748B1 (en) * 2006-04-06 2009-11-17 Bitmicro Networks, Inc. Hardware assisted non-volatile memory-to-input/output direct memory access (DMA) transfer

Also Published As

Publication number Publication date
CN101986287A (zh) 2011-03-16

Similar Documents

Publication Publication Date Title
TWI741671B (zh) 記憶體系統
CN102141905B (zh) 一种处理器体系结构
US7257693B2 (en) Multi-processor computing system that employs compressed cache lines' worth of information and processor capable of use in said system
CN105095094B (zh) 内存管理方法和设备
CN104081366B (zh) 借助非易失性大容量存储器***提供高速缓冲存储器移动的设备和方法
CN102377682B (zh) 基于定长单元存储变长分组的队列管理方法及设备
US7512750B2 (en) Processor and memory controller capable of use in computing system that employs compressed cache lines' worth of information
US7971026B2 (en) Information processing apparatus and access control method
CN102279818B (zh) 支持有限共享的向量数据访存控制方法及向量存储器
CN105183662B (zh) 一种无cache一致性协议的分布式共享片上存储架构
CN105103144A (zh) 用于存储器的自适应控制的设备及方法
CN103608782A (zh) Lsb页面和msb页面中的选择性数据存储
CN102982505A (zh) 虚拟gpu
KR20090026941A (ko) 복수개의 비휘발성 데이터 저장매체를 구비한 저장장치의가상 파일 시스템에서 어드레스 맵핑을 수행하는 방법 및그 장치
CN102713866A (zh) 减少基于闪存的存储***中的存取争用
CN105843748B (zh) 一种对内存中内存页的处理方法及装置
CN101231619A (zh) 一种基于非连续页的动态内存管理方法
CN101297276A (zh) 具有本地执行功能和存储功能的大容量存储设备
WO2006084417A1 (fr) Méthode de gestion de tampon basée sur une table de bitmap
CN104866428A (zh) 数据存取方法和数据存取装置
US9569381B2 (en) Scheduler for memory
CN102063406A (zh) 用于多核处理器的网络共享Cache及其目录控制方法
CN103488585B (zh) 用于实现可重构***中配置信息缓存更新的控制器
CN101504632B (zh) 一种dma数据传输方法、***及一种dma控制器
CN101986287B (zh) 用于向量数据流的重整理缓冲器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant