CN114116005B - 基于aigpu架构的立即数数据存储方法 - Google Patents

基于aigpu架构的立即数数据存储方法 Download PDF

Info

Publication number
CN114116005B
CN114116005B CN202111432949.5A CN202111432949A CN114116005B CN 114116005 B CN114116005 B CN 114116005B CN 202111432949 A CN202111432949 A CN 202111432949A CN 114116005 B CN114116005 B CN 114116005B
Authority
CN
China
Prior art keywords
instruction
immediate
temporary
helper
data
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.)
Active
Application number
CN202111432949.5A
Other languages
English (en)
Other versions
CN114116005A (zh
Inventor
侯红朝
葛建明
桑永奇
赵鹏
王东辉
姚飞
仇小钢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hexaflake Nanjing Information Technology Co Ltd
Original Assignee
Hexaflake Nanjing Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hexaflake Nanjing Information Technology Co Ltd filed Critical Hexaflake Nanjing Information Technology Co Ltd
Priority to CN202111432949.5A priority Critical patent/CN114116005B/zh
Publication of CN114116005A publication Critical patent/CN114116005A/zh
Application granted granted Critical
Publication of CN114116005B publication Critical patent/CN114116005B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • G06F7/575Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3887Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

本发明公开了一种基于AIGPU架构的立即数数据存储方法,寄存器堆存储了AIGPU架构状态,指令从寄存器堆中读取数据,并将计算结果写入目标寄存器;计算过程中,指令使用其包含的立即数值进行计算;其特征在于增加助手指令,将助手指令与指令相结合得到复合指令,复合指令中装载临时立即数,使用临时立即数取代立即数进行指令计算。一般指令中立即数的长度都很短,而助手指令中的立即数可以比较长。本发明提出的助手指令主要用来扩展指令中的立即数,因此实现简单。

Description

基于AIGPU架构的立即数数据存储方法
技术领域
本发明涉及数据存储领域,具体是一种基于AIGPU架构的立即数数据存储方法。
背景技术
SIMT并行计算
SIMT(单指令流多线程)是一种高性能计算机架构,特别适合数据并行计算。SIMT是由nVidia公司首先引入的,是SIMD(单指令流多数据流)架构的一种扩展。
·基本执行单元是线程(thread),多个线程可以组合成一个块(block)。一个块中的全部线程执行相同的指令序列。
·SIMT把在长向量的每个元素上进行操作的指令序列看作是是一个线程,一个块中的线程同步执行同样的指令,因此实现数据并行计算。
·SIMT中的数据计算通道也可以并发执行几个线程,每个属于不同的warp或者不同的block,每个有自己的寄存器堆。
·SIMT计算机允许单个线程的分支执行,每个线程执行的指令序列因各个线程的状态不同而不同。
SIMT对应的是数据并行编程模型,享有从任意向量到固定结构机器的灵活映射方式。出于对性能的考虑,需要减少SIMT计算中的线程分支,进而维持系统的利用率并降低功耗。SIMT架构可以通过warp切换和流处理来降低存取延迟。
AIGPU架构简介
AIGPU芯片的顶层架构如图1所示。AIGPU芯片的特点在于,
·它采用了片上虚拟存储,一种与众不同的存储系统。
·它使用了粗颗粒的计算分割与数据管理来解决数据相关性,这不同于超标量硬件机器或者codelet软件数据流。
·AIGPU粗颗粒的相关性管理方式允许使用命令来实现,为软件架构师和程序员提供了自主控制和优化程序的手段。
芯片由主机(host)及其运行时来控制。主机将需要执行的命令发送到AIGPU器件,其中的SP对命令做出分析,然后将一系列的操作交给PE和DMA执行。
AIGPU的重要特点是片上虚拟存储采用分段结构,可以直接支持张量存储,存储数据结构化而且具有明确的张量语义。一个张量一般存储在一个段中。使用数个张量的Kernel程序可以拥有数个段。一种实现是每个程序有16个段。
一个kernel可以分配到几个PEs上执行,每个PE执行部分计算并使用段的一部分。
·每个段都有自己独立的地址空间。
·每个段可以定义一个1D、2D、3D或者4D的张量存储结构。
·存储地址的构成是segment_id:RFoffset:immediate offset一个段含包含数个页。
·每个页是多维的,1D,2D,3D,或者4D;是与段的维数相同的张量。
·每个页在页表中都有一项,可以用来做地址翻译,以及检查该页是否准备完毕;在一个PE使用完该页后,将v-counter的值递减。
段存储结构–存储段结构为Kernel程序使用。
1.虚拟存储按照段(segment)来组织,每个Kernel可以使用几个段。
2.每个段可以包含数个页(page),段内的页数可变,根据应用确定。
3.为了充分利用片上存储,页的大小是可变的,根据应用来确定。
芯片上含有页表,用来管理片上虚拟存储。典型的程序执行包括了下列步骤,
1.将片外存储上的数据搬运到片上存储
2.组建页表内容和初始状态
3.启动并执行程序
4.程序执行完毕时将结果数据写到外部存储
程序的执行步骤与经典GPU的程序执行类似,但是数据的交换是在器件的外部存储与片上存储之间进行。当然,结果数据有时也会写入到主机侧的存储上。片上虚拟存储的优点包括,
1.由程序控制在片上存储与片外存储之间的进行数据搬运,可以优化数据的存取。
2.硬件管理页表的使用。
3.数据存储分配与程序执行的动态重叠(streaming),可以提高性能。
页表的管理和数据使用状态由SP和PE根据程序执行情况来更新。每个段内地址的计算与线性地址无关,其起始线性地址由锚点(ankor)定义,段内地址相对锚点定义,每个PE可以有自己相对的锚点。
立即数加载和助手指令Immediate temp and helper instruction
寄存器堆存储了处理器的架构状态。指令从寄存器堆中读取数据,并将计算结果写入目标寄存器里。指令也可以使用指令中包含的立即数值做来进行计算,但是立即数的大小范围受到指令长度的限制。
发明内容
本发明针对背景技术中立即数的大小范围受到指令长度的限制问题,提出了在AIGPU中,使用了一种具有短时限状态并被称作“临时立即数”(immediate temp)以及一条“助手”指令来装载立即数值。
技术方案:
一种基于AIGPU架构的立即数数据存储方法,寄存器堆存储了AIGPU架构状态,指令从寄存器堆中读取数据,并将计算结果写入目标寄存器;计算过程中,指令使用其包含的立即数值进行计算;
增加助手指令,将助手指令与指令相结合得到复合指令,复合指令中装载临时立即数,使用临时立即数取代立即数进行指令计算。
所述指令和助手指令由一个特定的标志位确定:当特定比特为0时是指令,为1时是助手指令。
作为第一种指令/助手指令结构,所述指令中包含用于指定助手指令的操作数B;所述助手指令中包含长数据的临时立即数,临时立即数长度满足程序数据计算所需的范围;
基于操作数B将指令与助手指令相结合,使用助手指令中的临时立即数取代立即数进行指令计算。
作为第二种指令/助手指令结构,所述指令中还包含:结果寄存器RD,助手指令中的临时立即数作送入结果寄存器RD中取代立即数进行指令计算。
第一种装载立即数的实现方法,所述使用临时立即数取代立即数进行指令计算包括以下步骤:
SA1、助手指令将变量数据写入临时立即数,临时立即数并被置位为有效;
SA2、下一条指令使用临时立即数取代指令中包含的立即数,并将临时立即数消耗,临时立即数并被置位为无效。
在另一种情况中:SA2、下一条指令中未使用临时立即数,临时立即数被置位为无效。
作为第三种指令/助手指令结构,所述指令中还包含:操作码ALU、表示立即数的操作数A、指定助手指令的操作数B、结果寄存器RD,指令中的立即数与助手指令中的立即数复合后获得临时立即数,临时立即数送入结果寄存器RD
第三种装载立即数的实现方法,所述使用临时立即数取代立即数进行指令计算包括以下步骤:
SB1、助手指令读取立即数;
SB2、下一条指令读取完整的助手指令的立即数值,同时读取指令操作数A的立即数,使用这两个数据进行指令计算获得临时立即数,并送入结果寄存器RD
作为第四种指令/助手指令结构,所述助手指令中还包含:操作码ALU、操作数A、操作数B、结果寄存器;多个助手指令根据操作码ALU进行相应操作数的复合运算,最终获得立即数并送入结果寄存器。
所述助手指令中包含长数据的临时立即数,临时立即数写入临时立即数寄存器,临时立即数取代立即数进行指令计算。
本发明的有益效果
一般指令中立即数的长度都很短,而助手指令中的立即数可以比较长。本发明提出的助手指令主要用来扩展指令中的立即数,方法实现比较简单,提高存储效率,并且能够扩大计算的范围和精度。
此种方法也可以用来扩展其他指令,形成更复杂的复合指令。
附图说明
图1为背景技术中AIGPU顶层架构示意图
具体实施方式
下面结合实施例对本发明作进一步说明,但本发明的保护范围不限于此:
本发明提出了一种新的立即数加载机制和一条相关的(助手)指令,使用此机制可以为其他指令扩展出更多格式,极大地增加了指令的灵活性而只需做微小的硬件改动。
本发明利用助手指令与其他指令紧密耦合的方法除了可以提供更长的立即数,也可以用来构成更复杂的复合指令,是一种广义的扩展指令的方法。
装载立即数有多种方式,下面给出具体的两种实现的例子。
第一个实现的例子中,助手指令将变量数据写入临时立即数中(助手指令中含有的数据足够长);下一条指令使用这个临时立即数来取代指令中包含的立即数并把临时立即数消耗掉。临时立即数被使用后就变成无效了。临时立即数在被助手指令写入时也同时被置位成有效的,并且认为下一条指令总是会使用这个临时值,而无论下一条指令中是否会使用立即数。因此临时立即数总是被下一条指令使用和置为无效。
立即数增长复合指令。原有指令集中的立即数位数有限,无法达到需要的立即数长度。例如原有指令长度为32位,其中的立即数部分仅为8位,无法满足计算需求。此时可以使用“助手”指令,其中的立即数部分为24位,可以满足计算需求。“助手”指令和“被助”指令可以采用如下格式,
Figure BDA0003380678600000051
上表中,H是助手指令的标志,类型通常为1-3比特;N是被助指令,可以是大多数算数逻辑指令(+、-、×、÷、>、==、<、<<、>>等,操作码用ALU表示),RA是ALU指令的一个操作数,另一个操作数用标识flag来指定是助手指令中的24位立即数,结果送入寄存器RD中。我们的复合方式是广泛的,不仅仅是一些特定指令。
第二个实现的例子中,助手指令从寄存器RF中读取源数据并写入临时立即数中。下一条指令可以读取完整的立即数值来取代指令中包含的部分立即数,同时读取RF中的操作数,用这两个数据来执行运算。
复合比较指令。许多程序中会将多个比较的结果使用逻辑操作结合起来,做为条件语句的判断条件,例如下面的条件语句,
if(A>B&&C<=D&&E==F)
x=y+1;
else
x=y;
上面条件包含了三个比较,其结果“与”到一起。
指令 类型 操作码 操作数A 操作数B 结果寄存器
复合指令 2 > R<sub>A</sub> R<sub>B</sub> Temp&&
复合指令 2 <= R<sub>C</sub> R<sub>D</sub> Temp&&
结束指令 0 == R<sub>E</sub> R<sub>F</sub> R<sub>G</sub>
前两条比较指令的类型为2,表示其结果与可以和一条指令的结果相“与“。
助手指令可以用一个特殊的操作码标出,也可以把普通指令和助手指令用一个特定的比特来标记。使用前一种方法时,只需要一个立即数,也不需要结果寄存器,因为助手立即数是放在一个特定临时寄存器中的。使用第二种方法时,当特定比特为0时是普通指令,为1时是助手指令。
临时立即数实质上是一种扩展其他指令的方法,将临时立即数的助手指令与其他多种指令相结合可以复合出更多的指令格式,大大增加了指令的灵活性。这种助手指令方法不同于ARM和RISC-V的多长度指令集,又不同于CISC(复杂指令)的方式,应用范围更广,硬件实现也十分简单。
临时立即数助手指令方法将一条简单的助手指令下一跳指令紧密耦合,形成一条复合指令。本发明中的助手指令主要用来扩展指令中的立即数,因此实现简单。此种发方法也可以用来扩展其他指令,形成更复杂的复合指令。
本文中所描述的具体实施例仅仅是对本发明精神做举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

Claims (5)

1.一种基于AIGPU架构的立即数数据存储方法,寄存器堆存储了AIGPU架构状态,指令从寄存器堆中读取数据,并将计算结果写入目标寄存器;计算过程中,指令使用其包含的立即数值进行计算;
其特征在于增加助手指令,将助手指令与指令相结合得到复合指令,复合指令中装载临时立即数,使用临时立即数取代立即数进行指令计算;所述指令和助手指令由一个特定的标志位确定:当特定比特为0时是指令,为1时是助手指令;
所述指令中包含用于指定助手指令的操作数B;所述助手指令中包含长数据的临时立即数;
基于操作数B将指令与助手指令相结合,使用助手指令中的临时立即数取代立即数进行指令计算;
所述指令中还包含:操作码ALU、表示立即数的操作数A、结果寄存器RD,指令中的立即数与助手指令中的立即数复合后获得临时立即数,临时立即数送入结果寄存器RD
所述使用助手指令中的临时立即数取代立即数进行指令计算包括以下步骤:
SB1、助手指令读取立即数;
SB2、下一条指令读取完整的助手指令的立即数值,同时读取指令操作数A的立即数,使用这两个数据进行指令计算获得临时立即数,并送入结果寄存器RD
2.根据权利要求1所述的方法,其特征在于所述使用助手指令中的临时立即数取代立即数进行指令计算包括以下步骤:
SA1、助手指令将变量数据写入临时立即数,临时立即数并被置位为有效;
SA2、下一条指令使用临时立即数取代指令中包含的立即数,并将临时立即数消耗,临时立即数并被置位为无效。
3.根据权利要求2所述的方法,其特征在于SA2中下一条指令中未使用临时立即数,临时立即数被置位为无效。
4.根据权利要求1所述的方法,其特征在于所述助手指令中还包含:操作码ALU、操作数A、操作数B、结果寄存器;多个助手指令根据操作码ALU进行相应操作数的复合运算,最终获得立即数并送入结果寄存器。
5.根据权利要求1所述的方法,其特征在于所述助手指令中包含长数据的临时立即数,临时立即数写入临时立即数寄存器,临时立即数取代立即数进行指令计算。
CN202111432949.5A 2021-11-29 2021-11-29 基于aigpu架构的立即数数据存储方法 Active CN114116005B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111432949.5A CN114116005B (zh) 2021-11-29 2021-11-29 基于aigpu架构的立即数数据存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111432949.5A CN114116005B (zh) 2021-11-29 2021-11-29 基于aigpu架构的立即数数据存储方法

Publications (2)

Publication Number Publication Date
CN114116005A CN114116005A (zh) 2022-03-01
CN114116005B true CN114116005B (zh) 2022-12-23

Family

ID=80371331

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111432949.5A Active CN114116005B (zh) 2021-11-29 2021-11-29 基于aigpu架构的立即数数据存储方法

Country Status (1)

Country Link
CN (1) CN114116005B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5201056A (en) * 1990-05-02 1993-04-06 Motorola, Inc. RISC microprocessor architecture with multi-bit tag extended instructions for selectively attaching tag from either instruction or input data to arithmetic operation output
US5925122A (en) * 1996-08-30 1999-07-20 Nec Corporation Data processing unit which pre-fetches instructions of different lengths to conduct processing
US6539470B1 (en) * 1999-11-16 2003-03-25 Advanced Micro Devices, Inc. Instruction decode unit producing instruction operand information in the order in which the operands are identified, and systems including same
CN1477520A (zh) * 2002-08-21 2004-02-25 先进数字芯片株式会社 具有扩展指令的中央处理器
CN1625731A (zh) * 2002-01-31 2005-06-08 Arc国际公司 具有多种长度指令集体系结构的可配置数据处理器
US7047396B1 (en) * 2000-06-22 2006-05-16 Ubicom, Inc. Fixed length memory to memory arithmetic and architecture for a communications embedded processor system
US7415599B1 (en) * 2005-11-01 2008-08-19 Zilog, Inc. Instruction operation and operand memory location determined based on preceding instruction operation and operand memory location
JP2014160393A (ja) * 2013-02-20 2014-09-04 Casio Comput Co Ltd マイクロプロセッサ及び演算処理方法
CN105677298A (zh) * 2015-12-30 2016-06-15 李朝波 一种将计算机指令中立即数扩展的方法和装置
CN108304217A (zh) * 2018-03-09 2018-07-20 中国科学院计算技术研究所 将长位宽操作数指令转换为短位宽操作数指令的方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040193844A1 (en) * 2003-03-24 2004-09-30 Sun Microsystems, Inc. Load and/or store queue emptying technique to facilitate atomicity in processor execution of helper set
US20110314263A1 (en) * 2010-06-22 2011-12-22 International Business Machines Corporation Instructions for performing an operation on two operands and subsequently storing an original value of operand
US9110802B2 (en) * 2010-11-05 2015-08-18 Advanced Micro Devices, Inc. Processor and method implemented by a processor to implement mask load and store instructions
CN102221987B (zh) * 2011-05-11 2014-10-01 西安电子科技大学 基于嵌入式专用指令集处理器的指令集编码方法
US10061580B2 (en) * 2016-02-25 2018-08-28 International Business Machines Corporation Implementing a received add program counter immediate shift (ADDPCIS) instruction using a micro-coded or cracked sequence
CN113656071B (zh) * 2021-10-18 2022-02-08 深圳市智想科技有限公司 一种基于risc架构的cpu指令集系统及cpu系统

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5201056A (en) * 1990-05-02 1993-04-06 Motorola, Inc. RISC microprocessor architecture with multi-bit tag extended instructions for selectively attaching tag from either instruction or input data to arithmetic operation output
US5925122A (en) * 1996-08-30 1999-07-20 Nec Corporation Data processing unit which pre-fetches instructions of different lengths to conduct processing
US6539470B1 (en) * 1999-11-16 2003-03-25 Advanced Micro Devices, Inc. Instruction decode unit producing instruction operand information in the order in which the operands are identified, and systems including same
US7047396B1 (en) * 2000-06-22 2006-05-16 Ubicom, Inc. Fixed length memory to memory arithmetic and architecture for a communications embedded processor system
CN1625731A (zh) * 2002-01-31 2005-06-08 Arc国际公司 具有多种长度指令集体系结构的可配置数据处理器
CN1477520A (zh) * 2002-08-21 2004-02-25 先进数字芯片株式会社 具有扩展指令的中央处理器
US7415599B1 (en) * 2005-11-01 2008-08-19 Zilog, Inc. Instruction operation and operand memory location determined based on preceding instruction operation and operand memory location
JP2014160393A (ja) * 2013-02-20 2014-09-04 Casio Comput Co Ltd マイクロプロセッサ及び演算処理方法
CN105677298A (zh) * 2015-12-30 2016-06-15 李朝波 一种将计算机指令中立即数扩展的方法和装置
CN108304217A (zh) * 2018-03-09 2018-07-20 中国科学院计算技术研究所 将长位宽操作数指令转换为短位宽操作数指令的方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ARM指令中合法立即数的判断方法;杜俊;《甘肃科技》;20141030(第20期);全文 *
GPU的发展历程、未来趋势及研制实践;熊庭刚;《微电子与智能制造》;20200630;第2卷(第2期);第36-40页 *
High-performance extendable instruction set computing;Heui Lee 等;《Proceedings 6th Australasian Computer Systems Architecture Conference. ACSAC 2001》;20020807;第89-94页 *

Also Published As

Publication number Publication date
CN114116005A (zh) 2022-03-01

Similar Documents

Publication Publication Date Title
US20220004391A1 (en) Processor having multiple cores, shared core extension logic, and shared core extension utilization instructions
US9830156B2 (en) Temporal SIMT execution optimization through elimination of redundant operations
EP2483787B1 (en) Efficient predicated execution for parallel processors
US8069340B2 (en) Microprocessor with microarchitecture for efficiently executing read/modify/write memory operand instructions
US8458677B2 (en) Generating code adapted for interlinking legacy scalar code and extended vector code
US20110074802A1 (en) Architecture and Instructions for Accessing Multi-Dimensional Formatted Surface Memory
KR101772299B1 (ko) 스트라이딩된 액세스 패턴을 가진 벡터 레지스터에서 성분들을 축소하기 위한 명령어
US10261790B2 (en) Memory copy instructions, processors, methods, and systems
Park et al. Libra: Tailoring simd execution using heterogeneous hardware and dynamic configurability
TWI659357B (zh) 在處理器管線中管理指令順序
EP4189537A1 (en) Register addressing information for data transfer instruction
US20150035841A1 (en) Multi-threaded gpu pipeline
Wang et al. Architecture and compiler support for gpus using energy-efficient affine register files
CN114116005B (zh) 基于aigpu架构的立即数数据存储方法
Lazo et al. Adaptable register file organization for vector processors
JP5193624B2 (ja) データプロセッサ
CN109416635B (zh) 针对使用多个架构寄存器的指令的架构寄存器替换
CN114035980B (zh) 基于便笺存储器来共享数据的方法和电子装置
JP4444305B2 (ja) 半導体装置
CN112130970A (zh) 用于双存储器原子操作的硬件支持
CN113015958A (zh) 实现掩蔽向量指令的系统和方法
JP5610551B2 (ja) データプロセッサ
US11550584B1 (en) Implementing specialized instructions for accelerating Smith-Waterman sequence alignments
US11822541B2 (en) Techniques for storing sub-alignment data when accelerating Smith-Waterman sequence alignments
US20230101085A1 (en) Techniques for accelerating smith-waterman sequence alignments

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40069733

Country of ref document: HK

CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Hou Hongchao

Inventor after: Ge Jianming

Inventor after: Sang Yongqi

Inventor after: Zhao Peng

Inventor after: Wang Donghui

Inventor after: Yao Fei

Inventor after: Qiu Xiaogang

Inventor before: Hou Hongchao

Inventor before: Ge Jianming

Inventor before: Sang Yongqi

Inventor before: Zhao Peng

Inventor before: Wang Donghui

Inventor before: Yao Fei

Inventor before: Qiu Xiaogang

GR01 Patent grant
GR01 Patent grant