向量处理器中的加载/存储操作期间的格式转换的制作方法

文档序号:10579015阅读:204来源:国知局
向量处理器中的加载/存储操作期间的格式转换的制作方法
【专利摘要】本文描述了用于在加载/存储操作期间对数据向量执行运行中格式转换的系统和方法。在一个实施例中,一种用于将来自存储器的数据向量加载到向量单元中的方法包括从存储器中读取多个样本,其中该多个样本在存储器中被打包。该方法还包括解包这些样本以获得多个经解包样本,并行地对经解包样本执行格式转换,以及将经格式转换的样本的至少一部分发送到向量单元。
【专利说明】
向量处理器中的加载/存储操作期间的格式转换
[0001 ] 背景
技术领域
[0002]本公开的各方面一般涉及加载/存储操作,尤其涉及向量处理器中的加载/存储操作。
[0003]背景
[0004]向量处理器可被用来通过对数据向量执行算术和逻辑运算来加速基带信号的处理(例如,在无线设备中),其中每一数据向量包括数据样本集。向量处理器可包括可被编程以对数据向量执行各种向量操作的可重配置的数据路径、逻辑和算术器件(例如,加法器、复用器、累加器,等等)。
[0005]概述
[0006]以下给出对一个或多个实施例的简化概述以提供对此类实施例的基本理解。此概述不是所有构想到的实施例的详尽综览,并且既非旨在标识所有实施例的关键性或决定性要素亦非试图界定任何或所有实施例的范围。其唯一的目的是要以简化形式给出一个或更多个实施例的一些概念以作为稍后给出的更加具体的说明之序。
[0007]根据一方面,本文描述了一种用于将来自存储器的数据向量加载到向量单元中的方法。该方法包括从存储器中读取多个样本,其中该多个样本在存储器中被打包。该方法还包括解包这些样本以获得多个经解包样本,并行地对经解包样本执行格式转换,以及将经格式转换的样本的至少一部分发送到向量单元。
[0008]第二方面涉及一种用于将来自存储器的数据向量加载到向量单元中的装备。该装备包括用于从存储器中读取多个样本的装置,其中该多个样本在存储器中被打包。该装备还包括用于解包这些样本以获得多个经解包样本的装置,用于并行地对经解包样本执行格式转换的装置,以及用于将经格式转换的样本的至少一部分发送到向量单元的装置。
[0009]第三方面涉及一种用于将来自存储器的数据向量加载到向量单元中的装置。该装置包括控制器,其被配置成从存储器中读取多个样本,其中该多个样本在存储器中被打包。该装置还包括:解包逻辑,其被配置成解包这些样本以获得多个经解包样本;以及多个格式转换器,其中解包逻辑被配置成将每一经解包样本输入到该多个格式转换器中的一个相应格式转换器,并且每一格式转换器被配置成对相应的经解包样本执行格式转换。该装置还包括输出锁存器,其被配置成将经格式转换的样本的至少一部分输出到向量单元。
[0010]第四方面涉及一种用于将来自向量单元的数据向量存储在存储器中的方法。该方法包括从向量单元读取多个样本,以及并行地对这些样本中的两个或更多个样本执行格式转换。该方法还包括打包经格式转换的样本,以及将经打包样本发送到存储器。
[0011]为能达成前述及相关目的,这一个或多个实施例包括在下文中充分描述并在权利要求中特别指出的特征。以下说明和所附插图详细阐述了这一个或多个实施例的某些解说性方面。但是,这些方面仅仅是指示了可采用各个实施例的原理的各种方式中的若干种,并且所描述的实施例旨在涵盖所有此类方面及其等效方案。
[0012]附图简述
[0013]图1是包括被配置成执行格式转换的存储器桥的系统的框图。
[0014]图2是根据本公开的实施例的包括被配置成在加载/存储操作期间提供运行中格式转换的加载/存储单元的系统的框图。
[0015]图3示出了根据本公开的实施例的加载/存储单元的加载路径的示例性实现。
[0016]图4示出了根据本公开的实施例的存储器中的数据向量的示例。
[0017]图5示出了根据本公开的实施例的从存储器中读出的数据向量的示例。
[0018]图6示出了根据本公开的实施例的其中由交叉电路级联数据向量的样本的示例。
[0019]图7示出了根据本公开的实施例的其中通过用零填充样本来扩展样本的宽度的示例。
[0020]图8示出了根据本公开的实施例的其中来自两个读取操作的样本被移位且选择性地组合以构造供加载到向量单元中的期望样本集的示例。
[0021]图9示出了根据本公开的实施例的包括用于将不同宽度的样本输出到向量单元的逻辑的加载路径。
[0022]图10示出了根据本公开的实施例的能够选择性地在格式转换模式或旁路模式中操作的加载路径。
[0023]图11示出了根据本发明的实施例的其中来自两个读取操作的样本在旁路模式中被移位并选择性地组合的示例。
[0024]图12是解说根据本公开的实施例的用于将数据样本加载到向量单元中的方法的流程图。
[0025]图13示出了根据本公开的实施例的加载/存储单元的存储路径的示例性实现。
[0026]图14示出了根据本公开的实施例的读取-修改-写入操作的示例。
[0027]图15示出了根据本公开的实施例的其中样本将被写入到存储器的存储器空间的示例。
[0028]图16示出了根据本公开的实施例的被输入到交叉电路的样本的示例。
[0029]图17示出了根据本公开的实施例的由交叉电路输出的样本的示例。
[0030]图18示出了根据本公开的实施例的旁路模式中的读取-修改-写入操作的示例。
[0031]图19是解说根据本公开的实施例的用于将数据样本存储在存储器中的方法的流程图。
[0032]详细描述
[0033]以下结合附图阐述的详细描述旨在作为各种配置的描述,而无意表示可实践本文中所描述的概念的仅有的配置。本详细描述包括具体细节以便提供对各种概念的透彻理解。然而,对于本领域技术人员将显而易见的是,没有这些具体细节也可实践这些概念。在一些实例中,以框图形式示出众所周知的结构和组件以便避免淡化此类概念。
[0034]向量处理器可被用来通过对数据向量执行算术和逻辑运算来加速基带信号的处理,其中每一数据向量包括数据样本集。数据向量能够以各种定点和浮点数格式存储在存储器中。相反,向量处理器可能仅支持有限的算术格式集合。结果,当从存储器中检索数据向量以进行向量处理时,数据向量可能需要经历格式转换以将数据向量从该数据向量被存储在存储器中的格式转换成适用于向量处理的格式。
[0035]图1解说了一种用于在系统100中提供数据向量的格式转换的方法。系统100包括存储器110、存储器桥115、本地存储器(LMEM) 130、加载/存储单元135以及向量单元140。向量单元140可包括可被编程为对数据向量执行各种向量操作的可重配置的数据路径、逻辑和算术器件(例如,加法器、复用器、累加器,等等)。向量单元140还可包括用于临时存储待处理的数据样本以及所得样本(即,由对一个或多个数据向量执行的一个或多个向量操作产生的样本)的向量寄存器文件(未示出)。
[0036]在操作中,存储器桥115从存储器110中检索数据向量,并对该数据向量执行格式转换(FC)以将该数据向量转换成适用于向量处理的格式。存储器桥115然后将经格式转换的数据向量存储在LMEM 130中以使得经格式转换的数据向量对向量单元140可用。当向量单元140需要处理经格式转换的数据向量时,加载/存储单元135将该数据向量从LMEM 130加载到向量单元140的向量寄存器文件中。当向量单元140输出所得数据向量时,加载/存储单元135将所得数据向量存储在LMEM 130中。存储器桥115从LMEM 130中检索所得数据向量,并对所得数据向量执行格式转换以将所得数据向量转换成所得数据向量将被存储在存储器110中的格式。存储器桥115然后将所得数据向量存储在存储器110中。
[0037]该方法的缺点是它需要存储器110与向量单元140之间的中间存储器(例如,LMEM130),这增加了在存储器110与向量单元140之间移动数据向量所需的时间(时钟循环数)。另外,LMEM 130消耗功率并占用空间。
[0038]本公开的实施例提供了在加载/存储操作期间对数据向量的运行中格式转换。这消除了将经格式转换的数据向量临时存储在向量单元140与存储器110之间的中间存储器中的需求,由此减小了在向量单元140与存储器110之间移动数据向量所需的时间。
[0039]图2示出了根据本公开的实施例的系统200。系统200包括存储器110、向量单元140以及加载/存储单元235。加载/存储单元235被配置成在将来自存储器110的数据向量加载到向量单元140中的过程中对数据向量执行运行中格式转换。加载/存储单元235还被配置成在将来自向量单元140的数据向量存储在存储器110中的过程中对数据向量执行运行中格式转换。加载/存储单元235还可执行样本重对齐,如以下进一步讨论的。
[0040]图3示出了根据本公开的实施例的加载/存储单元235的加载路径310的示例性实现。加载路径310包括控制器315、交叉电路325、样本转换逻辑330、旋转器340、第一复用器350、第二复用器370以及输出锁存器360。样本转换逻辑330包括解包逻辑332以及多个格式转换器(FC)335。加载路径310还包括第一锁存器320、第二锁存器327、第三锁存器337以及第四锁存器345。
[0041]在图1所示的示例中,存储器110可被分成32排,其中每一排具有32位的宽度。加载路径310可以经由包括32个32位数据通道的1024位存储器总线317来耦合到存储器110,其中每一数据通道对应于存储器110的各排中的相应一排。在加载操作期间,控制器315可以从存储器110的一排或多排中读取数据,其中从每一排读取32位。从每一排读取的32位在总线317的相应32位数据通道上传输。在该示例中,控制器315可以一次最多从32排读取数据,并由此可以一次最多读取1024位。在一方面,读取操作可被限于排边界。由此,如果控制器315在读取操作期间访问一排中的一行,则控制器315可能必须读取该排中的整行,而不管是否只需要该行中的一部分数据。
[0042]为了方便讨论,在下文中使用以上示例来描述本公开的实施例。然而,将会认识到本公开的实施例不限于该示例,并且本公开的实施例可以与包括不同数目的排和/或具有不同排宽的存储器联用。
[0043]在一方面,存储器110中的数据向量可包括数据样本集,其中每一样本包括小于排宽(例如,32位)的位数。例如,每一样本可包括8位、1位、12位、16位、20位或24位。在这方面,样本可以在存储器110中被打包在一起以节省存储器空间。例如,样本可以在存储器110中被打包,其中在相邻样本之间没有空存储器空间。
[0044]在加载操作期间,控制器315可以从存储器110读取多个样本(例如,32个样本)。如果每一样本包括小于排宽(例如,32位)的位数,则控制器315可以从这些排的子集读取样本。例如,控制器315可以读取来自10排的32个10位样本、来自12排的32个12位样本、来自16排的32个16位样本,等等。
[0045]第一锁存器320锁存所读取的样本,并经由多个数据通道(例如,32个32位数据通道)将锁存的样本输出到交叉电路325。交叉电路325被配置成对用于传输样本的数据通道进行重路由。例如,交叉电路325可被配置成将交叉电路325的输入处的任一数据通道耦合到交叉电路325的输出处的任一数据通道。控制器315可使用交叉电路325来级联从存储器110读取的样本,如以下进一步讨论的。
[0046]第二锁存器327锁存来自交叉电路325的样本,并将锁存的样本输出到解包逻辑332。解包逻辑332解包样本,并将每一经解包样本提供给格式转换器335中的一个相应格式转换器。为此,控制器315可以向解包逻辑332发送指示每一样本的宽度(大小)(例如,8位、10位、12位、16位、20位或24位)的指令。这允许解包逻辑332确定样本之间的边界,并由此解包样本。
[0047]格式转换器335并行地对来自解包逻辑332的样本执行格式转换,其中每一格式转换器335转换相应样本的格式。对于其中一次从存储器110读取32个样本的示例,加载路径310可包括用于并行地对这32个样本执行格式转换的32个格式转换器335。
[0048]每一格式转换器335可转换相应样本的数字格式。例如,每一格式转换器335可将相应样本从浮点数格式转换成定点数格式,反之亦然。每一格式转换器335还可改变相应样本的宽度(大小)。例如,每一格式转换器335可通过用零填充相应样本来增加该样本的宽度(大小),如以下进一步讨论的。在一方面,控制器315可以向格式转换器335发送指示存储器110中的样本格式以及供向量处理的样本格式的指令,以使得格式转换器335执行适当的格式转换。每一格式转换器335在相应的数据通道(例如,32位数据通道)上输出相应的经格式转换的样本,如图3所示。
[0049]第三锁存器337锁存来自格式转换器335的经格式转换的样本,并将锁存的样本输出到旋转器340。为了便于解说,在图3中未示出第三锁存器337后的各个数据通道。旋转器340被配置成移位样本的位置。例如,旋转器340可移位样本的位置以便适当地将样本与向量单元140中的数据通道对齐,如以下进一步讨论的。在一方面,控制器315可以向旋转器340发送指示用于移位样本的样本位置数的偏移值。
[0050]第四锁存器345锁存来自旋转器340的经移位样本,并将锁存的样本输出到第一复用器350。在一方面,输出锁存器360包括第一输出锁存器362以及第二输出锁存器365,其中每一锁存器362和365可以一次保存来自旋转器340的一半样本(例如,16个样本)。在这方面,第一复用器350在不同时间(例如,在不同的时钟循环)将第一半样本和第二半样本输出到输出锁存器360。当复用器350输出第一半样本时,第一输出锁存器362可锁存第一半样本,并且当复用器350输出第二半样本时,第二输出锁存器365可锁存第二半样本。
[0051 ] 第二复用器370可选择性地将第一和第二输出锁存器362和365耦合到向量单元140。例如,第二复用器370可以在不同时钟循环将第一和第二输出锁存器362和365耦合到向量单元140。当第二复用器370将第一输出锁存器362耦合到向量单元140时,第一输出锁存器362可将第一半样本(例如,16个样本)输出到向量单元140,并且当第二复用器370将第二输出锁存器365耦合到向量单元140时,第二输出锁存器365可将第二半样本(例如,16个样本)输出到向量单元140。由此,在该实施例中,样本可被分成两半,这两半被一次一半地发送到向量单元140。这允许向量单元140具有存储器110的一半宽度(例如,512位)。在该实施例中,输出锁存器360可以按其它锁存器320、327、336和345的时钟频率的两倍进行操作。这允许输出锁存器360以与其它锁存器相同的速率输出样本,即使输出锁存器360—次只输出一半的样本。
[0052]在一个实施例中,输出锁存器360具有允许控制器315选择性地启用输出锁存器360中的各个样本空间中的写入的写入启用功能性。如以下进一步讨论的,这允许控制器315选择性地组合来自两个不同读取操作的样本以构造将被加载到向量单元140中的期望样本集。
[0053]加载路径310的各种操作现在将通过示例来更详细地描述。将会认识到各示例仅仅是解说性的且非限制性的。
[0054]在一个示例中,控制器315可将来自存储器110的32个12位样本加载到向量单元140中。在该示例中,32个12位样本包括总共384位(32 X 12位),这些位可以在存储器110中被打包在一起并存储在存储器110的12排中。这些排中的第一排可存储这些样本中的第一样本、这些样本中的第二样本以及这些样本中的第三样本中的8位,这些排中的第二排可存储这些样本中的第三样本中的其余4位、这些样本中的第四样本、这些样本中的第五样本以及这些样本中的第六样本中的4位,以此类推。
[0055]图4示出了存储在存储器110中的32个12位样本的示例。在该示例中,这些样本被拆分成占用存储器110中不同的两行的两个部分410a和410b。这可以例如发生于在一行中没有足够的自由空间来在该行中写入所有样本之时。第一部分410a包括η位,第二部分410b包括384-n位,如图4中所示。每一部分410a和410b可跨越排宽(例如,32位)的倍数。
[0056]控制器315可以从存储器110中读出样本的这两个部分410a和410b。这两个部分410a和410b可以在存储器总线317的12个数据通道上传输,如图5所示。在该示例中,在总线317上的样本的这两个部分410a和410b之间存在空间510。这是因为在存储器110中存储样本的第一和第二部分410a和410b的各排被多排(例如,20排)分隔开。
[0057]第一锁存器320锁存所读取的样本,并将其提供给交叉电路325。交叉电路325通过对用于传输样本的第一和第二部分410a和410b的数据通道进行重路由来将样本的第一和第二部分410a和410b级联成连续样本610,如图6所示。
[0058]交叉电路325还可使第一和第二部分410a和410b关于彼此重定位,如图6所示。可以这样做例如以使得经级联样本610被连续地排序。例如,这些样本中的第一样本可以开始于这些样本的第一部分410a的边界417,且这些样本中的最后一个样本可以结束于这些样本的第二部分410b的边界420,如图4所示。在该示例中,交叉电路325可以使第一和第二部分410a和410b关于彼此重定位,以使得第一样本和最后一个样本被分别定位在经级联样本610的边界417和420处,如图6所示。
[0059]第二锁存器327锁存来自交叉电路325的经级联样本610,并将其提供给解包逻辑332。解包逻辑332解包这些12位样本,并将每一经解包12位样本提供给格式转换器335中的一个相应格式转换器。每一格式转换器335可将相应的12位样本转换成32位样本。在一个示例中,这可通过简单地用20个零填充每一个12位样本来实现。就此,图7示出了其中32个12位样本610通过用零填充每一个12位样本来转换成32个32位样本710的示例。这可被称为样本宽度扩展。在另一示例中,格式转换器335还可转换12位样本的数字格式,诸如将12位样本从浮点数格式转换成定点数格式,反之亦然。每一个经格式转换的样本被输出到相应的数据通道(例如,32位数据通道),如以上讨论的。
[0060]第三锁存器337锁存来自格式转换器335的经格式转换的样本,并将其提供给旋转器340。旋转器340可移位样本的位置,例如以便适当地将这些样本与向量单元140中的数据通道对齐。为此,旋转器340可以在图7中所示的任一旋转方向722和725上旋转样本。例如,如果样本在旋转方向722上旋转一个样本位置,则顶部730处的样本被移至底部732,且其余样本被向上移位一个位置。在另一示例中,如果样本在旋转方向725上旋转一个样本,则底部732处的样本被移至顶部730,且其余样本被向下移位一个位置。将会认识到样本可以在任一方向上移位以达成期望的样本对齐。
[0061]如以上讨论的,控制器315可使用输出锁存器360的写入启用功能性来选择性地组合来自两个不同读取操作的样本以构造将被加载到向量单元140中的期望样本集。这可参照图8通过以下示例来解释。图8示出了将被加载到向量单元140中的期望样本集850。在该示例中,期望样本集850包括样本I到32。
[0062]图8还示出了由第三锁存器327在不同时间输入到旋转器340的第一和第二样本集810和830。第一和第二集合810和830分别对应于第一和第二读取操作。在该示例中,第一样本集810包括样本O到31,而第二样本集830包括样本32到63。第一样本集810包括样本O,即使样本O不在期望样本集850中。这可能是由于以下事实:样本O和样本I位于存储器110中的同一排中,且第一读取操作被限于排边界。结果,控制器315可能无法在不必还读取样本O的情况下从存储器110中读取样本I。
[0063]用于从第一和第二样本集810和830获取期望样本集850的操作现在将根据一个实施例来描述。旋转器340接收第一样本集810并移位(旋转)第一样本集810中的各样本的位置以将样本I到31与其在期望样本集850中的相应位置对齐。所得的经移位样本集820被写入到输出锁存器360。由此,在此刻,经移位样本集820被保存在输出锁存器360中。
[0064]旋转器340然后接收第二样本集830并移位(旋转)各样本的位置以将样本32与期望样本集850中的相应位置对齐。控制器315可使用写入启用信号来选择性地将来自所得的经移位样本集840的样本32写入到输出锁存器360。在该示例中,写入启用信号仅在对应于样本32的位置855中启用写入。由此,只有来自经移位样本集840的样本32被写入到输出锁存器360,而来自先前写入操作的样本1-31保持在输出锁存器360中。结果,在输出锁存器360中构造期望样本集850 ο期望样本集850然后可被输出到向量单元140。
[0065]—般而言,可以通过选择性地组合来自对应于不同读取操作的第一样本集和第二样本集的样本来在输出锁存器360中构造期望样本集。更具体而言,旋转器340可移位(旋转)第一样本集以将第一样本集中的一个或多个样本与其在期望样本集中的相应位置对齐,以产生第一经移位样本集。第一经移位样本集然后可被写入到输出锁存器360。旋转器340然后可移位(旋转)第二样本集以将第二样本集中的一个或多个样本与其在期望样本集中的相应位置对齐,以产生第二经移位样本集。控制器315然后可通过选择性地将第二经移位样本集中的一个或多个样本写入到输出锁存器360来构造期望样本集。更具体而言,控制器315在输出锁存器360中的与第二经移位样本集中的将被写入到输出锁存器360的一个或多个样本相对应的样本空间中启用写入。
[0066]图9示出了根据本公开的另一实施例的加载路径910,其中加载路径910能够以多个不同样本宽度中的任一个将样本输出到向量单元140。在图9所示的示例中,加载路径910能够选择性地将32位样本、16位样本或8位样本输出到向量单元140。由此,在该示例中,加载/存储单元235支持针对向量单元140的三个不同样本宽度。
[0067]加载路径910包括第一数据路径915、第二数据路径920、第三数据路径930以及数据路径复用器940。第一数据路径915、第二数据路径920和第三数据路径930用于分别将32位样本、16位样本和8位样本输出到向量单元140。数据路径复用器940被配置成取决于期望样本宽度来选择性地将第一、第二、第三数据路径915、920和930之一耦合到输出锁存器360。
[0068]第一数据路径915类似于图3所示的第四锁存器345与输出锁存器360之间的数据路径。第二数据路径920包括32至16位打包逻辑925,而第三数据路径930包括32至8位打包逻辑935。
[0069]在该实施例中,第四锁存器345可输出32位样本,而不管复用器940选择哪一数据路径915、920和930。当选择第二数据路径920时,每一 32位样本可包括用16个零填充的16位样本。在该情形中,格式转换器335可将来自解包逻辑的每一个样本转换成16位样本,并用16个零填充该16位样本以生成32位样本。当选择第三数据路径930时,每一个32位样本可包括用24个零填充的8位样本。在该情形中,格式转换器335可将来自解包逻辑的每一个样本转换成8位样本,并用24个零填充该8位样本以生成32位样本。由此,在该实施例中,格式转换器335可将来自解包逻辑332的样本转换成32位样本,而不管对于向量单元140选择哪一样本宽度。可以这样做以简化加载路径910的架构。
[0070]当选择32位的样本宽度时,控制器315指令复用器940将第一数据路径915耦合到输出锁存器360。来自第四锁存器345的样本被分成两半(各512位),这两半被一次一半地发送到输出锁存器360,如以上讨论的。
[0071]当选择16位的样本宽度时,控制器315指令复用器940将第二数据路径920耦合到输出锁存器360。32至16打包逻辑925通过从每一个样本中移除16位填充(例如,零)来将该样本的宽度从32位减小到16位。在图9所示的示例中,32至16打包逻辑925将所得样本打包成512位。换言之,32至16打包逻辑将跨越1024位的32个32位样本转换成跨越512位的32个16位样本。这32个16位样本可被保存在第一和第二输出锁存器360之一中,并且被一次(例如,在一个时钟循环中)发送到向量单元140。
[0072]当选择8位的样本宽度时,控制器315指令复用器940将第三数据路径930耦合到输出锁存器360。32至8打包逻辑935通过从每一个样本中移除24位填充(例如,零)来将该样本的宽度从32位减小到8位。在图9所示的示例中,32至8打包逻辑935将所得样本打包成256位。换言之,32至8打包逻辑将跨越1024位的32个32位样本转换成跨越256位的32个8位样本。这32个8位样本可被复制以生成跨越512位的64个8位样本。这64个8位样本可被保存在第一和第二输出锁存器360之一中,并且被一次(例如,在一个时钟循环中)发送到向量单元140。
[0073]图10示出了根据本公开的另一实施例的加载路径1010。加载路径1010包括从第四锁存器345到加载/存储单元235的存储路径(图13所示)的路径1050。如以下进一步讨论的,路径1050使加载/存储单元235能够执行读取-修改-写入操作。
[0074]在该实施例中,加载路径1010能够选择性地在格式转换模式或旁路模式中操作。在格式转换模式中,加载路径1010按与图9中的加载路径910相同的方式操作。在旁路模式中,加载路径1010在不进行格式转换的情况下将来自存储器110的数据样本加载到向量单元140中。该模式可以例如在样本以已经适用于向量处理的格式被存储在存储器110中时被选择。
[0075]在图10所示的示例中,对于不需要格式转换的8位样本或16位样本,加载路径1010能够在旁路模式中操作。加载路径1010在旁路模式中的操作现在将通过以下示例来描述,但将会认识到本公开的实施例不限于这些示例。
[0076]对于不需要格式转换的16位样本,控制器315可以一次从存储器110的32排中读出最多64个16位样本以获得总共1024位。第一锁存器320锁存所读取的样本,并将其提供给交叉电路325。交叉电路325可对用于传输样本的数据通道进行重路由,如以上讨论的。第二锁存器327锁存来自交叉电路325的样本,并将其提供给样本转换逻辑1030。在旁路模式中,样本转换逻辑1030可以简单地将样本传递给旋转器1040,而不解包样本且不对样本执行格式转换。换言之,样本可绕过解包逻辑332和格式转换器335。
[0077]旋转器1040可移位样本的位置,例如以便适当地将这些样本与向量单元140中的数据通道对齐。为此,旋转器1040可以在任一旋转方向上将样本旋转16位的倍数以达成期望对齐。
[0078]第四锁存器345锁存来自旋转器1040的经移位样本,并输出锁存的样本。在旁路模式中,复用器940选择第一数据路径915,其中经移位样本被分成分别被锁存在第一和第二输出锁存器362和365中的第一半和第二半。第一半和第二半可以在不同时间(例如,在不同时钟循环中)被输出到向量单元140。由于在旁路模式中样本未被解包,因此样本的每一半可包括跨越512位的32个16位样本。
[0079]在该示例中,控制器315可使用输出锁存器360的写入启用功能性来选择性地组合来自两个读取操作的16位样本以构造将被加载到向量单元140中的期望的16位样本集。这可参照图11通过以下示例来解释。图11示出了将被加载到向量单元140中的期望样本集1150。在该示例中,期望样本集1150包括样本I到64。
[0080]图11还示出了分别在不同时间被输入到旋转器1040且对应于第一和第二读取操作的第一和第二样本集1110和1130。第一样本集1110包括样本O到63,而第二样本集1130包括样本64-127。在该示例中,在单个读取操作中读取样本I到64或许是不可能的,因为样本I未与存储器110中的排边界对齐。
[0081 ]用于从第一和第二样本集1110和1130获取期望样本集1150的操作现在将根据一个实施例来描述。旋转器1040接收第一样本集1110并移位(旋转)第一样本集1110中的各样本的位置以将样本I到63与其在期望样本集1150中的相应位置对齐。在该示例中,样本被移位一个样本位置(16位)。所得的经移位样本集1120被写入到输出锁存器360。由此,在此刻,经移位样本集1120被保存在输出锁存器360中。
[0082]旋转器1040然后接收第二样本集1130并移位(旋转)第二样本集1130中的各样本的位置以将样本64与期望样本集1150中的相应位置对齐。控制器315可使用写入启用信号来选择性地将来自所得的经移位样本集1140的样本64写入到输出锁存器360,其中该写入启用信号只在对应于样本64的位置1155中启用写入。结果,在输出锁存器360中构造了期望样本集1150。期望样本集1150然后可被输出到向量单元140。
[0083]对于不需要格式转换的8位样本,控制器315可以一次从存储器110的32排中读出最多128个8位样本以获得总共1024位。第一锁存器320锁存所读取的样本,并将其提供给交叉电路325。交叉电路325可对用于传输样本的数据通道进行重路由,如以上讨论的。第二锁存器327锁存来自交叉电路325的样本,并将其提供给样本转换逻辑1030。在旁路模式中,样本转换逻辑1030可以简单地将样本传递给旋转器1040,而不解包样本且不对样本执行格式转换。
[0084]旋转器1040可移位样本的位置,例如以便适当地将这些样本与向量单元140中的数据通道对齐。为此,旋转器1040可以在任一旋转方向上将样本旋转8位的倍数以达成期望对齐。例如,旋转器1040可通过将样本旋转24位来将样本旋转三个样本位置。
[0085]第四锁存器345锁存来自旋转器1040的经移位样本,并输出锁存的样本。在旁路模式中,复用器940选择第一数据路径915,其中经移位样本被分成分别被锁存在第一和第二输出锁存器362和365中的第一半和第二半。第一半和第二半可以在不同时间(例如,在不同时钟循环中)被输出到向量单元140。由于在旁路模式中样本未被解包,因此样本的每一半可包括跨越512位的64个8位样本。
[0086]在该示例中,控制器315可使用输出锁存器360的写入启用功能性来选择性地组合来自两个读取操作的8位样本以构造将被加载到向量单元140中的期望的8位样本集。这可以按与以上针对16位样本描述的方式类似的方式完成。
[0087]图12是解说根据本公开的实施例的用于将数据样本加载到向量单元中的方法1200的流程图。
[0088]在步骤1210中,从存储器中读取多个样本,其中这些样本在存储器中被打包。例如,样本可以被打包在一起,其中在相邻样本之间没有存储器空间。
[0089]在步骤1220中,解包这些样本以获得多个经解包样本。例如,这些样本可由解包逻辑(例如,解包逻辑332)解包。
[0090]在步骤1230中,并行地对经解包样本执行格式转换。例如,每一经解包样本可被输入到多个格式转换器(例如,格式转换器335)中的一个相应格式转换器,其中每一格式转换器对相应的经解包样本执行格式转换。
[0091]在步骤1240中,将经格式转换的样本的至少一部分发送到向量单元。经格式转换的样本可以在被发送到向量单元之前被移位(例如,由旋转器340移位)(例如,以便适当地将经格式转换的样本与向量单元140中的数据通道对齐)。经格式转换的样本还可以在被发送到向量单元之前选择性地与对应于另一读取操作的经格式转换的样本相组合。可以这样做以构造供加载到向量单元中的期望样本集,如以上讨论的。
[0092]图13示出了根据本公开的实施例的加载/存储单元235的存储路径1310的示例性实现。存储路径1310能够在将来自向量单元140的样本存储在存储器110中的过程中对样本执行运行中格式转换。
[0093]存储路径1310包括控制器315、读取-修改-写入逻辑1385、旋转器1340、样本转换逻辑1330以及交叉电路1325。样本转换逻辑1330包括多个格式转换器1335以及打包逻辑1332,而读取-修改-写入逻辑1385包括行寄存器1390以及多个复用器1395。存储路径1310还包括第一数据路径1365、第二数据路径1367、第三数据路径1372以及数据路径复用器1380。存储路径1310进一步包括第一锁存器1337、第二锁存器1327以及第三锁存器1320。
[0094]在图13所示的示例中,存储路径1310的输入经由512位总线耦合到向量单元140以用于接收将被存储在存储器110中的样本。存储路径1310的输出经由包括32个32位数据通道的1024位存储器总线1317来耦合到存储器110,其中每一数据通道对应于存储器110的相应一排。将会领会,本公开的实施例并不限于以上给出的示例。
[0095]在存储操作期间,控制器315可以从向量单元140的向量寄存器文件中读取多个样本(例如,32个样本)以便存储在存储器110中。在一个实施例中,存储路径1310能够以多个不同样本宽度中的任一个从向量单元140接收样本。在图13所示的示例中,存储路径1310能够选择性地从向量单元140接收32位样本、16位样本或8位样本。第一数据路径1365用于从向量单元140接收32位样本,第二数据路径1367用于从向量单元140接收16位样本,而第三数据路径1372用于从向量单元140接收8位样本。数据路径复用器1380被配置成根据正从向量单元140接收的样本的宽度来选择性地将第一、第二、第三数据路径1365、1367和1372之一耦合到读取-修改-写入逻辑1385。
[0096]当存储路径1310将从向量单元140接收32位样本时,控制器315可指令复用器1380将第一数据路径1365耦合到读取-修改-写入逻辑1385。在该情形中,第一数据路径1365可以在两个时钟循环上从向量单元140接收32个32位样本,其中在每一时钟循环中接收这些样本中的一半。这32个32位样本可被输入到读取-修改-写入逻辑1385。
[0097]当存储路径1310将从向量单元140接收16位样本时,控制器315可指令复用器1380将第二数据路径1367耦合到读取-修改-写入逻辑1385。在该情形中,第二数据路径1367可以从向量单元140接收32个16位样本,并且第二数据路径1367中的16至32扩展逻辑1370可通过用零填充每一个16位样本来将该16位样本扩展成32位样本。所得的32个32位样本可被输入到读取-修改-写入逻辑1385。
[0098]当存储路径1310将从向量单元140接收8位样本时,控制器315可指令复用器1380将第三数据路径1372耦合到读取-修改-写入逻辑1385。在该情形中,第三数据路径1372可以从向量单元140接收32个8位样本的两个副本。第三数据路径1372中的复用器1375可将这些副本之一输出到第三数据路径1372中的8至32扩展逻辑1377。8至32扩展逻辑1377可通过用零填充每一个8位样本来将该8位样本扩展成32位样本。所得的32个32位样本可被输入到读取-修改-写入逻辑1385。
[0099]读取-修改-写入逻辑1385可以选择性地将来自向量单元140的样本与从存储器110中读取的一个或多个样本相组合以生成将被写入到存储器110的样本集。如以下进一步讨论的,这可以在对存储器110的写入操作被限于排边界并且从向量单元140接收到的样本未与存储器110中的排边界对齐时完成。
[0100]旋转器1340从读取-修改-写入逻辑1385接收样本。旋转器1340然后可移位这些样本的位置。例如,旋转器1340可移位样本的位置以将这些样本置于适当的对齐以供存储在存储器110中,如以下进一步讨论的。在一方面,控制器315可以向旋转器1340发送指示用于移位样本的样本位置数的偏移值。
[0101]第一锁存器1337锁存来自旋转器1340的样本,并将锁存的样本输出到样本转换逻辑1330。每一个样本经由相应的数据通道(例如,32位数据通道)传输到样本转换逻辑1330。在样本转换逻辑1330处,每一个样本被输入到格式转换器1335中的一个相应格式转换器。每一个格式转换器1335将相应样本的格式转换成该样本将被存储在存储器110中的格式。例如,每一格式转换器1335可转换相应样本的数字格式。每一格式转换器1335还可改变相应样本的宽度。例如,每一格式转换器1335可减小相应样本的宽度(例如,将32位样本转换成8位、10位、12位、16位、20位或24位样本)。在一方面,控制器315可以向格式转换器1335发送指示向量单元140中的样本格式以及样本将被存储在存储器110中的格式的指令,以使得格式转换器1335执行适当的格式转换。
[0102]打包逻辑1332打包来自格式转换器1335的经格式转换的样本。例如,如果每一个经格式转换的样本都具有12位的宽度,则打包逻辑1332可将这些经格式转换的样本打包成384位。
[0103]第二锁存器1327锁存来自打包逻辑1332的样本,并将锁存的样本输出到交叉电路1325。交叉电路1325被配置成对用于传输样本的数据通道进行重路由。例如,交叉电路1325可被配置成将交叉电路1325的输入处的任一数据通道耦合到交叉电路1325的输出处的任一数据通道。控制器315可使用交叉电路1325来将样本与这些样本将被存储在存储器110中的存储器空间对齐,如以下进一步讨论的。
[0104]第三锁存器1320锁存来自交叉电路1325的样本,并将经锁存样本输出到存储器110。控制器315然后将样本写入期望存储器地址。
[0105]存储路径1310的各种操作现在将通过示例来更详细地描述。将会认识到各示例仅仅是解说性的且非限制性的。
[0106]图14解说了根据本公开的实施例的读取-修改-写入操作的示例。图14示出了从向量单元140读取的示例性样本集1410。样本集1410被临时保存在读取-修改-写入逻辑1385的行寄存器1390中。示例性样本集1410包括经更新样本I到32,这些样本将被写入到存储器110以更新存储器110中的样本I到32。在图14中,经更新样本加了阴影以将其与从存储器110读取的样本区分开来。
[0107]在图14所示的示例中,样本集1410未与存储器110中的排边界对齐结果,样本集1410可能需要在两个写入操作中被写入到存储器。例如,存储器110中用于样本O到31的存储器空间可以与排边界对齐,其中样本O和样本I可位于存储器110的同一排中。结果,控制器315可能无法在不覆写样本0(样本O不改变)的情况下将经更新样本I写入到存储器110。在该示例中,控制器315可以在第一写入操作中对样本O到31的存储器空间进行写入,其中控制器315用来自向量单元140的经更新样本I到31来覆写存储器110中的样本I到31,并且重写存储器110中的样本O,由此使样本O不变。
[0108]就此,控制器315可以从存储器110中读取样本O到31并将这些样本输入到加载路径1010(图10所示)。在加载路径1010中,交叉电路325可级联这些样本,如以上讨论的。解包逻辑332然后可解包这些样本并将每一个经解包样本发送到相应的格式转换器335。在一方面,每一个格式转换器335将相应的样本扩展成32位(例如,通过用零填充该样本)并将经扩展样本输出到相应的数据通道(例如,32位数据通道)。该扩展将相应样本的宽度扩展至32位,同时允许该样本的原始值被恢复(例如,通过移除零填充),如以下进一步讨论的。图14示出了从加载路径1010中的格式转换器335输出的样本集1420。旋转器1040然后移位这些样本以产生经移位样本集1430,其中未被改变的样本(该示例中的样本O)被相对于从向量单元140中读取的样本适当地对齐。在图14所示的示例中,样本O被移位至位置1455。
[0109]在存储路径1310(图13所示)中,读取-修改-写入逻辑1385经由路径1050从加载路径1010接收样本,并且选择性地将来自加载路径1010的一个或多个样本与来自向量单元140的经更新样本相组合以形成将被写入到存储器110的样本集。在图14所示的示例中,来自加载路径1010的样本O与经更新样本I到31相组合以形成将被写入到存储器110的样本集1440。为此,读取-修改-写入逻辑1385中的每一个复用器1395接收来自加载路径1010的样本的一部分(例如,8位)以及来自行寄存器1390的经更新样本的一部分(8位),并选择将被包括在供写入到存储器110的样本集中的部分。在图14所示的示例中,对应于位置1455的复用器1395选择来自加载路径1010的样本0,而其它复用器1395选择来自行寄存器1390的经更新样本。
[0110]在图14所示的示例中,将被写入到存储器110的样本集1440包括经更新样本I到31以及从存储器110中读取的样本O。存储路径1310中的旋转器1340然后移位(旋转)样本集1440中的样本以将其置于适当的对齐以供存储在存储器110中,从而产生经移位样本集1450。存储路径1310中的旋转器1340进行的旋转可以是与加载路径1010中的旋转器1040进行的旋转相反的。换言之,存储路径1310中的旋转器1340进行的旋转可以撤消加载路径11中的旋转器1040对不被改变的样本(例如,样本O)进行的旋转。结果,样本O可以在由加载路径1010中的旋转器1040旋转之前被还原至其位置1460,如图14所示。
[0111]样本集1450中的每一个样本可经由相应的数据通道(例如,32位数据通道)被输入到存储路径1310中的格式转换器1335中的一个相应格式转换器。对应于经更新样本的格式转换器1335可以并行地对经更新样本执行格式转换以将经更新样本转换成它们将被存储在存储器110中的格式。例如,对应于经更新样本的每一格式转换器1335可将相应的经更新样本从浮点数格式转换成定点数格式,反之亦然。格式转换可涉及减小经相应的经更新样本的宽度。
[0112]对应于从存储器110中读取的样本的每一格式转换器1335可以在由加载路径1010中的相应格式转换器335扩展之前将该样本减小至其原始宽度。格式转换器1335可通过移除由加载路径1010中的相应格式转换器335添加的填充(例如,零填充)来这样做。结果,从存储器110中读取的原始样本可被还原。在图14所示的示例中,对应于样本O的格式转换器1335可通过移除由加载路径1010中的相应格式转换器335添加的填充来减小样本O的宽度。
[0113]由此,对应于经更新样本的格式转换器1335以及对应于从存储器110中读取的样本的格式转换器1335可执行不同的格式转换。对应于经更新样本的格式转换器1335将经更新样本的格式从这些样本被向量单元140输出的格式转换成这些样本将被存储在存储器110中的格式。对应于所读取的样本的格式转换器1335撤消由加载路径1010中的格式转换器335进行的扩展(例如,通过移除填充)。
[0114]存储路径1310中的打包逻辑1332然后可将来自格式转换器1335的样本打包成经打包样本。例如,如果来自格式转换器1335的样本各自具有12位的宽度,则打包逻辑1332可将这些样本打包成384位。
[0115]交叉电路1325然后可以对用于传输经打包样本的数据通道进行重路由,例如以便将经打包样本与其中将存储这些经打包样本的存储器空间对齐。就此,图15示出了经打包样本将被写入到的存储器空间的示例。在该示例中,该存储器空间包括第一部分1510a和第二部分1510b,这些部分可以在存储器110中的不同行中。这些经打包样本中的第一经打包样本将与第一部分1510a的边界1517对齐,并且这些经打包样本中的最后一个经打包样本将与第二部分1510b的边界1520对齐。该存储器空间的每一部分1510a和1510b可跨越排宽(例如,32位)的倍数,并且可以与存储器110中的排边界对齐。
[0116]图16示出了被输入到交叉电路1325的经打包样本1605的示例。在该示例中,经打包样本1605包括将被写入到存储器空间的第一部分1510a的第一部分1610a以及将被写入到存储器空间的第二部分1510b的第二部分1610b。每一部分1610a和1610b可跨越排宽的倍数。边界1617与经打包样本1605中的第一经打包样本对齐,并且边界1620与经打包样本1605中的最后一个经打包样本对齐。对于其中每一经打包样本包括12位的非限制性示例,经打包样本1605可跨越384位,如图16所示。将会认识到每一个经打包样本可包括不同的位数。
[0117]图17示出了交叉电路1325的输出的示例,其中交叉电路1325将经打包样本1605的第一和第二部分1610a和1610b分别与存储器空间的第一和第二部分1510a和1510b对齐。交叉电路1325通过对用于传输经打包样本的数据通道进行重路由来这样做。在该示例中,经打包样本1605的第一和第二部分1610a和1610b可由对应于存储器110中的存储器空间的第一和第二部分1510a和1510b之间的空间的空间1710来分隔。经打包样本1605然后可被写入到存储器110中的存储器空间的第一和第二部分。
[0118]由此,在图14所示的示例中,经更新样本1-31被写入到存储器110,而样本O在该第一写入操作期间被重写到存储器110。尽管在该示例中从存储器中读取了样本0-31,但将会认识到可从存储器110中读取仅这些样本的子集。这是因为在该示例中,只有样本O需要与经更新样本1-31相组合以将第一写入操作与排边界对齐。经更新样本32可以按与以上讨论的经更新样本1-31相似的方式在第二写入操作中被写入到存储器110。
[0119]在一个实施例中,类似于加载路径1010,存储路径1310能够选择性地在格式转换模式或旁路模式中操作。在格式转换模式中,存储路径1310以上文讨论的相同方式操作。在旁路模式中,存储路径1310在不进行格式转换的情况下将来自向量单元140的数据样本存储在存储器110中。该模式可以例如在样本将以它们被向量单元140输出的相同格式存储在存储器110中时被选择。
[0120]在图13所示的示例中,对于不需要格式转换的8位样本或16位样本,存储路径1310能够在旁路模式中操作。存储路径1310在旁路模式中的操作现在将通过以下示例来描述,但将会认识到本公开的实施例不限于这些示例。
[0121]对于不需要格式转换的8位样本,控制器315可以从向量单元140中读取128个8位样本,这128个8位样本由读取-修改-写入逻辑1385经由第一数据路径1365接收。如果经更新样本未与存储器中的排边界对齐,则读取-修改-写入逻辑1385可将这些经更新样本与从存储器110中读取的一个或多个样本相组合以生成与排边界对齐的一个或多个样本集。所生成的每一样本集可以在单独的写入操作中被写入到存储器110。
[0122]就此,图18解说了根据本公开的实施例的读取-修改-写入操作的示例。图18示出了在旁路模式中从向量单元140读取的示例性8位样本集1810。示例性样本集1810包括经更新样本3到130,这些样本将被写入到存储器110以更新存储器110中的样本3到130。在图18中,经更新样本加了阴影以将其与从存储器110读取的样本区分开来。
[0123]在图18所示的示例中,样本集1810未与存储器110中的排边界对齐结果,样本集1810可能需要在两个写入操作中被写入到存储器。例如,存储器110中用于样本O到127的存储器空间可以与排边界对齐。在该情形中,读取-修改-写入逻辑1385可将从存储器110读取的样本0-2与经更新样本3-127相组合以生成第一样本集1840。为此,控制器315可以从存储器110读取样本0-127,它们被输入到加载路径1010。控制器315可指令交叉电路325级联这些样本以产生样本集1820。样本集1820可以在不解包且不进行格式转换的情况下传递通过样本转换逻辑1030。旋转器1040然后可移位(旋转)所读取的样本的位置以生成经移位样本集1830,其中所读取的样本0-2相对于来自向量单元140的经更新样本3-127被适当地对齐。
[0124]读取-修改-写入逻辑1385然后可将经更新样本3-127与所读取的样本0-2相组合以生成第一样本集1840。旋转器1340从读取-修改-写入逻辑1385接收样本0-127的第一集合,并且移位(旋转)这些样本的位置以产生经移位样本集1850。存储路径1310中的旋转器1340的旋转可以执行与加载路径1010中的旋转器1040进行的旋转相反的旋转。交叉电路325可以对用于传输经移位样本集中的样本的数据通道进行重路由,例如以便将这些样本与它们将被存储在存储器110中的存储器空间对齐。这些样本然后可被写入到存储器110。经更新样本128-130可以按与以上讨论的经更新样本3-127相似的方式在第二写入操作中被写入到存储器110。
[0125]对于不需要格式转换的16位样本,控制器315可以按与以上针对8位样本描述的方式相似的方式将这些样本存储在存储器110中。
[0126]图19是解说根据本公开的实施例的用于将来自向量单元的数据样本存储在存储器中的方法1900的流程图。
[0127]在步骤1910中,从向量单元读取多个样本。例如,控制器(例如,控制器315)可以从向量单元(例如,从向量单元140的向量寄存器文件)读取样本。
[0128]在步骤1920中,并行地对这些样本中的两个或更多个样本执行格式转换。例如,每一样本可被输入到多个格式转换器(例如,格式转换器1335)中的一个相应格式转换器,其中每一格式转换器对相应样本执行格式转换。
[0129]在步骤1930中,打包经格式转换的样本。例如,经格式转换的样本可由打包逻辑(例如,打包逻辑1332)来打包。在步骤1940中,将经打包样本发送到存储器。
[0130]向量单元140可以在用户装备(UE)(例如,无线移动设备)的调制解调器(例如,长期演进(LTE)调制解调器)中使用。在该示例中,UE可包括接收机,该接收机在无线链路上接收数据和/或控制信号,并将接收到的信号处理(例如,滤波、放大、数字化等)成被临时存储在存储器110中的数据样本,其中这些数据样本可由向量单元140访问以供处理。向量单元140可包括可被编程为执行与调制解调器有关的各种向量操作(包括例如,快速傅立叶变换、信道估计、解调、解映射等)的可重配置的数据路径、逻辑和算术器件(例如,加法器、复用器、累加器,等等)。将会认识到本公开的实施例不限于该示例,并且本公开的实施例可以在适用于向量处理的其它应用中使用。
[0131]本领域技术人员将领会,结合本文公开所描述的各种解说性框和步骤可被实现为电子硬件、计算机软件、或两者的组合。为清楚地说明硬件与软件的这一可互换性,各种解说性组件、框、和步骤在上面是以其功能性的形式作一般描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员可针对每种特定应用以不同方式来实现所描述的功能性,但此类实现决策不应被解读为致使脱离本发明的范围。
[0132]结合本文中的公开描述的各种解说性框可用设计成执行本文中描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协同的一个或多个微处理器、或任何其它此类配置。
[0133]结合本文的公开所描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中实施。软件模块可驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM或者本领域中所知的任何其他形式的存储介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读写信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在ASIC中。ASIC可驻留在用户终端中。替换地,处理器和存储介质可作为分立组件驻留在用户终端中。
[0134]在一个或多个示例性设计中,所描述的功能可以在硬件、软件、固件、或其任何组合中实现。如果在软件中实现,则各功能可以作为一条或多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是可被通用或专用计算机访问的任何可用介质。作为示例而非限定,这样的计算机可读介质可以包括RAM、R0M、EEPR0M、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或能被用来携带或存储指令或数据结构形式的期望程序代码手段且能被通用或专用计算机、或者通用或专用处理器访问的任何其他介质。另外,任何连接可在涉及所传送信号的非瞬态存储的程度上被正当地称为计算机可读介质。例如,在信号留存在存储介质或设备存储器上的传输链中达任何非瞬态时间长度的程度上,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或诸如红外、无线电、以及微波等无线技术从web站点、服务器或其它远程源传送而来的,则该同轴电缆、光纤电缆、双绞线、DSL、或诸如红外、无线电以及微波等无线技术就被包括在介质的定义里。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据,而碟(disc)用激光以光学方式再现数据。上述的组合应当也被包括在计算机可读介质的范围内。
[0135]提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员而言将容易是显而易见的,并且本文中所定义的普适原理可被应用到其他变型而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例,而是应被授予与本文中所公开的原理和新颖特征相一致的最广范围。
【主权项】
1.一种用于将来自存储器的数据向量加载到向量单元中的方法,包括: 从所述存储器中读取多个样本,其中所述多个样本在所述存储器中被打包; 解包所述样本以获得多个经解包样本; 并行地对所述经解包样本执行格式转换;以及 将经格式转换的样本的至少一部分发送到所述向量单元。2.如权利要求1所述的方法,其特征在于,对所述经解包样本执行格式转换包括转换所述经解包样本中的每一者的数字格式。3.如权利要求1所述的方法,其特征在于,对所述经解包样本执行格式转换包括转换所述经解包样本中的每一者的宽度。4.如权利要求3所述的方法,其特征在于,转换所述经解包样本中的每一者的宽度包括填充所述经解包样本中的每一者。5.如权利要求1所述的方法,其特征在于,进一步包括在将所述经格式转换的样本的所述至少一部分发送到所述向量单元之前移位所述经格式转换的样本的位置。6.如权利要求5所述的方法,其特征在于,进一步包括: 将经移位的经格式转换的样本中的一者或多者与来自第二多个样本的一个或多个样本相组合以获得组合样本集;以及 将所述组合样本集发送到所述向量单元。7.如权利要求6所述的方法,其特征在于,所述组合包括: 将所述经移位的经格式转换的样本保存在锁存器中;以及 用来自所述第二多个样本的所述一个或多个样本来覆写所述锁存器中的所述经移位的经格式转换的样本中的一者或多者。8.—种用于将来自存储器的数据向量加载到向量单元中的装备,包括: 用于从所述存储器中读取多个样本的装置,其中所述多个样本在所述存储器中被打包; 用于解包所述样本以获得多个经解包样本的装置; 用于并行地对所述经解包样本执行格式转换的装置;以及 用于将经格式转换的样本的至少一部分发送到所述向量单元的装置。9.一种用于将来自存储器的数据向量加载到向量单元中的装置,包括: 控制器,其被配置成从所述存储器中读取多个样本,其中所述多个样本在所述存储器中被打包; 解包逻辑,其被配置成解包所述样本以获得多个经解包样本; 多个格式转换器,其中所述解包逻辑被配置成将每一个经解包样本输入到所述多个格式转换器中的一个相应格式转换器,且每一个格式转换器被配置成对相应的经解包样本执行格式转换;以及 输出锁存器,其被配置成将经格式转换的样本的至少一部分输出到所述向量单元。10.如权利要求9所述的装置,其特征在于,每一个格式转换器被配置成转换相应的经解包样本的数字格式。11.如权利要求9所述的装置,其特征在于,每一个格式转换器被配置成转换相应的经解包样本的宽度。12.如权利要求11所述的装置,其特征在于,每一个格式转换器被配置成通过填充相应的经解包样本来转换所述相应的经解包样本的宽度。13.如权利要求9所述的装置,其特征在于,进一步包括在所述多个格式转换器与所述输出锁存器之间的旋转器,其中所述旋转器被配置成在所述输出锁存器将所述经格式转换的样本的所述至少一部分输出到所述向量单元之前移位所述经格式转换的样本的位置。14.如权利要求13所述的装置,其特征在于,所述输出锁存器被配置成将经移位的经格式转换的样本中的一者或多者与来自第二多个样本的一个或多个样本相组合以获得组合样本集,并且将所述组合样本集输出到所述向量单元。15.—种用于将来自向量单元的数据向量存储在存储器中的方法,包括: 从所述向量单元中读取多个样本; 并行地对所述样本中的两个或更多个样本执行格式转换; 打包经格式转换的样本;以及 将经打包样本发送到所述存储器。16.如权利要求15所述的方法,其特征在于,对所述样本中的两个或更多个样本执行格式转换包括转换所述样本中的两个或更多个样本中的每一者的数字格式。17.如权利要求15所述的方法,其特征在于,对所述样本中的两个或更多个样本执行格式转换包括转换所述样本中的两个或更多个样本中的每一者的宽度。18.如权利要求17所述的方法,其特征在于,转换所述样本中的两个或更多个样本中的每一者的宽度包括填充所述样本中的两个或更多个样本中的每一者。19.如权利要求15所述的方法,其特征在于,进一步包括在将所述两个或更多个样本发送到所述存储器之前移位所述两个或更多个样本的位置。20.如权利要求15所述的方法,其特征在于,进一步包括: 从所述存储器中读取一个或多个样本;以及 将来自所述向量单元的所述两个或更多个样本与来自所述存储器的所述一个或多个样本相组合以获得组合样本集。21.如权利要求20所述的方法,其特征在于,所述组合样本集与所述存储器中的排边界对齐。
【文档编号】G06F9/30GK105940373SQ201580006315
【公开日】2016年9月14日
【申请日】2015年1月22日
【发明人】R·汗, J·H·巴恩, V·班特沃
【申请人】高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1