CN101520723B - 用于装入/移动以及复制指令的处理器、系统和方法 - Google Patents
用于装入/移动以及复制指令的处理器、系统和方法 Download PDFInfo
- Publication number
- CN101520723B CN101520723B CN2009101331655A CN200910133165A CN101520723B CN 101520723 B CN101520723 B CN 101520723B CN 2009101331655 A CN2009101331655 A CN 2009101331655A CN 200910133165 A CN200910133165 A CN 200910133165A CN 101520723 B CN101520723 B CN 101520723B
- Authority
- CN
- China
- Prior art keywords
- register
- processor
- source
- instruction
- destination register
- 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
Links
- 238000000034 method Methods 0.000 title abstract description 21
- 230000006870 function Effects 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 6
- 241001269238 Data Species 0.000 claims 1
- 238000012856 packing Methods 0.000 description 8
- 101100285899 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SSE2 gene Proteins 0.000 description 7
- 230000003442 weekly effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 239000012572 advanced medium Substances 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Abstract
一种方法包括,在处理器中,装入/移动源的第一部分位到目标寄存器的第一部分并在目标寄存器的后续部分中复制所述第一部分位。
Description
本发明专利申请是国际申请号为PCT/US02/40166,国际申请日为2002年12月12日,进入中国国家阶段的申请号为02825327.2,名称为“用于装入/移动以及复制指令的处理器、系统和方法”的发明专利申请的分案申请。
技术领域
本发明涉及处理器的装入/移动以及复制指令。
背景技术
系统体系结构说明处理器操作的模式以及被提供用于支持操作系统的机制,该机制包括面向系统的寄存器和数据结构以及面向系统的指令。该系统体系结构也提供用于在实际地址和保护模式之间切换的必要机制。
对系统体系结构引入单指令、多数据(SIMD)技术提供了对包含于64位寄存器内的封包整数数据的并行计算。SIMD对例如高级媒体、图像处理和数据压缩应用中的处理器提供增强性能。
发明内容
为了解决以上问题,本发明的第一方面提供了一种处理器,包括:存储单元;控制器逻辑;以及执行单元数据路径,包括算术逻辑单元和通用寄存器组,所述算术逻辑单元响应于指令执行功能,其中一个指令包括移动和复制指令,促使算术处理器将源的多个位组装入目的寄存器的多个不连续的位组,并把所述多个不连续的位组中的每个组复制到该目的寄存器的后续位组中。
本发明的第二方面提供一种方法,所述方法包含:在处理器中,将源的多个位组装入到目的寄存器的多个不连续的位组;以及把所述目的寄存器中的所述多个不连续的位组中的每个组复制到该目的寄存器的后续位组中。
本发明的第三方面提供一种系统,包括:存储第一指令的存储器;执行所述第一指令的处理器,使得该处理器:将源的多个位组装入到目的寄存器的多个不连续的位组中;以及把所述目的寄存器中的所述多个不连续的位组中的每个组复制到该目的寄存器的后续位组中。
本发明的第四方面提供一种处理器,包括:存储单元;控制器逻辑;以及执行单元数据路径,包括算术逻辑单元和通用寄存器组,所述算术逻辑单元响应于指令执行功能,其中一个指令包括移动封包单浮点高和复制指令,该指令促使处理器将源的位[63-32]装入128位的目的寄存器的位[31-0]中,将目的寄存器的位[31-0]复制到目的寄存器的位[63-32]中,将源的位[127-96]装入目的寄存器的位[95-64]中,以及在所述目的寄存器的位[127-96]中复制目的寄存器的位[95-64]。
本发明的第五方面提供一种在处理器中执行的方法,所述方法包含:访问源的位[127-0];以及在目的寄存器的位[31-0]中装入源的位[63-32],并在目的寄存器的位[63-32]中复制目的寄存器的位[31-0];以及在所述目的寄存器的位[95-64]中装入源的位[127-96],并且在目的寄存器的位[127-96]中复制目的寄存器的位[95-64]。
本发明的第六方面提供一种系统,包括:存储第一指令的存储器;执行所述第一指令的处理器,使得所述处理器:在128位的目的寄存器的位[31-0]中装入源的位[63-32];在所述目的寄存器的位[63-32]中复制所述目的寄存器的位[31-0];在所述目的寄存器的位[95-64]中装入源的位[127-96];以及在所述目的寄存器的位[127-96]中复制所述目的寄存器的位[95-64]。
本发明的第七方面提供一种处理器,包括:存储单元;控制器逻辑;以及执行单元数据路径,包括算术逻辑单元和通用寄存器组,所述算术逻辑单元响应于指令执行功能,其中一个指令包括移动封包单浮点低和复制指令,该指令促使处理器把源的位[31-0]装入到128位的目的寄存器的位[31-0]中,在所述目的寄存器的位[63-32]中复制该目的寄存器的位[31-0],在所述目的寄存器的位[95-64]中装入所述源的位[95-64],以及在所述目的寄存器的位[127-96]中复制所述目的寄存器的位[95-64]。
本发明的第八方面提供一种方法,所述方法包含:在处理器中,在128位的目的寄存器的位[31-0]中装入源的位[31-0];在所述目的寄存器的位[63-32]中复制目的寄存器的位[31-0];在所述目的寄存器的位[95-64]中装入所述源的位[95-64];以及在所述目的寄存器的位[127-96]中复制所述目的寄存器的位[95-64]。
本发明的第九方面提供一种系统,包括:存储第一指令的存储器;执行所述第一指令的处理器,使得所述处理器:在128位的目的寄存器的位[31-0]中装入源的位[31-0];在所述目的寄存器的位[63-32]中复制所述目的寄存器的位[31-0];在所述目的寄存器的位[95-64]中装入所述源的位[95-64];以及在所述目的寄存器的位[127-96]中复制所述目的寄存器的位[95-64]。
附图说明
图1是处理器的框图。
图2是执行环境的框图。
图3是字节顺序基本数据类型的框图。
图4示出浮点格式。
图5示出概括各种SIMD扩展、数据类型以及该数据类型如何被封包到寄存器中的表。
具体实施方式
参考图1,示出处理器10。该处理器10是三路超级计数器、管道体系结构。处理器10通过使用并行处理技术,平均能够在每个时钟周期中解码、分派以及完成(引出)三条指令的执行。为处理这个水平的指令吞吐量,处理器10使用去耦的12阶段管道,该管道支持无序的指令执行。处理器10的微体系结构管道被分为4个部分,即,一级高速缓存12和二级高速缓存14、前端16、无序执行核心18,以及引出部分20。指令和数据通过与系统总线24连接的总线接口单元22供给给这些单元。前端16以程序顺序向该无序核心18供给指令,该核心具有非常高的执行带宽且能够执行具有1/2时钟周期延时的基本整数操作。前端16读取指令并将指令解码为称作微操作(μ-ops)的简单操作。前端16能以最初的程序顺序在每周期将多个微操作提交到无序核心18。前端16执行几个基本功能。例如,前端16执行很有可能被执行的预取指令、读取还没有被预取的指令、将指令解码为微操作、产生复杂指令和专用码的微码、递送来自执行轨迹高速缓存26的已经解码的指令,以及使用分支预测单元28中的高级算法来预测分支。
处理器10的前端16被设计为解决高速管道微处理器中的某些普通问题。例如,这些问题中的两个是延迟的主要来源。这是解码从目标读取且由于高速缓存线中间的分支或分支目标而浪费解码带宽的指令的时间。
执行轨迹高速缓存26通过保存已经解码的指令而处理这两个问题。通过转换引擎(未示出)来读取指令并对指令进行解码,且将该指令构建成称作轨迹的微操作序列。这些微操作轨迹被保存在轨迹高速缓存26中。来自最有可能的分支目标的指令立即跟随在该分支的后面,而不考虑指令地址的连续性。一旦建立轨迹,则搜索轨迹高速缓存26查找跟随在该轨迹后面的指令。若该指令显现为现有轨迹内的第一条指令,则对来自存储器层次的指令30的读取和解码就停止,且轨迹高速缓存26变成新的指令源。
执行轨迹高速缓存18和转换引擎(未示出)具有协同操作分支预测硬件。使用分支目标缓冲器(BTBS)28,基于分支目标的线性地址来预测该分支目标,且尽快读取该分支目标。若分支目标确实被缓冲在那里,则从轨迹高速缓存26读取该分支目标;否则,从存储器层次读取该分支目标。转换引擎的分支预测信息被用来沿着最有可能的路径来形成轨迹。
核心18无序地执行指令,允许处理器10重排序指令,以使若一个微操作在等待数据或竞争执行资源时被延迟,则其它在程序顺序中较后的微操作可在其周围继续进行。处理器10使用几个缓冲器来使T操作(T-ops)流平滑。这意味着当管道的一部分经历延迟时,该延迟可被其它并行执行的操作或者在缓冲器中先前排队等候的微操作执行覆盖。
核心18被设计为促进并行执行。核心18每周期最多可分派6个微操作;注意这个超过轨迹高速缓存26以及引出20微操作带宽。绝大多数的管道可在每周期开始执行新的微操作,以使可在任何时间对每个管道处理几个指令。多个算术逻辑单元(ALU)指令可在每周期开始两个,且多个浮点指令可在每两个周期开始一个。最终,微操作的数据输入一准备好且资源一旦可用,微指令就可开始无序的执行。
引出部分20接收来自执行核心18的执行微操作的结果,并对该结果进行处理,以使根据最初程序顺序来更新适当的体系结构状态。为语义上的正确执行,执行的结果在其引出之前是以最初的程序顺序进行的。可将异常作为引出的指令触发。这样,异常不能随机地出现。它们以正确的顺序出现,并且处理器10可在执行后正确的重新启动。
当微操作完成其结果并将其结果写到目的文件的时候,该微操作引出。每周期引出的微操作可达3个。引出部分20中的重排序缓冲器(ROB)(未示出)是处理器10中的单元,它缓冲已完成的微操作、按照顺序更新体系结构状态,并管理异常的排序。
引出部分20也跟踪分支并将已更新的分支目标信息发送到BTB 28,以更新分支历史。如此,不再需要的轨迹可从轨迹高速缓存26中清除,并且可读取新的分支路径,这是基于已更新的分支历史信息的。
参考图2,示出执行环境50。给予处理器10上运行的任何程序或任务(图1中的)一组资源,用于执行指令并用于保存代码、数据和状态信息。这些资源组成处理器10的执行环境50。在处理器10上运行的应用程序和操作系统或者可执行文件共同使用执行环境50。执行环境50包括基本程序执行寄存器52、地址空间54、浮点单元(FPU)寄存器56、多媒体扩展寄存器(MMX)58,以及SIMD扩展(SSE和SSE2)寄存器60。
在处理器10上运行的任何任务或程序可寻址直到4G字节(232字节)的线性地址基54以及直到64G字节(236字节)的物理地址空间。地址空间54可为平坦的或为分段的。使用物理地址扩展机制,可寻址236-1的物理地址空间。
基本程序执行寄存器52包括8个通用寄存器62、6个段寄存器64、EFLAGS寄存器66,以及EIP(指令指针)寄存器68。基本程序执行寄存器52提供基本执行环境,在其中执行一组通用指令。这些指令对字节、字和双字整数执行基本整数算术,处理程序流控制,操作位和字节强度,并寻址存储器。
FPU寄存器56包括8个FPU数据寄存器70、FPU控制寄存器72、状态寄存器74、FPU指令指针寄存器76、FPU操作数(数据)指针寄存器78、FPU标签寄存器80以及FPU操作码寄存器82。FPU寄存器56提供执行环境,用于操作单精度、双精度,以及双扩展精度浮点值,字、双字,以及四字整数,还有二进制编码的十进制(BCD)值。
8个多媒体扩展寄存器58支持64位封包字节、字和双字整数上的单指令、多数据(SIMD)操作的执行。
SIMD扩展(SSE和SSE2)寄存器60包括8个扩展多媒体(XMM)数据寄存器84和MXCSR寄存器86。SIMD扩展(SSE和SSE2)寄存器60支持128位封包单精度和双精度浮点值以及128位封包字节、字、双字以及四字整数上的SIMD操作的执行。
栈(未示出)支持过程或子例程调用以及过程或子例程之间的参数传递。
通用寄存器62可用于保存操作数和指针。段寄存器64保存的段选择器可达6个。EFLAGS(程序状态和控制)寄存器66报告正被执行的程序状态,并允许处理器的有限(应用程序级)控制。EIP(指令指针)寄存器68包含指向下一条要执行的指令的32位指针。
32位通用寄存器62被提供用于保存逻辑和算术操作的操作数、地址计算的操作数,以及存储器指针。段寄存器64保存64位段选择器。段选择器是识别存储器中段的特别指针。为访问存储器中的特定段,该段的段选择器必须出现在适当的段寄存器64中。
当编写应用代码时,程序员通常用汇编命令和符号生成段选择器。然后,汇编程序和其它的工具产生与这些命令和符号相关联的实际段选择器值。若写系统代码,则程序设计员可能需要直接产生段选择器。
如何使用段寄存器64取决于操作系统或可执行文件正使用的存储器管理模式的类型。当使用平坦(未分段)存储器模式时,段寄存器64被装入指向重叠段的段选择器,它们每个开始于线性地址空间上的地址零。然后,这些重叠的段包括该程序的线性地址空间。通常,两个重叠段被定义:一个用于代码,而另一个用于数据和栈。段寄存器64的CS段寄存器(未示出)指向代码段,且所有其它的段寄存器指向数据和栈段。
当使用分段存储器模式时,每个段寄存器64一般被装入不同的段选择器,以使每个段寄存器64指向线性地址空间内的不同段。在任何时间,程序可这样访问直到线性地址空间中的6个段。为访问没有被其中一个段寄存器64指到的段,程序首先装入要被访问的段选择器到段寄存器64中。
32位EFLAGS寄存器66包含一组状态标记、控制标记,以及一组系统标记。可使用专用指令来直接修改EFLAGS寄存器66中的某些标记。没有指令允许整个寄存器66被直接检查或修改。然而,下面的指令可被用来将移动标记组移入或移出过程栈或通用寄存器:LAHF、SAHF、push-F、push-FD、pop-F,以及pop-FD。在EFLAGS寄存器66的内容已经被传递到过程栈或通用寄存器之后,可使用处理器10位操作指令来检查和修改该标记。
当暂停任务时,处理器10自动保存正被暂停任务的任务状态段(TSS)(未示出)中的EFLAGS寄存器66的状态。当将其自身绑定到新的任务时,处理器10将来自新的任务程序状态寄存器(PSS,未示出)的数据装入EFLAGS寄存器66。
当调用中断或异常处理程序过程时,处理器10自动保存过程栈上的EFLAGS寄存器66的状态。当用任务开关来处理中断或异常时,EFLAGS寄存器66的状态被保存在正被暂停任务的TSS上。
用在处理器10中的基本数据类型是字节、字、双字、四字和双四字。字节是8位,字是两个字节(16位),双字是4个字节(32位),四字是8个字节(64位),以及双四字是16个字节(128位)。
参考图3,它示出每个基本数据类型在作为存储器中的操作数引用时的字节顺序。每个数据类型的低字节(位0~7)占用存储器中的最低地址,且该地址也是该操作数的地址。
字、双字和四字不必在存储器中在自然边界上对齐。字、双字、四字的自然边界分别是已编号为偶数的地址、可被4整除的地址,以及被8整除的地址。然而,为改善程序的性能,数据结构(尤其是栈)每逢可能的时候就应在自然边界上对齐。关于这个的原因是处理器10需要两个存储器访问来进行不对齐的存储器访问,然而已经对齐的访问需要一个存储器访问。跨越4字节边界的字或双字操作数或者跨越8字节边界的四字操作数被认为是未对齐,且需要两个单独的存储器总线周期来访问。开始于奇地址但不跨越字边界的字被认为是已经对齐的,且其仍旧能够在一个总线周期内被访问。
对双四字操作的某些指令需要存储器操作数在自然边界上对齐。若未对齐的操作数被指定的话,则这些指令产生普通保护异常(#GP)。双四字的自然边界是任何可被16整除的地址。其它对双四字操作的指令允许未对齐的访问,而不产生普通保护异常,然而,我们需要附加的存储器总线周期来从存储器访问未对齐数据。
尽管字节、字和双字是处理器10的基本数据类型,但是某些指令支持这些数据类型的附加解释,以允许对数字数据类型执行操作。例如,处理器10定义两种类型的整数:无符号的和有符号的。无符号的整数是范围从零到最大正数的普通二进制数值,可在选择的操作数大小内对其进行编码。有符号的整数是二的补码二进制数值,其既可被用来代表正整数值,也可以被用来代表负整数值。
处理器10定义并操作3种浮点数据类型:单精度浮点、双精度浮点,以及双扩展精度浮点。这些数据类型的数据格式直接对应于二进制浮点算术如在IEEE标准754中指定的格式。
指针是存储器中位置的地址。处理器10定义两种类型的指针:近指针(32位)和远指针(48位)。近指针是段内32位偏移量(也称作有效地址)。当隐含地确定了被访问的段的身份时,近指针被用于平坦存储器模型中的所有存储器参考或分段模型中的参考。远指针是48位逻辑地址,其包含16位段选择器和32位偏移量。远指针被用于存储器参考和已分段的存储器模型,那里正被访问段的身份必须被显式指定。
位字段是连续的位序列。它可开始于存储器中任何字节的任何比特位置,且其包含的位可达32位。串可为位、字节、字或双字的连续序列。位串可开始于任何字节的任何比特位置,且其包含的位可达232-1位。字节串可包含字节、字或双字,其范围可从零到232-1字节(4G字节)。
二进制编码的十进制整数(BCD整数)是具有范围从0到9的有效值的无符号4位整数。处理器10定义对位于一个或多个通用寄存器62或在一个或多个FPU寄存器56中的BCD整数的操作。
参考图4,实数被表达为FPU 56浮点寄存器70中的浮点格式100。该浮点格式包括3部分,即,符号102、有效数104和指数106。符号102是表明该数是正(0)或负(1)的二进制数值。有效数104有两个部分:1位二进制整数(也称为J位)108和二进制分数110。整数位108通常没有被表达,而是隐含的值。指数106是表达与有效数104相乘的以2为底的幂的二进制整数。
处理器10定义一组64位和128位封包数据类型并对其操作,这用于SIMD操作中。这些数据类型包括基本数据类型(封包字节、字、双字和四字)以及用于封包整数和封包浮点操作中的基本数据类型的数字解释。
主要在64位多媒体扩展寄存器58中操作64位SIMD数据类型。基本的64位封包数据类型是封包字节、封包字和封包双字。当在多媒体扩展寄存器58中的这些数据类型上执行数字SIMD操作时,这些数据类型被解释为包含字节、字,或双字整数值。
主要在128位扩展多媒体(MMX)寄存器84和存储器54中操作128位封包SIMD数据类型。基本的128位封包数据类型是封包字节、封包字、封包双字和封包四字。当在扩展多媒体(MMX)寄存器84中的这些基本数据类型上执行SIMD操作时,这些数据类型被解释为包含封包的或定标器单精度浮点或双精度浮点值,或者被解释为包含封包的字节、字、双字、四字整数值。
参考图5,表120示出这样的概要,它包含各种SIMD扩展、被操作的数据类型,以及这些数据类型如何被封包到多媒体扩展寄存器58和扩展多媒体(XMM)寄存器84中。
如上所述,多媒体扩展指令操作包含于存储器54、多媒体扩展寄存器58,和/或通用寄存器62内的封包字节、字、双字或四字整数操作数。这些多媒体扩展指令包括数据传递指令、转换指令、封包算术指令、比较指令、逻辑指令、移位和旋转指令以及状态管理指令。
SIMD扩展(SSE和SSE2)指令被分为一些组,如4组:SIMD单精度浮点指令,它在扩展多媒体(XMM)寄存器84上操作,MXSCR指令,它在MXCSR寄存器86上操作,64位SIMD整数指令,它在MMX寄存器58上操作,以及可高速缓存性控制、预取还有对指令进行排序的指令。
一类指令是移动/装入以及复制类型指令。这些指令被称为“组合的”指令,这是因为它们不需要在被装入的数值上进行显式操作来获得例如位的复制。本体系结构包括MOVDDUP指令、MOVSHDUP指令和MOVSLDUP指令。提供这些指令以支持具有封包单精度和封包双精度浮点数据类型的复杂算术。这些指令可被用在不同的应用中。例如,这些指令可改善信号处理应用和包括处理自然数据类型的应用的效率。
MOVDDUP指令是装入/移动64位(若源是寄存器的话,就是位[63-0])的移动一个双浮点并复制的SSE2指令。MOVDDUP指令的执行返回和同一结果寄存器的较低和较高的一半两者中的相同的64位,也就是说,从该源复制64位。这样,若该源具有条目1/0,则该目的文件将具有条目1/0/1/0。MOVEDDUP指令具有下面的格式:
MOVEDDUP目的,源
其中源操作数是存储器位置54或第二个扩展多媒体(XMM)寄存器84,且该目的操作数是第一个扩展多媒体(XMM)寄存器84。该源包含双浮点数据类型。
在操作中,若源操作数是存储器地址,则第一个扩展多媒体(XMM)寄存器的位[63-0]用该存储器地址的位[63-0]来装入,且第一个扩展多媒体(XMM)寄存器的位[127-64]用存储器位置的位[63-0]来装入。若源操作数是第二个扩展多媒体(XMM)寄存器,则第一个扩展多媒体(XMM)寄存器的位[63-0]被设置为与第二个扩展多媒体(XMM)寄存器的位[63-0]相等,且第一个扩展多媒体(XMM)寄存器的位[127-64]被设置为与第二个扩展多媒体(XMM)寄存器的位[63-0]相等。
线性地址对应于参考存储器数据的最低有效字节的地址。当指出存储器地址时,位于存储器位置数据的16字节被装入或被保存。当使用寄存器-寄存器形式的操作时,128位源寄存器的内容被复制到128位目的寄存器中。
MOVSHDUP指令是装入/移动128位并复制作为结果的寄存器中的条目1和3的移动封包单浮点高并复制的SSE2指令。在128位源寄存器带宽的例子中,每个条目是32位。特别地,具有为3/2/1/0条目的源(0是低的单精度条目,3是高的单精度条目),在MOVSHDUP指令执行之后的结果寄存器将保存被复制以提供条目3/3/1/1的条目3和1。MOVSHDUP具有下面的格式:
MOVSHDUP目的,源
其中源操作数代表存储器位置54或第二个扩展多媒体(XMM)寄存器84,且该目的操作数是第一个扩展多媒体(XMM)寄存器84。该源操作数具有封包单浮点数据类型。
在操作中,若该源操作数是存储器地址,则第一个扩展多媒体(XMM)寄存器的位[31-0]用该存储器地址的位[63-32]来装入,第一个扩展多媒体(XMM)寄存器的位63-32用存储器地址的位[63-32]来装入,第一个扩展多媒体(XMM)寄存器的位95-64用存储器地址的位[127-96]来装入,且第一个扩展多媒体(XMM)寄存器的位127-96用存储器地址的位[127-96]来装入。
若源操作数是第二个扩展多媒体(XMM)寄存器,则第一个扩展多媒体(XMM)寄存器的位[31-0]被设置为与第二个扩展多媒体(XMM)寄存器的为[63-32]相等,第一个扩展多媒体(XMM)寄存器的位[63-32]被设置为与第二个扩展多媒体(XMM)寄存器的位[83-32]相等,第一个扩展多媒体(XMM)寄存器的位[95-64]被设置为与第二个扩展多媒体(XMM)寄存器的位[127-96]相等,且第一个扩展多媒体(XMM)寄存器的位[127-96]被设置为与第二个扩展多媒体(XMM)寄存器的位[127-96]相等。
线性地址对应于参考存储器数据的最低有效字节的地址。当指示存储器地址时,位于存储器位置数据的16字节被装入或被保存。当使用寄存器-寄存器形式的操作时,128位源寄存器的内容被复制到128位目的寄存器中。
MOVSHDUP指令是复制装入/移动128位并复制条目0和2的移动封包单浮点低并复制的SSE2指令。特别地,具有为3/2/1/0的源(0是较低的单精度条目),结果寄存器将保存条目2/2/0/0。MOVSLDUP指令具有下面的格式:
MOVSLDUP目的,源
其中该源操作数是存储器位置54或第二个扩展多媒体(XMM)寄存器84,且该目的操作数是第一个扩展多媒体(XMM)寄存器84。该源操作数包含封包单浮点数据类型。
在操作中,若该源操作数是存储器地址,则第一个扩展多媒体(XMM)寄存器的位[31-0]用该存储器地址的位[31-0]来装入,第一个扩展多媒体(XMM)寄存器的位[63-32]用存储器地址的位[31-0]来装入,第一个扩展多媒体(XMM)寄存器的位[95-64]用存储器地址的位[95-64]来装入,且第一个扩展多媒体(XMM)寄存器的位[127-96]用存储器地址的位[95-64]来装入。若源操作数是寄存器,则第一个扩展多媒体(XMM)寄存器的位[31-0]被设置为与第二个扩展多媒体(XMM)寄存器的位[31-0]相等,第一个扩展多媒体(XMM)寄存器的位[63-32]被设置为与第二个扩展多媒体(XMM)寄存器的位[31-0]相等,第一个扩展多媒体(XMM)寄存器的位[95-64]被设置为与第二个扩展多媒体(XMM)寄存器的位[95-64]相等,且第一个扩展多媒体(XMM)寄存器的位[127-96]被设置为与第二个扩展多媒体(XMM)寄存器的位[95-64]相等。
线性地址对应于参考存储器数据的最低有效字节的地址。当指示存储器地址时,位于存储器位置数据的16字节被装入或被保存。当使用寄存器-寄存器形式的操作时,128位源寄存器的内容被复制到128位目的寄存器中。
因此,其它的实施例在下面权利要求书的范围内。
Claims (20)
1.一种处理器,包括:
一级数据缓存;
二级缓存;
分支预测单元;
通用寄存器组;
解码单元,以解码包括移动和复制指令的多个封包的数据指令;以及
执行单元,以响应于指令执行功能,其中一个指令包括移动和复制指令,使得所述处理器将源的多个位组装入目的寄存器的多个不连续的位组,并把所述多个不连续的位组中的每个组复制到该目的寄存器的后续位组中。
2.如权利要求1所述的处理器,其特征在于,所述源的所述多个位组是代表存储器位置中的双封包双浮点数据的128位。
3.如权利要求1所述的处理器,其特征在于,所述源的所述多个位组是代表源寄存器中的双封包双浮点的128位。
4.如权利要求1所述的处理器,其特征在于,所述目的寄存器的多个位组被装入所述源的第一组的位[63-0]。
5.如权利要求1所述的处理器,其特征在于,所述源是第一寄存器,用于存储128位的封包数据,也用作存储浮点数据的浮点寄存器。
6.如权利要求1所述的处理器,还包括引出单元。
7.一种处理器,包括:
一级数据缓存;
二级缓存;
分支预测单元;
控制器逻辑单元;
通用寄存器组;
解码单元,以解码包括移动和复制指令的多个封包的数据指令;以及
执行单元,以响应于指令执行功能,其中一个指令包括移动封包单浮点高和复制指令,以使得处理器把源的位[63-32]装入128位的目的寄存器的位[31-0]中,将目的寄存器的位[31-0]复制到该目的寄存器的位[63-32]中,把源的位[127-96]装入目的寄存器的位[95-64]中,以及将所述目的寄存器的位[95-64]复制到该目的寄存器的位[127-96]中。
8.如权利要求7所述的处理器,其特征在于,所述移动和复制指令还包括:
源操作数字段;以及
目的操作数字段。
9.如权利要求7所述的处理器,其特征在于,所述源是128位源寄存器。
10.如权利要求7所述的处理器,其特征在于,所述源的所述多个位组是代表存储器位置中的四封包单浮点数据的128位。
11.如权利要求7所述的处理器,其特征在于,所述源的所述多个位组是代表源寄存器中的四封包双浮点的128位。
12.如权利要求7所述的处理器,其特征在于,所述源是第一寄存器,用于存储128位的封包数据,也用作存储浮点数据的浮点寄存器。
13.如权利要求7所述的处理器,还包括引出单元。
14.一种处理器,包括:
一级数据缓存;
二级缓存;
分支预测单元;
通用寄存器组;
解码单元,以解码包括移动和复制指令的多个封包的数据指令;以及
执行单元,以响应于指令执行功能,其中一个指令包括移动封包单浮点低和复制指令,以使得处理器把源的位[31-0]装入到128位的目的寄存器的位[31-0]中,将所述目的寄存器的位[31-0]复制到该目的寄存器的位[63-32]中,把所述源的位[95-64]装入到所述目的寄存器的位[95-64]中,以及将所述目的寄存器的位[95-64]复制到该目的寄存器的位[127-96]中。
15.如权利要求14所述的处理器,其特征在于,所述移动和复制指令还包括:
源操作数字段;以及
目的操作数字段。
16.如权利要求14所述的处理器,其特征在于,所述源是128位源寄存器。
17.如权利要求14所述的处理器,其特征在于,所述源的所述多个位组是代表存储器位置中的四封包单浮点数据的128位。
18.如权利要求14所述的处理器,其特征在于,所述源的所述多个位组是代表源寄存器中的四封包双浮点的128位。
19.如权利要求14所述的处理器,其特征在于,所述源是第一寄存器,用于存储128位的封包数据,也用作存储浮点数据的浮点寄存器。
20.如权利要求14所述的处理器,还包括引出单元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/032,144 US7853778B2 (en) | 2001-12-20 | 2001-12-20 | Load/move and duplicate instructions for a processor |
US10/032,144 | 2001-12-20 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB028253272A Division CN100492281C (zh) | 2001-12-20 | 2002-12-12 | 用于装入/移动以及复制指令的处理器、系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101520723A CN101520723A (zh) | 2009-09-02 |
CN101520723B true CN101520723B (zh) | 2011-01-12 |
Family
ID=21863332
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101331655A Expired - Fee Related CN101520723B (zh) | 2001-12-20 | 2002-12-12 | 用于装入/移动以及复制指令的处理器、系统和方法 |
CNB028253272A Expired - Fee Related CN100492281C (zh) | 2001-12-20 | 2002-12-12 | 用于装入/移动以及复制指令的处理器、系统和方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB028253272A Expired - Fee Related CN100492281C (zh) | 2001-12-20 | 2002-12-12 | 用于装入/移动以及复制指令的处理器、系统和方法 |
Country Status (9)
Country | Link |
---|---|
US (6) | US7853778B2 (zh) |
JP (3) | JP2006502464A (zh) |
KR (1) | KR100806408B1 (zh) |
CN (2) | CN101520723B (zh) |
AU (1) | AU2002357263A1 (zh) |
DE (1) | DE10297581T5 (zh) |
RU (1) | RU2292581C2 (zh) |
TW (1) | TW594569B (zh) |
WO (1) | WO2003054692A1 (zh) |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7853778B2 (en) | 2001-12-20 | 2010-12-14 | Intel Corporation | Load/move and duplicate instructions for a processor |
US7392368B2 (en) * | 2002-08-09 | 2008-06-24 | Marvell International Ltd. | Cross multiply and add instruction and multiply and subtract instruction SIMD execution on real and imaginary components of a plurality of complex data elements |
US6986023B2 (en) * | 2002-08-09 | 2006-01-10 | Intel Corporation | Conditional execution of coprocessor instruction based on main processor arithmetic flags |
AU2003256870A1 (en) * | 2002-08-09 | 2004-02-25 | Intel Corporation | Multimedia coprocessor control mechanism including alignment or broadcast instructions |
EP1508853A1 (en) * | 2003-08-19 | 2005-02-23 | STMicroelectronics Limited | Computer system and method for loading non-aligned words |
WO2006018822A1 (en) * | 2004-08-20 | 2006-02-23 | Koninklijke Philips Electronics, N.V. | Combined load and computation execution unit |
US8321872B2 (en) * | 2006-06-28 | 2012-11-27 | Nvidia Corporation | Reusable, operating system aware hardware mutex |
US8996152B2 (en) * | 2006-06-28 | 2015-03-31 | Nvidia Corporation | Operating system aware hardware mutex |
US20080077772A1 (en) * | 2006-09-22 | 2008-03-27 | Ronen Zohar | Method and apparatus for performing select operations |
US8112675B2 (en) * | 2006-09-28 | 2012-02-07 | Nvidia Corporation | Filesystem directory debug log |
US8538015B2 (en) | 2007-03-28 | 2013-09-17 | Intel Corporation | Flexible architecture and instruction for advanced encryption standard (AES) |
US8060724B2 (en) * | 2008-08-15 | 2011-11-15 | Freescale Semiconductor, Inc. | Provision of extended addressing modes in a single instruction multiple data (SIMD) data processor |
US9911008B2 (en) | 2010-05-25 | 2018-03-06 | Via Technologies, Inc. | Microprocessor with on-the-fly switching of decryption keys |
US9967092B2 (en) | 2010-05-25 | 2018-05-08 | Via Technologies, Inc. | Key expansion logic using decryption key primitives |
US9798898B2 (en) | 2010-05-25 | 2017-10-24 | Via Technologies, Inc. | Microprocessor with secure execution mode and store key instructions |
US9892283B2 (en) | 2010-05-25 | 2018-02-13 | Via Technologies, Inc. | Decryption of encrypted instructions using keys selected on basis of instruction fetch address |
US8639945B2 (en) | 2010-05-25 | 2014-01-28 | Via Technologies, Inc. | Branch and switch key instruction in a microprocessor that fetches and decrypts encrypted instructions |
US9552206B2 (en) * | 2010-11-18 | 2017-01-24 | Texas Instruments Incorporated | Integrated circuit with control node circuitry and processing circuitry |
US8656139B2 (en) * | 2011-03-11 | 2014-02-18 | Telefonaktiebolaget L M Ericsson (Publ) | Digital processor for processing long and short pointers and converting each between a common format |
CN104126168B (zh) * | 2011-12-22 | 2019-01-08 | 英特尔公司 | 打包数据重新安排控制索引前体生成处理器、方法、系统及指令 |
US10866807B2 (en) | 2011-12-22 | 2020-12-15 | Intel Corporation | Processors, methods, systems, and instructions to generate sequences of integers in numerical order that differ by a constant stride |
US9904547B2 (en) | 2011-12-22 | 2018-02-27 | Intel Corporation | Packed data rearrangement control indexes generation processors, methods, systems and instructions |
CN104011646B (zh) | 2011-12-22 | 2018-03-27 | 英特尔公司 | 用于产生按照数值顺序的连续整数的序列的处理器、方法、系统和指令 |
US10223112B2 (en) | 2011-12-22 | 2019-03-05 | Intel Corporation | Processors, methods, systems, and instructions to generate sequences of integers in which integers in consecutive positions differ by a constant integer stride and where a smallest integer is offset from zero by an integer offset |
WO2013101119A1 (en) * | 2011-12-29 | 2013-07-04 | Intel Corporation | Method and apparatus for controlling a mxcsr |
US9459867B2 (en) * | 2012-03-15 | 2016-10-04 | International Business Machines Corporation | Instruction to load data up to a specified memory boundary indicated by the instruction |
US20140095847A1 (en) * | 2012-09-28 | 2014-04-03 | Doron Orenstein | Instruction and highly efficient micro-architecture to enable instant context switch for user-level threading |
US10540179B2 (en) | 2013-03-07 | 2020-01-21 | MIPS Tech, LLC | Apparatus and method for bonding branch instruction with architectural delay slot |
US20140258667A1 (en) * | 2013-03-07 | 2014-09-11 | Mips Technologies, Inc. | Apparatus and Method for Memory Operation Bonding |
CN103186363B (zh) * | 2013-03-26 | 2015-09-30 | 北京经纬恒润科技有限公司 | 一种数值编辑方法及系统 |
US10228941B2 (en) * | 2013-06-28 | 2019-03-12 | Intel Corporation | Processors, methods, and systems to access a set of registers as either a plurality of smaller registers or a combined larger register |
US10423413B2 (en) | 2013-07-09 | 2019-09-24 | Texas Instruments Incorporated | Vector load and duplicate operations |
US9336047B2 (en) | 2014-06-30 | 2016-05-10 | International Business Machines Corporation | Prefetching of discontiguous storage locations in anticipation of transactional execution |
US9710271B2 (en) | 2014-06-30 | 2017-07-18 | International Business Machines Corporation | Collecting transactional execution characteristics during transactional execution |
US9448939B2 (en) | 2014-06-30 | 2016-09-20 | International Business Machines Corporation | Collecting memory operand access characteristics during transactional execution |
US9600286B2 (en) | 2014-06-30 | 2017-03-21 | International Business Machines Corporation | Latent modification instruction for transactional execution |
US9348643B2 (en) | 2014-06-30 | 2016-05-24 | International Business Machines Corporation | Prefetching of discontiguous storage locations as part of transactional execution |
US9529653B2 (en) * | 2014-10-09 | 2016-12-27 | International Business Machines Corporation | Processor register error correction management |
US20160179521A1 (en) * | 2014-12-23 | 2016-06-23 | Intel Corporation | Method and apparatus for expanding a mask to a vector of mask values |
US20160224252A1 (en) * | 2015-01-30 | 2016-08-04 | Intel Corporation | Hybrid memory architecture |
EP3336692B1 (en) * | 2016-12-13 | 2020-04-29 | Arm Ltd | Replicate partition instruction |
EP3336691B1 (en) | 2016-12-13 | 2022-04-06 | ARM Limited | Replicate elements instruction |
JP6995059B2 (ja) | 2017-03-14 | 2022-01-14 | 株式会社トクヤマ | フライアッシュの使用方法 |
US10409614B2 (en) * | 2017-04-24 | 2019-09-10 | Intel Corporation | Instructions having support for floating point and integer data types in the same register |
RU2713709C1 (ru) * | 2019-06-20 | 2020-02-06 | Федеральное государственное унитарное предприятие "Научно-производственный центр автоматики и приборостроения имени академика Н.А. Пилюгина" (ФГУП "НПЦАП") | Устройство преобразования информации |
US10915421B1 (en) | 2019-09-19 | 2021-02-09 | Intel Corporation | Technology for dynamically tuning processor features |
KR102307691B1 (ko) | 2020-11-19 | 2021-10-05 | 주식회사 우드메탈 | 원적외선 및 음이온 방출 기능을 갖는 가구용 엣지마감재 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5734880A (en) * | 1993-11-30 | 1998-03-31 | Texas Instruments Incorporated | Hardware branching employing loop control registers loaded according to status of sections of an arithmetic logic unit divided into a plurality of sections |
US5875355A (en) * | 1995-05-17 | 1999-02-23 | Sgs-Thomson Microelectronics Limited | Method for transposing multi-bit matrix wherein first and last sub-string remains unchanged while intermediate sub-strings are interchanged |
CN1275734C (zh) * | 2002-10-31 | 2006-09-20 | 株式会社东芝 | 无铅接合材料及使用该材料的接合方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4141005A (en) * | 1976-11-11 | 1979-02-20 | International Business Machines Corporation | Data format converting apparatus for use in a digital data processor |
JPS61294550A (ja) | 1985-06-21 | 1986-12-25 | Nec Corp | 電子計算機におけるデ−タ読取書込制御方式 |
US5522082A (en) | 1986-01-23 | 1996-05-28 | Texas Instruments Incorporated | Graphics display processor, a graphics display system and a method of processing graphics data with control signals connected to a central processing unit and graphics circuits |
US5268995A (en) * | 1990-11-21 | 1993-12-07 | Motorola, Inc. | Method for executing graphics Z-compare and pixel merge instructions in a data processor |
US5613121A (en) | 1994-10-19 | 1997-03-18 | International Business Machines Corporation | Method and system of generating combined storage references |
US5673321A (en) * | 1995-06-29 | 1997-09-30 | Hewlett-Packard Company | Efficient selection and mixing of multiple sub-word items packed into two or more computer words |
US7085795B2 (en) | 2001-10-29 | 2006-08-01 | Intel Corporation | Apparatus and method for efficient filtering and convolution of content data |
US5983253A (en) | 1995-09-05 | 1999-11-09 | Intel Corporation | Computer system for performing complex digital filters |
US5936872A (en) | 1995-09-05 | 1999-08-10 | Intel Corporation | Method and apparatus for storing complex numbers to allow for efficient complex multiplication operations and performing such complex multiplication operations |
JP3735438B2 (ja) * | 1997-02-21 | 2006-01-18 | 株式会社東芝 | Risc計算機 |
US6041404A (en) | 1998-03-31 | 2000-03-21 | Intel Corporation | Dual function system and method for shuffling packed data elements |
US6115812A (en) * | 1998-04-01 | 2000-09-05 | Intel Corporation | Method and apparatus for efficient vertical SIMD computations |
US6560667B1 (en) * | 1999-12-28 | 2003-05-06 | Intel Corporation | Handling contiguous memory references in a multi-queue system |
US6820190B1 (en) | 2000-02-02 | 2004-11-16 | Hewlett-Packard Development Company, L.P. | Method and computer system for decomposing macroinstructions into microinstructions and forcing the parallel issue of at least two microinstructions |
US7155601B2 (en) | 2001-02-14 | 2006-12-26 | Intel Corporation | Multi-element operand sub-portion shuffle instruction execution |
US7631025B2 (en) | 2001-10-29 | 2009-12-08 | Intel Corporation | Method and apparatus for rearranging data between multiple registers |
US7853778B2 (en) | 2001-12-20 | 2010-12-14 | Intel Corporation | Load/move and duplicate instructions for a processor |
JP2009016397A (ja) | 2007-06-29 | 2009-01-22 | Toshiba Corp | プリント配線板 |
JP5229819B2 (ja) | 2009-04-01 | 2013-07-03 | 株式会社レヨーン工業 | 除塵装置 |
-
2001
- 2001-12-20 US US10/032,144 patent/US7853778B2/en not_active Expired - Lifetime
-
2002
- 2002-12-12 RU RU2004122101/09A patent/RU2292581C2/ru not_active IP Right Cessation
- 2002-12-12 WO PCT/US2002/040166 patent/WO2003054692A1/en active Application Filing
- 2002-12-12 AU AU2002357263A patent/AU2002357263A1/en not_active Abandoned
- 2002-12-12 DE DE10297581T patent/DE10297581T5/de not_active Ceased
- 2002-12-12 KR KR1020047009869A patent/KR100806408B1/ko active IP Right Grant
- 2002-12-12 CN CN2009101331655A patent/CN101520723B/zh not_active Expired - Fee Related
- 2002-12-12 JP JP2003555340A patent/JP2006502464A/ja active Pending
- 2002-12-12 CN CNB028253272A patent/CN100492281C/zh not_active Expired - Fee Related
- 2002-12-19 TW TW091136652A patent/TW594569B/zh not_active IP Right Cessation
-
2010
- 2010-02-25 JP JP2010039897A patent/JP2010152919A/ja active Pending
- 2010-11-05 US US12/940,782 patent/US8032735B2/en not_active Expired - Fee Related
-
2011
- 2011-04-15 US US13/088,198 patent/US8200941B2/en not_active Expired - Fee Related
-
2012
- 2012-06-12 US US13/494,764 patent/US8539202B2/en not_active Expired - Lifetime
- 2012-09-14 US US13/620,194 patent/US8650382B2/en not_active Expired - Fee Related
-
2013
- 2013-03-15 US US13/843,815 patent/US9043583B2/en not_active Expired - Fee Related
- 2013-12-13 JP JP2013257903A patent/JP5960115B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5734880A (en) * | 1993-11-30 | 1998-03-31 | Texas Instruments Incorporated | Hardware branching employing loop control registers loaded according to status of sections of an arithmetic logic unit divided into a plurality of sections |
US5875355A (en) * | 1995-05-17 | 1999-02-23 | Sgs-Thomson Microelectronics Limited | Method for transposing multi-bit matrix wherein first and last sub-string remains unchanged while intermediate sub-strings are interchanged |
CN1275734C (zh) * | 2002-10-31 | 2006-09-20 | 株式会社东芝 | 无铅接合材料及使用该材料的接合方法 |
Also Published As
Publication number | Publication date |
---|---|
KR100806408B1 (ko) | 2008-02-21 |
CN101520723A (zh) | 2009-09-02 |
TW200304091A (en) | 2003-09-16 |
US20030120903A1 (en) | 2003-06-26 |
RU2004122101A (ru) | 2005-03-27 |
US8539202B2 (en) | 2013-09-17 |
US20130013896A1 (en) | 2013-01-10 |
US8200941B2 (en) | 2012-06-12 |
RU2292581C2 (ru) | 2007-01-27 |
CN1605062A (zh) | 2005-04-06 |
US20110047361A1 (en) | 2011-02-24 |
US20130219153A1 (en) | 2013-08-22 |
US8650382B2 (en) | 2014-02-11 |
US8032735B2 (en) | 2011-10-04 |
WO2003054692A1 (en) | 2003-07-03 |
US9043583B2 (en) | 2015-05-26 |
JP2006502464A (ja) | 2006-01-19 |
US20120317401A1 (en) | 2012-12-13 |
CN100492281C (zh) | 2009-05-27 |
TW594569B (en) | 2004-06-21 |
JP2010152919A (ja) | 2010-07-08 |
JP5960115B2 (ja) | 2016-08-02 |
JP2014089730A (ja) | 2014-05-15 |
KR20040068333A (ko) | 2004-07-30 |
US20110258418A1 (en) | 2011-10-20 |
DE10297581T5 (de) | 2004-11-11 |
US7853778B2 (en) | 2010-12-14 |
AU2002357263A1 (en) | 2003-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101520723B (zh) | 用于装入/移动以及复制指令的处理器、系统和方法 | |
KR101581177B1 (ko) | 단일 명령 다중 데이터(simd)데이터 처리기에서 확장된 어드레싱 모드들의 제공 | |
CN117349584A (zh) | 实行16位浮点矩阵点积指令的系统和方法 | |
CN109716290B (zh) | 用于经融合的乘加的系统、装置和方法 | |
US5729724A (en) | Adaptive 128-bit floating point load and store operations for quadruple precision compatibility | |
KR102478874B1 (ko) | 비순차적 하드웨어 소프트웨어 공동 설계된 프로세서에서 스택 동기화 명령어를 갖는 술어 값의 스택을 구현하고 유지하기 위한 방법 및 장치 | |
JP6711480B2 (ja) | ベクトルインデックスロードおよびストアのための方法および装置 | |
JP2019197531A (ja) | 連鎖タイル演算を実施するためのシステムおよび方法 | |
US5740093A (en) | 128-bit register file and 128-bit floating point load and store for quadruple precision compatibility | |
CN105993000B (zh) | 用于浮点寄存器混叠的处理器和方法 | |
CN112148251A (zh) | 跳过无意义的矩阵运算的系统和方法 | |
US5764959A (en) | Adaptive 128-bit floating point load and store instructions for quad-precision compatibility | |
CN114675883A (zh) | 用于对齐矩阵操作加速器瓦片的指令的装置、方法和系统 | |
CN114675888A (zh) | 用于加载矩阵操作加速器瓦片的指令的装置、方法和系统 | |
US20220206854A1 (en) | Apparatuses, methods, and systems for instructions for aligning tiles of a matrix operations accelerator | |
US20190138308A1 (en) | Unaligned memory accesses | |
CN117083595A (zh) | 用于对片行进行下转换并与寄存器进行交织的指令的装置、方法和系统 | |
Lewin et al. | Computer organization and programming | |
CN116339615A (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 | ||
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: 20110112 Termination date: 20201212 |
|
CF01 | Termination of patent right due to non-payment of annual fee |