JP2009526300A - マイクロプロセッサ用の命令セット - Google Patents

マイクロプロセッサ用の命令セット Download PDF

Info

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
Application number
JP2008553832A
Other languages
English (en)
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 JP2009526300A publication Critical patent/JP2009526300A/ja
Pending legal-status Critical Current

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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/3822Parallel decoding, e.g. parallel decode units
    • 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/3017Runtime instruction translation, e.g. macros
    • 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/30196Instruction operation extension or modification using decoder, e.g. decoder per instruction set, adaptable or programmable decoders
    • 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/3802Instruction prefetching
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; 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つの所定のビットを使用して、命令セットの間で選択が行われる。命令セットが選択されると、命令が取り出され、命令セットに適切な復号方式で復号される。
【選択図】図1

Description

本発明は、マイクロプロセッサと、その様なプロセッサによって使用される命令セットに、特に、マルチスレッド式プロセッサとその命令セットに関する。
我々の英国特許第GB−A−2311882号には、マルチスレッド式プロセッサが記載されている。そこでは、単一の処理ユニットが、プロセッサで実行されることになる複数の処理スレッドに対応する複数の入力と出力を有している。プロセッサは、スレッド間の仲裁を行って、どのスレッドを各ブロックサイクルで実行すべきかを決める。これは、通常、優先順位に基づいて実行される。これに関する更なる展開は、或るスレッドに関する実行開始からの時間、及びそのスレッドを実行しなければならない特定のデッドラインまでの時間の様な監視ファクターに関わっている。この考えは、汎用演算に向けられたプロセッサのみならず、デジタル信号プロセッサ(DSP)の様なアプリケーション特定プロセッサでも具現化することができる。
複数の異なるスレッドを、これらのプロセッサの1つで実行するよう配置することができるが、DSPは、通常2つから4つの間のスレッドを使用する。スレッドの数は、チップの設計及び製造の段階で定義され、チップは適切な数の入力と出力で構成される。
代表的なプロセッサは、追加の命令を検索するのに使用されるテンプレート命令を介して拡張される32ビットの命令セットを使用する。
(マルチスレッド式ではない)幾つかのプロセッサは、標準より小さい命令セットを備えて製作される。これは、この様なプロセッサで使用されるプログラムのコードサイズの低減に繋がる。プロセッサは、特別な命令を使用して、大きな命令セットと低減された命令セットの間で切り替わるように構成されることになる。新しい命令セットが追加される度に追加の切替命令を追加して、新しい命令セットにアクセスできるようにしなければならない。
マルチスレッド式プロセッサを設定できるアプリケーションの多くは、埋め込まれた低出力要件を含んでいる。その様な要件は、プログラムの様なデータのためにシステム内で使用できるメモリの量を制約する。その結果、マイクロプロセッサの製造業者は、プログラムコードを圧縮することによって、彼らの装置を改良しようと努めている。これは、大抵は、小さな命令セットが要求されるときに実施することのできる命令サブセットを支持することによって達成される。例えば、32ビットの命令セットを備えているプロセッサは、プログラムを更に小さくできるようにするため特別な16ビットの命令セットを支持することもできる。
ここでも、その様な命令セットの間の切替は、そのセットの間を切り替えるための特別な命令を使用することによって処理される。この場合も、これには、特別な命令と、切替を実行するための追加のクロックサイクルを必要とする。
英国特許第GB−A−2311882号
本発明の好適な実施形態は、2つ以上の命令セットを支持することができるが、命令セットの間を切り替えるのに追加の命令を必要としないプロセッサを提供する。従って、命令アドレスビットの特定の組み合わせが、命令を特定のセットに属するものと識別するのに使用される。その結果、命令セットの間を切り替えるために、システムは、命令メモリの異なる領域の間をジャンプして、適切なセットから命令を検索する。
少なくとも2つの命令セットが提供されるのが望ましい。
本発明は、マルチスレッド式プロセッサで具現化することができる。
以下、本発明の好適な実施形態を、例を挙げて詳細に説明する。
図3に示す命令スレッド用のプロセッサパイプラインは、5つの部分を備えている。最初は、命令取出し部分1である。これは、通常、命令メモリから取り出すべき命令のアドレスを含んでいる32ビットの取出し命令である。この後に復号ステップ2が続き、ここでは、メモリから検索された命令が、マイクロプロセッサでの実行に備えて機械語コードに復号される。オペランド取出し3は、更なる取出しを備えている。これは、取り出されて復号された命令によって操作されることになるデータがあれば全て検索する。
4では、演算論理装置(ALU)が、取り出し及び復号された命令をオペランド上で実行し、5では、実行された命令の結果が、それぞれのプロセッサ出力を介してメモリ内の宛先に書き込まれる。
本発明の或る実施形態では、取出し命令の特定のビットが、異なる命令セットを使用すべきであることを表示するのに使用される。この命令セットは、第1の命令セットと同じ命令メモリに記憶されているのが望ましいであろう。2つ又はそれ以上の命令セットを記憶することができ、その間で選択するのに適切な数のビットを使用することができる。この例では、ビット20と23が、2つの命令セットの間で選択するのに使用されている。ビット20と23の両方が1に設定されているとき、取出し命令は、命令メモリに記憶されている、第1の命令ではなく第2セットの命令からアドレス指定された命令を検索することになる。
両方の命令セットが命令メモリに記憶されているので、取出し命令のアドレス部分は、命令メモリの何処から命令が来るかを定義するが、ビット20と23は、取り出された命令に適用される復号の間で選択するため両方が1にセットされるときに、使用される。この様に、両方のビットが1にセットされているとき、第2命令セット用の命令デコーダーが使用される。この他の組み合わせは、全て第1命令セット用の命令デコーダーに帰着することになる。2つのビットを使えば合計4つの状態をサポートできるのは明かで、従って、これら2つのビットを使う間に合計4つの命令セットを選択することができる。それ以上の命令セットを使用したい場合は、追加のビットを含めるとよい。2つの命令セットを実施するだけであれば、その間で選択するのに、1セットしか必要ではない。
図2に示すこの取出しアドレスがシステムの作動に影響を及ぼす方式について、図1を参照しながら説明する。図1は、命令メモリ10を備えている。命令は、この中から(図4に示すように)命令取出しアドレス12に応じて検索される。命令アドレスは命令メモリ10に供給され、命令メモリ10は、適切な命令を読み出して、それを取り出された命令のユニット14に送る。
同時に、ANDゲート16は、命令のビット20と23を受け取る。この出力は、取出し命令ユニット14の命令セット型式部分に供給される。命令セットの間の選択に3つ以上のビットが使用されている場合は、もっと複雑なゲート機能、恐らくはマルチプレクサが必要になるであろう。
ANDゲートの出力が1の場合、これは、ビット20と23が共に1にセットされ、従って命令セット型式が2つの命令セットの第2に対応していることを示している。
取り出された命令のユニット14は、取り出された命令を2つの命令デコーダーAとB、20と18それぞれに送る。これらは、取り出された命令を同時に復号し、代わりの復号された命令をそれらの出力に与える。
組み合わされたアドレスのビットが、命令セットの型式は第1命令セットAであると表示している場合、命令デコーダーA20の出力が要求される。命令セットの型式が、要求されているのは第2命令セットであると表示している場合、命令デコーダーB18の出力が要求される。命令デコーダーAとB、20と18の出力の間の選択は、マルチプレクサ22で実行される。この選択入力は、取り出された命令のユニット14の命令セット型式部分の出力によって制御される。先に説明したように、命令セットの型式は、ANDゲート16からの組み合わされたアドレスのビットによって判定される。
選択され復号された命令は、次に、マルチプレクサからの出力として、通常の様式での実行のためにALUに提供される。
図1の配置の代替案は、取り出された命令データをその命令セット型式に適切な命令デコーダーに経路指定するだけということになる。これには、マルチプレクサを、取り出された命令データのユニット14と2つの命令デコーダー20及び18の間に配置することを伴う。
図示の実施例では、第1命令セットには、通常、第1セットから32ビット幅の命令、又は第2セットから16ビットの命令が入っている。復号の後、全ての命令は、32ビット幅形式であり、即ち、16ビットの命令は、メインプロセッサ命令セットから適した命令、即ちこれらの命令のサブセットを形成するのに使用される。
これを、図4を参照しながら説明する。図示のように、特定の変換が、プログラムカウンターアドレス(PC)上で、命令取出しアドレスを得るために実行される。この変換の背後にある思想は、PCアドレスは、常に一列の32ビットのワードである(最下位ビットは共にゼロ)ということである。第2の16ビット幅の命令に切り替えるよう決められると、より小さな2バイトの一列になったワードを使用する必要がある。この変換によって、ビット22が1だけ論理シフトされ、新しいビットゼロがビット22に挿入されることになる。これは、プログラムカウンターを一時に32ビットではなく16ビット増し、16ビットのワードをメモリから検索できるようにする効果がある。
図2の配置は、多数の命令セットを使用している場合の、命令検索及び復号の代替表現を示している。外部命令メモリ10は、ここでは示されていない。命令取出しユニット12は、この場合も、命令取出し要求を命令メモリ10に送るのに使用されている。この様にして検索された命令は、取り出された命令のユニット14に供給される。ビット20と22は、この場合も、命令セット形式を判定し、マルチプレクサ22を制御するためANDゲート16で組み合わせられる。
取り出された命令は、ショート命令事前復号ユニット24を介して、又は直接に、マルチプレクサ22に送ることができる。
ショートになった16ビットの命令セットを操作するのに使用されるショート命令セット事前復号ユニット24の出力は、32ビット幅のロング命令である。この様に、マルチプレクサ22への両入力は、32ビット幅である。次に、マルチプレクサは、これらの間で選択して、命令セット形式によって判定されたものをロング命令事前復号ユニットに送り、そこからそれはロング命令レジスター28にロードされ、ロング命令事後復号ユニット30に読み出され、そしてそこからそれは実行のためにALUに提供されることになる。この様な配置は、例えば、正常な32ビット命令セットのサブセットと多くの共通点を有する新しい16ビット命令セットが追加されたシステムで使用される。例えば、それは、命令セットの一部分の短縮形でもよい。ここで実施されるのは、1つ又は2つの16ビットの命令ワードを使用して正常な32ビット形を再び作り出すことである。例えば、丁度1つの16ビットの命令ワードを使用する命令パターンのセットに嵌め込むために、最も普通の命令が注意深く選定される。しかしながら、全ての要求された正常な32ビットの命令を、小さな16ビットのワードを使って符号化できるようにするため、1つの命令を形成するために2つの16ビットのワードを実際に使用することのできる追加の形式の16ビットの命令が含まれている。これら2つの16ビットワードの命令は、この例では、2つの形態の内1つを有している。第1セットでは、第2ワードを使用して、1つの16ビットワード命令セット内の命令を拡張する。第2の形態は、2つの16ビットワードから作られた新しい命令パターンである。本例において考えられているのは、16ビットの命令セットは、遙かに大きな範囲の命令をサポートできるように、32ビット命令セットの全てのビットを作り出せるように作り上げられるということである。これは、2つ以上の16ビットの命令を一体にまとめて32ビットの命令を形成できるようにすることによって行われる。これは、全て、命令データパターンに基づいて行われ、原理的には命令セットの選択には関係しない。
勿論、32ビット命令のサブセットになる16ビット命令セットには何の必要条件も無い。全く無関係の命令セットを、本発明によってサポートすることができる。
この様な配置を使用すれば、実際に実行される全ての命令は、32ビット幅の命令で、これがシステムの標準的な命令デコーダーに供給されるのを保証することができる。しかしながら、この配置は、命令をロードするのにより多くのクロックサイクルを要し、又はサイクルタイムを制限することになるので、待ち時間を付け加えることになる。
上記実施形態を使用すると、1つのプログラムで使用される複数の命令セットを、異なる命令セットの間で選択し従って異なるコードのブロックの間で制御を伝達するのにアドレスビットの内の適切な1つを使用することによって、サポートすることができる。
命令セットを、全体命令セットの短縮されたセットとすることができ、或いは、命令セットを、部分的にのみ重複する、又は場合によっては全く重複しない代替命令セットにすることができる。
本発明の各実施形態は、図1及び図2に示す形式の命令入力パイプラインに適切な修正を施すことによって、マルチスレッド式マイクロプロセッサで実施することができる。
本発明の或る実施形態で使用するための、命令取出し及び復号ユニットの概略ブロック図である。 本発明の或る実施形態で使用するための、命令取出し及び復号ユニットの代替表現を示している。 或る命令用の代表的なプロセッサパイプラインを示している。 図1及び図2の配置で使用するための、命令取出しアドレスで使用される種類のビットマップを示している。

Claims (14)

  1. マイクロプロセッサに使用可能な複数の命令セットの間で選択を行うための方法であって、
    命令取出しアドレスを供給する段階と、
    前記命令取出しアドレスの少なくとも1つの所定のビットの状態を判定する段階と、
    前記判定の結果に基づいて前記命令セットの間で選択する段階と、
    前記選択された命令セットから命令を取り出す段階と、
    取り出された命令を、前記命令セットに適切な復号方式で復号する段階と、
    前記復号された命令を実行に備えて供給する段階と、
    を含む方法。
  2. 前記選択する段階は、
    それぞれがマルチプレクサに接続された出力を有する少なくとも2つのデコーダーに前記取り出された命令を供給する段階と、
    前記マルチプレクサの出力を、前記命令取出しアドレスの少なくとも1つの所定のビットで選択する段階と、
    を含むことを特徴とする請求項1に記載の方法。
  3. 前記命令セットの第1のものは、前記命令セットの第2のものよりも少ない数のビットを有する
    ことを特徴とする請求項1又は2に記載の方法。
  4. 前記第1の命令セットは、前記第2の命令セットのサブセットであることを特徴とする請求項3に記載の方法。
  5. マイクロプロセッサに使用可能な複数の命令セットの間で選択を行うための装置であって、
    命令取出しアドレスを供給するための手段と、
    前記命令取出しアドレスの少なくとも1つの所定のビットの状態を判定するための手段と、
    前記判定の結果に基づいて前記命令セットの間で選択するための手段と、
    前記選択された命令セットから命令を取り出すための手段と、
    前記取り出された命令を、前記命令セットに適切な復号方式で復号するための手段と、
    前記復号された命令を実行に備えて供給するための手段と
    を備えたことを特徴とする装置。
  6. 前記選択するための手段は、
    それぞれがマルチプレクサに接続された出力を有する少なくとも2つのデコーダーに前記取り出された命令を供給するための手段を備えており、
    前記マルチプレクサは、選択入力を有しており、前記命令取出しアドレスの前記少なくとも1つの所定のビットを受け取り、前記命令取出しアドレスの前記少なくとも1つの所定のビットに基づいて出力を選択することができる
    ことを特徴とする請求項5に記載の装置。
  7. 前記命令セットの第1のものは、前記命令セットの第2のものよりも少ない数のビットを有する
    ことを特徴とする請求項5又は6に記載の装置。
  8. 前記第1の命令セットは、前記第2の命令セットのサブセットであることを特徴とする請求項7に記載の装置。
  9. マイクロプロセッサに使用可能な複数の命令セットの間で選択を行うための方法であって、
    命令取出しアドレスを供給する段階と、
    前記命令取出しアドレスの少なくとも1つの所定のビットの状態を判定する段階と、
    前記判定の結果に基づいて前記命令セットの間で選択する段階と、
    前記選択された命令セットから命令を取り出す段階と、
    取り出された命令を、前記命令セットに適切な復号方式で復号する段階と、
    前記復号された命令を実行に備えて供給する段階と、
    を含み、
    前記命令取出しアドレスの前記少なくとも1つの所定のビットは、途中まで前記命令取出しアドレスを通して配置されている
    ことを特徴とする方法。
  10. 前記命令取出しアドレスの前記少なくとも1つの所定のビットは、最も重要でないビットからは間隔を空けて配置され、前記命令取出しアドレスの最も重要なビットからは複数のビットだけ間隔を空けて配置されている
    ことを特徴とする請求項9に記載の方法。
  11. 前記命令取出しアドレスは、32ビットの命令取出しアドレスを備えており、2つの所定のビットが、前記命令取出しアドレスのビット20と23に配置されている
    ことを特徴とする請求項10に記載の方法。
  12. マイクロプロセッサに使用可能な複数の命令セットの間で選択を行うための装置であって、
    命令取出しアドレスを供給するための手段と、
    前記命令取出しアドレスの少なくとも1つの所定のビットの状態を判定するための手段と、
    前記判定の結果に基づいて前記命令セットの間で選択するための手段と、
    前記選択された命令セットから命令を取り出すための手段と、
    前記取り出された命令を、前記命令セットに適切な復号方式で復号するための手段と、
    前記復号された命令を実行に備えて供給するための手段と、
    を備え、
    前記命令取出しアドレスの前記少なくとも1つの所定のビットは、途中まで前記命令取出しアドレスを通して、最も重要でないビットからは間隔を空けて配置され、前記命令取出しアドレスの最も重要なビットからは複数のビットだけ間隔を空けて配置されている
    ことを特徴とする装置。
  13. 前記命令取出しアドレスの少なくとも1つのビットは、最も重要でないビットからは間隔を空けて配置され、前記命令取出しアドレスの最も重要なビットからは複数のビットだけ間隔を空けて配置されている
    ことを特徴とする請求項12に記載の装置。
  14. 前記命令取出しアドレスビットは、32ビットのワードであり、2つの所定のビットが、前記命令取出しアドレスのビット20と23に配置されている
    ことを特徴とする請求項13に記載の装置。
JP2008553832A 2006-02-10 2007-02-09 マイクロプロセッサ用の命令セット Pending JP2009526300A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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