JP2013539883A - 複数の命令セットからの命令の復号 - Google Patents
複数の命令セットからの命令の復号 Download PDFInfo
- Publication number
- JP2013539883A JP2013539883A JP2013533281A JP2013533281A JP2013539883A JP 2013539883 A JP2013539883 A JP 2013539883A JP 2013533281 A JP2013533281 A JP 2013533281A JP 2013533281 A JP2013533281 A JP 2013533281A JP 2013539883 A JP2013539883 A JP 2013539883A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- instruction set
- decoding
- instructions
- indicator value
- 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
- 238000000034 method Methods 0.000 claims abstract description 24
- 238000004590 computer program Methods 0.000 claims abstract description 8
- 230000004044 response Effects 0.000 claims description 40
- 230000007704 transition Effects 0.000 claims description 3
- 210000003813 thumb Anatomy 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- RZVAJINKPMORJF-UHFFFAOYSA-N Acetaminophen Chemical compound CC(=O)NC1=CC=C(O)C=C1 RZVAJINKPMORJF-UHFFFAOYSA-N 0.000 description 1
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
-
- 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/30098—Register arrangements
-
- 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
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
一部のプロセッサアーキテクチャでは、アーキテクチャによって明示的に支援される命令を定義する符号化のセットがあり、このアーキテクチャのユーザにとって自身の命令を定義するために使用可能である、空いている符号化のセットがある。ユーザにとって自身の命令を定義するのに使用可能な符号化空間を提供するプロセッサアーキテクチャでは、特定の命令セットを指定するために使用される命令符号化のビットを有することは、それ自身の問題を引き起こす。
特許文献1は、特定の命令セットが選択され使用されることを許す、マルチ命令セットアーキテクチャを開示する。これに関し、選択される命令セットに応じて特定の復号規則を適用することができるモード切替/復号ロジックが提供されている。
Claims (27)
- 命令を復号するための命令復号器と、
命令復号器によって復号される命令に応じてデータを処理するためのプロセッサと、を備え、
前記命令復号器は、基本命令セットおよび少なくとも1つのさらなる命令セットを含む、複数の異なる命令セットからの命令を復号するように構成され、
前記基本命令セットは、それぞれの命令が前記命令を一意的に識別するための定義済みのオペレーションコードを含む、複数の命令を含み、前記少なくとも1つのさらなる命令セットは、それぞれの命令が前記少なくとも1つのさらなる命令セット内に前記命令を識別するためのオペレーションコードを含む、複数の命令を含み、
前記命令復号器は、基本的な復号規則のセットによって、前記複数の定義済みのオペレーションコードのうちの1つを有する命令を復号し、
かつ前記少なくとも1つのさらなる命令のセットのうちのどれが現在、復号されるべきであるかを示すインジケータ値によって判定される復号規則のセットによって、前記少なくとも1つのさらなる命令セットの前記オペレーションコードのうちの1つを有する命令を復号するように構成される、データ処理装置。 - 前記命令復号器は、共通する少なくともいくつかのオペレーションコードを有する、少なくとも2つのさらなる命令セットを復号するように構成される、請求項1に記載のデータ処理装置。
- 前記データ処理装置は、前記インジケータ値を記憶するための状態レジスタを備える、請求項1または2のいずれか1項に記載のデータ処理装置。
- 前記命令復号器は、前記基本的な命令のセットからの命令である、命令セット更新命令に応じて、前記状態レジスタ内に記憶された前記インジケータ値を前記命令内で指定された値に設定する、請求項3に記載のデータ処理装置。
- 前記プロセッサは、前記プログラムストリームが分岐するべきであることを示す分岐命令に応じて、戻りアドレスおよび前記インジケータ値を、前記分岐から戻ると、前記戻りアドレスおよびインジケータ値を復元することができるように、記憶するように構成される、請求項1〜4のいずれか1項に記載のデータ処理装置。
- 前記データ処理装置が前記分岐前に前記インジケータ値をリセットするように構成される、請求項5に記載のデータ処理装置。
- 前記戻りアドレスおよびインジケータ値が同一のリンクレジスタ内に記憶される、請求項5に記載のデータ処理装置。
- 前記リンクレジスタの前記上位有効ビットが前記インジケータ値を記憶し、前記下位有効ビットが前記戻りアドレスを記憶する、請求項7に記載のデータ処理装置。
- 前記戻りアドレスおよびインジケータ値は、前記分岐に応じてスタックに記憶され、前記分岐から戻ると、前記スタックから読み出される、請求項7に記載のデータ処理装置。
- 前記命令復号器は、前記少なくとも1つのさらなる命令セットのうちの1つを示す前記インジケータ、および前記少なくとも1つのさらなる命令セット内に復号規則がないオペレーションコードを有する命令の受信に応じて、例外を生成する、請求項1〜9のいずれか1項に記載のデータ処理装置。
- 前記命令復号器は、前記命令復号器が復号規則を有しないさらなる命令セットを示す値に遷移する前記インジケータ値を検出することに応じて、例外を生成する、請求項1〜10のいずれか1項に記載のデータ処理装置。
- 前記基本的な命令のセット内の命令の前記定義済みのオペレーションコードは、所定の基本符号化空間内にあり、前記少なくとも1つのさらなる命令セットの前記オペレーションコードは、所定の拡張符号化空間内にある、請求項1〜11のいずれか1項に記載のデータ処理装置。
- 複数の異なるインジケータ値が前記少なくとも1つのさらなる命令セットのうちの1つを識別する、請求項1〜12のいずれか1項に記載のデータ処理装置。
- 異なる命令セットから命令を復号する方法であって、
命令を受信することと、
前記命令のオペレーションコードが基本的な命令のセットからの命令のオペレーションコードである場合、前記基本的な命令のセットの復号規則によって前記命令を復号することと、
前記命令の前記オペレーションコードが少なくとも1つのさらなる命令のセットからの命令のオペレーションコードである場合、前記少なくとも1つのさらなる命令のセットのうちのどれが現在、復号されるべきであるかを示すインジケータ値によって判定された復号規則のセットによって、前記命令を復号することと、を含む、方法。 - 請求項14に記載の異なる命令セットからの命令を復号し、かつ前記復号された命令を処理する方法であって、命令セット更新命令の受信に応じて、
前記基本的な命令のセットの復号規則によって前記命令を復号するステップと、
前記復号された命令セット更新命令に応じて、前記状態レジスタ内の前記インジケータ値を前記復号された命令によって示された値に設定するステップと、
を実施することを含む、方法。 - 前記プログラムストリームが分岐するべきであることを示す分岐命令の受信に応じて、
戻りアドレスおよび前記インジケータの現在の値を、前記分岐から戻ると、前記戻りアドレスおよびインジケータ値を復元することができるように、記憶する、請求項14または15に記載の方法。 - 前記戻りアドレスおよびインジケータ値を記憶する前記ステップは、同一のリンクレジスタ内に前記値を記憶することを含む、請求項16に記載の方法。
- 前記戻りアドレスおよびインジケータ値を記憶する前記ステップは、前記値をスタックに記憶することと、分岐命令からの戻りに応じて、前記スタックから前記値を読み出すこととを含む、請求項16に記載の方法。
- 前記少なくとも1つのさらなる命令セットのうちの1つを示す前記インジケータ、および前記少なくとも1つのさらなる命令セット内に復号規則がないオペレーションコードを有する命令の受信に応じて、例外を生成するステップを含む、請求項14〜18のいずれか1項に記載の方法。
- 前記命令復号器が復号規則を有しないさらなる命令セットを示す値に遷移する前記インジケータ値を検出することに応じて、例外を生成するステップを含む、請求項14〜19のいずれか1項に記載の方法。
- データ処理装置上で実行するコンピュータプログラムによって提供されるバーチャルマシンであって、請求項1〜12のいずれか1項に記載のデータ処理装置によって命令実行環境を提供する、バーチャルマシン。
- データプロセッサ上で実行するとき、前記データプロセッサを制御し、状態レジスタ内のインジケータ値を命令セット更新命令によって示された値に設定する、命令セット更新命令を備え、前記データプロセッサの復号器が、基本的な復号規則のセットによって基本的な命令のセットからの命令を示すオペレーションコードを有する命令を復号し、前記インジケータ値によって判定される復号規則のセットによってさらなる命令のセットからの命令を示すオペレーションコードを有する命令を復号する、コンピュータプログラム製品。
- 命令を復号するための命令復号手段と、
命令復号手段によって復号された命令に応じて、データを処理するための処理手段と、を備え、
前記命令復号手段は、基本命令セットおよび少なくとも1つのさらなる命令セットを含む、複数の異なる命令セットからの命令を復号するためのものであり、
前記基本命令セットは、それぞれの命令が前記命令を一意的に識別するための定義済みのオペレーションコードを含む、複数の命令を含み、前記少なくとも1つのさらなる命令セットは、それぞれの命令が前記少なくとも1つのさらなる命令セット内の前記命令を識別するためのオペレーションコードを含む、複数の命令を含み、
前記命令復号手段は、基本的な復号規則のセットによって前記複数の定義済みのオペレーションコードのうちの1つを有する命令を復号し、
かつ前記少なくとも1つのさらなる命令のセットのうちのどれが現在、復号されるべきであるかを示すインジケータ値によって判定された復号規則のセットによって、前記少なくとも1つのさらなる命令セットの前記オペレーションコードのうちの1つを有する命令を復号するためである、データを処理するための手段。 - 図1〜9を参照して実質的に本明細書に上記される、データ処理装置。
- 図1〜9を参照して実質的に本明細書に上記される、方法。
- 図1〜9を参照して実質的に本明細書に上記される、バーチャルマシン。
- 図1〜9を参照して実質的に本明細書に上記される、コンピュータプログラム製品。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1017177.5 | 2010-10-12 | ||
GB1017177.5A GB2484489A (en) | 2010-10-12 | 2010-10-12 | Instruction decoder using an instruction set identifier to determine the decode rules to use. |
PCT/GB2011/051848 WO2012049475A1 (en) | 2010-10-12 | 2011-09-29 | Decoding instructions from multiple instruction sets |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013539883A true JP2013539883A (ja) | 2013-10-28 |
Family
ID=43304420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013533281A Pending JP2013539883A (ja) | 2010-10-12 | 2011-09-29 | 複数の命令セットからの命令の復号 |
Country Status (10)
Country | Link |
---|---|
US (1) | US9753730B2 (ja) |
EP (1) | EP2628074B1 (ja) |
JP (1) | JP2013539883A (ja) |
KR (1) | KR101799764B1 (ja) |
CN (1) | CN103154883B (ja) |
GB (1) | GB2484489A (ja) |
IL (1) | IL225159A (ja) |
MY (1) | MY158864A (ja) |
TW (1) | TWI506544B (ja) |
WO (1) | WO2012049475A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013045145A (ja) * | 2011-08-22 | 2013-03-04 | Fujitsu Semiconductor Ltd | プロセッサ |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102012010102A1 (de) * | 2012-05-22 | 2013-11-28 | Infineon Technologies Ag | Verfahren und Vorrichtung zur Datenverarbeitung |
CN104424128B (zh) * | 2013-08-19 | 2019-12-13 | 上海芯豪微电子有限公司 | 变长指令字处理器系统和方法 |
CN103761071B (zh) * | 2014-01-08 | 2017-07-18 | 东南大学 | 一种plc的指令编码及识别系统 |
US9772848B2 (en) | 2014-11-14 | 2017-09-26 | Intel Corporation | Three-dimensional morton coordinate conversion processors, methods, systems, and instructions |
US9772850B2 (en) | 2014-11-14 | 2017-09-26 | Intel Corporation | Morton coordinate adjustment processors, methods, systems, and instructions |
US9772849B2 (en) | 2014-11-14 | 2017-09-26 | Intel Corporation | Four-dimensional morton coordinate conversion processors, methods, systems, and instructions |
US10437596B2 (en) | 2014-11-26 | 2019-10-08 | Texas Instruments Incorporated | Processor with a full instruction set decoder and a partial instruction set decoder |
US10115175B2 (en) * | 2016-02-19 | 2018-10-30 | Qualcomm Incorporated | Uniform predicates in shaders for graphics processing units |
GB2551548B (en) * | 2016-06-22 | 2019-05-08 | Advanced Risc Mach Ltd | Register restoring branch instruction |
CN111273945A (zh) * | 2018-12-05 | 2020-06-12 | 展讯通信(上海)有限公司 | 指令译码器批处理设计方法及装置 |
US20220413865A1 (en) * | 2021-06-25 | 2022-12-29 | Intel Corporation | Apparatuses, methods, and systems for instructions for a hardware assisted heterogeneous instruction set architecture dispatcher |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0844557A (ja) * | 1994-06-10 | 1996-02-16 | Advanced Risc Mach Ltd | データ処理装置 |
WO1997037300A1 (en) * | 1996-04-02 | 1997-10-09 | Advanced Micro Devices, Inc. | A microprocessor configured to detect an escape instruction indicating a switch between instruction sets |
JP2004259143A (ja) * | 2003-02-27 | 2004-09-16 | Nec Electronics Corp | プロセッサ、システムlsi、システムlsiの設計方法、及び、それを記録した記録媒体 |
US7149878B1 (en) * | 2000-10-30 | 2006-12-12 | Mips Technologies, Inc. | Changing instruction set architecture mode by comparison of current instruction execution address with boundary address register values |
JP2009181312A (ja) * | 2008-01-30 | 2009-08-13 | Toshiba Corp | プロセッサ |
JP2010521748A (ja) * | 2007-03-14 | 2010-06-24 | クゥアルコム・インコーポレイテッド | 現在実行している命令セット以外の命令セットから命令をプリロードするシステム、方法およびソフトウェア |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2289354B (en) | 1994-05-03 | 1997-08-27 | Advanced Risc Mach Ltd | Multiple instruction set mapping |
GB2289353B (en) * | 1994-05-03 | 1997-08-27 | Advanced Risc Mach Ltd | Data processing with multiple instruction sets |
US5925124A (en) * | 1997-02-27 | 1999-07-20 | International Business Machines Corporation | Dynamic conversion between different instruction codes by recombination of instruction elements |
US6014735A (en) * | 1998-03-31 | 2000-01-11 | Intel Corporation | Instruction set extension using prefixes |
TW477936B (en) * | 1998-12-29 | 2002-03-01 | Ind Tech Res Inst | Instruction folding method and device used in a stack machine |
US7941647B2 (en) * | 1999-01-28 | 2011-05-10 | Ati Technologies Ulc | Computer for executing two instruction sets and adds a macroinstruction end marker for performing iterations after loop termination |
US20020004897A1 (en) * | 2000-07-05 | 2002-01-10 | Min-Cheng Kao | Data processing apparatus for executing multiple instruction sets |
EP1387252B1 (en) * | 2002-07-31 | 2019-02-13 | Texas Instruments Incorporated | Instruction prefix to indicate system commands |
GB2414308B (en) | 2004-05-17 | 2007-08-15 | Advanced Risc Mach Ltd | Program instruction compression |
US8281109B2 (en) * | 2007-12-27 | 2012-10-02 | Intel Corporation | Compressed instruction format |
-
2010
- 2010-10-12 GB GB1017177.5A patent/GB2484489A/en not_active Withdrawn
-
2011
- 2011-09-19 TW TW100133629A patent/TWI506544B/zh active
- 2011-09-23 US US13/200,322 patent/US9753730B2/en active Active
- 2011-09-29 WO PCT/GB2011/051848 patent/WO2012049475A1/en active Application Filing
- 2011-09-29 JP JP2013533281A patent/JP2013539883A/ja active Pending
- 2011-09-29 EP EP11767047.1A patent/EP2628074B1/en active Active
- 2011-09-29 MY MYPI2013700507A patent/MY158864A/en unknown
- 2011-09-29 CN CN201180048887.6A patent/CN103154883B/zh active Active
- 2011-09-29 KR KR1020137009938A patent/KR101799764B1/ko active IP Right Grant
-
2013
- 2013-03-11 IL IL225159A patent/IL225159A/en active IP Right Grant
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0844557A (ja) * | 1994-06-10 | 1996-02-16 | Advanced Risc Mach Ltd | データ処理装置 |
WO1997037300A1 (en) * | 1996-04-02 | 1997-10-09 | Advanced Micro Devices, Inc. | A microprocessor configured to detect an escape instruction indicating a switch between instruction sets |
US7149878B1 (en) * | 2000-10-30 | 2006-12-12 | Mips Technologies, Inc. | Changing instruction set architecture mode by comparison of current instruction execution address with boundary address register values |
JP2004259143A (ja) * | 2003-02-27 | 2004-09-16 | Nec Electronics Corp | プロセッサ、システムlsi、システムlsiの設計方法、及び、それを記録した記録媒体 |
JP2010521748A (ja) * | 2007-03-14 | 2010-06-24 | クゥアルコム・インコーポレイテッド | 現在実行している命令セット以外の命令セットから命令をプリロードするシステム、方法およびソフトウェア |
JP2009181312A (ja) * | 2008-01-30 | 2009-08-13 | Toshiba Corp | プロセッサ |
Non-Patent Citations (2)
Title |
---|
JPN6015016826; 森誠: 'はじめての組み込みプログラミング 第2回 割り込み' C MAGAZINE 第11巻,第9号, 19990901, Pages:65〜69, ソフトバンクパブリッシング株式会社 * |
JPN6015016828; 小林達也: 'ARM命令セットの詳細' Interface 第28巻,第11号, 20021101, Pages:76〜86, CQ出版株式会社 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013045145A (ja) * | 2011-08-22 | 2013-03-04 | Fujitsu Semiconductor Ltd | プロセッサ |
US9411594B2 (en) | 2011-08-22 | 2016-08-09 | Cypress Semiconductor Corporation | Clock data recovery circuit and clock data recovery method |
Also Published As
Publication number | Publication date |
---|---|
CN103154883B (zh) | 2016-08-31 |
US20120089818A1 (en) | 2012-04-12 |
US9753730B2 (en) | 2017-09-05 |
CN103154883A (zh) | 2013-06-12 |
TWI506544B (zh) | 2015-11-01 |
MY158864A (en) | 2016-11-15 |
IL225159A (en) | 2016-12-29 |
KR101799764B1 (ko) | 2017-12-20 |
EP2628074A1 (en) | 2013-08-21 |
WO2012049475A1 (en) | 2012-04-19 |
GB201017177D0 (en) | 2010-11-24 |
GB2484489A (en) | 2012-04-18 |
KR20130101060A (ko) | 2013-09-12 |
TW201224921A (en) | 2012-06-16 |
EP2628074B1 (en) | 2014-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2013539883A (ja) | 複数の命令セットからの命令の復号 | |
JP5512803B2 (ja) | ベクトル命令を取り扱うためのデータ処理装置および方法 | |
TWI514135B (zh) | 記憶體存取控制 | |
JP2019504403A5 (ja) | ||
GB2478726A (en) | Instruction decoder for a processor able to deal with N-bit length data and 2N-bit length data using a set of registers. | |
JP7241689B2 (ja) | インラインのデコードベースのマイクロオペレーション展開による文字列比較処理 | |
TW201723809A (zh) | 移動前綴指令 | |
US10372448B2 (en) | Selecting processing based on expected value of selected character | |
JP2007272353A (ja) | プロセッサ装置及び複合条件処理方法 | |
JP2020534599A (ja) | サブルーチンへの分岐に応じたTable of Contentsポインタ値の予測 | |
US20180253304A1 (en) | Dynamically selecting version of instruction to be executed | |
JP2020534596A (ja) | Set Table of Contents(TOC)Register命令 | |
US20180253303A1 (en) | String sequence operations with arbitrary terminators | |
KR20160065144A (ko) | 데이터 처리장치 및 추론적 벡터 액세스 연산의 수행방법 | |
JP6073392B2 (ja) | 命令としてデータ値を評価するシステムおよび方法 | |
EP3803577A1 (en) | Storing incidental branch predictions to reduce latency of misprediction recovery | |
GB2540944A (en) | Vector operand bitsize control | |
JP3858013B2 (ja) | 複数の個別記憶アドレス領域内に記憶された可変長命令の実行 | |
JP4159586B2 (ja) | 情報処理装置および情報処理の高速化方法 | |
JP2689894B2 (ja) | マイクロプログラム制御型情報処理装置 | |
EP4275114A1 (en) | Background processing during remote memory access | |
JP3057732B2 (ja) | 情報処理装置 | |
JP2001184227A (ja) | シミュレーション装置 | |
JP2003177805A (ja) | シーケンサ | |
JP2006011886A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A529 | Written submission of copy of amendment under article 34 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A529 Effective date: 20130411 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140905 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150421 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150428 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20151001 |