RU2012149004A - Увеличение числа доступных для команд регистров общего назначения - Google Patents

Увеличение числа доступных для команд регистров общего назначения Download PDF

Info

Publication number
RU2012149004A
RU2012149004A RU2012149004/08A RU2012149004A RU2012149004A RU 2012149004 A RU2012149004 A RU 2012149004A RU 2012149004/08 A RU2012149004/08 A RU 2012149004/08A RU 2012149004 A RU2012149004 A RU 2012149004A RU 2012149004 A RU2012149004 A RU 2012149004A
Authority
RU
Russia
Prior art keywords
ron
small
instructions
rons
operands
Prior art date
Application number
RU2012149004/08A
Other languages
English (en)
Other versions
RU2562430C2 (ru
Inventor
ГРЕЙНЕР Дан
МИТРАН Марсель
СЛИДЖЛ Тимоти
Original Assignee
Интернэшнл Бизнес Машинз Корпорейшн
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 Интернэшнл Бизнес Машинз Корпорейшн filed Critical Интернэшнл Бизнес Машинз Корпорейшн
Publication of RU2012149004A publication Critical patent/RU2012149004A/ru
Application granted granted Critical
Publication of RU2562430C2 publication Critical patent/RU2562430C2/ru

Links

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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30138Extension of register space, e.g. register cache
    • 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/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/342Extension of operand address space
    • 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
    • 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/30098Register arrangements
    • 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/30098Register arrangements
    • G06F9/30105Register structure
    • 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • 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
    • 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
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address

Abstract

1. Способ увеличения эффективного числа регистров общего назначения (РОН) (309), доступных для команд программы в компьютере, имеющем первое число больших РОН, при этом каждая команда содержит код операции и одно или несколько полей РОН для указания соответствующих РОН, каждый большой РОН содержит первую часть и вторую часть, упомянутые большие РОН содержат первые малые РОН, состоящие из первых частей, и вторые малые РОН, состоящие из вторых частей, включающий:выполняемое при нахождении (703) компьютера в режиме малых РОН выполнение (707) команд из первого набора команд, предназначенного для доступа к первым малым РОН, включающее генерирование адресов памяти для доступа к хранимым в памяти операндам на основании первых малых РОН или доступа к операндам первых малых РОН, состоящих из упомянутых первых частей, и выполнение (706) команд из второго набора команд, предназначенного для доступа ко вторым малым РОН, включающее генерирование адресов памяти для доступа к хранимым в памяти операндам на основании вторых малых РОН или доступа к операндам вторых малых РОН, состоящих из упомянутых вторых частей, ивыполняемое при нахождении компьютера в режиме больших РОН выполнение (704) команд из третьего набора команд, включающее генерирование адресов памяти для доступа к хранимым в памяти операндам на основании больших РОН или доступа к операндам больших РОН, содержащих упомянутые первые части и упомянутые вторые части.2. Способ по п.1, в котором режим малых РОН предусматривает нахождение в 24-разрядном режиме адресации или 31-разрядном режиме адресации.3. Способ по п.1, в котором первая часть каждого большого РОН имеет ширину 32 разряд

Claims (11)

1. Способ увеличения эффективного числа регистров общего назначения (РОН) (309), доступных для команд программы в компьютере, имеющем первое число больших РОН, при этом каждая команда содержит код операции и одно или несколько полей РОН для указания соответствующих РОН, каждый большой РОН содержит первую часть и вторую часть, упомянутые большие РОН содержат первые малые РОН, состоящие из первых частей, и вторые малые РОН, состоящие из вторых частей, включающий:
выполняемое при нахождении (703) компьютера в режиме малых РОН выполнение (707) команд из первого набора команд, предназначенного для доступа к первым малым РОН, включающее генерирование адресов памяти для доступа к хранимым в памяти операндам на основании первых малых РОН или доступа к операндам первых малых РОН, состоящих из упомянутых первых частей, и выполнение (706) команд из второго набора команд, предназначенного для доступа ко вторым малым РОН, включающее генерирование адресов памяти для доступа к хранимым в памяти операндам на основании вторых малых РОН или доступа к операндам вторых малых РОН, состоящих из упомянутых вторых частей, и
выполняемое при нахождении компьютера в режиме больших РОН выполнение (704) команд из третьего набора команд, включающее генерирование адресов памяти для доступа к хранимым в памяти операндам на основании больших РОН или доступа к операндам больших РОН, содержащих упомянутые первые части и упомянутые вторые части.
2. Способ по п.1, в котором режим малых РОН предусматривает нахождение в 24-разрядном режиме адресации или 31-разрядном режиме адресации.
3. Способ по п.1, в котором первая часть каждого большого РОН имеет ширину 32 разряда и вторая часть каждого большого РОН имеет ширину 32 разряда.
4. Способ по п.2, в котором первая часть каждого большого РОН имеет ширину 32 разряда и вторая часть каждого большого РОН имеет ширину 32 разряда.
5. Способ по любому из пп.1-4, в котором выполнение (706) команды из второго набора команд включает в себя выполнение (752) заданной соответствующим кодом операции функции на основании двух операндов и сохранение результата, при этом заданной соответствующим кодом операции функцией является функция сложения двух операндов или функция сравнения двух операндов.
6. Способ по любому из пп.1-4, в котором выполнение (706) команды из второго набора команд включает в себя выполнение (753) заданной соответствующим кодом операции функции на основании двух операндов и сохранение результата, при этом заданной соответствующим кодом операции функцией является функция загрузки операнда из памяти или функция сохранения операнда в памяти.
7. Способ по любому из пп.1-4, в котором выполнение (706) команды из второго набора команд включает в себя выполнение (754) заданной соответствующим кодом операции функции на основании двух операндов и сохранение результата, при этом заданной соответствующим кодом операции функцией является функция поворота с последующей вставкой выбранных разрядов, включающая:
поворот исходного операнда на заданную командой величину и вставку выбранной части повернутого исходного операнда в выбранную часть целевого операнда.
8. Способ по п.2, в котором операционная система действует в режиме (801) больших РОН и который дополнительно включает шаг (805) сохранения больших РОН и шаг (807) восстановления больших РОН при переключениях контекста приложений, действующих в режиме малых РОН.
9. Способ по п.8, в котором третий набор команд содержит первый набор команд и второй набор команд.
10. Компьютерная программа, загружаемая во внутреннюю память цифрового компьютера, содержащая части машинного кода для осуществления стадий способа по любому из пп.1-9 при ее выполнении в компьютере.
11. Компьютерная система для увеличения эффективного числа регистров общего назначения (РОН) (309), доступных для команд программы в компьютере, имеющем первое число больших РОН, при этом каждая команда содержит код операции и одно или несколько полей РОН для указания соответствующих РОН, каждый большой РОН содержит первую часть и вторую часть, упомянутые большие РОН содержат первые малые РОН, состоящие из первых частей, и вторые малые РОН, состоящие из вторых частей, содержащая:
память (105),
процессор (106), связанный с памятью и содержащий блок (305) выборки команд для выборки команд из памяти и один или несколько блоков (307) выполнения команд для выполнения выбранных команд,
при этом компьютерная система выполнена с возможностью осуществления стадий способа по любому из пп.1-9.
RU2012149004/08A 2010-06-22 2010-11-08 Увеличение числа доступных для команд регистров общего назначения RU2562430C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/820,735 2010-06-22
US12/820,735 US8914619B2 (en) 2010-06-22 2010-06-22 High-word facility for extending the number of general purpose registers available to instructions
PCT/EP2010/067048 WO2011160726A1 (en) 2010-06-22 2010-11-08 Extending the number of general purpose registers available to instructions

Publications (2)

Publication Number Publication Date
RU2012149004A true RU2012149004A (ru) 2014-05-27
RU2562430C2 RU2562430C2 (ru) 2015-09-10

Family

ID=43334493

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2012149004/08A RU2562430C2 (ru) 2010-06-22 2010-11-08 Увеличение числа доступных для команд регистров общего назначения

Country Status (14)

Country Link
US (2) US8914619B2 (ru)
EP (1) EP2430521A1 (ru)
JP (2) JP5379825B2 (ru)
KR (1) KR101464808B1 (ru)
CN (1) CN102314333A (ru)
AU (1) AU2010355817B2 (ru)
BR (1) BRPI1103516B1 (ru)
CA (1) CA2786049C (ru)
IL (1) IL223587A (ru)
MX (1) MX2012014533A (ru)
RU (1) RU2562430C2 (ru)
SG (1) SG186078A1 (ru)
WO (1) WO2011160726A1 (ru)
ZA (1) ZA201209644B (ru)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8914619B2 (en) 2010-06-22 2014-12-16 International Business Machines Corporation High-word facility for extending the number of general purpose registers available to instructions
US8468284B2 (en) 2010-06-23 2013-06-18 International Business Machines Corporation Converting a message signaled interruption into an I/O adapter event notification to a guest operating system
US8572635B2 (en) 2010-06-23 2013-10-29 International Business Machines Corporation Converting a message signaled interruption into an I/O adapter event notification
US8615645B2 (en) 2010-06-23 2013-12-24 International Business Machines Corporation Controlling the selectively setting of operational parameters for an adapter
US8635430B2 (en) 2010-06-23 2014-01-21 International Business Machines Corporation Translation of input/output addresses to memory addresses
US9696975B2 (en) * 2010-09-03 2017-07-04 International Business Machines Corporation Allocating register halves independently
US9317285B2 (en) * 2012-04-30 2016-04-19 Apple Inc. Instruction set architecture mode dependent sub-size access of register with associated status indication
US20130339656A1 (en) * 2012-06-15 2013-12-19 International Business Machines Corporation Compare and Replace DAT Table Entry
US9639369B2 (en) 2013-11-11 2017-05-02 Apple Inc. Split register file for operands of different sizes
US10671391B2 (en) * 2014-02-25 2020-06-02 MIPS Tech, LLC Modeless instruction execution with 64/32-bit addressing
US20150293767A1 (en) * 2014-04-11 2015-10-15 Fujitsu Limited Rotating register file with bit expansion support
US20160246619A1 (en) * 2014-09-03 2016-08-25 Mediatek Inc. Method for handling mode switching with less unnecessary register data access and related non-transitory machine readable medium
CN107145334B (zh) * 2017-04-26 2020-10-09 龙芯中科技术有限公司 常量获取方法、装置、处理器及计算机可读存储介质
WO2022067510A1 (zh) * 2020-09-29 2022-04-07 华为技术有限公司 一种处理器、处理方法及相关设备

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3432532B2 (ja) * 1992-08-03 2003-08-04 株式会社日立製作所 データ処理装置
JP2686011B2 (ja) * 1992-01-27 1997-12-08 富士通株式会社 レジスタ制御装置
WO1994027215A1 (en) 1993-05-07 1994-11-24 Apple Computer, Inc. Method for decoding guest instructions for a host computer
US5546557A (en) 1993-06-14 1996-08-13 International Business Machines Corporation System for storing and managing plural logical volumes in each of several physical volumes including automatically creating logical volumes in peripheral data storage subsystem
US5751614A (en) 1994-03-08 1998-05-12 Exponential Technology, Inc. Sign-extension merge/mask, rotate/shift, and boolean operations executed in a vectored mux on an ALU
GB2289353B (en) * 1994-05-03 1997-08-27 Advanced Risc Mach Ltd Data processing with multiple instruction sets
US5551013A (en) 1994-06-03 1996-08-27 International Business Machines Corporation Multiprocessor for hardware emulation
US5790825A (en) 1995-11-08 1998-08-04 Apple Computer, Inc. Method for emulating guest instructions on a host computer through dynamic recompilation of host instructions
TW364976B (en) 1996-09-23 1999-07-21 Arm Corp Input operand control in data processing systems
TW343318B (en) * 1996-09-23 1998-10-21 Advanced Risc Mach Ltd Register addressing in a data processing apparatus
GB2317467B (en) 1996-09-23 2000-11-01 Advanced Risc Mach Ltd Input operand control in data processing systems
US5838960A (en) 1996-09-26 1998-11-17 Bay Networks, Inc. Apparatus for performing an atomic add instructions
US5864703A (en) 1997-10-09 1999-01-26 Mips Technologies, Inc. Method for providing extended precision in SIMD vector arithmetic operations
US6009261A (en) 1997-12-16 1999-12-28 International Business Machines Corporation Preprocessing of stored target routines for emulating incompatible instructions on a target processor
US6308255B1 (en) 1998-05-26 2001-10-23 Advanced Micro Devices, Inc. Symmetrical multiprocessing bus and chipset used for coprocessor support allowing non-native code to run in a system
US6343356B1 (en) * 1998-10-09 2002-01-29 Bops, Inc. Methods and apparatus for dynamic instruction controlled reconfiguration register file with extended precision
US6463582B1 (en) 1998-10-21 2002-10-08 Fujitsu Limited Dynamic optimizing object code translator for architecture emulation and dynamic optimizing object code translation method
US6857061B1 (en) * 2000-04-07 2005-02-15 Nintendo Co., Ltd. Method and apparatus for obtaining a scalar value directly from a vector register
US6877084B1 (en) * 2000-08-09 2005-04-05 Advanced Micro Devices, Inc. Central processing unit (CPU) accessing an extended register set in an extended register mode
JP3659252B2 (ja) 2003-03-28 2005-06-15 セイコーエプソン株式会社 ベクトルデータのアドレス参照方法およびベクトルプロセッサ
US7284092B2 (en) 2004-06-24 2007-10-16 International Business Machines Corporation Digital data processing apparatus having multi-level register file
US7627723B1 (en) 2006-09-21 2009-12-01 Nvidia Corporation Atomic memory operators in a parallel processor
US7840783B1 (en) * 2007-09-10 2010-11-23 Netlogic Microsystems, Inc. System and method for performing a register renaming operation utilizing hardware which is capable of operating in at least two modes utilizing registers of multiple widths
US8694758B2 (en) 2007-12-27 2014-04-08 Intel Corporation Mixing instructions with different register sizes
US20090182982A1 (en) * 2008-01-11 2009-07-16 International Business Machines Corporation Rotate Then Insert Selected Bits Facility and Instructions Therefore
US20090182983A1 (en) * 2008-01-11 2009-07-16 International Business Machines Corporation Compare and Branch Facility and Instruction Therefore
US7877582B2 (en) * 2008-01-31 2011-01-25 International Business Machines Corporation Multi-addressable register file
US20100100692A1 (en) 2008-10-21 2010-04-22 International Business Machines Corporation Exploiting Register High-Words
US8386754B2 (en) * 2009-06-24 2013-02-26 Arm Limited Renaming wide register source operand with plural short register source operands for select instructions to detect dependency fast with existing mechanism
US8850166B2 (en) 2010-02-18 2014-09-30 International Business Machines Corporation Load pair disjoint facility and instruction therefore
US8438340B2 (en) 2010-02-18 2013-05-07 International Business Machines Corporation Executing atomic store disjoint instructions
US8914619B2 (en) 2010-06-22 2014-12-16 International Business Machines Corporation High-word facility for extending the number of general purpose registers available to instructions

Also Published As

Publication number Publication date
US8914619B2 (en) 2014-12-16
AU2010355817B2 (en) 2014-04-03
IL223587A (en) 2017-07-31
RU2562430C2 (ru) 2015-09-10
US20130117545A1 (en) 2013-05-09
AU2010355817A1 (en) 2012-07-05
US9459872B2 (en) 2016-10-04
BRPI1103516B1 (pt) 2021-01-12
JP5379825B2 (ja) 2013-12-25
SG186078A1 (en) 2013-01-30
MX2012014533A (es) 2013-01-29
BRPI1103516A2 (pt) 2016-05-17
JP2012009020A (ja) 2012-01-12
KR20110139098A (ko) 2011-12-28
CA2786049A1 (en) 2011-12-29
CN102314333A (zh) 2012-01-11
US20110314260A1 (en) 2011-12-22
JP5657074B2 (ja) 2015-01-21
WO2011160726A1 (en) 2011-12-29
KR101464808B1 (ko) 2014-11-27
ZA201209644B (en) 2013-08-28
JP2013242918A (ja) 2013-12-05
CA2786049C (en) 2018-02-13
EP2430521A1 (en) 2012-03-21

Similar Documents

Publication Publication Date Title
RU2012149004A (ru) Увеличение числа доступных для команд регистров общего назначения
CN107924366B (zh) 用于控制指令执行行为的装置及方法
US10540181B2 (en) Managing branch prediction information for different contexts
JP2019504403A5 (ru)
US20060218385A1 (en) Branch target address cache storing two or more branch target addresses per index
US10241810B2 (en) Instruction-optimizing processor with branch-count table in hardware
CA2649675A1 (en) Pre-decoding variable length instructions
EP3105681A1 (en) Region identifying operation for identifying region of a memory attribute unit corresponding to a target memory address
KR101681440B1 (ko) 블록 코드 퍼뮤테이션을 이용한 멀웨어 공격 방지
US10599437B2 (en) Managing obscured branch prediction information
JP2015537298A5 (ru)
JP2011227880A (ja) プレロード命令制御
US9767037B2 (en) Technologies for position-independent persistent memory pointers
US20150324199A1 (en) Computer processor and system without an arithmetic and logic unit
US11048511B2 (en) Data processing device data processing method and recording medium
JP4202244B2 (ja) Vliw型dsp,及びその動作方法
GB2526646A (en) Decoding base instructions modified by a prefix instruction using modifier bits
US11301253B2 (en) Branch prediction structure indexed based on return address popped from a call-return stack
US20170153985A1 (en) Method to efficiently implement synchronization using software managed address translation
US20150261537A1 (en) Method of decoding instructions in microprocessor
JP6372250B2 (ja) 演算処理装置
US9342319B1 (en) Accelerated class check
US9021238B2 (en) System for accessing a register file using an address retrieved from the register file
US6785806B1 (en) Bios having macro/effector pairs for hardware initialization
Mohr et al. Hardware acceleration for programs in SSA form