JP2009526300A - マイクロプロセッサ用の命令セット - Google Patents
マイクロプロセッサ用の命令セット Download PDFInfo
- Publication number
- JP2009526300A JP2009526300A JP2008553832A JP2008553832A JP2009526300A JP 2009526300 A JP2009526300 A JP 2009526300A JP 2008553832 A JP2008553832 A JP 2008553832A JP 2008553832 A JP2008553832 A JP 2008553832A JP 2009526300 A JP2009526300 A JP 2009526300A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- fetch address
- bit
- instruction fetch
- instructions
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012546 transfer 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3818—Decoding for concurrent execution
- G06F9/3822—Parallel decoding, e.g. parallel decode 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
- G06F9/3017—Runtime instruction translation, e.g. macros
-
- 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
-
- 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/30196—Instruction operation extension or modification using decoder, e.g. decoder per instruction set, adaptable or programmable decoders
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
【選択図】図1
Description
Claims (14)
- マイクロプロセッサに使用可能な複数の命令セットの間で選択を行うための方法であって、
命令取出しアドレスを供給する段階と、
前記命令取出しアドレスの少なくとも1つの所定のビットの状態を判定する段階と、
前記判定の結果に基づいて前記命令セットの間で選択する段階と、
前記選択された命令セットから命令を取り出す段階と、
取り出された命令を、前記命令セットに適切な復号方式で復号する段階と、
前記復号された命令を実行に備えて供給する段階と、
を含む方法。 - 前記選択する段階は、
それぞれがマルチプレクサに接続された出力を有する少なくとも2つのデコーダーに前記取り出された命令を供給する段階と、
前記マルチプレクサの出力を、前記命令取出しアドレスの少なくとも1つの所定のビットで選択する段階と、
を含むことを特徴とする請求項1に記載の方法。 - 前記命令セットの第1のものは、前記命令セットの第2のものよりも少ない数のビットを有する
ことを特徴とする請求項1又は2に記載の方法。 - 前記第1の命令セットは、前記第2の命令セットのサブセットであることを特徴とする請求項3に記載の方法。
- マイクロプロセッサに使用可能な複数の命令セットの間で選択を行うための装置であって、
命令取出しアドレスを供給するための手段と、
前記命令取出しアドレスの少なくとも1つの所定のビットの状態を判定するための手段と、
前記判定の結果に基づいて前記命令セットの間で選択するための手段と、
前記選択された命令セットから命令を取り出すための手段と、
前記取り出された命令を、前記命令セットに適切な復号方式で復号するための手段と、
前記復号された命令を実行に備えて供給するための手段と
を備えたことを特徴とする装置。 - 前記選択するための手段は、
それぞれがマルチプレクサに接続された出力を有する少なくとも2つのデコーダーに前記取り出された命令を供給するための手段を備えており、
前記マルチプレクサは、選択入力を有しており、前記命令取出しアドレスの前記少なくとも1つの所定のビットを受け取り、前記命令取出しアドレスの前記少なくとも1つの所定のビットに基づいて出力を選択することができる
ことを特徴とする請求項5に記載の装置。 - 前記命令セットの第1のものは、前記命令セットの第2のものよりも少ない数のビットを有する
ことを特徴とする請求項5又は6に記載の装置。 - 前記第1の命令セットは、前記第2の命令セットのサブセットであることを特徴とする請求項7に記載の装置。
- マイクロプロセッサに使用可能な複数の命令セットの間で選択を行うための方法であって、
命令取出しアドレスを供給する段階と、
前記命令取出しアドレスの少なくとも1つの所定のビットの状態を判定する段階と、
前記判定の結果に基づいて前記命令セットの間で選択する段階と、
前記選択された命令セットから命令を取り出す段階と、
取り出された命令を、前記命令セットに適切な復号方式で復号する段階と、
前記復号された命令を実行に備えて供給する段階と、
を含み、
前記命令取出しアドレスの前記少なくとも1つの所定のビットは、途中まで前記命令取出しアドレスを通して配置されている
ことを特徴とする方法。 - 前記命令取出しアドレスの前記少なくとも1つの所定のビットは、最も重要でないビットからは間隔を空けて配置され、前記命令取出しアドレスの最も重要なビットからは複数のビットだけ間隔を空けて配置されている
ことを特徴とする請求項9に記載の方法。 - 前記命令取出しアドレスは、32ビットの命令取出しアドレスを備えており、2つの所定のビットが、前記命令取出しアドレスのビット20と23に配置されている
ことを特徴とする請求項10に記載の方法。 - マイクロプロセッサに使用可能な複数の命令セットの間で選択を行うための装置であって、
命令取出しアドレスを供給するための手段と、
前記命令取出しアドレスの少なくとも1つの所定のビットの状態を判定するための手段と、
前記判定の結果に基づいて前記命令セットの間で選択するための手段と、
前記選択された命令セットから命令を取り出すための手段と、
前記取り出された命令を、前記命令セットに適切な復号方式で復号するための手段と、
前記復号された命令を実行に備えて供給するための手段と、
を備え、
前記命令取出しアドレスの前記少なくとも1つの所定のビットは、途中まで前記命令取出しアドレスを通して、最も重要でないビットからは間隔を空けて配置され、前記命令取出しアドレスの最も重要なビットからは複数のビットだけ間隔を空けて配置されている
ことを特徴とする装置。 - 前記命令取出しアドレスの少なくとも1つのビットは、最も重要でないビットからは間隔を空けて配置され、前記命令取出しアドレスの最も重要なビットからは複数のビットだけ間隔を空けて配置されている
ことを特徴とする請求項12に記載の装置。 - 前記命令取出しアドレスビットは、32ビットのワードであり、2つの所定のビットが、前記命令取出しアドレスのビット20と23に配置されている
ことを特徴とする請求項13に記載の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0602730A GB2435116B (en) | 2006-02-10 | 2006-02-10 | Selecting between instruction sets in a microprocessors |
PCT/GB2007/000473 WO2007091092A1 (en) | 2006-02-10 | 2007-02-09 | Instruction sets for microprocessors |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009526300A true JP2009526300A (ja) | 2009-07-16 |
Family
ID=36119880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008553832A Pending JP2009526300A (ja) | 2006-02-10 | 2007-02-09 | マイクロプロセッサ用の命令セット |
Country Status (5)
Country | Link |
---|---|
US (1) | US10437598B2 (ja) |
EP (1) | EP1987422A1 (ja) |
JP (1) | JP2009526300A (ja) |
GB (1) | GB2435116B (ja) |
WO (1) | WO2007091092A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7836285B2 (en) * | 2007-08-08 | 2010-11-16 | Analog Devices, Inc. | Implementation of variable length instruction encoding using alias addressing |
US8347067B2 (en) * | 2008-01-23 | 2013-01-01 | Arm Limited | Instruction pre-decoding of multiple instruction sets |
US10055227B2 (en) * | 2012-02-07 | 2018-08-21 | Qualcomm Incorporated | Using the least significant bits of a called function's address to switch processor modes |
CN104424128B (zh) * | 2013-08-19 | 2019-12-13 | 上海芯豪微电子有限公司 | 变长指令字处理器系统和方法 |
US10089254B2 (en) * | 2016-06-20 | 2018-10-02 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and apparatus for dynamically selecting an instruction set |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01201729A (ja) * | 1988-01-11 | 1989-08-14 | Internatl Business Mach Corp <Ibm> | デコード方法 |
JPH09512651A (ja) * | 1994-05-03 | 1997-12-16 | アドバンスド リスク マシーンズ リミテッド | 複数命令セットのマッピング |
JP2001142692A (ja) * | 1999-10-01 | 2001-05-25 | Hitachi Ltd | 2つの異なる固定長命令セットを実行するマイクロプロセッサ、マイクロコンピュータおよび命令実行方法 |
JP2002304291A (ja) * | 2001-02-26 | 2002-10-18 | Arm Ltd | 命令セットの情報を格納するための装置及び方法 |
JP2004038327A (ja) * | 2002-06-28 | 2004-02-05 | Renesas Technology Corp | データ処理装置 |
WO2004111836A2 (en) * | 2003-06-13 | 2004-12-23 | Arm Limited | Apparatus and method that accommodate multiple instruction sets and multiple decode modes |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6240538A (ja) * | 1985-08-15 | 1987-02-21 | Mitsubishi Electric Corp | デ−タ処理装置 |
DE69231451T2 (de) * | 1991-03-11 | 2001-05-10 | Mips Tech Inc | Rückwärts kompatible Rechnerarchitektur mit erweiterten Wortbreiten und Adressraum |
GB2290395B (en) * | 1994-06-10 | 1997-05-28 | Advanced Risc Mach Ltd | Interoperability with multiple instruction sets |
US5968162A (en) * | 1996-04-02 | 1999-10-19 | Advanced Micro Devices, Inc. | Microprocessor configured to route instructions of a second instruction set to a second execute unit in response to an escape instruction |
GB2311882B (en) | 1996-04-04 | 2000-08-09 | Videologic Ltd | A data processing management system |
KR100623403B1 (ko) * | 1997-10-02 | 2006-09-13 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 가상 머신 명령을 처리하기 위한 데이터 처리 장치 |
EP1151374B1 (en) * | 1999-01-28 | 2017-08-02 | Advanced Silicon Technologies, LLC | Executing programs for a first computer architecture on a computer of a second architecture |
EP1050798A1 (en) * | 1999-05-03 | 2000-11-08 | STMicroelectronics SA | Decoding instructions |
US6895494B1 (en) * | 2000-06-26 | 2005-05-17 | Texas Instruments Incorporated | Sub-pipelined and pipelined execution in a VLIW |
JP2002304297A (ja) | 2001-04-06 | 2002-10-18 | Seiko Epson Corp | ネットワークを介したコンテンツの自動収集 |
TW536684B (en) * | 2001-06-20 | 2003-06-11 | Sunplus Technology Co Ltd | Micro-controller architecture capable of increasing the code density by changeable instruction format |
US7095343B2 (en) * | 2001-10-09 | 2006-08-22 | Trustees Of Princeton University | code compression algorithms and architectures for embedded systems |
-
2006
- 2006-02-10 GB GB0602730A patent/GB2435116B/en not_active Expired - Fee Related
-
2007
- 2007-02-09 EP EP07712704A patent/EP1987422A1/en not_active Withdrawn
- 2007-02-09 JP JP2008553832A patent/JP2009526300A/ja active Pending
- 2007-02-09 US US11/704,725 patent/US10437598B2/en active Active
- 2007-02-09 WO PCT/GB2007/000473 patent/WO2007091092A1/en active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01201729A (ja) * | 1988-01-11 | 1989-08-14 | Internatl Business Mach Corp <Ibm> | デコード方法 |
JPH09512651A (ja) * | 1994-05-03 | 1997-12-16 | アドバンスド リスク マシーンズ リミテッド | 複数命令セットのマッピング |
JP2001142692A (ja) * | 1999-10-01 | 2001-05-25 | Hitachi Ltd | 2つの異なる固定長命令セットを実行するマイクロプロセッサ、マイクロコンピュータおよび命令実行方法 |
JP2002304291A (ja) * | 2001-02-26 | 2002-10-18 | Arm Ltd | 命令セットの情報を格納するための装置及び方法 |
JP2004038327A (ja) * | 2002-06-28 | 2004-02-05 | Renesas Technology Corp | データ処理装置 |
WO2004111836A2 (en) * | 2003-06-13 | 2004-12-23 | Arm Limited | Apparatus and method that accommodate multiple instruction sets and multiple decode modes |
JP2006527435A (ja) * | 2003-06-13 | 2006-11-30 | アーム・リミテッド | 複数の命令セットを有するデータ処理装置内における命令エンコード |
Also Published As
Publication number | Publication date |
---|---|
US10437598B2 (en) | 2019-10-08 |
GB2435116B (en) | 2010-04-07 |
US20070204134A1 (en) | 2007-08-30 |
GB2435116A (en) | 2007-08-15 |
EP1987422A1 (en) | 2008-11-05 |
GB0602730D0 (en) | 2006-03-22 |
WO2007091092A1 (en) | 2007-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9672033B2 (en) | Methods and apparatus for transforming, loading, and executing super-set instructions | |
US6356994B1 (en) | Methods and apparatus for instruction addressing in indirect VLIW processors | |
US7673119B2 (en) | VLIW optional fetch packet header extends instruction set space | |
US7581082B2 (en) | Software source transfer selects instruction word sizes | |
JPH04313121A (ja) | インストラクションメモリ装置 | |
US6611909B1 (en) | Method and apparatus for dynamically translating program instructions to microcode instructions | |
KR20130016246A (ko) | 다중 명령 세트에 의해 사용되는 레지스터 간의 매핑 | |
US5884071A (en) | Method and apparatus for decoding enhancement instructions using alias encodings | |
US7620804B2 (en) | Central processing unit architecture with multiple pipelines which decodes but does not execute both branch paths | |
US20070245127A1 (en) | Reconfigurable control structure for cpus and method of operating same | |
US10402199B2 (en) | Conditional execution specification of instructions using conditional extension slots in the same execute packet in a VLIW processor | |
JP2009526300A (ja) | マイクロプロセッサ用の命令セット | |
JP3781519B2 (ja) | プロセッサの命令制御機構 | |
JP2009032257A (ja) | 有限状態機械制御コードを選択的に用いるプロセッサアーキテクチャ | |
US20060095746A1 (en) | Branch predictor, processor and branch prediction method | |
CN114253607A (zh) | 用于由集群化解码流水线对共享微代码定序器的乱序访问的方法、系统和装置 | |
US20050149931A1 (en) | Multithread processor architecture for triggered thread switching without any cycle time loss, and without any switching program command | |
US7519799B2 (en) | Apparatus having a micro-instruction queue, a micro-instruction pointer programmable logic array and a micro-operation read only memory and method for use thereof | |
KR20000061574A (ko) | 압축 명령을 갖는 마이크로 컴퓨터 시스템 | |
CN111813447B (zh) | 一种数据拼接指令的处理方法和处理装置 | |
JPH05334459A (ja) | マイクロコンピュータ | |
US20230359385A1 (en) | Quick clearing of registers | |
JP4283226B2 (ja) | アドレス範囲に依存した命令並行処理を行うデータ処理装置 | |
US20050114626A1 (en) | Very long instruction word architecture | |
JPWO2010029682A1 (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100204 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120730 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20121024 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20121031 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130130 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130225 |