JP3171201B2 - 複数命令セットのマッピング - Google Patents

複数命令セットのマッピング

Info

Publication number
JP3171201B2
JP3171201B2 JP52804295A JP52804295A JP3171201B2 JP 3171201 B2 JP3171201 B2 JP 3171201B2 JP 52804295 A JP52804295 A JP 52804295A JP 52804295 A JP52804295 A JP 52804295A JP 3171201 B2 JP3171201 B2 JP 3171201B2
Authority
JP
Japan
Prior art keywords
instruction
bit
bit program
decoding
word
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.)
Expired - Lifetime
Application number
JP52804295A
Other languages
English (en)
Other versions
JPH09512651A (ja
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 JPH09512651A publication Critical patent/JPH09512651A/ja
Application granted granted Critical
Publication of JP3171201B2 publication Critical patent/JP3171201B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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
    • 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
    • G06F9/30174Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code
    • 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/30181Instruction operation extension or modification
    • G06F9/30196Instruction operation extension or modification using decoder, e.g. decoder per instruction set, adaptable or programmable decoders

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)

Description

【発明の詳細な説明】 本発明は、データ処理の分野に関する。特に、本発明
は、プログラム命令語の複数セットを用いるデータ処理
に関する。
データ処理システムは、プログラム命令語の制御を受
けて演算を行うプロセッサコアによって演算を行い、プ
ログラム命令語は、デコードされた時、該プログラム命
令語によって指定された処理を遂行するために必要な演
算を行うプロセッサによりさまざまな素子を制御するた
めの、コア制御信号を発生させる働きを有する。
1つより多くの命令セットによって演算するシステム
の使用は公知である(例えば、ディジタル・イクイプメ
ント・コーポレーション(Digital Equipment Corpor
ation)のVAX11コンピュータは、VAX命令モードと、該
コンピュータによる早期のPDP11コンピュータ用命令の
デコードを可能にする互換性モードと、を有する)。そ
のようなシステムには通常、それぞれの命令セット用の
別個の命令デコーダが組み込まれてきた。命令デコーダ
は、比較的に複雑かつ大形の回路素子である。
集積回路が占有するスペースは高価である。集積回路
は小さいほど、安価に製造され、製造歩留りが高くな
る。さらに、集積回路上においては、他の回路素子によ
る使用のために、追加のスペースが利用されうるように
もされる。集積回路の寸法を縮減する手段は大きい利点
を有する。
1つの特徴から見た時、本発明はデータ処理装置を提
供し該装置は、 複数のコア制御信号に応答するプロセッサコアと、 第1命令セットのXビットプログラム命令語のPビッ
トをデコードして前記コア制御信号を発生するデコード
手段と、 該デコード手段への命令プログラム語が通過する命令
パイプラインと、 該命令パイプラインを通過する第2命令セットのYビ
ットプログラム命令語に応答して、該Yビットプログラ
ム命令語のQビットを、前記デコード手段によるデコー
ド用の対応するXビットプログラム命令語の前記Pビッ
トにマップする第1マッピング手段と、を含み、 YはXより小さく、かつ前記第2命令セットは前記第
1命令セットのサブセットである。
本発明は、命令パイプラインが組み込まれたシステム
に適用され、命令を、第2命令セットから第1命令セッ
トへ、それらが該命令パイプラインを通過する時にマッ
プするのに役立つ。第2命令セットのプログラム命令語
を、第1命令セットのそれらへ翻訳すれば、第2命令デ
コーダの必要が回避され、より簡単でより効率的な、プ
ロセッサコアの残部の実施例が可能となる。本発明にお
いては、もし第2命令セットが第1命令セットのサブセ
ットであるようにされれば、1対1マッピングが可能と
なり、これは、システムパフォーマンスを制限しないよ
うに、十分に規則的かつ高速に実現されうることが認識
される。さらに、本発明においては、前記デコード手段
を実際に駆動するためには、第2命令セットの命令のあ
るビットのみを、第1命令セット内の命令語の対応する
ビットにマップする必要があることが認識される。これ
は、マッピングが行われる速度を増大せしめる。
命令デコーディングの速度は、実施例においては、前
記プロセッサコアにより実行されるXビット命令を保持
するための命令レジスタの具備によって増大せしめら
れ、該プロセッサコアは、該命令レジスタからオペラン
ド値を読取る。
このようにして、命令デコーダによるデコーディング
を必要とせず、プロセッサコアの作用のみを受ける命令
内からのオペランドは、命令デコーダを通過するを要せ
ず、命令から直接読取られうる。
この構成を容易ならしめ、それによって、デコード手
段を駆動するのに必要な臨界Pビットを高速で発生さ
せ、しかも完全なXビットプログラム命令語を、プロセ
ッサコアによって修正されずに用いられるように後に発
生させるために、本発明の実施例は、前記命令パイプラ
イン内の前記Yビットプログラム命令語内のオペランド
値を、前記対応するXビットプログラム命令語内の対応
する位置にマップし、かつ該マップされたオペランド値
を前記プロセッサコアによる使用のために前記命令レジ
スタ内に記憶させる、第2マッピング手段を含む。
該第2マッピング手段は、前記プロセッサコアが必要
とするオペランド値のマッピングの働きのみをなすもの
でありうる。しかし、前記命令デコーダの設計は、前記
プロセッサコアの設計から効果的に分離されうるので、
前記第2マッピング手段が、前記Yビットプログラム命
令語を、前記対応するXビットプログラム命令語の完全
なバージョンにマップし、かつ該対応するXビットプロ
グラム命令語の該安全なバージョンを前記命令レジスタ
内に記憶させるようにすることによって、いずれの前記
設計の将来の独立した変更も容易となる。
プログラム命令語が命令パイプラインを通過する時、
通常、デコード機構にあるタイミングリミットが課せら
れる。現存のハードウェアとの統合をより容易にするた
めに、実施例内においては、命令プログラム語が前記命
令パイプラインを複数の処理サイクルにわたって通過
し、該処理サイクルの1つがデコードサイクルであり、
前記デコード手段が該デコードサイクルの終了までに前
記コア制御信号を発生する演算を行い、前記第1マッピ
ング手段が該デコード部分の第1部分中に前記対応する
Xビットプログラム命令語の前記Pビットを発生する演
算を行い、前記デコード手段が前記デコードサイクルの
前記終了までになお前記コア制御信号を発生することを
可能ならしめる。
前記デコード手段を駆動するために、Yビットプログ
ラム命令語のあるビットのみがマップされる必要がある
という特徴は、そのようなタイミング要求が満たされる
ことを可能ならしめる。
あまり厳しくない関連する要求は、オペランド値がい
つ得られなければならないかの要求である。本発明の実
施例は、前記第2マッピング手段が、前記デコードサイ
クルの終了までに前記命令レジスタ内に、前記マップさ
れたオペランド値を記憶させる演算を行うようにするこ
とによって、このゆるやかな要求を用いる。
前記第1マッピング手段と前記第2マッピング手段と
の演算は、独立ならしめられうることを認識すべきであ
る。このシステムの全体的パフォーマンスは従って、も
しそれらが並列に演算を行えば改善される。
前記第2命令セットのプログラム命令語のサイズが小
さくなると、備えられるべき機能の修正が必要になる。
好ましくは、本システムは、前記プロセッサコアが、前
記第1命令セットによって用いられ且つある前記Xビッ
トプログラム命令語内においてレジスタオペランドとし
て定義される複数のレジスタを有し、また前記第2命令
セットが、ある前記Yビットプログラム命令語内におい
てレジスタオペランドとして定義される前記レジスタの
サブセットを用いるように構成される。
前記第1命令セットによって用いられる前記レジスタ
のサブセットの、前記第2命令セットによる使用は、命
令間の1対1マッピングがなお行われることを可能なら
しめ、しかも前記第2命令セットのビットサイズを小さ
くする。
命令セット間でのレジスタの異なる様式のハンドリン
グを処理するために、前記第2マッピング手段は、前記
Yビットプログラム命令語の前記レジスタオペランドを
拡張し、前記Xビットプログラム命令語の前記レジスタ
オペランドを生ぜしめる。
同様にして、前記第2命令セット内の他のオペランド
は、前記第1命令セットのオペランドと比較して減少し
た範囲を有し、それらの最左端は、前記第2マッピング
手段によるマッピング中に、ゼロを拡張される。
もう1つの特徴から見た時、本発明はデータ処理方法
を提供し該方法は、 複数のコア制御信号に応答するプロセッサコアと、 デコード手段により第1命令セットのXビットプログ
ラム命令語のPビットをデコードして、プロセッサコア
を制御するコア制御信号を発生させるステップと、 命令プログラム語を命令パイプラインを経て前記記デ
コード手段へ送るステップと、 前記命令パイプラインを通過する第2命令セットのY
ビットプログラム命令語のQビットを、前記デコード手
段によるデコードのために、対応するXビットプログラ
ム命令語の前記Pビットにマップするステップと、を含
み、 YはXより小さく、かつ前記第2命令セットは前記第
1命令セットのサブセットである。
次に、添付図面を参照しつつ、本発明の実施例を単な
る例として説明する。添付図面において、 第1図は、プロセッサコアおよびメモリシステムを組
み込んだデータ処理装置を概略的に示し、 第2図は、単一命令セットを有するシステム用の命令
および命令デコーダを概略的に示し、 第3図は、2つの命令セットを有するシステムに用い
られる命令パイプラインおよび命令デコーダを示し、 第4図は、Xビットプログラム命令語のデコーディン
グを示し、 第5図および第6図は、Yビットプログラム命令語
の、Xビットプログラム命令語へのマッピングを示し、 第7図は、Xビット命令セットを示し、 第8図は、Yビット命令セットを示し、 第9図は、第1命令セットおよび第2命令セットにと
って利用可能な処理レジスタを示す。
第1図は、Yビットメモリシステム4に結合せしめら
れたプロセッサコア2を含む、(集積回路の一部として
形成された)データ処理システムを示す。この場合、Y
は16に等しい。
プロセッサコア2は、レジスタバンク6と、ブースの
乗算器8と、バレルシフタ10と、32ビット論理演算装置
12と、書込みデータレジスタ14と、を含む。プロセッサ
コア2とメモリシステム4との間には、命令パイプライ
ン16と、命令デコーダ18と、読取りデータレジスタ20
と、が配置されている。プロセッサコア2の一部である
プログラムカウンタレジスタ22は、メモリシステム4を
アドレス指定するように示されている。プログラムカウ
ンタインクリメンタ24は、それぞれの命令が実行され、
かつ新命令が命令パイプライン16のためにフェッチされ
なければならない時、プログラムカウンタレジスタ22内
のプログラムカウンタ値を増加させる働きをする。
プロセッサコア2は、さまざまな機能ユニット間にN
ビットデータ経路(この場合は32ビットデータ経路)を
取り入れる。演算に際しては、命令パイプライン16内の
命令が命令デコーダ18によってデコードされ、該デコー
ダはさまざまなコア制御信号を発生し、該コア制御信号
はプロセッサコア2内のさまざまな機能素子へ送られ
る。これらのコア制御信号に応答して、前記プロセッサ
コアのさまざまな部分は、32ビット乗算、32ビット加
算、および32ビット論理演算のような、32ビット処理演
算を行う。
レジスタバンク6は、現プログラミング状態レジスタ
26と、セーブプログラミング状態レジスタ28と、を含
む。現プログラミング状態レジスタ26は、プロセッサコ
ア2のためのさまざまな条件および状態フラグを保持す
る。これらのフラグには、処理モードフラグ(例えば、
システムモード、ユーザモード、メモリアボートモー
ド、など)と、算術演算におけるゼロ結果、桁上げ、な
どの発生を表示するフラグと、が含まれる。セーブプロ
グラミング状態レジスタ28(これはバンクをなす複数の
このようなセーブプログラミング状態レジスタの1つで
ありうる)は、もし処理モードスイッチをトリガする異
常が起こったならば、現プログラミング状態レジスタ26
の内容を一時的に記憶するために用いられる。このよう
にして、異常処理は、より高速かつより効率的に行われ
うる。
現プログラミング状態レジスタ26内には、命令セット
フラグTが含まれる。この命令セットフラグは、命令デ
コーダ18およびプログラムカウンタインクリメンタ24へ
供給される。この命令セットフラグTがセットされた
時、システムは、第2命令セットの命令(すなわち、こ
の場合は16ビットプログラム命令語であるYビットプロ
グラム命令語)によって演算する。命令セットフラグT
は、プログラムカウンタインクリメンタ24を制御して、
第2命令セットにより演算せしめられた時、小さいイン
クリメントステップを採用せしめる。これは、第2命令
セットのプログラム命令語が小さく、従ってメモリシス
テム4の記憶場所内において狭い間隔を有することに符
合している。
前述のように、メモリシステム4は、16ビットデータ
バスを経て読取りデータレジスタ20および命令パイプラ
イン16に接続された、16ビットメモリシステムである。
そのような16ビットメモリシステムは、高性能の32ビッ
トメモリシステムに比し簡単かつ経済的である。そのよ
うな16ビットメモリシステムを用いると、単一サイクル
内に16ビットプログラム命令語がフェッチされうる。し
かし、もし(命令セットフラグTによって表示される)
第2命令セットからの32ビット命令が用いられるなら
ば、命令パイプライン16に対して単一の32ビット命令を
回復するために2回の命令フェッチが必要になる。
必要なプログラム命令語がメモリシステム4から回復
された時、それらは命令デコーダ18によってデコードさ
れ、命令が16ビット命令であるか、32ビット命令である
かにかかわらず、プロセッサコア2内において32ビット
処理が開始される。
第1図においては、命令デコーダ18は単一ブロックと
して示されている。しかし、1つより多くの命令セット
を処理するために、命令デコーダ18は、第2図および第
3図に関連して説明されるように、もっと複雑な構造を
有する。
第2図は、単一命令セットに対処するための命令パイ
プライン16および命令デコーダ18を示す。この場合、命
令デコーダ18は、32ビット命令をデコードする演算を行
う第1デコード手段30のみを含む。このデコード手段30
は、プログラム可能論理アレイ(PLA)を用いて第1命
令セット(ARM命令セット)をデコードし、プロセッサ
コア2へ供給される複数のコア制御信号を発生する。現
在デコードされている(すなわち、現在のコア制御信号
32を生じる)プログラム命令語もまた、命令レジスタ34
内に保持されている。プロセッサコア2内の機能素子
(例えば、ブースの乗算器8またはレジスタバンク6)
は、該素子の処理演算のために必要なオペランドを、直
接この命令レジスタ34から読取る。
このような構造の演算の特徴は、第1デコード手段30
が、該第1デコード手段が演算するクロックサイクルの
初期に、ある入力(パイプライン段PipeCから出る実線
として示されているPビット)を必要とすることであ
る。これは、コア制御信号32が、プロセッサコア2内の
必要な素子を駆動するのにちょうどよい時に発生せしめ
られることを保証するためである。第1デコード手段30
は、比較的大形かつ低速のプログラム可能論理アレイ構
造であるので、そのようなタイミングの考慮が重要であ
る。
命令デコーディングを行うためのそのようなプログラ
ム可能論理アレイ構造の設計は、本技術分野における通
常のものである。入力の組は、それらの入力から発生せ
しめられるべき所望の出力と共に定められる。その際、
市販のソフトウェアが、指定された入力の組から指定さ
れた出力の組を発生するPLA構造を考案するのに用いら
れる。
第3図は、第1命令セットおよび第2命令セットのデ
コーディングを扱うように改変された第2図のシステム
を示す。命令セットフラグTによって第1命令セットが
選択された時は、このシステムは、第2図に関連して説
明されたように演算する。命令セットフラグTが、命令
パイプライン16内の命令が第2命令セットからのもので
あることを表示している時は、第2デコード手段36が活
動状態になる。
この第2デコード手段は、高速PLA38および並列の低
速PLA40を用いて16ビット命令(サム(Thumb)命令)を
デコードする。高速PLA38は、16ビットサム命令の諸ビ
ットのサブセット(Qビット)を、第1デコード手段30
を駆動するのに必要な対応する32ビットARM命令のPビ
ットにマップする働きをする。このマッピングを受ける
ためには比較的少数のビットが必要とされるので、高速
PLA38は比較的浅くてもよいため、第1デコード手段がP
ipeCの内容に応答してコア制御信号32を発生するための
十分な時間を与えうるほど高速で演算を行う。高速PLA3
8は、完全な命令をマッピングする不必要な時間を費や
すことなく、第1デコード手段のための対応する32ビッ
ト命令の臨界ビットを「捏造する」ために働くものと考
えられうる。
しかし、完全な32ビット命令は、もしプロセッサコア
2が根本的な変更および顕著な追加の回路素子なしに演
算しうるとすれば、プロセッサコア2によってなお必要
とされる。時間的に臨界的なマッピングが高速PLA38に
より処理されたとすると、並列に接続された低速PLA40
は、16ビット命令を対応する32ビット命令にマップし
て、これを命令レジスタ34内に配置する働きをする。こ
のさらに複雑なマッピングは、高速PLA38および第1デ
コード手段30が演算するのに要する全時間にわたって行
われうる。重要な因子は、32ビット命令が、プロセッサ
コア2に作用するコア制御信号32に応答して命令レジス
タ34から読取られるべきオペランドに対して十分な時間
命令レジスタ34内に存在すべきことである。
第2命令セットをデコードする時の第3図のシステム
の全体的な演算は、第2命令セットからの16ビット命令
を、それらが命令パイプライン16に沿って進んでいる時
に、第1命令セットからの32ビット命令に翻訳すること
である。これは、第2命令セットからの命令の、第1命
令セット内の命令への1対1マッピングの存在を保証す
るために、第2命令セットを第1命令セットのサブセッ
トとすることにより、実際に可能ならしめる。
命令セットフラグTの具備は、第2命令セットが第1
命令セットに対して非直交的であることを可能にする。
これは、第1命令セットが、直交するさらなる命令セッ
トが検出され且つデコードされることを可能にするため
に用いられうる自由ビットのない、現存の命令である状
況においては特に有用である。
第4図は、32ビット命令のデコーディングを示す。第
4図の上部には、逐次処理クロックサイクルが示されて
おり、それらのサイクルにおいては、フェッチ演算、デ
コード演算、および最後に実行演算が行われる。もし特
定の命令(例えば、乗算命令)が必要とするならば、1
つまたはそれ以上の追加の実行サイクルが加えられる。
32ビット命令42は、複数の異なるフィールドから構成
される。これらのフィールドの間の境界は、後に第7図
に示されるように、異なる命令に対しては異なる。
命令42内のある諸ビットは、1次デコード相内におけ
るデコーディングを必要とする。これらのPビットは、
ビット4ないし7、20および22ないし27である。これら
は、第1デコード手段30により必要とされる、また高速
PLA38により「捏造」されなければならない、ビットで
ある。これらのビットは、第1デコード手段へ印加さ
れ、それによってデコードされて、デコードサイクルの
第1部分の終了までに適切なコア制御信号32を発生しな
ければならない。もし必要ならば、完全な命令のデコー
ディングは、デコードサイクルの終了まで長くかかって
もよい。デコードサイクルの終了時には前記実行サイク
ル中に、命令レジスタ34から命令内のオペランドが、プ
ロセッサ2によって読取られる。これらのオペランド
は、レジスタ指定子、オフセット、または他の変数であ
りうる。
第5図は、16ビット命令の例の、32ビット命令へのマ
ッピングを示す。太い線は、32ビット命令内のPビット
へのマッピングを必要とする、16ビット命令内のQビッ
トから発しており、従ってそれらは第1デコード手段30
へ印加されうる。これらのビットの大部分は、直接コピ
ーされるか、または簡単なマッピングを受けることがわ
かる。16ビット命令内のオペランドRn′、Rdおよびイミ
ーディエイト(immediate)は、それらの最上位端をゼ
ロによりパッドして、32ビット命令を満たす必要があ
る。このパディングは、32ビット命令のオペランドが、
16ビット命令のオペランドより大きい範囲を有するので
必要とされる。
第5図の下部に与えられている32ビット命令の一般化
された形式からわかるように、該32ビット命令は、16ビ
ット命令によって表されるその命令のサブセットよりも
かなり大きい柔軟性を許容する。例えば、該32ビット命
令は、該命令を条件付きで実行可能とする条件コードCo
ndの後にある。これとは対照的に、前記16ビット命令は
自身の中に条件コードを有せず、それらがマップされる
対象である前記32ビット命令の条件コードは、条件付き
実行状態「常に」と等価である「1110」の値にセットさ
れる。
第6図は、もう1つのそのような命令マッピングを示
す。この場合の16ビット命令は、第5図に示されている
ものとは異なるタイプのロード/記憶命令である。しか
し、この命令はなお、前記32ビット命令セットの単一デ
ータ転送命令のサブセットである。
第7図は、前記32ビット命令セットのための11の異な
るタイプのフォーマットを概略的に示す。これらの命令
を以下に順次列記する。
1. データ処理PSR転送。
2. 乗算。
3. 単一データスワップ。
4. 単一データ転送。
5. 不定。
6. ブロックデータ転送。
7. 分岐。
8. コプロセッサデータ転送。
9. コプロセッサデータ演算。
10.コプロセッサレジスタ転送。
11.ソフトウェア割込み。
この命令セットの十分な説明は、アドバンスト・RISC
・マシンズ・リミテッド(Advanced RISC Machines
Limited)により生産されているARM6プロセッサのデー
タシートに見出されうる。第7図内において強調されて
いる命令は、第5図および第6図に示されている命令で
ある。
第8図は、前記32ビット命令セットに加えて備えられ
前記16ビット命令セットを示す。この命令セット内にお
いて強調されている命令は、第5図および第6図のそれ
ぞれに示されている命令である。この16ビット命令セッ
ト内の命令は、それら全てが単一32ビット命令にマップ
され、それによって32ビット命令セットのサブセットを
形成しうるように選択されている。
この命令セット内のそれぞれの命令を順次考察する
と、諸フォーマットは以下のような指定を行う。
フォーマット1: Op=0,1。両opは、条件コードフラグをセットする。
0:ADD Rd,Rs,#Immediate3 1:SUB Rd,Rs,#Immediate3 フォーマット2: Op=0,1。両opは、条件コードフラグをセットする。
0:ADD Rd,Rs,Rn 1:SUB Rd,Rs,Rn フォーマット3: 3つの演算コード。大きいイミーディエイトを作るのに用いら
れる。
1=ADD Rd,Rd,#Immediate8<<8 2=ADD Rd,Rd,#Immediate8<<16 3=ADD Rd,Rd,#Immediate8<<24 フォーマット4: Opは3つの演算コードを与え、全ての演算はMOVS Rd,Rs SHI
FT #Immediate5であり、SHIFTは、 0がLSLであり 1がLSRであり 2がASRであり ARMに関し定められているようなゼロによるシフト。
フォーマット5: Op1*8+Op2は32のALU演算コードを与え、Rd=RD op Rn。
全ての演算は条件コードフラグをセットする。
演算は以下の通りである AND,OR,EOR,BIC(AND NOT),NEG ATE,CMP,CMN,MUL,TST,TEQ,
MOV,MVN(NOT),LSL,LSR,ASR,ROR 欠けているのはADC,SBC,MULL ARMに関し定められているようなゼロによる且つ31より大きい
シフト 8つの特殊な演算コード、LOはReg0−7を指定し、HIはレジス
タ8−15を指定する SPECIALはCPSRまたはSPSRである MOV HI,LO(隠れレジスタから可視レジスタへ移動) MOV LO,HI(可視レジスタから隠れレジスタへ移動) MOV HI,HI(例えば手続き戻り) MOVS HI,HI(例えば例外戻り) MOVS HI,LO(例えば割込み戻り、SUBS,HI,HI,#4でありう
る) MOV SPECIAL,LO(MSR) MOV LO,SPECIAL(MRS) CMP HI,HI(スタックリミットチェック) 8つの自由演算コード フォーマット6: Opは4つの演算コードを与える。全ての演算は条件コードフラ
グをセットする。
0:MOV Rd,#Immediate8 1:CMP Rs,#Immediate8 2:ADD Rd,Rd,#Immediate8 ADDは、ADD Rd,Rs,#Immediate5と交換可能である。
フォーマット7: 語PC+Offset(256語、1024バイト)をロードする。オフセッ
トはアラインされた語でなければならないことに注意すべきである。
LDR Rd,〔PC,#+1024〕 この命令は、次のリテラルプールにアクセスするため、定数、
アドレスなどをロードするために用いられる。
フォーマット8: SP(r7)+256語(1024バイト)からの語をロードし記憶せし
める SP(r7)+256バイトからのバイトをロードし記憶せしめる LDR Rd,〔SP,#+1024〕 LDRB Rd,〔SP,#+256〕 これらの命令は、スタックおよびフレームアクセスのためのも
のである。
フォーマット9: 語(またはバイト)、符号付き3ビットイメミーディエイトオ
フセット(増/減後)、強制ライトバック、をロードし記憶せしめる Lはロード/記憶であり、Uはアップ/ダウン(オフセットの
加算/減算)であり、Bはバイト/語である LDR{B}Rd,〔Rb〕,#+/−Offset3 STR{B}Rd,〔Rb〕,#+/−Offset3 これらの命令はアレイアクセス用として意図されている オフセットはバイトに対しては0−7を、語に対しては4−28
をエンコードする フォーマット10: 符号付きレジスタオフセット(増/減前)を有する語(または
バイト)、ライトバックなし、をロードし記憶せしめるLはロード/記憶であ
り、Uはアップ/ダウン(オフセットの加算/減算)であり、Bはバイト/語で
ある LDR Rd,〔Rb,+/−Ro,LSL#2〕 STR Rd,〔Rb,+/−Ro,LSL#2〕 LDRB Rd,〔Rb,+/−Ro〕 STRB Rd,〔Rb,+/−Ro〕 これらの命令は、ベース+オフセットポイントアクセス用とし
て意図され、8ビットのMOV、ADD、SUBと組合わされるとかなり高速のイミーデ
ィエイトオフセットアクセスを与える。
フォーマット11: 符号付き5ビットイミーディエイトオフセット(増/減前)を
有する語(またはバイト)、ライトバックなし、をロードし記憶せしめる Lはロード/記憶であり、Bはバイト/語である LDR{B}Rd,〔Rd,#+Offset5〕 STR{B}Rd,〔Rb,#+Offset5〕 これらの命令は、構造アクセス用として意図されている オフセットはバイトに対しては0−31を、語に対しては0、4
−124をエンコードする フォーマット12: 倍数(強制ライトバック)をロードし記憶せしめる LDMIA Rb!,{Rlist} STMIA Rb!,{Rlist} Rlistはレジスタr0−r7を指定する これらの命令のサブクラスは、1対のサブルーチンコールおよ
びリターン命令である。
LDMに対し、もしr7がベースであり、ビット7がRlist内にセッ
トされれば、PCがロードされる STMに対し、もしr7がベースであり、ビット7がRlist内にセッ
トされれば、LRが記憶される もしr7がベースレジスタとし用いられれば、spが代わりに用い
られる 双方の場合に安全降順スタックが実現され、すなわちLDMはARM
のLDMFDと同様になり、STMはARMのSTMFDと同様になる それゆえブロックコピーに対し、r7をエンドポインタとして用
いる もしr7がベースでなければ、LDMおよびSTMは、ARMのLDMIA、ST
MIAと同様になる フォーマット13: アドレスをロードする。この命令は、8ビット符号なし定数を
PCまたはスタックポインタに加算し、結果を宛先レジスタ内に記憶させる。
ADD Rd,sp,+256bytes ADD Rd,pc,+256words(1024bytes) SPビットは、SPまたはPCがソースであるか否かを表示する もしSPがソースであり、かつr7が宛先レジスタとして指定され
れば、SPは宛先レジスタとして用いられる。
フォーマット14: 条件付き分岐、+/−128バイト、この場合condは(ARMに関し
てと同様の)条件コードを定め、cond=15はSWIとしてエンコードする(256のみ
で多分十分である)。
フォーマット15: 長い分岐およびリンクのビット22:12をセットする。
MOV 1r,#offset<<12。
フォーマット16: 長い分岐およびリンクを行う。演算は、SUB new1r,pc,#4;OR
R pc,oldlr,#offset<<1である。new1rおよびoldlrは、この演算の前および
後の1rレジスタを意味する。
前述のように、16ビット命令セットは32ビット命令セ
ットに比し減少したオペランド範囲を有する。これに符
合して、16ビット命令セットは、完全な32ビット命令セ
ット用に具備されたレジスタ6(第1図参照)のサブセ
ットを用いる。第9図は、16ビット命令セットにより用
いられるレジスタの該サブセットを示す。
フロントページの続き (56)参考文献 特開 昭61−33546(JP,A) 特開 平6−83615(JP,A) 特開 昭62−25334(JP,A) ”IBM Technical Di sclosure Bulleti n”,Vol.15,No.3(米), 1972年8月,p.920 ”IBM Technical Di sclosure Bulleti n”,Vol.32,No.10A(米), 1990年3月,p.349 (58)調査した分野(Int.Cl.7,DB名) G06F 9/30 - 9/38 CSDB(日本国特許庁)

Claims (17)

    (57)【特許請求の範囲】
  1. 【請求項1】データ処理装置であって、該装置が、 複数のコア制御信号に応答するプロセッサコアと、 第1命令セットのXビットプログラム命令語のPビット
    をデコードして前記コア制御信号を発生するデコード手
    段と、 該デコード手段への命令プログラム語が通過する命令パ
    イプラインと、 該命令パイプラインを通過する第2命令セットのYビッ
    トプログラム命令語に応答して、該Yビットプログラム
    命令語のQビットを、前記デコード手段によるデコード
    用の対応するXビットプログラム命令語の前記Pビット
    にマップする第1マッピング手段と、を含み、 YがXより小さく、かつ前記第2命令セットが前記第1
    命令セットのサブセットである、 データ処理装置。
  2. 【請求項2】前記プロセッサコアにより実行されるXビ
    ット命令を保持するための命令レジスタを含み、該プロ
    セッサコアが、該命令レジスタからオペランド値を読取
    る、請求項第1項記載の装置。
  3. 【請求項3】前記命令パイプライン内の前記Yビットプ
    ログラム命令語内のオペランド値を、前記対応するXビ
    ットプログラム命令語内の対応する位置にマップし、か
    つ該マップされたオペランド値を前記プロセッサコアに
    よる使用のために前記命令レジスタ内に記憶させる、第
    2マッピング手段を含む、請求項第2項記載の装置。
  4. 【請求項4】前記第2マッピング手段が、前記Yビット
    プログラム命令語を、前記対応するXビットプログラム
    命令語の完全なバージョンにマップし、かつ該対応する
    Xビットプログラム命令語の該完全なバージョンを前記
    命令レジスタ内に記憶させる、請求項第3項記載の装
    置。
  5. 【請求項5】命令プログラム語が前記命令パイプライン
    を複数の処理サイクルにわたって通過し、該処理サイク
    ルの1つがデコードサイクルであり、前記デコード手段
    が該デコードサイクルの終了までに前記コア制御信号を
    発生する演算を行い、前記第1マッピング手段が該デコ
    ード部分の第1部分中に前記対応するXビットプログラ
    ム命令語の前記Pビットを発生する演算を行い、前記デ
    コード手段が前記デコードサイクルの前記終了までにな
    お前記コア制御信号を発生することを可能ならしめる、
    請求項第1項から第4項までのいずれかに記載の装置。
  6. 【請求項6】前記第2マッピング手段が、前記デコード
    サイクルの終了までに前記命令レジスタ内に前記マップ
    されたオペランド値を記憶させる演算を行う、請求項第
    3項および第5項記載の装置。
  7. 【請求項7】前記第1マッピング手段が前記第2マッピ
    ング手段と並列に演算を行う、請求項第3項記載の装
    置。
  8. 【請求項8】前記プロセッサコアが、前記第1命令セッ
    トによって用いられ且つある前記Xビットプログラム命
    令語内においてレジスタオペランドとして定義される複
    数のレジスタを有し、また前記第2命令セットが、ある
    前記Yビットプログラム命令語内においてレジスタオペ
    ランドとして定義される前記レジスタのサブセットを用
    いる、請求項第1項から第7項までのいずれかに記載の
    装置。
  9. 【請求項9】前記第2マッピング手段が、前記Yビット
    プログラム命令語の前記レジスタオペランドを拡張し、
    前記Xビットプログラム命令語の前記レジスタオペラン
    ドを生ぜしめる、請求項第3項および第8項記載の装
    置。
  10. 【請求項10】前記Xビットプログラム命令語の前記オ
    ペランドが、前記Yビットプログラム命令語の前記オペ
    ランドより大きい範囲を有し、前記第2マッピング手段
    の上位のゼロが、前記Yビットプログラム命令語からの
    前記オペランドを拡張して前記Xビットプログラム命令
    語の前記オペランドを生じる、請求項第3項記載の装
    置。
  11. 【請求項11】PがXより小さい、請求項第1項から第
    10項までのいずれかに記載の装置。
  12. 【請求項12】QがPよりも小さいか、またはPに等し
    い、請求項第1項から第11項までのいずれかに記載の装
    置。
  13. 【請求項13】Xが32であり、Yが16である、請求項第
    1項から第12項までのいずれかに記載の装置。
  14. 【請求項14】前記装置が集積回路である、請求項第1
    項から第13項までのいずれかに記載の装置。
  15. 【請求項15】データ処理装置であって、該装置が、 複数のコア制御信号に応答するプロセッサコアと、 第1命令セットのXビットプログラム命令語のPビット
    をデコードして前記コア制御信号を発生するデコード手
    段と、 該デコード手段への命令プログラム語が通過する命令パ
    イプラインと、 該命令パイプラインを通過する第2命令セットのYビッ
    トプログラム命令語に応答して、該Yビットプログラム
    命令語のQビットを、前記デコード手段によるデコード
    用の対応するXビットプログラム命令語の前記Pビット
    にマップする第1マッピング手段と、を含み、 YがXより小さく、かつ前記第1命令セットまたは前記
    第2命令セットのいずれが実行されても、パイプライン
    ステージの数が変更されない前記データ処理装置。
  16. 【請求項16】プロセッサコアを使用して複数のコア制
    御信号に応答するデータ処理方法であって、該方法が、 デコード手段により第1命令セットのXビットプログラ
    ム命令語のPビットをデコードして、前記プロセッサコ
    アを制御する前記コア制御信号を発生させるステップ
    と、 命令プログラム語を命令パイプラインを経て前記デコー
    ド手段へ送るステップと、 前記命令パイプラインを通過する第2命令セットのYビ
    ットプログラム命令語のQビットを、前記デコード手段
    によるデコードのために、対応するXビットプログラム
    命令語の前記Pビットにマップするステップと、を含
    み、 YがXより小さく、かつ前記第2命令セットが前記第1
    命令セットのサブセットである、 データ処理方法。
  17. 【請求項17】プロセッサコアを使用して複数のコア制
    御信号に応答するデータ処理方法であって、該方法が、 デコード手段により第1命令セットのXビットプログラ
    ム命令語のPビットをデコードして、前記プロセッサコ
    アを制御する前記コア制御信号を発生させるステップ
    と、 命令プログラム語を命令パイプラインを経て前記デコー
    ド手段へ送るステップと、 前記命令パイプラインを通過する第2命令セットのYビ
    ットプログラム命令語のQビットを、前記デコード手段
    によるデコードのために、対応するXビットプログラム
    命令語の前記Pビットにマップするステップと、を含
    み、 YがXより小さく、前記第1命令セットと前記第2命令
    セットが、パイプラインステージの数を変更することな
    く実行されるデータ処理方法。
JP52804295A 1994-05-03 1995-02-15 複数命令セットのマッピング Expired - Lifetime JP3171201B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB9408873.9 1994-05-03
GB9408873A GB2289354B (en) 1994-05-03 1994-05-03 Multiple instruction set mapping
PCT/GB1995/000314 WO1995030187A1 (en) 1994-05-03 1995-02-15 Multiple instruction set mapping

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2000349956A Division JP3592230B2 (ja) 1994-05-03 2000-11-16 データ処理装置

Publications (2)

Publication Number Publication Date
JPH09512651A JPH09512651A (ja) 1997-12-16
JP3171201B2 true JP3171201B2 (ja) 2001-05-28

Family

ID=10754569

Family Applications (2)

Application Number Title Priority Date Filing Date
JP52804295A Expired - Lifetime JP3171201B2 (ja) 1994-05-03 1995-02-15 複数命令セットのマッピング
JP2000349956A Expired - Lifetime JP3592230B2 (ja) 1994-05-03 2000-11-16 データ処理装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2000349956A Expired - Lifetime JP3592230B2 (ja) 1994-05-03 2000-11-16 データ処理装置

Country Status (13)

Country Link
US (1) US5568646A (ja)
EP (1) EP0758463B1 (ja)
JP (2) JP3171201B2 (ja)
KR (3) KR100323191B1 (ja)
CN (1) CN1088214C (ja)
DE (1) DE69503046T2 (ja)
GB (1) GB2289354B (ja)
IL (1) IL113134A (ja)
IN (1) IN189950B (ja)
MY (1) MY114381A (ja)
RU (1) RU2137184C1 (ja)
TW (1) TW242678B (ja)
WO (1) WO1995030187A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7037289B2 (ja) 2017-06-26 2022-03-16 三菱重工業株式会社 制御切替装置、プラント、制御切替方法およびプログラム

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2307072B (en) * 1994-06-10 1998-05-13 Advanced Risc Mach Ltd Interoperability with multiple instruction sets
US5926642A (en) 1995-10-06 1999-07-20 Advanced Micro Devices, Inc. RISC86 instruction set
US5794063A (en) * 1996-01-26 1998-08-11 Advanced Micro Devices, Inc. Instruction decoder including emulation using indirect specifiers
AU7246496A (en) * 1995-10-06 1997-04-28 Advanced Micro Devices Inc. Instruction decoder including emulation using indirect specifiers
GB2308470B (en) * 1995-12-22 2000-02-16 Nokia Mobile Phones Ltd Program memory scheme for processors
US5790824A (en) * 1996-03-18 1998-08-04 Advanced Micro Devices, Inc. Central processing unit including a DSP function preprocessor which scans instruction sequences for DSP functions
US5867681A (en) * 1996-05-23 1999-02-02 Lsi Logic Corporation Microprocessor having register dependent immediate decompression
US5896519A (en) * 1996-06-10 1999-04-20 Lsi Logic Corporation Apparatus for detecting instructions from a variable-length compressed instruction set having extended and non-extended instructions
US5794010A (en) * 1996-06-10 1998-08-11 Lsi Logic Corporation Method and apparatus for allowing execution of both compressed instructions and decompressed instructions in a microprocessor
US6711667B1 (en) * 1996-06-28 2004-03-23 Legerity, Inc. Microprocessor configured to translate instructions from one instruction set to another, and to store the translated instructions
DE19629130A1 (de) * 1996-07-19 1998-05-14 Philips Patentverwaltung Signalprozessor
EP0858168A1 (en) 1997-01-29 1998-08-12 Hewlett-Packard Company Field programmable processor array
EP0858167A1 (en) 1997-01-29 1998-08-12 Hewlett-Packard Company Field programmable processor device
US5925124A (en) * 1997-02-27 1999-07-20 International Business Machines Corporation Dynamic conversion between different instruction codes by recombination of instruction elements
KR100451712B1 (ko) * 1997-03-12 2004-11-16 엘지전자 주식회사 멀티플리케이션장치및방법
US5881258A (en) * 1997-03-31 1999-03-09 Sun Microsystems, Inc. Hardware compatibility circuit for a new processor architecture
US5930491A (en) * 1997-06-18 1999-07-27 International Business Machines Corporation Identification of related instructions resulting from external to internal translation by use of common ID field for each group
JP3781519B2 (ja) * 1997-08-20 2006-05-31 富士通株式会社 プロセッサの命令制御機構
US6438679B1 (en) * 1997-11-03 2002-08-20 Brecis Communications Multiple ISA support by a processor using primitive operations
WO1999031574A1 (en) 1997-12-17 1999-06-24 Hewlett-Packard Company Implementation of multipliers in programmable arrays
DE69841256D1 (de) 1997-12-17 2009-12-10 Panasonic Corp Befehlsmaskierung um Befehlsströme einem Prozessor zuzuleiten
DE69827589T2 (de) 1997-12-17 2005-11-03 Elixent Ltd. Konfigurierbare Verarbeitungsanordnung und Verfahren zur Benutzung dieser Anordnung, um eine Zentraleinheit aufzubauen
US6012138A (en) * 1997-12-19 2000-01-04 Lsi Logic Corporation Dynamically variable length CPU pipeline for efficiently executing two instruction sets
US6044460A (en) * 1998-01-16 2000-03-28 Lsi Logic Corporation System and method for PC-relative address generation in a microprocessor with a pipeline architecture
EP0942357A3 (en) 1998-03-11 2000-03-22 Matsushita Electric Industrial Co., Ltd. Data processor compatible with a plurality of instruction formats
US6079010A (en) * 1998-03-31 2000-06-20 Lucent Technologies Inc. Multiple machine view execution in a computer system
US6189094B1 (en) * 1998-05-27 2001-02-13 Arm Limited Recirculating register file
US6978462B1 (en) 1999-01-28 2005-12-20 Ati International Srl Profiling execution of a sequence of events occuring during a profiled execution interval that matches time-independent selection criteria of events to be profiled
US6954923B1 (en) 1999-01-28 2005-10-11 Ati International Srl Recording classification of instructions executed by a computer
US7065633B1 (en) 1999-01-28 2006-06-20 Ati International Srl System for delivering exception raised in first architecture to operating system coded in second architecture in dual architecture CPU
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
US6763452B1 (en) 1999-01-28 2004-07-13 Ati International Srl Modifying program execution based on profiling
US7013456B1 (en) 1999-01-28 2006-03-14 Ati International Srl Profiling execution of computer programs
US8127121B2 (en) 1999-01-28 2012-02-28 Ati Technologies Ulc Apparatus for executing programs for a first computer architechture on a computer of a second architechture
US7111290B1 (en) 1999-01-28 2006-09-19 Ati International Srl Profiling program execution to identify frequently-executed portions and to assist binary translation
US7275246B1 (en) 1999-01-28 2007-09-25 Ati International Srl Executing programs for a first computer architecture on a computer of a second architecture
US8065504B2 (en) 1999-01-28 2011-11-22 Ati International Srl Using on-chip and off-chip look-up tables indexed by instruction address to control instruction execution in a processor
US8074055B1 (en) * 1999-01-28 2011-12-06 Ati Technologies Ulc Altering data storage conventions of a processor when execution flows from first architecture code to second architecture code
WO2000068782A1 (fr) * 1999-05-06 2000-11-16 Hitachi, Ltd. Procede de mise au point d'un circuit integre a semiconducteur
US6820189B1 (en) * 1999-05-12 2004-11-16 Analog Devices, Inc. Computation core executing multiple operation DSP instructions and micro-controller instructions of shorter length without performing switch operation
US6779107B1 (en) 1999-05-28 2004-08-17 Ati International Srl Computer execution by opportunistic adaptation
US7254806B1 (en) 1999-08-30 2007-08-07 Ati International Srl Detecting reordered side-effects
JP2001142692A (ja) * 1999-10-01 2001-05-25 Hitachi Ltd 2つの異なる固定長命令セットを実行するマイクロプロセッサ、マイクロコンピュータおよび命令実行方法
US6934832B1 (en) 2000-01-18 2005-08-23 Ati International Srl Exception mechanism for a computer
US7353368B2 (en) * 2000-02-15 2008-04-01 Intel Corporation Method and apparatus for achieving architectural correctness in a multi-mode processor providing floating-point support
US20020004897A1 (en) * 2000-07-05 2002-01-10 Min-Cheng Kao Data processing apparatus for executing multiple instruction sets
US6633969B1 (en) 2000-08-11 2003-10-14 Lsi Logic Corporation Instruction translation system and method achieving single-cycle translation of variable-length MIPS16 instructions
GB2367651B (en) * 2000-10-05 2004-12-29 Advanced Risc Mach Ltd Hardware instruction translation within a processor pipeline
GB2367653B (en) * 2000-10-05 2004-10-20 Advanced Risc Mach Ltd Restarting translated instructions
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
US7711926B2 (en) * 2001-04-18 2010-05-04 Mips Technologies, Inc. Mapping system and method for instruction set processing
GB2376100B (en) * 2001-05-31 2005-03-09 Advanced Risc Mach Ltd Data processing using multiple instruction sets
US7107439B2 (en) * 2001-08-10 2006-09-12 Mips Technologies, Inc. System and method of controlling software decompression through exceptions
US20070005942A1 (en) * 2002-01-14 2007-01-04 Gil Vinitzky Converting a processor into a compatible virtual multithreaded processor (VMP)
US20060149927A1 (en) * 2002-11-26 2006-07-06 Eran Dagan Processor capable of multi-threaded execution of a plurality of instruction-sets
JP4090908B2 (ja) * 2003-02-21 2008-05-28 シャープ株式会社 画像処理装置および画像形成装置
TWI230899B (en) * 2003-03-10 2005-04-11 Sunplus Technology Co Ltd Processor and method using parity check to proceed command mode switch
GB2402764B (en) * 2003-06-13 2006-02-22 Advanced Risc Mach Ltd Instruction encoding within a data processing apparatus having multiple instruction sets
US7707389B2 (en) * 2003-10-31 2010-04-27 Mips Technologies, Inc. Multi-ISA instruction fetch unit for a processor, and applications thereof
GB2414308B (en) * 2004-05-17 2007-08-15 Advanced Risc Mach Ltd Program instruction compression
US20060155974A1 (en) * 2005-01-07 2006-07-13 Moyer William C Data processing system having flexible instruction capability and selection mechanism
US20060174089A1 (en) * 2005-02-01 2006-08-03 International Business Machines Corporation Method and apparatus for embedding wide instruction words in a fixed-length instruction set architecture
US7793078B2 (en) * 2005-04-01 2010-09-07 Arm Limited Multiple instruction set data processing system with conditional branch instructions of a first instruction set and a second instruction set sharing a same instruction encoding
US7958335B2 (en) * 2005-08-05 2011-06-07 Arm Limited Multiple instruction set decoding
GB2435116B (en) * 2006-02-10 2010-04-07 Imagination Tech Ltd Selecting between instruction sets in a microprocessors
US7500210B2 (en) * 2006-11-15 2009-03-03 Mplicity Ltd. Chip area optimization for multithreaded designs
US7802252B2 (en) * 2007-01-09 2010-09-21 International Business Machines Corporation Method and apparatus for selecting the architecture level to which a processor appears to conform
US20090044159A1 (en) * 2007-08-08 2009-02-12 Mplicity Ltd. False path handling
KR20100069695A (ko) * 2007-09-19 2010-06-24 케이피아이티 커민즈 인포시스템즈 엘티디. 반자동 소프트웨어 마이그레이션을 위해 플러그-앤-플레이 하드웨어 컴포넌트들을 동작시키는 메커니즘
US8347067B2 (en) * 2008-01-23 2013-01-01 Arm Limited Instruction pre-decoding of multiple instruction sets
WO2010096119A1 (en) * 2008-10-29 2010-08-26 Adapteva Incorporated Variable instruction width digital signal processor
GB2478726B (en) 2010-03-15 2013-12-25 Advanced Risc Mach Ltd Mapping between registers used by multiple instruction sets
GB2484489A (en) * 2010-10-12 2012-04-18 Advanced Risc Mach Ltd Instruction decoder using an instruction set identifier to determine the decode rules to use.
US8914615B2 (en) 2011-12-02 2014-12-16 Arm Limited Mapping same logical register specifier for different instruction sets with divergent association to architectural register file using common address format
WO2013132767A1 (ja) * 2012-03-09 2013-09-12 パナソニック株式会社 プロセッサ、マルチプロセッサシステム、コンパイラ、ソフトウェアシステム、メモリ制御システムおよびコンピュータシステム
US9442730B2 (en) 2013-07-31 2016-09-13 Apple Inc. Instruction source specification
RU2584470C2 (ru) * 2014-03-18 2016-05-20 Федеральное государственное учреждение "Федеральный научный центр Научно-исследовательский институт системных исследований Российской академии наук" (ФГУ ФНЦ НИИСИ РАН) Гибридный потоковый микропроцессор
RU2556364C1 (ru) * 2014-03-18 2015-07-10 Федеральное государственное бюджетное учреждение науки Научно-исследовательский институт системных исследований Российской академии наук (НИИСИ РАН) Гибридный микропроцессор
GB2540971B (en) 2015-07-31 2018-03-14 Advanced Risc Mach Ltd Graphics processing systems
EP3971709A1 (en) 2016-10-20 2022-03-23 INTEL Corporation Systems, apparatuses, and methods for fused multiply add
GB2563580B (en) * 2017-06-15 2019-09-25 Advanced Risc Mach Ltd An apparatus and method for controlling a change in instruction set

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5317240A (en) * 1976-07-31 1978-02-17 Toshiba Corp Controller
JPS583040A (ja) * 1981-06-30 1983-01-08 Nec Corp 情報処理装置
JPS59501684A (ja) * 1982-10-22 1984-10-04 インタ−ナシヨナル・ビジネス・マシ−ンズ・コ−ポレ−シヨン 目的命令ストリ−ムへ殆んど実時間で插入するためのソ−スおよび目的命令ストリ−ムの外部における加速式命令写像
JPS6133546A (ja) * 1984-07-25 1986-02-17 Nec Corp 情報処理装置
JPH0689269A (ja) * 1991-02-13 1994-03-29 Hewlett Packard Co <Hp> プロセッサの制御装置、プロセッサの休止装置およびそれらの方法
GB2263565B (en) * 1992-01-23 1995-08-30 Intel Corp Microprocessor with apparatus for parallel execution of instructions
JPH0683615A (ja) * 1992-09-02 1994-03-25 Fujitsu Ltd 命令セットエミュレーションを行う計算機
US5392408A (en) * 1993-09-20 1995-02-21 Apple Computer, Inc. Address selective emulation routine pointer address mapping system
US5481684A (en) * 1994-01-11 1996-01-02 Exponential Technology, Inc. Emulating operating system calls in an alternate instruction set using a modified code segment descriptor

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"IBM Technical Disclosure Bulletin",Vol.15,No.3(米),1972年8月,p.920
"IBM Technical Disclosure Bulletin",Vol.32,No.10A(米),1990年3月,p.349

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7037289B2 (ja) 2017-06-26 2022-03-16 三菱重工業株式会社 制御切替装置、プラント、制御切替方法およびプログラム

Also Published As

Publication number Publication date
IL113134A0 (en) 1995-06-29
US5568646A (en) 1996-10-22
JPH09512651A (ja) 1997-12-16
TW242678B (en) 1995-03-11
JP3592230B2 (ja) 2004-11-24
EP0758463A1 (en) 1997-02-19
KR970703010A (ko) 1997-06-10
WO1995030187A1 (en) 1995-11-09
GB2289354A (en) 1995-11-15
CN1147306A (zh) 1997-04-09
CN1088214C (zh) 2002-07-24
EP0758463B1 (en) 1998-06-17
KR100323191B1 (ko) 2002-06-24
DE69503046T2 (de) 1999-01-28
RU2137184C1 (ru) 1999-09-10
GB9408873D0 (en) 1994-06-22
JP2001142697A (ja) 2001-05-25
GB2289354B (en) 1997-08-27
KR100327778B1 (ko) 2002-03-15
KR100327777B1 (ko) 2002-03-15
IL113134A (en) 1998-03-10
MY114381A (en) 2002-10-31
IN189950B (ja) 2003-05-17
DE69503046D1 (de) 1998-07-23

Similar Documents

Publication Publication Date Title
JP3171201B2 (ja) 複数命令セットのマッピング
US5740461A (en) Data processing with multiple instruction sets
JP3554342B2 (ja) 拡張ワード寸法及びアドレス空間を有する逆互換性コンピュータアーキテクチュア
US9128701B2 (en) Generating constant for microinstructions from modified immediate field during instruction translation
JP5379825B2 (ja) 命令が利用可能な汎用レジスタの数を拡張するための上位ワード・ファシリティ
US7546442B1 (en) Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions
JPH0766324B2 (ja) データ処理装置
JPH0810428B2 (ja) データ処理装置
US7788472B2 (en) Instruction encoding within a data processing apparatus having multiple instruction sets
US5754810A (en) Specialized millicode instruction for certain decimal operations
Dandamudi Arm architecture
JPH1021071A (ja) 複数の命令を処理するプロセッサ動作方法

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080323

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090323

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100323

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100323

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110323

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110323

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120323

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130323

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130323

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140323

Year of fee payment: 13

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term