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

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

Info

Publication number
JPH09512651A
JPH09512651A JP7528042A JP52804295A JPH09512651A JP H09512651 A JPH09512651 A JP H09512651A JP 7528042 A JP7528042 A JP 7528042A JP 52804295 A JP52804295 A JP 52804295A JP H09512651 A JPH09512651 A JP H09512651A
Authority
JP
Japan
Prior art keywords
instruction
bit
word
instruction set
register
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.)
Granted
Application number
JP7528042A
Other languages
English (en)
Other versions
JP3171201B2 (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)

Abstract

(57)【要約】 複数命令セットを用いるデータ処理システムが説明される。プログラム命令語は、命令パイプライン(6)を経てプロセッサコア(2)へ供給される。第2命令セットのプログラム命令語が該命令パイプラインを通過する時、それらは第1命令セットのプログラム命令語にマップされる。第2命令セットのプログラム命令語のビットサイズは、第1命令セットのそれよりも小さく、第2命令セットは第1命令セットのサブセットである。小さいビットサイズはコード密度を改善し、一方第2命令セットの、第1命令セットのサブセットとしての性質は、1対1マッピングが効率的に行われうるようにするので、第2命令セットのための専用命令デコーダの必要を回避する。

Description

【発明の詳細な説明】 複数命令セットのマッピング 本発明は、データ処理の分野に関する。特に、本発明は、プログラム命令語の 複数セットを用いるデータ処理に関する。 データ処理システムは、プログラム命令語の制御を受けて演算を行うプロセッ サコアによって演算を行い、プログラム命令語は、デコードされた時、該プログ ラム命令語によって指定された処理を遂行するために必要な演算を行うプロセッ サによりさまざまな素子を制御するための、コア制御信号を発生させる働きを有 する。 1つより多くの命令セットによって演算するシステムの使用は公知である(例 えば、ディジタル・イクイプメント・コーポレーション(Digital Eq uipment Corporation)のVAX11コンピュータは、VA X命令モードと、該コンピュータによる早期の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デコード手段が PipeCの内容に応答してコア制御信号32を発生するための十分な時間を与 えうるほど高速で演算を行う。高速PLA38は、完全な命令をマッピングする 不必要な時間を費やすことなく、第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により必要とされる、また高速PLA 38により「捏造」されなければならない、ビットである。これらのビットは、 第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ビット命令は、該 命令を条件付きで実行可能とする条件コードCondの後にある。これとは対照 的に、前記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 R d,Rs SHIFT #Immediate5であり、S HIFTは、 0がLSLであり 1がLSRであり 2がASRであり ARMに関し定められているようなゼロによるシフト。 フォーマット5: Opl*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を指定し、H Iはレジスタ8−15を指定する SPECIALはCPSRまたはSPSRである MOV HI,LO(隠れレジスタから可視レジスタへ 移動) MOV LO,HI(可視レジスタから隠れレジスタへ 移動) MOV HI,HI(例えば手続き戻り) MOVS HI,HI(例えば例外戻り) MOVS HI,LO(例えば割込み戻り、SUBS,H I,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,〔Rb,#+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のST MFDと同様になる それゆえブロックコピーに対し、r7をエンドポインタとし て用いる もしr7がベースでなければ、LDMおよびSTMは、AR MのLDMIA、STMIAと同様になる フォーマット13:アドレスをロードする。この命令は、8ビット符号なし定数 をPCまたはスタックポインタに加算し、結果を宛先レジス タ内に記憶させる。 ADD Rd,sp,+256bytes ADD Rd,pc,+256words(1024 bytes) SPビットは、SPまたはPCがソースであるか否かを表示 する もしSPがソースであり、かつr7が宛先レジスタとして指 定されれば、SPは宛先レジスタとして用いられる。 フォーマット14:条件付き分岐、+/−128バイト、この場合condは (ARMに関してと同様の)条件コードを定め、cond= 15はSWIとしてエンコードする(256のみで多分十分 である)。 フォーマット15:長い分岐およびリンクのビット22:12をセットする。 MOV lr,#offset<<12。 フォーマット16:長い分岐およびリンクを行う。演算は、SUB newlr ,pc,#4;ORR pc,oldlr,#offset <<1である。newlrおよびoldlrは、この演算の 前および後のlrレジスタを意味する。 前述のように、16ビット命令セットは32ビット命令セットに比し減少した オペランド範囲を有する。これに符合して、16ビット命令セットは、完全な3 2ビット命令セット用に具備されたレジスタ6(第1図参照)のサブセットを用 いる。第9図は、16ビット命令セットにより用いられるレジスタの該サブセッ トを示す。

Claims (1)

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

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000068782A1 (fr) * 1999-05-06 2000-11-16 Hitachi, Ltd. Procede de mise au point d'un circuit integre a semiconducteur
JP2005332361A (ja) * 2004-05-17 2005-12-02 Arm Ltd プログラム命令圧縮装置および方法
JP2006285996A (ja) * 2005-04-01 2006-10-19 Arm Ltd 複数の命令セットデータ処理システム内の条件付分岐命令エンコーディング
US7194602B2 (en) 1998-03-11 2007-03-20 Matsushita Electric Industrial Co., Ltd. Data processor
JP2008171428A (ja) * 2007-01-09 2008-07-24 Internatl Business Mach Corp <Ibm> プロセッサが規格合致するように見えるアーキテクチャ・レベルを選択するための方法および装置
JP2009526300A (ja) * 2006-02-10 2009-07-16 イマジネイション テクノロジーズ リミテッド マイクロプロセッサ用の命令セット
JP2009176303A (ja) * 2008-01-23 2009-08-06 Arm Ltd 複数の命令セットの命令プリデコード
US7788472B2 (en) 2003-06-13 2010-08-31 Arm Limited Instruction encoding within a data processing apparatus having multiple instruction sets
WO2013132767A1 (ja) * 2012-03-09 2013-09-12 パナソニック株式会社 プロセッサ、マルチプロセッサシステム、コンパイラ、ソフトウェアシステム、メモリ制御システムおよびコンピュータシステム
JP2020523680A (ja) * 2017-06-15 2020-08-06 エイアールエム リミテッド 命令セット内の変更を制御する装置及び方法

Families Citing this family (72)

* 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
AU7246496A (en) * 1995-10-06 1997-04-28 Advanced Micro Devices Inc. Instruction decoder including emulation using indirect specifiers
US5794063A (en) * 1996-01-26 1998-08-11 Advanced Micro Devices, Inc. Instruction decoder including emulation using indirect specifiers
US5926642A (en) 1995-10-06 1999-07-20 Advanced Micro Devices, Inc. RISC86 instruction set
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
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
JP2003526129A (ja) 1997-12-17 2003-09-02 エリクセントリミティド プログラマブル・アレイにおける乗算器の実現
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
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
US7111290B1 (en) * 1999-01-28 2006-09-19 Ati International Srl Profiling program execution to identify frequently-executed portions and to assist binary translation
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
US6826748B1 (en) 1999-01-28 2004-11-30 Ati International Srl Profiling program execution into registers of a computer
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
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
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
US8121828B2 (en) 1999-01-28 2012-02-21 Ati Technologies Ulc Detecting conditions for transfer of execution from one computer instruction stream to another and executing transfer on satisfaction of the conditions
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
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
GB2367653B (en) * 2000-10-05 2004-10-20 Advanced Risc Mach Ltd Restarting translated instructions
GB2367651B (en) * 2000-10-05 2004-12-29 Advanced Risc Mach Ltd Hardware instruction translation within a processor pipeline
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)
AU2003282365A1 (en) * 2002-11-26 2004-06-18 Mplicity Ltd. A 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
US7707389B2 (en) * 2003-10-31 2010-04-27 Mips Technologies, Inc. Multi-ISA instruction fetch unit for a processor, and applications thereof
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
US7958335B2 (en) * 2005-08-05 2011-06-07 Arm Limited Multiple instruction set decoding
US7500210B2 (en) * 2006-11-15 2009-03-03 Mplicity Ltd. Chip area optimization for multithreaded designs
US20090044159A1 (en) * 2007-08-08 2009-02-12 Mplicity Ltd. False path handling
CN101855617A (zh) * 2007-09-19 2010-10-06 Kpit库敏思信息系统有限公司 使即插即用硬件用于半自动软件迁移的机制
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
US9442730B2 (en) 2013-07-31 2016-09-13 Apple Inc. Instruction source specification
RU2556364C1 (ru) * 2014-03-18 2015-07-10 Федеральное государственное бюджетное учреждение науки Научно-исследовательский институт системных исследований Российской академии наук (НИИСИ РАН) Гибридный микропроцессор
RU2584470C2 (ru) * 2014-03-18 2016-05-20 Федеральное государственное учреждение "Федеральный научный центр Научно-исследовательский институт системных исследований Российской академии наук" (ФГУ ФНЦ НИИСИ РАН) Гибридный потоковый микропроцессор
GB2540971B (en) 2015-07-31 2018-03-14 Advanced Risc Mach Ltd Graphics processing systems
EP3529695B1 (en) 2016-10-20 2023-10-11 INTEL Corporation Systems, apparatuses, and methods for fused multiply add
JP7037289B2 (ja) 2017-06-26 2022-03-16 三菱重工業株式会社 制御切替装置、プラント、制御切替方法およびプログラム

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 情報処理装置
US4587612A (en) * 1982-10-22 1986-05-06 International Business Machines Corporation Accelerated instruction mapping external to source and target instruction streams for near realtime injection into the latter
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

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7664934B2 (en) 1998-03-11 2010-02-16 Panasonic Corporation Data processor decoding instruction formats using operand data
US8650386B2 (en) 1998-03-11 2014-02-11 Panasonic Corporation Data processor including an operation unit to execute operations in parallel
US8443173B2 (en) 1998-03-11 2013-05-14 Panasonic Corporation Method for instructing a data processor to process data
US7194602B2 (en) 1998-03-11 2007-03-20 Matsushita Electric Industrial Co., Ltd. Data processor
US7979676B2 (en) 1998-03-11 2011-07-12 Panasonic Corporation Method for instructing a data processor to process data
WO2000068782A1 (fr) * 1999-05-06 2000-11-16 Hitachi, Ltd. Procede de mise au point d'un circuit integre a semiconducteur
US7788472B2 (en) 2003-06-13 2010-08-31 Arm Limited Instruction encoding within a data processing apparatus having multiple instruction sets
JP2005332361A (ja) * 2004-05-17 2005-12-02 Arm Ltd プログラム命令圧縮装置および方法
JP2006285996A (ja) * 2005-04-01 2006-10-19 Arm Ltd 複数の命令セットデータ処理システム内の条件付分岐命令エンコーディング
JP2009526300A (ja) * 2006-02-10 2009-07-16 イマジネイション テクノロジーズ リミテッド マイクロプロセッサ用の命令セット
US10437598B2 (en) 2006-02-10 2019-10-08 MIPS Tech, LLC Method and apparatus for selecting among a plurality of instruction sets to a microprocessor
JP2008171428A (ja) * 2007-01-09 2008-07-24 Internatl Business Mach Corp <Ibm> プロセッサが規格合致するように見えるアーキテクチャ・レベルを選択するための方法および装置
JP2009176303A (ja) * 2008-01-23 2009-08-06 Arm Ltd 複数の命令セットの命令プリデコード
WO2013132767A1 (ja) * 2012-03-09 2013-09-12 パナソニック株式会社 プロセッサ、マルチプロセッサシステム、コンパイラ、ソフトウェアシステム、メモリ制御システムおよびコンピュータシステム
US9535699B2 (en) 2012-03-09 2017-01-03 Panasonic Intellectual Property Management Co., Ltd. Processor, multiprocessor system, compiler, software system, memory control system, and computer system
JP2020523680A (ja) * 2017-06-15 2020-08-06 エイアールエム リミテッド 命令セット内の変更を制御する装置及び方法

Also Published As

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

Similar Documents

Publication Publication Date Title
JP3171201B2 (ja) 複数命令セットのマッピング
EP0758464B1 (en) Data processing with multiple instruction sets
EP2524303B1 (en) Mapping between registers used by multiple instruction sets
US20020049894A1 (en) Method and apparatus for interfacing a processor to a coprocessor
JP2002517037A (ja) 混合ベクトル/スカラレジスタファイル
US5969975A (en) Data processing apparatus registers
JP3954171B2 (ja) コンピュータにおけるスカラ値をベクトルに記入する方法
US7546442B1 (en) Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions
JPH0810428B2 (ja) データ処理装置
EP1680735B1 (en) Apparatus and method that accomodate multiple instruction sets and multiple decode modes
JP2001504959A (ja) Riscアーキテクチャを有する8ビットマイクロコントローラ
JPH07120278B2 (ja) データ処理装置
JPH05150979A (ja) 即値オペランド拡張方式
US20040024992A1 (en) Decoding method for a multi-length-mode instruction set
US5754810A (en) Specialized millicode instruction for certain decimal operations
JP2002517038A (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