CN101751242B - 一种数据处理方法及系统 - Google Patents

一种数据处理方法及系统 Download PDF

Info

Publication number
CN101751242B
CN101751242B CN 200910243437 CN200910243437A CN101751242B CN 101751242 B CN101751242 B CN 101751242B CN 200910243437 CN200910243437 CN 200910243437 CN 200910243437 A CN200910243437 A CN 200910243437A CN 101751242 B CN101751242 B CN 101751242B
Authority
CN
China
Prior art keywords
data
address
storer
write
read
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.)
Expired - Fee Related
Application number
CN 200910243437
Other languages
English (en)
Other versions
CN101751242A (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.)
Wuxi Vimicro Corp
Original Assignee
Vimicro Corp
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 Vimicro Corp filed Critical Vimicro Corp
Priority to CN 200910243437 priority Critical patent/CN101751242B/zh
Publication of CN101751242A publication Critical patent/CN101751242A/zh
Application granted granted Critical
Publication of CN101751242B publication Critical patent/CN101751242B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)

Abstract

本发明提供了一种数据处理方法及系统,其中的方法用于在m级流水线结构下处理帧数据,所述帧数据包括多个数据单元,多个存储器用于存放所述数据单元的数据,所述存储器为单口存储器,且第p个数据单元与第p+m个数据单元的数据存放于不同的存储器中,其中,m,p为自然数;所述方法包括:读取步骤:按照数据单元的编号顺序,依次从对应存储器中读取所述数据单元的数据;数据处理步骤:以数据单元为单位,采用流水线结构处理所读取的数据;判断步骤:判断当前数据单元的数据处理是否完成,若是,则执行写入步骤;写入步骤:将当前数据单元的数据写入对应的存储器。本发明用以在实现数据处理功能的前提下,减小芯片面积,从而降低芯片的成本。

Description

一种数据处理方法及系统
技术领域
本发明涉及数据处理技术领域,特别是涉及一种数据处理方法及系统。
背景技术
随着芯片集成度、复杂度和功能需求的增加,特别是多媒体应用的增加,对memory(储存器)空间的要求也随之大幅提升。特别是随着视频显示画面大小的增大,多媒体芯片中视频编码和解码常常需要大面积的memory才能够提供足够的储存空间。但是,Memory的增大直接导致芯片面积的增加和系统功耗的提高,从而导致芯片制造成本上升。因此,如何尽可能使用更小的memory来完成所需的功能,成为高性能芯片设计中必须面对的挑战。
随着芯片处理性能要求的提高,多媒体芯片在进行视频编解码时,为了达到足够大的帧率,通常采用pipeline(流水线)的数据处理结构。这种结构的实现方法如图1所示,其优点是可以保证同一时刻有多个数据单元的数据在进行处理,这样可以提高数据处理的速度,从而提高芯片系统的整体performance(性能)。
参照图1中的示例,假设pipeline中每个数据处理步骤所需的时间均为T,共有m个数据处理步骤,假设一帧数据一共有n个数据单元:
(1)由于每个数据单元需要mT的时间才能完成所有的处理,那么,不采用pipeline结构时,需要花费nmT的时间才能处理完整帧的数据;
(2)如果采用pipeline结构处理数据,当第一个数据单元完成步骤1并进入步骤2时,可以同时从memory里读出第二个数据单元进入步骤1进行处理;当第一个数据单元完成步骤2进入步骤3时,第二个数据单元进入步骤2,同时,可以从memory里读出第三个数据单元进入步骤1进行处理。如此类推,当第一个数据单元完成步骤m时,第m个数据单元完成步骤1,此时每个处理步骤里都有一个数据单元在进行处理,而处理完成的数据重新写入原来memory里的地址。如此重复,直到所有的数据都完成处理。这样,处理一帧数据所需的总时间是(n+m)T,平均每个数据单元完成处理的时间为(1+m/n)T。
比较(1)和(2)的结果可以知道,采用pipeline结构可以提高数据处理的效率。但又带来另外一个问题,也即,如何在写入第1个数据单元的同时,读出第m+1个数据单元来进入pipeline。
现有技术在设计芯片时,往往使用双口memory来完成上述功能。所述双口memory具有读数据接口和写数据接口,其中,读数据接口可以独立完成读数据操作,而不受写数据操作的影响;同样,写数据接口也可以在不受读操作影响的前提下,独立进行写操作。所述双口memory可以同时对同一个地址里面的数据进行读写,但双口memory的面积大,由于memory是芯片中占用面积最大的部分,当一帧数据的数据单元数n越大时,双口memory对芯片系统总面积的影响越大。因而,现有技术不能满足当今低成本的芯片设计需求。
总之,需要本领域技术人员迫切解决的一个技术问题就是:如何在实现数据处理功能的前提下,减小芯片面积,从而降低芯片的成本。
发明内容
本发明所要解决的技术问题是提供一种数据处理方法及系统,用以在实现数据处理功能的前提下,减小芯片面积,从而降低芯片的成本。
为了解决上述问题,本发明公开了一种数据处理方法,用于在m级流水线结构下处理帧数据,所述帧数据包括多个数据单元,其特征在于,多个存储器用于存放所述数据单元的数据,所述存储器为单口存储器,且第p个数据单元与第p+m个数据单元的数据存放于不同的存储器中,其中,m,p为自然数;所述方法包括:
读取步骤:按照数据单元的编号顺序,依次从对应存储器中读取所述数据单元的数据;
数据处理步骤:以数据单元为单位,采用流水线结构处理所读取的数据;
判断步骤:判断当前数据单元的数据处理是否完成,若是,则执行写入步骤;
写入步骤:将当前数据单元的数据写入对应的存储器。
优选的,所述读取步骤包括:
获取所要读取数据单元的地址;
对所述地址进行译码,其中,所述地址低位部分的译码结果作为存储器的片选信号,所述地址高位部分的译码结果作为存储器的地址;
从所述被选中存储器的地址读取数据。
优选的,所述写入步骤包括:
获取所要写入数据单元的地址;
对所述地址进行译码,其中,所述地址低位部分的译码结果作为存储器的片选信号,所述地址高位部分的译码结果作为存储器的地址;
向所述被选中存储器的地址写入当前数据单元的数据。
优选的,所述存储器的数目为m+1。
优选的,所述数据单元的数目为n,所述存储器与数据单元的对应关系为一对多对应,编号为x的存储器对应的数据单元编号为y=x+a(m+1),其中,n为自然数,x,a为整数,0≤a≤b,
b = n / ( m + 1 ) - 1 mod ( n , m + 1 ) = 0 n / ( m + 1 ) mod ( n , m + 1 ) ≠ 0 , 其中,mod为取余函数。
本发明还公开了一种数据处理系统,用于在m级流水线结构下处理帧数据,所述帧数据包括多个数据单元,包括:
多个单口存储器,用于存放所述多个数据单元的数据;
读取装置,用于按照数据单元的编号顺序,依次从对应存储器中读取所述数据单元的数据;
流水线处理装置,用于以数据单元为单位,采用流水线结构处理所读取的数据;
判断装置,用于判断当前数据单元的数据处理是否完成,若是,则触发写入装置;
写入装置,用于将当前数据单元的数据写入对应的单口存储器;
其中,第p个数据单元与第p+m个数据单元的数据存放于不同的单口存储器中,m,p为自然数。
优选的,所述读取装置包括:
第一获取模块,用于获取所要读取数据单元的地址;
第一地址译码模块,用于对所述地址进行译码,其中,所述地址低位部分的译码结果作为存储器的片选信号,所述地址高位部分的译码结果作为存储器的地址;
读取模块,用于从所述被选中存储器的地址读取数据。
优选的,所述写入装置包括:
第二获取模块,用于获取所要写入数据单元的地址;
第二地址译码模块,用于对所述地址进行译码,其中,所述地址低位部分的译码结果作为存储器的片选信号,所述地址高位部分的译码结果作为存储器的地址;
写入模块,用于向所述被选中存储器的地址写入当前数据单元的数据。
优选的,所述单口存储器的数目为m+1。
优选的,所述数据单元的数目为n,所述单口存储器与数据单元的对应关系为一对多对应,编号为x的存储器对应的数据单元编号为y=x+a(m+1),其中,n为自然数,x,a为整数,0≤a≤b,
b = n / ( m + 1 ) - 1 mod ( n , m + 1 ) = 0 n / ( m + 1 ) mod ( n , m + 1 ) ≠ 0 , mod为取余函数。
与现有技术相比,本发明具有以下优点:
本发明在m级流水线结构下处理帧数据时,采用多个小的单口memory来存放所述帧数据的多个数据单元,并且,第p个数据单元与第p+m个数据单元的数据存放于不同的单口memory中;这样,所述流水线结构需要同时读出和写入的数据就不会存在于同一个单口memory里,故所述多个单口memory可以实现读数据和写数据同时进行的功能;
此外,所述多个单口memory的容量总和与现有技术中一个双口memory的容量相同,而同样容量的单口memory的面积是双口memory的一半,故本发明的多个单口memory可以只占用现有技术一半的面积;又memory是芯片中占用面积最大的部分,因而本发明可以在实现数据处理功能的前提下,大大节省芯片面积,从而达到降低芯片成本的目的;
再者,本发明可以在对所要读取数据单元的地址进行译码时,将所述地址低位部分的译码结果作为单口memory的片选信号,以对所述被选中的单口memory进行读操作;也可以在对所要写入数据单元的地址进行译码时,将所述地址低位部分的译码结果作为单口memory的片选信号,以对所述被选中的单口memory进行写操作;这样,同一时刻最多有两个小容量的单口memory被激活进行相应的操作,因而,相对于现有技术,激活一个大容量的双口memory,本发明能够达到优化芯片系统功耗的目的。
附图说明
图1是现有技术一种数据处理方法的示意图;
图2是本发明一种数据处理方法实施例1的流程图;
图3是本发明一种数据处理方法实施例2的示意图;
图4是本发明一种数据处理方法实施例3的流程图;
图5是本发明一种数据处理系统实施例的结构图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
采用pipeline结构进行数据处理,带来的一个问题是:如何能够在写入第1个数据单元的同时,读出第m+1个数据单元来进入pipeline,故不需要在同一时刻读写同一个地址内的数据。
而单口memory只有一个接口,这个接口可以进行读数据也可以写数据,只是读操作和写操作不能同时进行,其最大优点是同样容量的单口memory的面积是双口memory的一半。
综上,本发明的核心构思之一在于,采用多个单口memory来实现具有同样储存容量的双口memory的功能,从而达到节省芯片面积的目的。
参照图2,示出了本发明一种数据处理方法实施例1的流程图,该方法用于在m级流水线结构下处理帧数据,所述帧数据可以包括多个数据单元,其中,可采用多个存储器来存放所述数据单元的数据,所述存储器可以为单口存储器,且第p个数据单元与第p+m个数据单元的数据可以存放于不同的存储器中,m,p为自然数;所述方法具体可以包括:读取步骤201、按照数据单元的编号顺序,依次从对应存储器中读取所述数据单元的数据;
数据处理步骤202、以数据单元为单位,采用流水线结构处理所读取的数据;
判断步骤203、判断当前数据单元的数据处理是否完成,若是,则执行写入步骤;
写入步骤204、将当前数据单元的数据写入对应的存储器。
本发明采用多个小的单口memory来代替现有技术中一个大的双口memory,假设一帧数据一共有n(n为自然数)个数据单元,那么所述多个单口memory的容量总和可以同样为n,故可以保持存储器的大小没有增大。
假设所述n个数据单元的编号为1,2,3,...,p,...,n,由于第p个数据单元的数据存放于对应的单口memory中,也即,第p个数据单元具有对应的单口memory;那么,在具体实现中,可以按照所述编号顺序,依次从对应存储器中读取所述数据单元的数据,送入pipeline处理装置,由所述pipeline处理装置进行数据处理。
另外,所述流水线级数为m,也即,所述pipeline处理装置具有m个数据处理步骤;而对于处理完成的数据单元,需要将其数据重新写入原单口memory里的地址,并且,只要所述多个单口memory中存在未被处理的数据单元,就需要从中读取数据到pipeline处理装置;这样,需要同时访问所述多个单口memory进行读写操作。
例如,在把第1个数据单元写入对应的单口memory时,需要同时把第m+1个数据单元从对应的单口memory中读出来,送进所述pipeline处理装置进行数据处理;在将第2个数据单元写入对应的单口memory时,同时把第m+2个数据单元从对应的单口memory中读出来;而单口memory只有一个接口,这个接口的读操作和写操作是不能同时进行的。
针对上述问题,本发明在将一帧数据的多个数据单元存放于所述多个单口memory时,采用如下存放原则:第p个数据单元与第p+m个数据单元的数据存放于不同的单口memory中。由于同一时刻需要读出的数据单元和需要写入的数据单元的编号之差为流水线级数m,这样,需要同时读出和写入的数据就不会存在于同一个单口memory里,因而,本发明可以用多个单口memory来实现读数据和写数据同时进行的功能。
由于同样容量的单口memory的面积是双口memory的一半,故本发明的多个单口memory可以只占用现有技术一半的面积;而memory是芯片中占用面积最大的部分,当一帧数据的数据单元数n越大时,双口memory对芯片总面积的影响越大,因而,相对于现有技术,本发明可以在实现数据处理功能的前提下,大大减小芯片的面积,从而达到降低芯片成本的目的。
本发明还公开了一种数据处理方法实施例2,该方法用于在m级流水线结构下处理帧数据,所述帧数据可以包括n个数据单元,其中,可以采用m+1个存储器来存放所述n个数据单元的数据,所述存储器为单口存储器,且所述存储器与所存放的数据单元的对应关系可以为一对多对应,也即,编号为x的存储器对应的数据单元编号可以为y=x+a(m+1),其中,m,n为自然数,x,a为整数,0≤a≤b,
b = n / ( m + 1 ) - 1 mod ( n , m + 1 ) = 0 n / ( m + 1 ) mod ( n , m + 1 ) ≠ 0 , 其中,mod为取余函数;
所述方法具体可以包括:
读取步骤、按照数据单元的编号顺序,依次从对应存储器中读取所述数据单元的数据;
数据处理步骤、以数据单元为单位,采用流水线结构处理所读取的数据;
判断步骤、判断当前数据单元的数据处理是否完成,若是,则执行写入步骤;
写入步骤、将当前数据单元的数据写入对应的存储器。
参考图3所示的本发明一种数据处理方法的示意图,在本发明实施例2的一种应用示例中,单口memory的数目为m+1,假设该m+1个单口memory的编号顺序为1,2,...,m+1,所述n个数据单元的编号顺序为1,2,...,n,那么,本发明实施例2的帧数据存放方式可以为:
从memory 1到memory m+1依次存放数据单元1+a(m+1),...,x+a(m+1),...,数据单元n,即第1个数据单元放在memory 1,第2个数据单元放在memory 2,......第m+1个数据单元放在memory m+1,第1+1*(m+1)个数据单元又放在memory1里,......直到所有数据全部放入,其中,1<x<m+1,且x+a(m+1)<n。特别地,在mod(n,m+1)=0时,每个单口memory中存储的数据单元个数是相同的,故每个单口memory的容量也相同,均为n/(m+1)。
假设mod(n,m+1)=0,按照上述帧数据存放方式,本发明实施例2的数据处理过程可以包括以下步骤:
步骤A1、依次从从memory 1到memory m+1中读取数据单元1~数据单元m的数据,送进pipeline装置;每进来一个数据单元,所述pipeline装置则针对该数据单元,依次执行数据处理步骤1~数据处理步骤m;
步骤A2、在检测到第1个数据单元完成数据处理m,也即,该第1个数据单元的数据处理完成时,把第1个数据单元写入memory1,同时,把第m+1个数据单元从memory m+1中读出来送进pipeline处理装置进行数据处理;
步骤A3、在检测到第2个数据单元的数据处理完成时,把第2个数据单元写入memory2,同时,把第m+2个数据单元从memory 1中读出来送进pipeline进行数据处理;
步骤A(n-m+1)、在检测到第n-m个数据单元的数据处理完成时,把第n-m个数据单元写入memory1,同时,把第n个数据单元从memory m+1中读出来送进pipeline进行数据处理;
步骤A(n-m+2)、针对第n-m+1个数据单元~第n个数据单元,在检测到当前数据单元的数据处理完成时,将其写入对应的memory中。
由于读出的数据和写入的数据不会同时在同一个memory中,并且保持了memory的大小和面积没有增大,因而,本实施例可以在实现数据处理功能的前提下,大大减小芯片的面积。
参照图4,示出了本发明一种数据处理方法实施例3的流程图,该方法用于在m级流水线结构下处理帧数据,所述帧数据可以包括多个数据单元,其中,可采用多个存储器来存放所述数据单元的数据,所述存储器可以为单口存储器,且第p个数据单元与第p+m个数据单元的数据可以存放于不同的存储器中,m,p为自然数;所述方法具体可以包括:读取步骤401、按照数据单元的编号顺序,依次从对应存储器中读取所述数据单元的数据,具体可以包括:
第一获取子步骤411、获取所要读取数据单元的地址;
第一译码子步骤412、对所述地址进行译码,其中,所述地址低位部分的译码结果作为存储器的片选信号,所述地址高位部分的译码结果作为存储器的地址;
读取子步骤413、从所述被选中存储器的地址读取数据。
数据处理步骤402、以数据单元为单位,采用流水线结构处理所读取的数据;
判断步骤403、判断当前数据单元的数据处理是否完成,若是,则执行写入步骤;
写入步骤404、将当前数据单元的数据写入对应的存储器,具体可以包括:
第二获取子步骤441、获取所要写入数据单元的地址;
第二译码子步骤442、对所述地址进行译码,其中,所述地址低位部分的译码结果作为存储器的片选信号,所述地址高位部分的译码结果作为存储器的地址;
写入子步骤443、向所述被选中存储器的地址写入当前数据单元的数据。
本实施例与实施例1的区别在于,当在对读写数据的地址进行译码时,将该地址低位部分的译码结果作为单口memory的片选信号(CEN),将高位部分作为单口memory的地址输入。
在具体实现中,可以在每个单口memory中设计一个片选端引脚,用于接收所述片选信号CEN。这样,在某个片选端收到合法的片选信号时,便进入工作状态,从而对该片选端所在的单口memory进行读写操作。
为使本领域技术人员更好地理解本发明,以下以一帧数据的pipeline数据处理过程为例对本实施例进一步说明。
本例的pipeline一共有3级,所述帧数据有1024个数据单元,那么pipeline在完成处理将数据写回memory地址A的时候,同时需要读取地址(A+3)中的数据开始新的处理。
本发明采用4个容量为n/4(256)的单口memory(S0,S1,S2和S3)来代替容量为1024的双口memory;memory的地址取值范围为0-1023,其地址位宽为10比特。
这样,可以采用地址的低2位(bit0和bit1)分别对应所述4个单口memory,具体而言,当低2位为00时,单口memoryS0被选中;当低2位为01时,单口memoryS1被选中;当低2位为10时,单口memoryS2被选中;当低2位为11时,单口memoryS3被选中。
假设在某一时刻,需要将数据写入到地址0x000,并且同时读取地址0x003中的数据。此时,如果获取的写入地址的低2位译码结果为00,则单口memoryS0的CEN置为有效,也即,单口memoryS0被选中进行写操作,因此,可以对S0的地址0x00进行写入操作;同理,如果获取的读取地址的低2位译码结果为11,则单口memoryS3的CEN置为有效,也即,单口memoryS3被选中进行写操作,因此,可以对S3的地址0x003进行读取操作。这样,本发明实施例就能够实现同时读写整个1024memory的功能。
从上述示例可以看出,在采用4个单口memory时,会有2个单口memory被同时选中。例如,S0和S3同时被选中,这样,有总共容量为512的memory被激活,并进行相应的操作。因此,相对于现有技术容量为1024的双口memory被激活,并进行相应的操作,本发明需要激活的memory小,因而功耗也随之减小。
可以理解,在读取一帧数据中的前m个数据单元时,不会对memory进行写操作;在写入一帧数据中的后m个数据单元时,不会对memory进行读操作;故上述两种情形下,只有一个单口memory被选中进行相应的操作。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
参考图5,示出了本发明一种数据处理系统实施例的结构图,该数据处理系统用于在m级流水线结构下处理帧数据,所述帧数据包括多个数据单元,具体可以包括:
多个单口存储器501,用于存放所述多个数据单元的数据;
读取装置502,用于按照数据单元的编号顺序,依次从对应存储器中读取所述数据单元的数据;
流水线处理装置503,用于以数据单元为单位,采用流水线结构处理所读取的数据;
判断装置504,用于判断当前数据单元的数据处理是否完成,若是,则触发写入装置;
写入装置505,用于将当前数据单元的数据写入对应的单口存储器;
其中,第p个数据单元与第p+m个数据单元的数据可以存放于不同的单口存储器501中,m,p为自然数。
在具体实现中,读取装置502、判断装置504、写入装置505可为在该数据处理系统中单独工作的装置,也可以集成在流水线处理装置503中,本发明对此不加以限制。
在本发明实施例中,优选的是,所述单口存储器的数目为m+1。
并且,在所述数据单元的数目为n时,所述单口存储器与数据单元的对应关系可以为一对多对应,也即,编号为x的存储器对应的数据单元编号可以为:y=x+a(m+1),其中,n为自然数,x,a为整数,0≤a≤b,
b = n / ( m + 1 ) - 1 mod ( n , m + 1 ) = 0 n / ( m + 1 ) mod ( n , m + 1 ) ≠ 0 , mod为取余函数。
在本发明的一种优选实施例中,所述读取装置502可以包括:
第一获取模块,用于获取所要读取数据单元的地址;
第一地址译码模块,用于对所述地址进行译码,其中,所述地址低位部分的译码结果作为存储器的片选信号,所述地址高位部分的译码结果作为存储器的地址;
读取模块,用于从所述被选中存储器的地址读取数据。
在本发明的另一种优选实施例中,所述写入装置505可以包括:
第二获取模块,用于获取所要写入数据单元的地址;
第二地址译码模块,用于对所述地址进行译码,其中,所述地址低位部分的译码结果作为存储器的片选信号,所述地址高位部分的译码结果作为存储器的地址;
写入模块,用于向所述被选中存储器的地址写入当前数据单元的数据。
上述两种优选实施例的核心思想在于,当在对读写数据的地址进行译码时,将该地址低位部分的译码结果作为单口memory的片选信号(CEN),将高位部分作为单口memory的地址输入。这样,在收到合法的片选信号,或者,该片选信号有效时,相应的单口memory才被激活进入工作状态,这样,在同一时刻,只有一个或两个小容量的单口memory被激活进行相应的操作,因而,相对于现有技术,激活一个大容量的双口memory,所述优选实施例能够达到优化芯片系统功耗的目的。
对于系统实施例而言,由于其与图2所示的方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明可以应用于多媒体芯片中,用于在视频编码和解码,采用Pipeline结构对视频帧数据进行处理,减小芯片面积和功耗,从而达到降低芯片成本的目的。
以上对本发明所提供的一种数据处理方法及系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种数据处理方法,用于在m级流水线结构下处理帧数据,所述帧数据包括多个数据单元,其特征在于,多个存储器用于存放所述数据单元的数据,所述存储器为单口存储器,且第p个数据单元与第p+m个数据单元的数据存放于不同的存储器中,其中,m,p为自然数;所述方法包括:
读取步骤:按照数据单元的编号顺序,依次从对应存储器中读取所述数据单元的数据;
数据处理步骤:以数据单元为单位,采用流水线结构处理所读取的数据;
判断步骤:判断当前数据单元的数据处理是否完成,若是,则执行写入步骤;
写入步骤:将当前数据单元的数据写入对应的存储器。
2.如权利要求1所述的方法,其特征在于,所述读取步骤包括:
获取所要读取数据单元的地址;
对所述地址进行译码,其中,所述地址低位部分的译码结果作为存储器的片选信号,所述地址高位部分的译码结果作为存储器的地址;
从所述被选中存储器的地址读取数据。
3.如权利要求1所述的方法,其特征在于,所述写入步骤包括:
获取所要写入数据单元的地址;
对所述地址进行译码,其中,所述地址低位部分的译码结果作为存储器的片选信号,所述地址高位部分的译码结果作为存储器的地址;
向所述被选中存储器的地址写入当前数据单元的数据。
4.如权利要求1所述的方法,其特征在于,所述存储器的数目为m+1。
5.如权利要求4所述的方法,其特征在于,所述数据单元的数目为n,所述存储器与数据单元的对应关系为一对多对应,编号为x的存储器对应的数据单元编号为y=x+a(m+1),其中,n为自然数,x,a为整数,0≤a≤b,
b = n / ( m + 1 ) - 1 mod ( n , m + 1 ) = 0 n / ( m + 1 ) mod ( n , m + 1 ) ≠ 0 , 其中,mod为取余函数。
6.一种数据处理系统,用于在m级流水线结构下处理帧数据,所述帧数据包括多个数据单元,其特征在于,包括:
多个单口存储器,用于存放所述多个数据单元的数据;
读取装置,用于按照数据单元的编号顺序,依次从对应存储器中读取所述数据单元的数据;
流水线处理装置,用于以数据单元为单位,采用流水线结构处理所读取的数据;
判断装置,用于判断当前数据单元的数据处理是否完成,若是,则触发写入装置;
写入装置,用于将当前数据单元的数据写入对应的单口存储器;
其中,第p个数据单元与第p+m个数据单元的数据存放于不同的单口存储器中,m,p为自然数。
7.如权利要求6所述的系统,其特征在于,所述读取装置包括:
第一获取模块,用于获取所要读取数据单元的地址;
第一地址译码模块,用于对所述地址进行译码,其中,所述地址低位部分的译码结果作为存储器的片选信号,所述地址高位部分的译码结果作为存储器的地址;
读取模块,用于从所述被选中存储器的地址读取数据。
8.如权利要求6所述的系统,其特征在于,所述写入装置包括:
第二获取模块,用于获取所要写入数据单元的地址;
第二地址译码模块,用于对所述地址进行译码,其中,所述地址低位部分的译码结果作为存储器的片选信号,所述地址高位部分的译码结果作为存储器的地址;
写入模块,用于向所述被选中存储器的地址写入当前数据单元的数据。
9.如权利要求6所述的系统,其特征在于,所述单口存储器的数目为m+1。
10.如权利要求9所述的系统,其特征在于,所述数据单元的数目为n,所述单口存储器与数据单元的对应关系为一对多对应,编号为x的存储器对应的数据单元编号为y=x+a(m+1),其中,n为自然数,x,a为整数,0≤a≤b,
b = n / ( m + 1 ) - 1 mod ( n , m + 1 ) = 0 n / ( m + 1 ) mod ( n , m + 1 ) ≠ 0 , mod为取余函数。
CN 200910243437 2009-12-22 2009-12-22 一种数据处理方法及系统 Expired - Fee Related CN101751242B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910243437 CN101751242B (zh) 2009-12-22 2009-12-22 一种数据处理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910243437 CN101751242B (zh) 2009-12-22 2009-12-22 一种数据处理方法及系统

Publications (2)

Publication Number Publication Date
CN101751242A CN101751242A (zh) 2010-06-23
CN101751242B true CN101751242B (zh) 2013-08-21

Family

ID=42478264

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910243437 Expired - Fee Related CN101751242B (zh) 2009-12-22 2009-12-22 一种数据处理方法及系统

Country Status (1)

Country Link
CN (1) CN101751242B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108471511B (zh) * 2018-03-12 2021-05-11 深圳怡化电脑股份有限公司 图像数据的处理系统及其处理方法
CN114896189B (zh) * 2022-05-07 2023-09-26 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 一种高速总线数据的缓存方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1366234A (zh) * 2000-12-19 2002-08-28 国际商业机器公司 运算电路和运算方法
CN101021818A (zh) * 2007-03-19 2007-08-22 中国人民解放军国防科学技术大学 面向流应用的片内存储器
CN101290613A (zh) * 2007-04-16 2008-10-22 卓胜微电子(上海)有限公司 Fft处理器的数据存储系统和方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1366234A (zh) * 2000-12-19 2002-08-28 国际商业机器公司 运算电路和运算方法
CN101021818A (zh) * 2007-03-19 2007-08-22 中国人民解放军国防科学技术大学 面向流应用的片内存储器
CN101290613A (zh) * 2007-04-16 2008-10-22 卓胜微电子(上海)有限公司 Fft处理器的数据存储系统和方法

Also Published As

Publication number Publication date
CN101751242A (zh) 2010-06-23

Similar Documents

Publication Publication Date Title
CN101630290B (zh) 重复数据处理方法和装置
CN101236774B (zh) 单端口存储器实现多端口存储功能的装置和方法
CN103048644B (zh) 合成孔径雷达成像系统的矩阵转置方法及转置装置
KR20100100395A (ko) 복수의 프로세서를 포함하는 메모리 시스템
CN103279309A (zh) 基于fpga的ddr控制装置及方法
CN102006364A (zh) 信息的显示方法及装置
CN102170678B (zh) 一种峰值搜索方法及装置
CN101674161B (zh) 解速率匹配方法及装置
CN101751242B (zh) 一种数据处理方法及系统
CN103208314A (zh) 嵌入式系统的内存测试方法及嵌入式系统
CN102096562A (zh) 数据写入方法及装置
CN102520902B (zh) 基于单片块ram的并行写入多fifo实现方法
CN112396072B (zh) 基于asic与vgg16的图像分类加速方法及装置
CN101178933B (zh) 一种闪存阵列装置
CN101640795B (zh) 一种视频解码优化方法及装置
CN100568382C (zh) 先进先出存储器
CN113222129A (zh) 一种基于多级缓存循环利用的卷积运算处理单元及系统
CN101770427A (zh) 一种利用Flash存储空间的方法及装置
CN102169425B (zh) 一种具有四种工作模式的fifo缓存电路
CN104750621A (zh) 缓存方法及控制系统
CN102841775A (zh) 使用铁电随机存取存储器且具有优化指令集的堆栈处理器
CN102201817A (zh) 基于存储器折叠架构优化的低功耗ldpc译码器
CN101488119B (zh) 地址译码方法、装置及单板
CN201142229Y (zh) 一种闪存阵列装置
CN101996142A (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
ASS Succession or assignment of patent right

Owner name: WUXI VIMICRO CO., LTD.

Free format text: FORMER OWNER: BEIJING ZHONGXING MICROELECTRONICS CO., LTD.

Effective date: 20110401

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100083 16/F, SHINING BUILDING, NO. 35, XUEYUAN ROAD, HAIDIAN DISTRICT, BEIJING TO: 214028 610, NATIONAL INTEGRATED CIRCUIT DESIGN PARK (CHUANGYUAN BUILDING), NO. 21-1, CHANGJIANG ROAD, WUXI NEW DISTRICT, JIANGSU PROVINCE

TA01 Transfer of patent application right

Effective date of registration: 20110401

Address after: 214028 national integrated circuit design (21-1), Changjiang Road, New District, Jiangsu, Wuxi, China, China (610)

Applicant after: Wuxi Vimicro Co., Ltd.

Address before: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Applicant before: Beijing Vimicro Corporation

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130821

Termination date: 20181222

CF01 Termination of patent right due to non-payment of annual fee