本申请是国际申请号为PCT/US2008/068388、申请日为2008年6月26日、发明名称为“同时多维字可寻址存储器架构”的PCT申请进入中国国家阶段后申请号为200880022161.3的中国发明专利申请的分案申请。
技术领域:
本发明的实施例涉及存储器架构。更明确地说,本发明的实施例涉及经优化以用于随机矩阵处理能力的存储器架构。
背景技术:
:随机存取存储器(RAM)是现代数字架构的普遍存在的组件。RAM可为独立装置或可集成或嵌入在使用RAM的装置内,例如,微处理器、微控制器、专用集成电路(ASIC)、芯片上系统(SoC)以及如所属领域的技术人员将了解的其它类似装置。例如单端口式存储器、双端口式存储器和内容可寻址存储器(CAM)的常规集成电路存储器架构仅提供一维数据字寻址空间/组织。举例来说,图1A中说明含有可线性地寻址(即,仅一维)的四个字(0、1、2或3)的简单存储器。经由常规集成电路存储器架构的存储器存取限于读取或写入选定(经寻址)4位字110,如所说明。如果应用要求读取/写入字0、1、2和3的位2(例如,图1B中的120),那么将需要四个存储器存取周期。举例来说,在常规单端口式存储器中,可读取/写入所有4个字,但每一位将仍然在其被读取/写入的相应行中。如所属领域的技术人员将了解,将需要额外操作(例如,移位、屏蔽,等等)来操纵所述位以获得个别位信息。例如信号处理、音频和视频编码/解码等许多高性能应用使用存储在不限于常规字排列的位图案中的数据。因此,具有一种经优化以用于随机矩阵操作的存储器架构将是有益的。技术实现要素:本发明的示范性实施例是针对经优化以用于随机矩阵操作的存储器架构。因此,本发明的实施例可包含一种N维可寻址存储器,其包括:N维位单元阵列;以及经配置以使用N维寻址来寻址每一位单元的逻辑,其中N至少为二,且其中位单元阵列可通过N个正交地址空间来寻址。本发明的另一实施例可包含N正交维可寻址存储器的一种位单元,所述位单元包括:位存储元件;N个字线以及N个位线,其中N至少为二。本发明的另一实施例可包含一种存取存储器的方法,所述方法包括:从N维位单元阵列建立第一可寻址字集合;以及从N维位单元阵列建立第二可寻址字集合,其中N至少为二,且第一集合地址空间与第二集合地址空间是正交的。附图说明呈现附图以辅助描述本发明的实施例,且仅为了说明实施例而非限制实施例而提供附图。图1A是说明常规寻址操作的存储器阵列的框图。图1B是说明待读取的所要位的存储器阵列的框图。图2是用于一般化N维字可寻址存储器的存储器架构的框图。图3是基于N维寻址(NDA)静态随机存取存储器(SRAM)的位单元的电路图。图4A和图4B说明寻址2维字可寻址(DWA)存储器。图5说明4×42维字可寻址(DWA)存储器。图6说明呈M×N矩阵乒乓缓冲器配置的2维字可寻址(DWA)M×N×2存储器。具体实施方式针对本发明的特定实施例的以下描述内容和相关图式中揭示本发明的方面。可在不脱离本发明的范围的情况下设计替代实施例。另外,将不详细地描述或将省略本发明的众所周知的元件,以便不使本发明的相关细节模糊。词语“示范性”在本文中用以表示“充当实例、例子或说明”。本文中描述为“示范性”的任何实施例不一定被解释为比其它实施例优选或有利。同样地,术语“本发明的实施例”不要求本发明的所有实施例都包含所论述的特征、优点或操作模式。另外,根据待由(例如)计算装置的元件执行的动作序列来描述许多实施例。将认识到,可通过特定电路(例如,专用集成电路(ASIC))、通过正由一个或一个以上处理器执行的程序指令或通过两者的组合来执行本文中所描述的各种动作。因此,本发明的各个方面可以许多不同形式来体现,已预期所有所述形式都在所主张的标的物的范围内。此外,对于本文中所描述的实施例中的每一者来说,任何此类实施例的对应形式都可在本文中被描述为(例如)“经配置以”执行所描述动作的“逻辑”。图2说明根据本发明至少一个实施例的一般化N正交维字可寻址存储器200的框图。如本文中所使用,N为大于或等于2的整数。N正交维字可寻址存储器含有存储器位单元阵列,存储器位单元中的每一者可通过N个正交寻址空间或N维寻址(NDA)方案来寻址。N个维度中的每一者具有数据字输入端口(例如,212)、数据字地址端口(例如,214)以及存取控制线(例如,216)。N个维度中的每一者还具有对应的数据字输出端口(例如,222)。在替代实施例中,可在可用于数据输入与数据输出两者的共用输入/输出端口中组合输入端口212与输出端口222的功能性。因此,本发明的实施例可包含N维可寻址存储器200,其具有N维位单元阵列210和经配置以使用N维寻址(NDA)来寻址每一位单元的逻辑(例如,解码器1到N),其中N至少为二。如上文所论述,位单元阵列210可通过N个正交寻址空间来寻址。经配置以寻址每一位单元的逻辑可包括N个地址解码器(例如,242)。每一地址解码器可经配置以接收数据字地址214和维度存取控制信号216。另外,对于每一N维,可包含字选择多路复用器(mux)(例如,252),其可与对应的地址解码器(例如,242)协同工作,以实现用于随机矩阵读取/写入操作的随机矩阵寻址。另外,存储器可包含经配置以读取/写入用于每一N维的数据的逻辑(例如,读出放大器、线驱动器等),其还可视特定存储器类型而被包含。图3说明根据本发明至少一个实施例的基于NDASRAM的位单元实施方案。可类似于常规SRAM位单元来排列图3所说明的NDASRAM位单元,以形成紧凑的N维字可寻址(N-DWA)SRAM。举例来说,本发明的示范性实施例中的2维阵列可占据常规2端口静态随机存取存储器(SRAM)的等效面积。然而,本发明的实施例不限于任何特定排列。因此,本发明的实施例可包含N正交维可寻址存储器的位单元300。所述位单元可包含一个位存储元件310、N个字线320以及N个位线330,其中N至少为二。位单元可为静态随机存取存储器(SRAM)的一部分,如上文所论述。然而,本发明的实施例不限于任何特定存储器类型。如所说明,位线中的每一者可包含耦合到存储元件310的第一线(例如,334)以及耦合到存储元件的第二线(例如,332),其中如此项技术中众所周知,当选择字d1时,位值由第一线334与第二线332之间的差分电压决定。同样地,N个字线320中的每一者耦合到装置(例如,晶体管322和324),所述装置经配置以在字线被激活的情况下,将来自N个位线的对应位线(332和334)耦合到存储元件310。所属领域的技术人员将了解,通过激活相关联的字线,可选择N个位线中的任一者,且可使用所述位线来读取或写入存储元件的值。因为对于理解本发明的实施例来说不需要位单元操作细节,且位单元操作细节是此项技术中众所周知的,所以本文中将不提供详细论述。N维字可寻址(N-DWA)存储器可具有N个同时存储器存取通道,其中的每一者包括数据字输入端口Din(i)、数据字地址端口Addr(i)、数据字输出端口Dout(i)以及控制端口Ctrl(i),其中i表示N个正交寻址空间中的一者。Din(i)或Dout(i)的位宽度界定每字的位数目,即,字地址Addr(i)每次所寻址(选择)的目标NDA位单元的数目。Ctrl(i)提供用于选择所支持的存取操作(例如,字读取操作或字写入操作)中的一者的一个或一个以上控制信号。本发明的实施例不限制或强加明确的N维寻址(NDA)方案。举例来说,本发明的实施例可包含N-DWA存储器结构,其经配置以用于如以下在表1中的面向目标矩阵的应用。矩阵特性N-DWA存储器参数维度的数目N每维度每向量的元素数目Din(i)或Dout(i)位宽度待同时存储的矩阵数目Addr(i)位宽度=log2(总的所存储元素/位宽度(Din(i)))表1-矩阵特性和N-DWA存储器参数举例来说,如果目标矩阵为2×4,且存在总共4个待同时存储的矩阵,那么可如以下在表2中所描述那样使用2-DWA存储器。表2-2维字可寻址(DWA)存储器图4A和图4B说明根据本发明至少一个实施例的用于2维字可寻址(DWA)存储器的寻址方案。在图4A中,使用地址(1)(Addr(1))来寻址十六个2位字。所述2位字(例如,0到15)中的每一者表示目标矩阵数据的2元素行。在图4B中,使用地址(2)(Addr(2))来寻址八个4位字(例如,0到7)。所述4位字中的每一者表示目标矩阵数据的4元素列。下文将更详细地论述这些实例中的每一者。参看图4A,针对Addr(1)来说明2维字可寻址(DWA)存储器的配置。存储器可通过包括十六个2位字的Addr(1)来寻址,所述十六个2位字中的每一者表示如所说明的目标矩阵数据的2元素行。当通过Addr(1)存取时,存储器矩阵1包含字0到3;矩阵2包含字4到7;矩阵3包含字8到11;且矩阵4包含字12到15。因此,如果将要读取/写入矩阵4的第二行中的两个位,那么可将Addr(1)设置为值13,且可执行单个读取/写入操作,并可输出/存储2位字。参看图4B,针对Addr(2)来说明2维字可寻址(DWA)存储器的配置。所述存储器可通过包括八个4位字(0到7)的Addr(2)来寻址,所述八个4位字(0到7)中的每一者表示目标矩阵数据的4元素列。当通过Addr(2)存取时,存储器矩阵1包含字0到1;矩阵2包含字2到3;矩阵3包含字4到5;且矩阵4包含字7到8。因此,如果将要读取/写入矩阵1的第二列中的四个位,那么可将Addr(2)设置为值1,且可执行单个读取/写入操作。举例来说,对于读取操作,接着可在单个操作中获得矩阵1、列1中的列数据的4位输出。同样地,对于写入操作,可在单个操作中,将4位数据存储到矩阵1、列1。如关于图1A和图1B所论述,如果应用需要使用常规单端口式存储器来读取字0、1、2和3的位2(如图1B中由参考120指示),那么其将需要四个存储器存取周期来读取所有四个字。接着,将需要额外操作来个别地提取位2信息。相比之下,本发明的示范性实施例允许在单个存储器周期中存取数据。举例来说,可创建如表3所指示且图5所说明而配置的2维字可寻址存储器,以提供对目标4×4矩阵数据的同时且单周期4位行和列字存取。所述矩阵类似于图1A和图1B所说明的矩阵。表3-4×42维字可寻址(DWA)存储器通过使用如图5所说明的4×42维字可寻址(DWA)存储器,可执行一列字读取/写入520(例如,Addr(2)=1)。因此,可在仅一个存储器存取周期中读取/写入数据列。另外,可从前述内容了解到,本发明的实施例还可寻址数据510,且读取/写入所述数据,其对应于常规读取/写入操作(例如,图1A中的110)。前面的描述内容已提供了本发明的实施例的若干实例和优点。所属领域的技术人员将从前面的描述内容了解到,本发明的实施例非常适合于矩阵密集型应用。本发明的至少一个实施例的一个示范性应用为数字通信。举例来说,N-DWA存储器可用于块交错和解交错,其为例如码分多址(CDMA)、CDMA2000和WCDMA系统的数字通信系统中所执行的典型任务。举例来说,块交错器可通过填充M行乘N列(M×N)阵列的列而接受块中经译码的符号。接着,可一次一行地将经交错的符号馈送到调制器。另一方面,块解交错器执行反向操作。块交错和解交错是此项技术中众所周知的,因此,本文中将不提供进一步细节(见(例如)伯纳德·斯克拉(BernardSklar)的《数字通信基础与应用》(DigitalCommunicationsFundamentalsandApplications),第二版,第464页)。块交错和解交错的过程可能需要使用常规系统的许多存储器和逻辑操作。然而,本发明的实施例准许直接矩阵操作,而无需额外逻辑操作。举例来说,参看表4,可创建M×N2维字可寻址存储器,以提供矩阵数据的同时且单周期M行与N列字存取。表4-M×N×22维字可寻址(DWA)存储器返回参考块交错和/或解交错实例,可使用一个经配置以用于M×N(例如,4×6)矩阵操作的2-DWA存储器来在无额外逻辑的情况下实施块交错或解交错硬件设计。或者,使用一个具有用于2个M×N矩阵的存储的2-DWA存储器(如表4的右列所示且如图6所说明)可用以形成乒乓(ping-pong)缓冲器600。2-DWAM×N×2存储器可充当用于块交错或解交错的M×N矩阵乒乓缓冲器配置600,以实现高性能的每存储器周期一个符号的通过量。图6中说明此配置的实例。举例来说,交错器输入序列可以逐列方式用输入序列(例如,(0、1、2、3)(4、5、6、7)……)来直接填充乒缓冲器610。可在逐行基础上从乓缓冲器620直接检索经交错的输出序列(例如,(0、4、8、12、16、20)(1、5、9、13、17、21)……)。因此,可在无任何额外逻辑的情况下产生经交错的输出序列。还可基于存储器阵列(例如,M×N)的配置来确定交错。可通过与交错操作互逆的类似配置来实现解交错操作。举例来说,可逐行将经交错的输出序列(例如,(0、4、8、12、16、20)(1、5、9、13、17、21)……)填充到接收存储器中。可通过逐列(例如,(0、1、2、3)(4、5、6、7)……)读出数据来直接解交错经交错的输出序列以恢复原始输入序列。因此,还可在无任何额外逻辑的情况下直接从存储器实现解交错功能。尽管先前实例强调本发明的实施例在数字通信系统中执行矩阵功能的能力,但本发明的实施例不限于那些应用。举例来说,在视频编码/解码中,可将对象界定为存储器中的阵列,且可通过使所述对象在所述阵列中移动某一数目的列或行来模拟运动。本发明的实施例允许存储器阵列的灵活寻址,使得可改进对象移动和处理。因此,本发明的实施例不限于本文中所含有的实例和说明。另外,从前述内容将了解到,本发明的实施例可包含用于执行本文中所论述的动作、算法、功能和/或步骤的序列的方法。举例来说,实施例可包含存取存储器的方法,所述方法包括从N维位单元阵列建立第一可寻址字集合,以及从N维位单元阵列建立第二可寻址字集合。如上文所论述,N至少为二,且第一可寻址字集合与第二可寻址字集合是正交的。所述方法可进一步包含将用于每一可寻址字集合的位宽度(i)确定为每维度每向量的元素数目(例如,对于图4A和图4B分别为2和4)。可将地址位宽度(i)确定为:Addr(i)位宽度=log2(总的所存储元素/位宽度(i))。举例来说,对于图4A和图4B,分别将对应的地址位宽度确定为log2(32/2)=4和log2(32/4)=3。在此实例中,第一可寻址字集合具有与第二可寻址字集合的位宽度不同的位宽度。然而,第一可寻址字集合还可具有与第二可寻址字集合的位宽度相同的位宽度(见(例如)图5),同时仍为正交的。实施例可进一步包含将输入序列写入到第一可寻址字集合,以及从第二可寻址字集合读取输出序列,这可产生经交错的输出。更进一步,可将输入序列写入到第一缓冲器(例如,乒缓冲器),且可从第二缓冲器(例如,乓缓冲器)读出输出序列。所属领域的技术人员将了解,可使用多种不同技术和技法中的任一者来表示信息和信号。举例来说,可能在整个以上描述内容加以参考的数据、指令、命令、信息、信号、位、符号和码片可由电压、电流、电磁波、磁场或磁性粒子、光场或光学粒子或其任一组合来表示。虽然前述揭示内容展示本发明的说明性实施例,但应注意,可在不脱离如所附权利要求书所界定的本发明的范围的情况下,在本文中作出各种改变和修改。不需要以任何特定次序来执行根据本文中所描述的本发明的实施例的方法权利要求项的功能、步骤和/或动作。此外,尽管可能以单数形式来描述或主张本发明的元件,但除非明确陈述限于单数形式,否则预期复数形式。当前第1页1 2 3