CN101887357A - 指令集架构中的变量寄存器和立即数字段编码 - Google Patents
指令集架构中的变量寄存器和立即数字段编码 Download PDFInfo
- Publication number
- CN101887357A CN101887357A CN2010101782347A CN201010178234A CN101887357A CN 101887357 A CN101887357 A CN 101887357A CN 2010101782347 A CN2010101782347 A CN 2010101782347A CN 201010178234 A CN201010178234 A CN 201010178234A CN 101887357 A CN101887357 A CN 101887357A
- Authority
- CN
- China
- Prior art keywords
- instruction
- computer system
- value
- processor
- 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.)
- Granted
Links
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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30149—Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30156—Special purpose encoding of instructions, e.g. Gray coding
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
-
- 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/3017—Runtime instruction translation, e.g. macros
- G06F9/30174—Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code
-
- 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/3017—Runtime instruction translation, e.g. macros
- G06F9/30178—Runtime instruction translation, e.g. macros of compressed or encrypted instructions
-
- 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/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
Claims (47)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/464,027 US9274796B2 (en) | 2009-05-11 | 2009-05-11 | Variable register and immediate field encoding in an instruction set architecture |
US12/464,027 | 2009-05-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101887357A true CN101887357A (zh) | 2010-11-17 |
CN101887357B CN101887357B (zh) | 2015-09-09 |
Family
ID=43063057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010178234.7A Active CN101887357B (zh) | 2009-05-11 | 2010-05-11 | 指令集架构中的变量寄存器和立即数字段编码 |
Country Status (2)
Country | Link |
---|---|
US (3) | US9274796B2 (zh) |
CN (1) | CN101887357B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102231180A (zh) * | 2011-07-30 | 2011-11-02 | 张鹏 | 处理器指令编码可重定义的方法 |
CN104714778A (zh) * | 2011-04-07 | 2015-06-17 | 威盛电子股份有限公司 | 操作微处理器的方法 |
CN106610817A (zh) * | 2015-10-22 | 2017-05-03 | 德克萨斯仪器股份有限公司 | 用于采取vliw处理器中的相同执行数据包中的常数扩展槽指定或扩展常数位数的方法 |
CN107463355A (zh) * | 2017-07-28 | 2017-12-12 | 珠海市杰理科技股份有限公司 | 立即数压缩编码方法和系统 |
CN113439266A (zh) * | 2018-12-14 | 2021-09-24 | 美光科技公司 | 使用行程长度编码算法的映射表压缩 |
WO2024169618A1 (zh) * | 2023-02-14 | 2024-08-22 | 华为技术有限公司 | 一种代码编译方法及电子设备 |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9274796B2 (en) | 2009-05-11 | 2016-03-01 | Arm Finance Overseas Limited | Variable register and immediate field encoding in an instruction set architecture |
US8966253B1 (en) | 2010-06-01 | 2015-02-24 | Xilinx, Inc. | Method and apparatus for authenticating a programmable device bitstream |
US8296267B2 (en) | 2010-10-20 | 2012-10-23 | Microsoft Corporation | Upgrade of highly available farm server groups |
US8417737B2 (en) | 2010-10-20 | 2013-04-09 | Microsoft Corporation | Online database availability during upgrade |
US8751656B2 (en) | 2010-10-20 | 2014-06-10 | Microsoft Corporation | Machine manager for deploying and managing machines |
US8386501B2 (en) | 2010-10-20 | 2013-02-26 | Microsoft Corporation | Dynamically splitting multi-tenant databases |
US8799453B2 (en) | 2010-10-20 | 2014-08-05 | Microsoft Corporation | Managing networks and machines for an online service |
US9075661B2 (en) | 2010-10-20 | 2015-07-07 | Microsoft Technology Licensing, Llc | Placing objects on hosts using hard and soft constraints |
US8850550B2 (en) | 2010-11-23 | 2014-09-30 | Microsoft Corporation | Using cached security tokens in an online service |
US9721030B2 (en) | 2010-12-09 | 2017-08-01 | Microsoft Technology Licensing, Llc | Codeless sharing of spreadsheet objects |
US8909941B1 (en) * | 2011-03-31 | 2014-12-09 | Xilinx, Inc. | Programmable integrated circuit and a method of enabling the detection of tampering with data provided to a programmable integrated circuit |
US9645822B2 (en) | 2011-04-07 | 2017-05-09 | Via Technologies, Inc | Conditional store instructions in an out-of-order execution microprocessor |
US9146742B2 (en) | 2011-04-07 | 2015-09-29 | Via Technologies, Inc. | Heterogeneous ISA microprocessor that preserves non-ISA-specific configuration state when reset to different ISA |
US9378019B2 (en) | 2011-04-07 | 2016-06-28 | Via Technologies, Inc. | Conditional load instructions in an out-of-order execution microprocessor |
US9244686B2 (en) | 2011-04-07 | 2016-01-26 | Via Technologies, Inc. | Microprocessor that translates conditional load/store instructions into variable number of microinstructions |
US8924695B2 (en) | 2011-04-07 | 2014-12-30 | Via Technologies, Inc. | Conditional ALU instruction condition satisfaction propagation between microinstructions in read-port limited register file microprocessor |
US9043580B2 (en) | 2011-04-07 | 2015-05-26 | Via Technologies, Inc. | Accessing model specific registers (MSR) with different sets of distinct microinstructions for instructions of different instruction set architecture (ISA) |
US9032189B2 (en) | 2011-04-07 | 2015-05-12 | Via Technologies, Inc. | Efficient conditional ALU instruction in read-port limited register file microprocessor |
US9336180B2 (en) | 2011-04-07 | 2016-05-10 | Via Technologies, Inc. | Microprocessor that makes 64-bit general purpose registers available in MSR address space while operating in non-64-bit mode |
US9898291B2 (en) | 2011-04-07 | 2018-02-20 | Via Technologies, Inc. | Microprocessor with arm and X86 instruction length decoders |
US9128701B2 (en) | 2011-04-07 | 2015-09-08 | Via Technologies, Inc. | Generating constant for microinstructions from modified immediate field during instruction translation |
US9141389B2 (en) | 2011-04-07 | 2015-09-22 | Via Technologies, Inc. | Heterogeneous ISA microprocessor with shared hardware ISA registers |
US9317288B2 (en) | 2011-04-07 | 2016-04-19 | Via Technologies, Inc. | Multi-core microprocessor that performs x86 ISA and ARM ISA machine language program instructions by hardware translation into microinstructions executed by common execution pipeline |
US9274795B2 (en) | 2011-04-07 | 2016-03-01 | Via Technologies, Inc. | Conditional non-branch instruction prediction |
US9292470B2 (en) | 2011-04-07 | 2016-03-22 | Via Technologies, Inc. | Microprocessor that enables ARM ISA program to access 64-bit general purpose registers written by x86 ISA program |
US8880857B2 (en) | 2011-04-07 | 2014-11-04 | Via Technologies, Inc. | Conditional ALU instruction pre-shift-generated carry flag propagation between microinstructions in read-port limited register file microprocessor |
US9176733B2 (en) | 2011-04-07 | 2015-11-03 | Via Technologies, Inc. | Load multiple and store multiple instructions in a microprocessor that emulates banked registers |
US9436474B2 (en) * | 2012-07-27 | 2016-09-06 | Microsoft Technology Licensing, Llc | Lock free streaming of executable code data |
US9811335B1 (en) * | 2013-10-14 | 2017-11-07 | Quicklogic Corporation | Assigning operational codes to lists of values of control signals selected from a processor design based on end-user software |
US10346162B2 (en) | 2015-11-17 | 2019-07-09 | International Business Machines Corporation | Selective instruction replacement for assembly language programs |
US10437883B2 (en) * | 2015-11-24 | 2019-10-08 | Cisco Technology, Inc. | Efficient graph database traversal |
US10846089B2 (en) * | 2017-08-31 | 2020-11-24 | MIPS Tech, LLC | Unified logic for aliased processor instructions |
CN110045960B (zh) | 2018-01-16 | 2022-02-18 | 腾讯科技(深圳)有限公司 | 基于芯片的指令集处理方法、装置及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5740461A (en) * | 1994-05-03 | 1998-04-14 | Advanced Risc Machines Limited | Data processing with multiple instruction sets |
JP2008083873A (ja) * | 2006-09-26 | 2008-04-10 | Yamaha Corp | デジタル信号処理装置 |
US20090043990A1 (en) * | 2007-08-08 | 2009-02-12 | Analog Devices, Inc. | Implementation of variable length instruction encoding using alias addressing |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5636352A (en) | 1994-12-16 | 1997-06-03 | International Business Machines Corporation | Method and apparatus for utilizing condensed instructions |
US6496920B1 (en) * | 1998-03-18 | 2002-12-17 | Qiuzhen Zou | Digital signal processor having multiple access registers |
WO2001069376A2 (en) | 2000-03-15 | 2001-09-20 | Arc International Plc | Method and apparatus for processor code optimization using code compression |
US7162621B2 (en) | 2001-02-21 | 2007-01-09 | Mips Technologies, Inc. | Virtual instruction expansion based on template and parameter selector information specifying sign-extension or concentration |
US6826681B2 (en) | 2001-06-18 | 2004-11-30 | Mips Technologies, Inc. | Instruction specified register value saving in allocated caller stack or not yet allocated callee stack |
KR100718754B1 (ko) * | 2002-01-31 | 2007-05-15 | 에이알씨 인터내셔널 | 길이가 다른 명령어집합 구조를 갖는 설정가능형데이터프로세서 |
CN1871580A (zh) * | 2003-10-24 | 2006-11-29 | 密克罗奇普技术公司 | 在中央处理器中用于交替指令集的方法和系统 |
US9274796B2 (en) | 2009-05-11 | 2016-03-01 | Arm Finance Overseas Limited | Variable register and immediate field encoding in an instruction set architecture |
-
2009
- 2009-05-11 US US12/464,027 patent/US9274796B2/en active Active
-
2010
- 2010-05-11 CN CN201010178234.7A patent/CN101887357B/zh active Active
-
2016
- 2016-02-01 US US15/012,084 patent/US9928065B2/en active Active
-
2018
- 2018-02-19 US US15/898,752 patent/US10776114B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5740461A (en) * | 1994-05-03 | 1998-04-14 | Advanced Risc Machines Limited | Data processing with multiple instruction sets |
JP2008083873A (ja) * | 2006-09-26 | 2008-04-10 | Yamaha Corp | デジタル信号処理装置 |
US20090043990A1 (en) * | 2007-08-08 | 2009-02-12 | Analog Devices, Inc. | Implementation of variable length instruction encoding using alias addressing |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104714778A (zh) * | 2011-04-07 | 2015-06-17 | 威盛电子股份有限公司 | 操作微处理器的方法 |
CN104714778B (zh) * | 2011-04-07 | 2018-04-06 | 威盛电子股份有限公司 | 操作微处理器的方法 |
CN102231180A (zh) * | 2011-07-30 | 2011-11-02 | 张鹏 | 处理器指令编码可重定义的方法 |
CN102231180B (zh) * | 2011-07-30 | 2014-05-28 | 张鹏 | 处理器指令编码可重定义的方法 |
CN106610817A (zh) * | 2015-10-22 | 2017-05-03 | 德克萨斯仪器股份有限公司 | 用于采取vliw处理器中的相同执行数据包中的常数扩展槽指定或扩展常数位数的方法 |
CN107463355A (zh) * | 2017-07-28 | 2017-12-12 | 珠海市杰理科技股份有限公司 | 立即数压缩编码方法和系统 |
CN107463355B (zh) * | 2017-07-28 | 2020-03-31 | 珠海市杰理科技股份有限公司 | 立即数压缩编码方法和系统 |
CN113439266A (zh) * | 2018-12-14 | 2021-09-24 | 美光科技公司 | 使用行程长度编码算法的映射表压缩 |
CN113439266B (zh) * | 2018-12-14 | 2024-05-14 | 美光科技公司 | 使用行程长度编码算法的映射表压缩 |
WO2024169618A1 (zh) * | 2023-02-14 | 2024-08-22 | 华为技术有限公司 | 一种代码编译方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US9274796B2 (en) | 2016-03-01 |
US9928065B2 (en) | 2018-03-27 |
US20160147535A1 (en) | 2016-05-26 |
US20180173531A1 (en) | 2018-06-21 |
US10776114B2 (en) | 2020-09-15 |
CN101887357B (zh) | 2015-09-09 |
US20100287359A1 (en) | 2010-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101887357B (zh) | 指令集架构中的变量寄存器和立即数字段编码 | |
US5598546A (en) | Dual-architecture super-scalar pipeline | |
JP6849274B2 (ja) | 融合された単一のサイクルのインクリメント−比較−ジャンプを実施するための命令及びロジック | |
US5077657A (en) | Emulator Assist unit which forms addresses of user instruction operands in response to emulator assist unit commands from host processor | |
JP3797471B2 (ja) | マルチスレッドvliwプロセッサにおける分割可能なパケットを識別するための方法および装置 | |
US5781753A (en) | Semi-autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for speculative and out-of-order execution of complex instructions | |
US5768575A (en) | Semi-Autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for sepculative and out-of-order execution of complex instructions | |
USRE40509E1 (en) | Methods and apparatus for abbreviated instruction sets adaptable to configurable processor architecture | |
KR19990064091A (ko) | Risc형 명령 세트 및 슈퍼스칼라 마이크로프로세서 | |
US5974525A (en) | System for allowing multiple instructions to use the same logical registers by remapping them to separate physical segment registers when the first is being utilized | |
CN114691211A (zh) | 从fp16转换到bf8的指令 | |
US20060149927A1 (en) | Processor capable of multi-threaded execution of a plurality of instruction-sets | |
CN114692166A (zh) | 推测漏洞的动态检测 | |
US6212678B1 (en) | Method of carrying out computer operations | |
KR100867564B1 (ko) | 프로그램 제어 흐름에서 변경들을 이루기 위한 장치 및 방법 | |
US20180067731A1 (en) | Apparatus and method for efficient call/return emulation using a dual return stack buffer | |
US11080063B2 (en) | Processing device and method of controlling processing device | |
US5761469A (en) | Method and apparatus for optimizing signed and unsigned load processing in a pipelined processor | |
EP4124952A1 (en) | Method and apparatus for dynamically adjusting pipeline depth to improve execution latency | |
JP2023018655A (ja) | マルチテナントスケーラブルアクセラレータの高性能ページフォールト処理のための方法および装置 | |
CN114661348A (zh) | 用于复数矩阵共轭转置的装置和方法 | |
US20240095063A1 (en) | User-level exception-based invocation of software instrumentation handlers | |
US20240004659A1 (en) | Reducing instrumentation code bloat and performance overheads using a runtime call instruction | |
US20240202000A1 (en) | Device, method and system to capture or restore microarchitectural state of a processor core | |
EP0853782B1 (en) | Instruction decoder including emulation using indirect specifiers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1150891 Country of ref document: HK |
|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: BRIDGE DECK LLC Free format text: FORMER OWNER: MIPS TECHNOLOGIES, INC. Effective date: 20141211 Owner name: ARM FINANCE OVERSEAS LTD. Free format text: FORMER OWNER: BRIDGE DECK LLC Effective date: 20141211 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20141211 Address after: cambridge Applicant after: ARM Overseas Finance Co.,Ltd. Address before: American New Jersey Applicant before: Overpass Bridge Co.,Ltd. Effective date of registration: 20141211 Address after: American New Jersey Applicant after: Overpass Bridge Co.,Ltd. Address before: California, USA Applicant before: Mips Technologies, Inc. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1150891 Country of ref document: HK |