专利名称:用于存储器的多路访问的地址生成的制作方法
技术领域:
此处的教导总体上涉及无线通信系统、用于该无线通信系统的方法、设备/装置 和计算机软件,以及示例性实施方式涉及turbo解码器存储器访问和用于这种turbo解码 器的架构。
背景技术:
E-UTRAN是从通用移动电信系统(UMTS)陆地无线电接入网络系统演进而来的无 线通信系统。如目前在3GPP (第三代合作伙伴计划)TS 36. 212中提出的,针对turbo码将 存在188个不同的turbo帧。在发射设备处应用信道码,以便针对由无线空中接口信道中 的干扰因素所引起的各种错误而建立对数据(用户数据或控制数据)的保护。继而,需要 在接收器处对已编码数据进行解码,以在接收机处恢复原始数据。Turbo码通常用于两个或 更多通信设备(如,移动电话、网络接入节点(例如,e节点B、节点B、基站、无线局域网接 入点))之间的数据保护。这种设备使用turbo解码器来解码此已编码数据。E-UTRAN(尽管不仅局限于该无线协议)的一个元素在于使用高速数据链路(例 如,数据传输速度高于约20Mbps)。在这种高速度下以及尤其通过如上针对3GPP TS 36.212 所注意到的大数量信道码的情况下,接收机/turbo解码器需要以相当高的速率进行处理, 从而随着已编码数据正在被接收而以实时或接近实时的方式进行正确的解码。针对这种高速turbo解码,通常存在两种简单的方案在实施了 turbo解码器的 ASIC(专用集成电路)上采用较高的时钟速率以跟上传入数据速率,或者使用并行处理,该 并行处理允许在并行流中的每一个流上进行较慢处理,而不会落后于该传入数据。较高的ASIC时钟速率受到以下的限制较高功耗、用来制作该ASIC的半导体技术 的局限,以及具有高时钟速率ASIC的设备的较高终端用户价格。并行处理支持更快速的解 码器,同时避免了上述限制中的一些。尤其是在便携式无线设备(例如,移动台或其他便携 式用户设备UE)中,功耗成为重要的设计考虑。与这些教导有关的是与此处详述的本发明相同的发明人的两篇文献2007年9月 18 日授权的、名称为“NOISE AND QUALITY DETECTOR FOR USE WITH TURBO CODED SIGNALS” 的美国专利号7,272,771(下文中,称为Noise and Quality Detector参考);和2007年6 月4日提交的、名称为“MULTIPLE ACCESS FOR PARALLEL TURBO DECODER”的共同未决美国 专利申请序列号11/810,199(下文中,称为Multiple Access Decoder参考)。通过参考, 在此并入这些文献中每一个的全文。以下详细描述的本发明实施方式可以简化在上述两篇参考中详述的某些操作,并 且因此对于高速数据链路(其中,特别是如3PP TS 36. 212中所述,存在大量不同的turbo 帧的情况)而言尤其有益。
发明内容
根据本发明的一个实施方式的是一种方法,其控制在数据解码期间的存储器访问。在此实施方式中,提供具有多个存储器的存储器组、配置用于以前向双重访问顺序向存 储器组应用逻辑存储器地址的前向单元、配置用于以后向双重访问顺序向存储器组应用逻 辑存储器地址的后向单元,以及位于存储器组与前向单元和后向单元之间的至少半蝶形网 络。此外,在此实施方式中,根据该方法,生成控制信号的集合,该控制信号的集合被应用到 该至少半蝶形网络和桶式移位器,以便利用针对逻辑地址的任何n元组的、以线性顺序或 二次多项式顺序中选择的一个顺序的η元组并行性来访问存储器组,而不存在存储器访问 冲突,其中η是2的非零整数次幂(例如,η = 2,4,8,16,32...)。根据本发明另一实施方式的是一种装置,其包括存储器组,具有多个存储器;前 向单元,配置用于以前向双重访问顺序向存储器组应用逻辑存储器地址;后向单元,配置用 于以后向双重访问顺序向存储器组应用逻辑存储器地址;至少半蝶形网络,其位于存储器 组与前向单元和后向单元之间。这一示例性装置进一步包括处理器,配置用于生成控制信 号的集合,该控制信号的集合被应用到该至少半蝶形网络,以便利用针对逻辑地址的任何 η元组的、以线性顺序或二次多项式顺序中选择的一个顺序的η元组并行性来访问存储器 组,而不存在存储器访问冲突,其中η是2的非零整数次幂。另外,此示例性装置包括解码 器,配置用于使用利用η元组并行性从存储器组提取的值来对接收的数据进行解码。根据本发明另一实施方式的是一种机器可读指令的程序,其实现在有形存储器上 并可由数字数据处理器执行,以执行针对控制存储器访问的动作。根据此示例性实施方式, 所述动作包括生成控制信号的集合,并向置于包括多个存储器的存储器组与逻辑存储器 地址端口组之间的至少半蝶形网络应用生成的控制信号的集合,以便利用针对逻辑地址的 任何η元组的、以线性顺序和二次多项式顺序中选择的一个顺序的η元组并行性来访问存 储器组,而不存在存储器访问冲突。在此实施方式中,η是2的非零整数次幂。所述动作进 一步包括使用利用η元组并行性从存储器组提取的值来对接收的数据进行解码。根据本发明又一实施方式的是一种设备,其包括存储装置,包括外部存储位置; 逻辑地址装置,用于以前向双重访问顺序和后向双重访问顺序来向存储器组应用逻辑存储 器地址;切换装置,位于存储装置和逻辑地址装置之间,用于选择性地将个体逻辑地址节点 耦合到个体外部存储位置;计算装置,用于生成控制信号的集合,并向切换装置应用生成的 控制信号的集合,以便利用针对逻辑地址节点的任何η元组的、以线性顺序和二次多项式 顺序中选择的一个顺序的η元组并行性来访问存储装置,而不存在外部存储位置之间的冲 突;以及解码装置,其使用利用η元组并行性从存储装置提取的值来对数据进行解码。在此 实施方式中,η是2的非零整数次幂。对于η为4或8的情况,切换装置还包括移位装置。 在特定实施方式中,存储装置是被寻址的存储器位置的存储器组;逻辑地址装置是与存储 器组相关联的地址生成器单元;切换(和移位)装置是晶体管或其他开关的阵列,通常称为 至少半个蝶形网络(桶式移位器作为移位装置);计算装置是位于专用集成电路上的处理 器;以及解码装置是turbo解码器。在下文详述本发明的这些和其他方面。
当结合附图阅读时,这些教导的前述和其他方面将在以下详细描述中变得更加清
林 疋。
图1描绘了具有四个总线的示例性蝶形网络,并且是所并入的Multiple Access Decoder参考的图1的复本。图2示出了与用于实现四度并行处理的两个蝶形网络相耦合的存储器组,以及 可操作以生成用于蝶形网络的控制信号的数据处理器,并且是所并入的Multiple Access Decoder参考的图2的复本。图3示出了根据本发明一个示例性实施方式的、针对数据帧中点对称访问该数据 帧。图4是示出了两个地址和存储器空间以及控制位的示意图,其中该控制位控制交 叉开关以将不同的总线路由到用于描述在下文详述的本发明实施方式的空间和地址中的 任意一个。图5是示出了四个地址和存储器空间、半蝶形网络和两个控制位的示意图。图6与图5类似,除了根据本发明的一个示例性实施方式、在存储器空间和开关之 间放置了两个桶式移位器。图7是八元组半蝶形网络和八个存储器空间(或子存储器)的示意图。图8与图7类似,除了根据本发明的一个示例性实施方式,具有两个桶式移位器。图9是与图7类似的示意图,其根据本发明的一个示例性实施方式具有不同的切 换布置并同样具有用于使用两个不同的访问顺序来并行访问八个存储器的前向单元和后 向单元。图10是根据本发明一个示例性实施方式、示出用于访问存储器的元素的过程流 示意图。图11示出了适用于实施本发明的示例性实施方式的各种电子设备的简化框图。
具体实施例方式上述Multiple Access Decoder参考的一般方法可以应用于具有用于内部交织的 二次置换多项式交织器的turbo码。另一方面,利用二次置换多项式的特性,可以简化和优 化并行处理访问方案。具体地,存储器和turbo解码器之间的路由网络变得简单,并且控制 位可以随需(on the fly)生成。在此处的示例性实施方式中描述的并行访问方案依赖于
二次置换多项式。本发明的实施方式可以在例如使用3G、WiMAX, LTE (3. 9G或UTRAN的长期演进)、 HSDPA/HUSPA(高速下行链路/上行链路分组接入)和其他无线协议进行操作的网络中使 用。本发明的实施方式并不限于特定无线协议,而是可以在移动设备/用户设备和/或网 络元件(诸如,基站/节点B等)中使用。首先,总结一下Multiple Access Decoder参考中的一些教导,以便理解下文新提 出的教导所带来的优势。作为Multiple Access Decoder参考的背景,用于3G移动设备 (例如,cdma2000,WCDMA)的某些turbo解码器使用每比特22周期用于在十个循环期间对 turbo编码的数据进行解码。利用阶为2、4和8的多路访问规则,周期效率在十个循环处分 别为每比特11、5. 5和2. 75个周期。本发明的示例性实施方式提供了设计用于与较高数据 速率(诸如将来通信标准所期望的)一起使用的高速turbo解码器而同时具有合理的低功 耗的能力。Multiple Access Decoder参考描述了这样的实施方式,其中并行处理的度是2的幂2,4,8等。这源于本发明人针对问题所采取的底层方式,并且此处新提出的教导继续 该底层方式,并且提供了针对八重(eight-fold)并行性的优势。Multiple Access Decoder参考详述了这样的显式算法和方法,用于根据存储器 集合的地址空间构建函数F,使得可以以两个独立顺序来并行地访问数据,而没有访问冲 突。函数F将每个地址与一个存储器相关联。在二次置换多项式的情况中,函数F可以被 选择为独立于二次多项式。因而,用于构建函数F的显式算法对于二次置换交织器而言是 多余的。另一结果是,所需的具有二次置换多项式的路由网络比Multiple Access Decoder 参考的路由网络要简单。图1和图2复制自Multiple Access Decoder参考中相同附图编号的附图,并且 示出了可以与turbo解码器架构一起操作以实现Multiple Access Decoder参考的实施方 式的电路。尽管下文描述特定于四元组或八元组并行性,但是这些教导可以容易地扩展至 针对2的任何整数次幂的η元组并行性。公知的是,Benes网络能够生成由数目的阶乘给出的所有顺序,但是其针对该网络 的控制位的计算是非常复杂的任务。在图1和图2中,蝶形网络应用至并行turbo解码以 作为数据路由器。尽管蝶形网络不能生成像Benes网络那么多的顺序,但是所生成的顺序 数目足以为感兴趣的turbo解码顺序建立并行处理。图1描绘了具有四个总线的示例性蝶形网络,并且是并入的Multiple Access Decoder参考的图1的复本。蝶形网络包括四个开关10、12、14和16。每个开关能够创建 直接连接㈨=0)或交叉连接㈨=1)。此示例性蝶形网络的控制信号是4位(b3,b2, bi; b0)。数据可以从左到右或从右到左通过蝶形网络。参考图2,例如,如果并行处理度是4,则第一(地址)蝶形网络18为了访问四个 存储器(存储器0,存储器1,存储器2,存储器幻的组19而接收以下作为输入控制位20 的集合(4位,例如,b3,b2,b1 b0);和四个地址:add0 (地址0)、addl (地址1)、add2 (地址 2)、add3 (地址3)。四个地址通过蝶形网络18,并应用至与蝶形网络18的输出管脚连接的 存储器组19。并行从存储器组19读取四个数据值(每一个数据来自存储器0,存储器1, 存储器2,存储器3中的一个),并以与四个地址相同的方式但相反的方向路由至第二(数 据)蝶形网络22。四个地址可以按照线性顺序或交织顺序生成。控制位20是顺序和位置 特定的,并且是根据Multiple Access Decoder参考的实施方式生成的。控制位20、4个写入地址和4个数据值被馈送至地址蝶形网络18和数据蝶形网络 22,以进行向同一存储器组19的写入操作,其中该写入操作和读取操作使用相同的硬件和 控制线。根据Multiple Access Decoder参考,以线性顺序和交织顺序来生成控制信号20 的位。控制信号20的位可以在解码开始之前生成,并存储至辅助存储器缓冲器M中。例 如,同一蝶形网络可以用于使用一个控制位集合以线性顺序,和使用另一控制位集合以交 织顺序,来将数据存储在存储器中,和/或从存储器中获取数据。这两个控制位集合针对给 定并行性度可以具有相同宽度。用于二元组蝶形网络的控制信号是1位宽,用于四元组蝶 形网络的控制信号是4位宽,以及用于八元组蝶形网络的控制信号是12位宽。通常,2m元 组蝶形网络需要11^2"1-1位宽的控制信号。注意,通过使用蝶形网络18和22可能实现的并 行处理独立于任何系统交织器。
本发明的实施方式可以利用地址生成器单元来替换控制位20的辅助存储器缓冲 器,该地址生成器单元可以向路由网络提供依赖于所需时间的控制位。共享的地址生成器 单元可以用于线性顺序η元组访问和交织顺序η元组访问。这种实施方式可以简化turbo 解码器和用于外部值的子存储器的存储器组之间的路由网络。例如,Multiple Access Decoder参考针对八元组蝶形网络具有12位宽的控制信号,而在示例性实施方式中,针对 比蝶形网络小的路由网络,仅存在4位宽的依赖于时间的控制信号。如图2中的存储器组的地址空间总长度由N表示,并且假设N是8的倍数。存储 器组的分量存储器长度是N/n,其中η = 2m, m= 1,2,3等。地址空间{0,1,2,...,N-1} 上的交织器由T表示,并且其逆交织器由Γ1 (交织器的逆称为解交织器)表示。二次置换 多项式交织器由 T(k) = a*k2+b*k+c(m。dul。(模)N)表示,其中 k = 0,1,2,. . .,N-1。在 2005 年 1 月、IEEE TRANSACTIONS ON INF0RMTI0N THEORY,VOL. 51,NO. 1,第 101-119 页上、 J. Sun 禾口 0· Y. Takeshita 的题目为 ‘‘ Interleavers for Turbo Codes Using Permutation Polynomials Over Integer Rings”的论文(以下称为Takeshita)中,示出了如何验证给 定数目a、b、c和N是否定义了二次置换多项式。具体地,当N是8的倍数时,a总是偶数, b是奇数。以下符号在下文描述示例性实施方式时使用。从地址空间{0,1,2,...,N-1}到 分量存储器空间{0,1,2,...,n-1}的多路访问函数由Fn表示,而地址为k = 0,1,2,..., N-I的数据值位于存储器组的分量存储器Fn(k)中。对于k= 0,l,2,···,N/n-l,线性顺序η元组数据访问 Pn 由 Pn(k) = ( (k),Ei1 (k), %(k),... ΑμΟΟ)定义,其中分量函数 (k)描述同时并行应用了哪些地址,N代表地址空 间的长度。假设,分量函数…的值应当彼此不同,即,对于i兴以及在索引空间{0,1,2,..., N/n-1}中的所有r和1 , (Γ) ^ Bj (k) 0交织顺序η元组数据访问Ρτη经由交织器T发生 PTn (k) = (Τ (a0 (k)),T (B1 (k)),T ( (k)),· · ·,T (Bn^1 (k)))。线性顺序意味着分量函数…(k) 按照如在? 00中那样使用,而交织顺序意味着分量函数 (k)经由PTn(k)中的交织器Τ: T(aj(k))使用。实际上,在使用线性η元组访问方案时,第j个数据总线使用由 (k)生成 的地址,而当使用交织的η元组访问方案时,第j个数据总线使用由TOijGO)生成的地址。 例如,在图7中,数据总线从左侧起编号为从0到7,并且由此索引j的值为从0到7。二次置换多项式交织器不会混合属于η的不同余数分类的地址;S卩,如果 Add0 ^ Add1 modulo η JlJT(Addci) ^ T(Add1)modulo η。这一事实意味着替代于用算法求 解多路访问函数而的值Fn (k),可以通过简单公式来设置值Fn(k) = k modulo n,其中 k = 0,1,2,· · ·,N-I[1]换言之,具有逻辑地址k的数据值位于子存储器Fn(k)中,并且其物理地址为(k div η),其中div表示整除。如果对于i兴j, (k) ^ Bj (k) (modulo η),则Fn的种类满足 下述要求对于i ≠ j,并且对于所有 k = 0,1,2,· · ·,N/n-1, Fn( (k)) Φ Fn(a」(k))(线性 顺序)。对于i ≠ j,并且对于所有 k = 0,1,2, ... , N/n-1,Fn (T ( (k)))兴 Fn (T ( (k))) (交织顺序)。所以,多路访问函数Fn (k)同时针对两个η元组数据访问方法Pn和Ρτη生成对η个 存储器的存储器组的无冲突访问。继而,出现了一个自然而然的问题需要哪种路由网络来通过使用两个不同的访问方法Pn和PTn而在turbo解码器与η个子存储器的存储器组之间 路由数据的η元组。第二个问题在于如何在解码数据期间控制路由网络。第三个问题在于 如何选择分量函数…来为turbo解码器建立η重并行处理。接下来,针对η = 2,4和8来 讨论这些问题,并提供答案。例如,在η = 16或2的其他更大次幂的情况下,假设数据帧的 长度N是η的倍数。如果AddO = Addl modulo (η/2)且 AddO Φ Addl modulo η,那么位于地址的 η 元 组内的两个地址AddO和Addl可以与依赖于公共时间的交叉开关耦合。在turbo解码器与 用于外部值的子存储器的存储器组之间构建路由网络即基于这一事实。除了依赖于时间的 交叉开关之外,路由网络还包括独立于时间的交叉开关。其遵守二次置换多项式交织器的 如下特性如果 AddO = Addl modulo (η/2)且 AddO 乒 Addl modulo n,则同样,T (AddO)= T(Addl)modulo (η/2)并且 T(AddO)兴 T(Addl)modulo η。在Multiple Access Decoder参考中,通过将每个子地址空间再次划分成两个 集合,较高度的并行处理从其较低度的对等体被派生出来。在与二次置换多项式交织器 结合的情况下,可以使用类似的方式。由于这样的特性“如果AddO兴Addl modulo n,则 T (AddO) Φ T (Addl) modulo n”,可以划分线性地址空间中的地址,并且也可以对交织器地址 空间做同样的划分。因此,不需要为了求解多路访问函数的值而在线性地址空间和交织地 址空间之间来回移动。为了说明地址空间划分的新方式,将地址空间划分成偶数地址和奇 数地址用Op,2p+l)替换k,因为k = 2p (偶数)或k = 2p+l (奇数)和ρ中的任一是正 整数或0。具有偶数地址的数据值被放入存储器0中,而具有奇数地址的数据值被放入存 储器1中。在两种情况下,逻辑地址为2p或2p+l的数据值的物理地址是子存储器中的P。 图4示出了用于路由网络的交叉开关31和对应的存储器布置。现在,只要T是二次置换多 项式交织器,则 T(2p) ^ T(2p+l)modulo 2。接着,考虑备选分量函数如和 ,其实际实现用于双重二元组并行访问方案。一 旦使用了一次处理两个连续格状列(trellis column)(偶数和奇数)的turbo解码器,那 么对于前向处理的k = 0,1,2,. . . ,N/2-1,以及对于后向处理的k = N/2-1,N/2-2,· · ·,1, 0,分量函数可以是^1GO =2k以及ai(k)=浊+1。所以,具有用于线性顺序访问机制的地 址二元组P2,以及具有用于二次多项式置换顺序访问机制的其他二元组Pt2,诸如以下分别 由[A2a]和[B2a]示出的P2 (k) = (2k,2k+l) ;[A2a]Pt2 (k) = (Τ (2k), T(2k+1)) ; [B2a]其中,索引k = 0,1,2,1,..,N/2-1,并且N是turbo交织器的长度。另一种可能 性是从两端同时前向和后向地处理数据帧对于k = 0,1,2,.. · ,N-l,a0(k) = k并且 (k) = N-k-l。实际上,(k) Φ (N-k-1)modulo 2,并且 T(k) ^ T(N-k-1)modulo 2。继而,P2 (k) = (k, N-k-1) ;[A2b]PT2(k) = (T(k),T(N-k-l)),其中 k = 0,1,2,· · ·,N-I [B2b]由于二次多项式是二阶多项式,所以其值可以由二阶差值生成。本发明的线性地 址方法可以与也由二阶差值表示的平面中的线匹配。这意味着,可以通过根据所应用的访 问方案(线性顺序或交织顺序)重置二阶差值来使用二阶差值生成存储器组的物理地址。 作为副产品,得到了针对交叉网络的控制位。根据给定值&,gk+1,和gk+2来计算二阶差值D0、Dl和D2,如下DO = gk ;Dl = gk+1-gk(modulo N);D2 = gk+2_2*gk+1+gk = gk+2-gk+1-(gk+1_gk) = (gk+2_gk+1)-Dl (modulo N).针对每个数据总线使用一个三元组二阶差值到所生成的物理地址。由于将相同的 多项式用于两个总线,所以第三项D2对于总线是相等的,并且由此将其称为公共项,并由Ct 表示。因此,两个总线共享第三项D2。DO的下一值通过以下递归计算为DO = D0+D1 (modulo N);Dl = D1+CT (modulo N),并且 Ct = D2 是常数。等式[A2a]中的线性顺序二元组数据访问I32导致两对二阶差值一个用于2k,另 一个用于2k+l。总线0的地址是0,2,4,6等,并且总线1使用地址1,3,5,7等。继而,而 =0, gl = 2,以及 & = 4,并且由此 AOtl = 0,Al0 = 2-0 = 2 (modulo N),并且公共项 Ct = 4-2*2+0 = 0 (modulo N)。由此,总线0的地址生成器的重置值是(AO0, Al0) = (0,2),并且 Ct = 0。总线1的地址生成器的重置值以相同的方式来计算,并且为(AO1, Al1) = (1,2)。 总线0的地址等于(AOciA),以及交叉开关的控制位等于(AOtl modulo 2)。两个总线使用公 共的控制位。在此特定情况下,控制位恒定为0。总线1的地址是(AOi/2)。等式[Bh]中的二次置换多项式交织的顺序二元组访问Pt2具有两种二阶差值 针对总线 0 是 AO0 = T (0),Al0 = T (2) -T (0) (modulo N),针对总线 1 是 AO1 = T (1),Al1 = T (3)-T(I) (modulo N)。公共项 Ct = T (4) _2*T (2)+T (0) (modulo N) = 8*a (modulo N)。实 际数字值取决于二次置换多项式。当像在等式[A2b]和[B2b]中那样使用双重二元组访问规则时,地址生成器单元 的二阶差值可以根据期望的访问规则(线性的或交织的)进行重置。总线0在线性访问 和交织访问中的地址分别为0,1,2,3,...,和T(O),T(I),1^2),...。所以,总线0的二阶 差值在线性访问和交织访问中可以分别利用(AO0, Al0) = (0,1)和(AO0, Al0) = (T(O), T(I)-T(O)) (modulo N)进行重置。更宽泛地说,根据用于线性顺序η元组访问的分量函数 值或二次多项式置换在用于交织的顺序η元组访问的分量函数值处的值来对二阶差值进 行重置。其中,η是2的幂(但不等于0)。总线1在线性访问和交织访问中的地址分别是 Ν-1,Ν-2,Ν-3,Ν-4· · ·,和 T (Ν-1),T (Ν-2),T (Ν-3),. . ·。总线 1 的二阶差值的两个项在线性 访问和交织访问中分别由(AOnAl1) = (Ν-1,-1)和(AOnAl1) = (T(N-I),T(N-2)-T(N-I)) (modulo N)重置。总线的地址生成器的公共项针对线性访问和交织访问的初始值分别为 Ct = 0和Ct = T(2)-2*T(1)+T(0) = 2*a (modulo N)。在所示的示例性访问情况中,总线0 的物理地址等于(A0V2),并且交叉开关的控制位等于(AOtl modulo 2)。两个总线使用公共 的控制位。总线1的地址是(A01/2)。针对二元组线性访问方案P2 (k) = (a0(k), B1 (k))的地址生成器的重置可以如下 进行。对于j = 0和1,指派AOj = Bj (0);Alj = Bj (1) -Bj (0) modulo N ;Ct = a0 (2) -2* (0) -a0 (0) modulo N用以针对二元组交织的访问方案Pt2 (k) = (T(a0(k)),T(ai (k)))重置地址生成器的公式可以是AOj = T (Bj (0));Alj = T (Bj (1)) -T Caj (0)) nodulo N ;Ct = T(a0(2))-2*T(a0(0))-T(a0(0))modulo N,其中 j = 0 禾口 1。对分量函数所进行的索引是否也从N/2-1开始向下进行并且继而三个值为 Ν/2-1,Ν/2-2和Ν/2-3可以取决于所选择的并行方法。总之,至此,可知二阶差值提供了为两个数据总线生成物理地址以及为交叉开关 生成(依赖于时间的)控制位的可行方法。共享的地址生成器单元可以用于以一致方式进 行线性访问和交织访问。为了将二元组并行访问扩展到四元组并行访问,可以通过利用以下公式将地址与 存储器0,1,2和3相关联来将二元组的地址空间划分成四元组的地址空间对于 k = 0,1,2,· · ·,Ν-1,F4(k) = k modulo 4。由于二次置换交织器的if (如果)特性“如果Add。^ Add1 modulo 4,则 T(Add0) Φ T(Add1)HioduI0^,上述公式在线性顺序和交织顺序中产生了无竞争的四元组数 据访问。以下表1示出了数据值如何位于四个子存储器的存储器组中的示例。表1中的每 个存储器单元保有该存储器单元的地址。
权利要求
1.一种方法,包括提供包括多个存储器的存储器组、配置用于以前向双重访问顺序向所述存储器组应用 逻辑存储器地址的前向单元、配置用于以后向双重访问顺序向所述存储器组应用逻辑存储 器地址的后向单元,以及位于所述存储器组与所述前向单元和后向单元之间的至少半蝶形 网络;以及生成控制信号的集合,并向所述至少半蝶形网络应用生成的控制信号的集合,以便利 用针对逻辑地址的任何η元组的、以线性顺序或二次多项式顺序中选择的一个顺序的η元 组并行性来访问所述存储器组,而不存在存储器访问冲突,其中η是2的非零整数次幂。
2.如权利要求1的方法,其中桶式移位器与所述至少半蝶形网络一起置于所述存储器 组与所述前向单元和后向单元之间;所述方法包括生成所述控制信号的集合,并向所述 至少半蝶形网络和所述桶式移位器应用所述生成的控制信号的集合,以利用所述η元组并 行性访问所述存储器组。
3.如权利要求2的方法,其中生成用于所述至少半蝶形网络和所述桶式移位器的控制 信号的集合以便访问所述存储器组包括应用二阶差值以生成针对所述存储器组的所述η 元组并行性访问的所述存储器物理地址。
4.如权利要求1的方法,进一步包括将所述逻辑地址配对,使得如果AddO= Addl modulo (η/2),则两个逻辑地址AddO和Addl成对。
5.如权利要求4的方法,其中每个配对的逻辑地址包括在所述前向单元处的第一逻辑 地址,和在所述后向单元处的第二逻辑地址。
6.如权利要求4的方法,其中应用所述生成的控制信号集合包括将所述配对的逻辑地 址的每一个路由通过所述至少半蝶形网络的开关,使得所述开关的每一个仅将所述逻辑地 址的一个配对路由通过。
7.如权利要求1的方法,进一步包括将所述逻辑地址配对,使得共享所述至少半蝶形 网络的交叉开关的任何两个存储器是一对存储器。
8.如权利要求1的方法,用于控制在turbo解码器进行数据解码期间的存储器访问,其 中至少四个总线将所述turbo解码器耦合至所述前向单元,至少四个总线将所述turbo解 码器耦合至所述后向单元,以便针对所述存储器组的每个数据访问解码至少四个格状列。
9.如权利要求1的方法,其中所述控制信号的集合包括所述存储器组的存储器的地址 的最低有效位。
10.如权利要求9的方法,其中所述控制信号的集合的一部分是从二次多项式的系数 生成的。
11.如权利要求1的方法,其中所述前向单元配置用于以所述线性访问顺序4k、4k+l、4k+2、4k+3来访问所述存储器;所述后向单元配置用于以所述线性访问顺序N-4(k+l)、N-4(k+l)+l、N-4(k+l)+2、 N-4(k+l)+3来访问所述存储器;以及所述至少半蝶形网络配置用于以八元组线性访问顺序4k、4k+l、4k+2、4k+3、 N-4 (k+1)、N-4 (k+1) +1、N-4 (k+1) +2、N_4 (k+1) +3 来访问所述存储器;其中k是整数索引k = 0,1,2,1. . .,N/4-1,以及N是turbo交织器的长度,并且等于8 的整数倍。
12.如权利要求1的方法,其中所述前向单元配置用于以交织访问顺序T(4k)、T(4k+1)、T(4k+2)、T(4k+3)来访问所 述存储器;所述后向单元配置用于以交织访问顺序T(N-4(k+l))、T(N-4(k+l)+l)、 T(N-4(k+l)+2)、T(N-4(k+l)+3)来访问所述存储器;以及所述至少半蝶形网络配置用于以八元组交织访问顺序T(4k)、T(4k+1)、T(4k+2)、 T (4k+3)、T (N-4 (k+1))、T (N-4 (k+1) +1)、T (N_4 (k+1) +2)、T (N_4 (k+1) +3)来访问所述存储 器;其中k是整数索引k = 0,1,2,1. . .,N/4-1,以及N是turbo交织器的长度,并且等于8 的整数倍。
13.如权利要求1的方法,其中生成用于所述至少半蝶形网络的控制信号的集合以便 访问所述存储器组包括应用二阶差值以生成针对所述存储器组的所述η元组并行性访问 的所述存储器的物理地址。
14.如权利要求13的方法,其中所述二阶差值是DO、Dl和D2,并且根据给定值&、gk+1和gk+2按如下进行计算 DO = gk ;Dl = gk+1-gk ;以及D2 = (gk+2-gk+1)-Dl项LENGTH是交织器的长度;以及通过将Dl与DO相加来更新DO,并且当LENGTH ^ D0+D1时,通过从DO减去LENGTH来 进一步更新DO;以及通过将D2与D 1相加来更新Dl,并且当LENGTH ^ D1+D2时,通过从Dl减去LENGTH来 进一步更新Dl。
15.如权利要求13的方法,其中所述二阶差值的一个项针对物理地址生成器的η元组 是公共的。
16.一种装置,包括 存储器组,包括多个存储器;前向单元,配置用于以前向双重访问顺序向所述存储器组应用逻辑存储器地址; 后向单元,配置用于以后向双重访问顺序向所述存储器组应用逻辑存储器地址; 至少半蝶形网络,其位于所述存储器组与所述前向单元和后向单元之间;以及 处理器,配置用于生成控制信号的集合,并向所述至少半蝶形网络应用所述生成的控 制信号的集合,以便利用针对逻辑地址的任何η元组的、以线性顺序或二次多项式顺序中 选择的一个顺序的η元组并行性来访问所述存储器组,而不存在存储器访问冲突,其中η是 2的非零整数次幂;以及解码器,配置用于使用利用所述η元组并行性从所述存储器组提取的值来对接收的数 据进行解码。
17.如权利要求16的装置,其中对于η是8的非零整数倍的情况,所述装置进一步包括 桶式移位器,其与所述至少半蝶形网络一起置于所述存储器组与所述前向单元和后向单元 之间;所述处理器进一步配置用于生成所述控制信号的集合,并向所述至少半蝶形网络和所述桶式移位器应用所述生成的控制信号的集合,以利用η元组并行性访问所述存储器组。
18.如权利要求17的装置,其中所述处理器配置用于通过应用二阶差值以及根据二次 多项式置换的值重置所述二阶差值以生成针对所述存储器组的所述η元组并行性访问的 所述存储器的物理地址,从而用于生成用于所述至少半蝶形网络和所述桶式移位器的控制 信号的集合以便访问所述存储器组。
19.如权利要求16的装置,其中所述处理器配置用于通过将所述逻辑地址配对,使得 如果AddO = Addl modulo (η/2),则任何两个逻辑地址AddO和Addl配对,从而用于生成用 于所述至少半蝶形网络的控制信号的集合。
20.如权利要求19的装置,其中每个配对的逻辑地址包括在所述前向单元处的第一逻 辑地址,和在所述后向单元处的第二逻辑地址。
21.如权利要求19的装置,其中所述生成的控制信号集合将所述配对的逻辑地址的每 一个路由通过所述至少半蝶形网络的开关,使得所述开关的每一个仅将所述逻辑地址的一 个配对路由通过。
22.如权利要求16的装置,其中所述处理器配置用于将所述逻辑地址配对,使得共享 所述至少半蝶形网络的交叉开关的任何两个存储器是一对存储器。
23.如权利要求16的装置,进一步包括turbo解码器,其经由至少四个总线耦合至所述 前向单元,经由至少四个总线耦合至所述后向单元,并且布置用于针对所述存储器组的每 个数据访问解码至少四个格状列。
24.如权利要求16的装置,其中所述控制信号的集合包括所述存储器组的存储器的物 理地址的最低有效位。
25.如权利要求M的装置,其中所述处理器配置用于从二次多项式的系数生成控制位 的集合。
26.如权利要求16的装置,其中所述前向单元配置用于以顺序4k、4k+1、4k+2、4k+3来访问所述存储器;所述后向单元配置用于以顺序N-4(k+l)、N-4(k+l)+l、N-4(k+l)+2、N_4(k+l)+3来访 问所述存储器;以及所述至少半蝶形网络配置用于以顺序W4k)、T(4k+1)、T(4k+2)、T(4k+3)、 T (N-4 (k+1))、T (N-4 (k+1) +1)、T (N_4 (k+1) +2)、T (N_4 (k+1) +3)来访问所述存储器;其中k是整数索引k = 0,1,2,1. . .,N/4-1,以及N是turbo交织器的长度,并且等于 为8的非零整数倍的η。
27.如权利要求16的装置,其中所述前向单元配置用于以交织访问顺序、T(4k+1)、T(4k+2)、T(4k+3)来访问所 述存储器;所述后向单元配置用于以交织访问顺序T(N-4(k+l))、T(N-4(k+1)+1)、 T (N-4 (k+1)+2), T (N-4 (k+1)+3)来访问所述存储器;以及所述至少半蝶形网络配置用于以八元组交织访问顺序、T(4k+1)、T(4k+2)、 T (4k+3)、T (N-4 (k+1))、T (N-4 (k+1) +1)、T (N-4 (k+1) +2)、T (N-4 (k+1) +3)来访问所述存储 器;其中k是整数索引k = 0,1,2,1. . .,N/4-1,以及N是turbo交织器的长度,并且等于 为8的非零整数倍的η。
28.如权利要求16的装置,其中所述处理器配置用于通过应用二阶差值而生成所述控 制信号的集合,以及根据二次多项式置换的值重置所述二阶差值以生成针对所述存储器组 的所述η元组并行性访问的所述存储器的物理地址。
29.如权利要求28的装置,其中所述处理器配置用于根据给定值gk、gk+1和gk+2按如下计算所述二阶差值 DO = gk ;Dl = gk+1-gk ;以及D2 = (gk+2-gk+1)-Dl ;项LENGTH是交织器的长度;以及所述处理器配置用于通过将Dl与DO相加来更新D0,并且当LENGTH ( D0+D1时,通过 从DO减去LENGTH来进一步更新DO ;以及通过将D2与Dl相加来更新Dl,并且当LENGTH ( D1+D2时,通过从Dl减去LENGTH来 进一步更新Dl。
30.如权利要求28的装置,其中所述二阶差值的一个项对于针对η的物理地址生成器 的η元组是公共的。
31.一种机器可读指令的程序,具体化在有形存储器上并可由数字数据处理器执行,以 实施针对控制存储器访问的动作,所述动作包括生成控制信号的集合,并向至少半蝶形网络应用所述生成的控制信号的集合,以便利 用针对逻辑地址的任何η元组的、以线性顺序和二次多项式顺序中选择的一个顺序的η元 组并行性来访问所述存储器组,而不存在存储器访问冲突,其中η是2的非零整数次幂,所 述至少半蝶形网络置于包括多个存储器的存储器组与逻辑存储器地址端口组之间;以及 使用利用所述η元组并行性从所述存储器组提取的值来对接收的数据进行解码。
32.一种装置,包括存储装置,包括外部存储位置;逻辑地址装置,用于以前向双重访问顺序和后向双重访问速率来向所述存储器组应用 逻辑存储器地址;至少切换装置,位于所述存储装置和所述逻辑地址装置之间,用于选择性地将个体逻 辑地址节点耦合到个体外部存储位置;计算装置,用于生成控制信号的集合,并向所述切换装置应用所述生成的控制信号的 集合,以便利用针对逻辑地址节点的任何η元组的、以线性顺序和二次多项式顺序中选择 的一个顺序的η元组并行性来访问所述存储装置,而不存在外部存储位置冲突,其中η是2 的非零整数次幂;以及使用利用所述η元组并行性从所述存储装置提取的值来对数据进行解码。
33.如权利要求32的装置,其中所述存储装置包括被寻址的存储器位置的存储器组;所述逻辑地址装置,包括与所述存储器组相关联的地址生成器单元;切换装置,包括至少半蝶形网络,以及对于η是8的非零整数倍的情况,所述切换装置进一步包括桶式移位器;所述计算装置包括位于专用集成电路上的处理器;以及 所述解码装置包括turbo解码器。
全文摘要
存储器组具有多个存储器。在一个实施方式中,前向单元以前向双重访问顺序向存储器组应用逻辑存储器地址,后向单元以后向双重访问顺序向存储器组应用逻辑存储器地址,以及至少半蝶形网络(至少半蝶形网络,在八元组实施方式中还有桶式移位器),其位于存储器组与前向单元和后向单元之间。生成控制信号的集合,以向至少半或更多蝶形网络(以及,在存在的情况下,向桶式移位器)应用该控制信号的集合,以便在第一实例中利用线性顺序以及在第二实例中利用二次多项式顺序、以n元组并行性来访问存储器组,其中n=2,4,8,16,32...。此访问针对逻辑地址的任何n元组,而不存在存储器访问冲突。以此方式,存储器访问可以由数据解码进行控制。
文档编号H03M13/29GK102084346SQ200980125661
公开日2011年6月1日 申请日期2009年7月2日 优先权日2008年7月3日
发明者E·涅米南 申请人:诺基亚公司