版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
B.杨US8271571B2,2012.0用于复数与复数之间共轭乘法的设备和方法一种对复数的打包的实数和虚数分量做乘括:乘法器电路,选择第一源寄存器和第二源寄果与来自目的地寄存器的第一数据进行组合以的地寄存器的第二数据进行组合以生成第二最2第一源寄存器,所述第一源寄存器用于存储包括第第二源寄存器,所述第二源寄存器用于存储包括第乘法器电路,所述乘法器电路用于选择所述第一源寄存器和第二源加法器电路,所述加法器电路用于将第一子集的所述多个求反电路,所述求反电路用于对所述第一临时结果求反以2.如权利要求1所述的处理器,其中所述第一和第二多个打包的实数和虚数数据元素3.如权利要求1或2所述的处理器,其中所述第一和第二源寄存器包括128比特打包数据寄存器,所述128比特打包数据寄存器识所述第一和第二源寄存器中的数据元素位置35.如权利要求4所述的处理器,其中将所述多个虚数乘积的所述第一和第二子集相应扩展电路,所述扩展电路用于将第三临时结果和第四临时结果在7.如权利要求6所述的处理器,其中所述求反电路将对所述第一临时结果和第二临时8.如权利要求6或7所述的处理器,其中所述扩展电路9.如权利要求6或7所述的处理器,其中所述第一在第一源寄存器中存储包括第一多个打包的实数和虚数数据选择所述第一源寄存器和第二源寄存器中的实数和虚数数据元将所述第一源寄存器中的每个选择的虚数数据元素与所述第二源寄存器中的选择的将第一子集的所述多个虚数乘积相加并且将第二子集的所将所述第一临时结果存储在第一临时寄存器中,并将所述第二临时结对所述第一临时结果求反以生成第一求反临时结果,并对所将所述第一求反临时结果存储在第三临时寄存器中,并将所述第二求将所述第一求反临时结果与来自目的地寄存器的第一数据做累加以生成第一最终结将所述第一最终结果和第二最终结果存储回所述目的地11.如权利要求10所述的方法,其中所述第一和第二多个打包的实数和虚数数据元素4据寄存器,所述128比特打包数据寄存器13.如权利要求12所述的方法,其中为了执行所述解码指令,乘法器电路将执行乘法所述第一和第二源寄存器中的数据元素位置A-H14.如权利要求13所述的方法,其中对所述第一子集的所述多个虚数乘积做加法并且对所述第二子集的所述多个虚数乘积做减法包括S1C*S2D-S1D*S2C+S1A*S2B-S1B*S2A,以及对所述第三子集的所述多个虚数乘积做加法并且对所述第四子集的所述多个虚数乘积做减法包括S1G*S2H-S1H*S2G+S1E*S2F-S1F*S2E,以相应生成所述第一临时结果和第二临将第三临时结果和第四临时结果在与来自所述目的地寄存器的所述第一和第二数据16.如权利要求15所述的方法,其中对所述第一临时结果和第二临时结果执行二的补17.如权利要求15或16所述的方法,其中零被添加到所述第一临时结果和第二临时结18.如权利要求15或16所述的方法,其中所述第一临时结果和第二临时结果的最高有在第一源寄存器中存储包括第一多个打包的实数和虚数数据选择所述第一源寄存器和第二源寄存器中的实数和虚数数据元将所述第一源寄存器中的每个选择的虚数数据元素与所述第二源寄存器中的选择的将第一子集的所述多个虚数乘积相加并且将第二子集的所将所述第一临时结果存储在第一临时寄存器中,并将所述第二临时结对所述第一临时结果求反以生成第一求反临时结果,并对所5将所述第一求反临时结果存储在第三临时寄存器中,并将所述第二求将所述第一求反临时结果与来自目的地寄存器的第一数据做累加以生成第一最终结将所述第一最终结果和第二最终结果存储回所述目的地20.如权利要求19所述的机器可读介质,其中所述第一和第二多个打包的实数和虚数21.如权利要求20所述的机器可读介质,其标识所述第一和第二源寄存器中的数据元素位置A-H中23.如权利要求22所述的机器可读介质,其中对所述第一子集的所述多个虚数乘积做加法并且对所述第二子集的所述多个虚数乘积做减法包括S1C*S2D-S1D*S2C+S1A*S2B-S1B*S2A,以及对所述第三子集的所述多个虚数乘积做加法并且对所述第四子集的所述多个虚数乘积做减法包括S1G*S2H-S1H*S2G+S1E*S2F-S1F*S2E,以相应生成所述第一临时结24.如权利要求19或23所述的机器可读介质还包括程序代码以使得所述机器执行以下将第三临时结果和第四临时结果在与来自所述目的地寄存器的所述第一和第二数据25.如权利要求24所述的机器可读介质,其中对所述第一临时结果和第二临时结果执用于在第一源寄存器中存储包括第一多个打包的实数和虚数数据元素的第一多个复用于在第二源寄存器中存储包括第二多个打包的实数和虚数数据元素的第二多个复用于选择所述第一源寄存器和第二源寄存器中的实数和虚数数据元素以做乘法的部627.如权利要求26所述的设备,其中所述第一和第二多个打包的实数和虚数数据元素28.如权利要求26或27所述的设备,其中所述据寄存器,所述128比特打包数据寄存器29.如权利要求28所述的设备,其中为了执行所述解码指令,乘法器电路将执行乘法所述第一和第二源寄存器中的数据元素位置A-H30.如权利要求29所述的设备,其中对所述第一子集的所述多个虚数乘积做加法并且对所述第二子集的所述多个虚数乘积做减法包括S1C*S2D-S1D*S2C+S1A*S2B-S1B*S2A,以及对所述第三子集的所述多个虚数乘积做加法并且对所述第四子集的所述多个虚数乘积做减法包括S1G*S2H-S1H*S2G+S1E*S2F-S1F*S2E,以相应生成所述第一临时结果和第二临32.如权利要求31所述的设备,其中对所述第一临时结果和第二临时结果执行二的补33.如权利要求31或32所述的设备,其中零被添加到所述第一临时结果和第二临时结734.如权利要求31或32所述的设备,其中所述第一临时结果和第二临时结果的最高有执行时实现如权利要求10-18中任一项所述的方8配置成指示处理器上的执行单元执行操作以实现与宏指令[0003]ISA不同于作为用于实现指令集的一组处理器设计技术的微架构。带有不同微架和寄存器在本文中用于指对软件/编程器可见的事物以及其中指令指定寄存器的方式。在[0006]图1A和1B是图示了根据本发明的实施例的一般矢量友好指令格式及其指令模板9[0013]图6是根据本发明的实施例的单核处理器和带有集成存储器控制器和图形的多核集中的二进制指令转换成目标指令集中的二一些具有不同比特地点,因为包括有较少字段)和/或被定义以具有不同地解译的给定字的操作数字段(源1/目的地和源2以及指令流中的该ADD指令的出现将具有选择特定操[0030]图1A-1B是框图,其示出根据本发明的实施例的一般矢量友好指令格式和其指令因此,64字节矢量由16个双字大小元素或备选地8个四字大小元素组成带有16比特(2字有一般矢量友好指令格式的指令集不被需要的意[0036]寄存器索引字段144—它的内容直接或通过地址生成来指定源和目的地操作数的和存储器访问120指令模板之间进行分辨。存储器访问操作对存储器层级进行读和/或写(在使用寄存器中的值来指定源和/或目的地地址的一些情况中而非存储器访问操作不段154C来确定。位移字段162A和位移因子字段162B在它们不被用于无存储器访问105指令模板和/或不同实施例可实现所述两个的仅一个或没有一个的意义[0042]数据元素宽度字段164—它的内容分辨出多个数据元素宽度的哪一个要被使用以下意义上是可选的:如果仅一个数据元素宽度被支持和/或使用操作码的一些方面来支持数据元素宽度,则不需要此字段。[0043]写掩码字段170—它的内容在按数据元素地点的基础上控制目的地矢量操作数中的那个数据元素地点是否反映基础操作和扩增操作的结果。类别A指令模板支持合并写掩在另外一个实施例中,保存其中对应掩码比特具有0的目的地的每个元素的旧值。相比之施例被描述,其中写掩码字段170的内容选择含有要被使用的写掩码的多个写掩码寄存器之一(并且因此写掩码字段170的内容间接标识要被执行的掩蔽但备选实施例转而或附加允许掩码写字段170的内容直接指定要被[0044]立即数字段172—它的内容允许立即数的规格。此字段在它在不支持立即数的一[0047]在类别A的非存储器访问105指令模板的情况中,α字相应指定而β字段154分辨出所指定的类型的操作的哪个要被执行。在无存储器访问105[0049]在无存储器访问完整舍入控制类型操作110指令模板中,β字段154被解译为舍入[0053]在无存储器访问数据变换类型操作115指令模板中,β字段154被解译为数据变换字段154B,其内容分辨出多个数据变换的哪一个要被执行(例如,无数据变换、打乱[0054]在类别A的存储器访问120指令模板的情况中,α字段152被解译为驱逐提示字段段154被解译为数据操纵字段154C,其内容分辨出多个数据操纵操作(还已知为原语存储器访问120指令模板包括缩放字段160、并可选地包括位移字段162A或位移缩放字段162B。[0055]矢量存储器指令通过转换支持来执行自存储器的矢量加载和往存储器的矢量存实际上被转移的元素由作为写掩码被选择的矢量掩码的[0059]非暂时数据是这样的数据,其不太可能被足够快地再使用以受益于在第1级高速存储器访问、写掩码控制、VSIZE类型操作117指令模板被相应指定而β字段154的剩余部[0064]舍入操作控制字段159A—正如舍入操作控制字段158,它的内容分辨出一组舍入154被解译为矢量长度字段159B,其内容分辨出多个数据矢量长度的哪一个要被执行(例掩码基于不同数据元素宽度而被应用。类别的模板和指令但不是来自两个类别的所有模板和指令的某些混合的核在本发明的界VEX.vvvv编码以倒置(1s补码)的形式所指定的第一源寄存器操作数,并且对具有2个或更多个源操作数的指令有效;2)VEX.vvvv编码针对某些矢量移位以1s补码形式指定的目的源寄存器操作数(Rrrr的rrr或作为操作码扩展而被对待并不被用于编码任何指令操作[0080]图3是根据本发明的一个实施例的寄存器架构300的框图寄存器的较低顺序256比特被覆载在寄存器ymm0-15上。较低的6个zmm寄存器的较低顺序[0081]通用寄存器325-在所示出的实施例中,存在连同现存x86寻址模式被用于寻址存于为在MMX和XMM寄存器之间所执行的一些处理器中的有序架构核的示范性实施例和示范性寄存器重命名、乱序发布/运行架构核两[0090]前端单元430包括耦合到指令高速缓存单元434的分支预测单元432,所述指令高耦合到运行引擎单元450中的重命名/分配器单元4[0091]运行引擎单元450包括耦合到引退单元454和一个或多个调度器单元456的集合的每个代表一个或多个物理寄存器堆,其不同物理寄存器堆存储一个或多个不同数据类型,[0092]存储器访问单元464的集合被耦合到存储器单元470,存储器单元470包括耦合到些扩展MIPSTechnologiesofSunnyvale,CA的MIPS指令集;ARMHoldingsof[0098]图5A-B示出核将是芯片中若干逻辑块之一(包括相同类型和/或不同类型的其它[0099]图5A是根据本发明的实施例的单个处理器核连同到管芯上互连网络502的它的连[0100]L2高速缓存504的本地子集是全局L2高速缓存的部分,所述全局L2高速缓存被划地子集的直接访问路径。由处理器核所读的数据被存储在其L2高速缓存子集504中并能被的数据被存储在其自己的L2高速缓存子集504中并且如果必要则从其它子集中转储清除。L1高速缓存504的L1数据高速缓存506A部分,以及关于矢量单元510和矢量寄存器514的更个或多个总线控制器单元616的集合的处理器600,而虚线框的可选附加示出带有多个核可被实现在一个或多个衬底上和/或是其部分。[0105]存储器层级包括核604A-N内高速缓存的一个或多个级别、共享的高速缓存单元以及系统代理单元610/集成存储器控制器单元614互连,但备选实施例可使用用于互连此一般来说,能够合并如本文中所公开的处理器和/或其它运行逻辑的极多种的系统或电子独的芯片上GMCH790包括存储器740和协同处理器745被耦合到的存储器和图形控制器;嵌入的可以是协同处理器指令。处理器710将这些协同处理器指令辨认为是应由附连的协耦合的第一处理器870和第二处理器880。处理器870和880中的每个可以是处理器600的某(就是存储器832和存储器834其可以是本地附连到相852、854与芯片集890互换信息。芯片集890可以可选地经由高性能接口892与协同处理器例如键盘和/或鼠标822、通信装置827和诸如硬盘驱动器或其它大容量存储装置的存储单[0126]诸如图8中所示出的代码830的程序代码可被应用于输入指令以执行本文中所描[0128]至少一个实施例的一个或多个方面可由存储在机器可读介质上的代表性指令来介质上并被供应给各种客户或制造设施以加载到实际做出逻辑或处Intelx86指令集核的指令集的实质部分,或(2)针对于在带有至少一个x86指令集核的代码1110,其可由不带有至少一个第一指令集核的处理器1114(例如,带有运行MIPS核的处理器或另一电子装置运行第一二进制代理寄存器堆单元458和/或图3中的矢量寄存器310内的SIMD寄存器。以下描述的乘法电路、定架构。体而言,一个实施例包括具有八个16x16比特乘法器和两个64比特累加器的乘法-累加[0137]新DSP指令的一个实施例使用基于VEX.128前缀的操作码编码并且处置数据的后期处理的若干SSE/SSE2/AVX指令与DSPISA一起被使用。带有存储器操作数的VEX编码的和输入序列{x1,x2,x3,…xn},许多图像处理、机器学习任务要求计算由yi=w1xi+w2xi+1执行多个指令线程的多个核0-N。所示出的实施例包括解码器1230内的DSP指令解码电路/逻辑1231和执行单元1240内的DSP指令执行电路/逻辑1341。这些流水线组件可以响应于[0147]每个核0-N可以包括专用的1级(L1)高速缓存1212和2级(L2)高速缓存1211,以用[0150]本发明的一个实施例使用图14A中示出的架构来执行双复数与复数之间共轭乘加[0151]在一个实施例中,第一累加器执行以下操作:虚数((16+16i)x(16-16i))+虚数((16+16i)x(16-16i))+64i=64i以运算和累加第一虚数分量,并且第二累加器执行以下操作:虚数((16+16i)x(16-16i))+虚数((16+16i)x(16-16i))+64i=64i以运算和累加第二虚在一个实施例中执行的个体操作,其中TEMP0和TEMP1是用于存储中间值的寄存器或存储器地点并且DEST是目的地寄存器:[0153]TEMP0[33:0]←(((SRC2[47:32]*SRC3[63:48])-(SRC2[63:48]*SRC3[47:[0154]TEMP1[33:0]←(((SRC2[111:96]*SRC3[127:112])-(SRC2[127:112]*SRC3[0155]DEST[63:0]←AddToQuadword({{30{TEMP0[33]}},TEMP0[33:0]},DEST[63:[0156]DEST[127:64]←AddToQuadword({{30{TEMP1[33]}},TEMP1[33:0]},DEST[0158]然后,TEMP0中的结果与DEST的较低64比特(即,63:0)中的现存四字做累加并且[0159]回到图14A,第一源寄存器SRC21401存储数据元素S2A-S2H并且第二源寄存器个实数数据元素与SRC3中的虚数数据元素相乘并且将SRC2中的每个虚数数据元素与SRC3[0163]来自加法器网络1410的结果被存储在TEMP0中,以及来自加法器网络1411的结果[0164]包括加法器1420-1421的累加电路将以上结果与存储在SRC1/DEST寄存器1460中之后)被加到存储在SRC1/DEST寄存器1460的元素地点A-D(即,较低64比特)中的累加的数类似地,加法器网络1411的输出(在被扩展之后)被加到存储在SRC1/DEST寄存器1460中的果必要的话)并存储回到SRC1/DEST寄存器1460的数据操作数被存储在存储16比特打包数据元素的128比特打包数据寄存器中,其中每个打包数二临时结果。如上所述,在一个实施例中,这包括以下操作:S2C*S3D-S2D*S3C+S2A*S3B-寄存器的较低64比特打包数据元素进行组合(覆盖16比特数据元素A-D),并且累加的结果目的地寄存器的较高64比特打包数据元素进行组合(覆盖16比特数据元素E-H)并且累加的[0173]本发明的一个实施例使用图14A中示出的架构,来执行双复数与复数之间共轭乘倒置临时结果的比特并添加1来执行二的补数求反,并且还可以在累加之前进行符号扩展[0174]在一个实施例中,第一累加器执行以下操作:虚数-((16+16i)x(16-16i))+虚数((16+16i)x(16-16i))+64i=64i以运算和累加第一虚数分量并且第二累加器执行以下操作:虚数-((16+16i)x(16-1于存储中间值的寄存器或存储器地点并且DEST[0176]TEMP0[33:0]←(((SRC2[47:32]*SRC3[63:48])-(SRC2[63:48]*SRC3[47:[0177]TEMP1[33:0]←(((SRC2[111:96]*SRC3[127:112])-(SRC2[127:112]*SRC3[0181]DEST[63:0]←AddToQuadword({{30{TEMP2[33]}},TEMP2[33:0]},DEST[63:[0182]DEST[127:64]←AddToQuadword({{30{TEMP3[33]}},TEMP3[33:0]},DEST[0185]TEMP2中的求反结果然后与DEST的较低64比特(即,63:0)中的现存四字做累加并[0186]回到图14A,第一源寄存器SRC21401存储数据元素S2A-S2H并且第二源寄存器在TEMP0中的是S2C*S3D-S2D*S3C+S2A*S3B-S2B*S3A并且,乘积被相加/相减并且存储在TEMP1中的是S2G*S3H-S2H*S3G+S2E*S3F-S2F*S3E。加法器网络1410-1411的第一和第二集[0191]包括加法器1420-1421的累加电路将以上结果与存储在SRC1/DEST寄存器1460中被加到SRC1/DEST寄存器1460中的累加数据元素A-D。虚数结果由饱和电路1440进行饱和H[0192]图14B图示包括二的补数求反电路1470和1471的一个实施例的附加细节,所述电包括将多个零添加到值,而符号扩展包括复制比特值。累加器1490-1491然后使用来自SRC1/DEST寄存器1460的64比特临时结果和打包的64比特值来执行本文所描述的累加操操作数被存储在存储16比特打包数据元素的128比特打包数据寄存器中,其中每个打包数三临时结果与目的地寄存器的较低64比特中的打包64比特数据元素进行组合(16比特元素地寄存器的较高64比特中的打包64比特数据元素进行组合(16比特元素E-H)并且累加结果[0204]第一源寄存器,所述第一源寄存器用于存储第一多个打包的实数和虚数数据元[0205]第二源寄存器,所述第二源寄存器用于存储第二多个打包的实数和虚数数据元[0210]2.如技术方案1所述的处理器,其中所述据寄存器,所述128比特打包数据寄存器应标识所述第一和第二源寄存器中的数据元素位置A-H中的[0213]5.如技术方案4所述的处理器,其中将所[0217]7.如技术方案6所述的处理器,其中[0218]8.如技术方案6所述的处理器,其中所述[0219]9.如技术方案6所述的处理器,其中[0225]将所述第一源寄存器中的每个选择的虚数数据元素与所述第二源寄存器中的选[0226]将第一子集的所述多个虚数乘积相加并且将第二子集的[0227]将所述第一临时结果与来自目的地寄存器的第一数据做累加以生成第一最终结[0229]11.如技术方案10所述的方法,其据寄存器,所述128比特打包数据寄存器应标识所述第一和第二源寄存器中的数据元素位置A-H中的[0232]14.如技术方案13所述的方法,包括S1C*S2D+S1D*S2C+S1A*S2B+S1B*S2A,并且对所述第二子集的所述多个虚数乘积做加法包括S1G*S2H+S1H*S2G+S1E*S2F+S1F*S2E,以相应生成所述第一临时结果和第二临时结及[0235]将所述第三临时结果和第四临时结果在与来自所述目的地寄存器的所述第一和[0236]16.如技术方案15所述的方法,其中对[0237]17.如技术方案15所述的方[0238]18.如技术方案15所述的方法,其中[0244]将所述第一源寄存器中的每个选择的虚数数据元素与所述第二源寄存器中的选[0245]将第一子集的所述多个虚数乘积相加并且将第二子集的[0246]将所述第一临时结果与来自目的地寄存器的第一数据做累加以生成第一最终结[0248]20.如技术方案19所述的机器可读介质A-H相应标识所述第一和第二源寄存器中的数据元素位置A-H中的所[0251]23.如技术方案22所述的机器可读积做加法包括S1C*S2D+S1D*S2C+S1A*S2B+S1B*S2A,并且对所述第二子集的所述多个虚数乘积做加法包括S1G*S2H+S1H*S2G+S1E*S2F+S1F*S2E,以相应生成所述第一临时结果和第[0252]24.如技术方案23所述的机器可读介质还包括程序代码以使得所述机器执行以下及[0254]将所述第三临时结果和第四临时结果在与来自所述目的地寄存器的所述第一和[0255]25.如技术方案24所述的机器[0256]26.如技术方案24所述的机[0257]27.如技术
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年税务人员综合业务知识题库与答案
- 2026年维修班组绩效考核方案设计
- 2026年知识产权创造保护运用测试题库
- 2026年退役军人事务局面试常见问题与优抚安置
- 2026年放射技师面试技巧与问题解析
- 2026年医院重点传染病防治知识竞赛题
- 2026年师德师风监督员制度及运行机制练习题
- 2026年宜居宜业和美乡村创建标准应知应会考核
- 2026年水土保持科技创新与试验示范题库
- 2026年食品卫生操作规范题库
- (正式版)DB3701∕T 0005.11-2019 《济南市公共服务领域名称英文译写规范 第11部分:科技教育》
- 成都铁路局公基和职测考试真题及答案
- (2026年春季新版本)人教版三年级数学下册全册教案
- 2025年太平洋保险秋招笔试及答案
- 文书档案归档和规范专题培训课件
- 非学历教育培训管理制度
- 2025年轻型民用无人驾驶航空器安全操控(多旋翼)理论备考试题及答案
- 2026年广西区公务员考试试题及答案
- 孕期保健英文-含四步触诊法
- 2026年高考语文备考之文本互证类(文评联读)文学类文本阅读专项训练含答案
- 安全工程课程培训课件
评论
0/150
提交评论