(57)【特許請求の範囲】
【請求項１】
データ処理装置であって、前記装置が、
複数のコア制御信号に応答するプロセッサコアと、
第１の命令セットに属するＸビットのプログラム命令語の中のＰビットをデコードして前記コア制御信号を生成するデコード手段と、
プログラム命令語が前記デコード手段に通過する命令パイプラインと、
前記命令パイプラインを通過する第２の命令セットに属するＹビットのプログラム命令語に応答して、前記Ｙビットのプログラム命令語の中のＱビットを、前記デコード手段によりデコードされる対応するＸビットのプログラム命令語の中の前記Ｐビットにマップする第１のマッピング手段と、を含み、
前記プロセッサコアは前記第１の命令セットによって使用され且つ幾つかの前記Ｘビットのプログラム命令語内でレジスタオペランドとして定義される複数のレジスタを有し、前記第２の命令セットは幾つかの前記Ｙビットのプログラム命令語内でレジスタオペランドと定義されるレジスタのサブセットを使用する、
データ処理装置。
【請求項２】
前記プロセッサコアにより実行されるＸビットの命令を保持するための命令レジスタを含み、前記プロセッサコアが前記命令レジスタからオペランド値を読取る、請求項第１項記載の装置。
【請求項３】
前記命令パイプライン内の前記Ｙビットのプログラム命令語内のオペランド値を、前記対応するＸビットのプログラム命令語内の対応する位置にマップし、かつ前記マップされたオペランド値を前記プロセッサコアによる使用のために前記命令レジスタ内に記憶させる、第２のマッピング手段を含む、請求項第２項記載の装置。
【請求項４】
前記第２のマッピング手段が、前記Ｙビットのプログラム命令語を、前記対応するＸビットのプログラム命令語の完全なバージョンにマップし、かつ前記対応するＸビットのプログラム命令語の前記完全なバージョンを前記命令レジスタ内に記憶させる、請求項第３項記載の装置。
【請求項５】
命令プログラム語が前記命令パイプラインを複数の処理サイクルにわたって通過し、前記処理サイクルの１つがデコードサイクルであり、前記デコード手段が前記デコードサイクルの終了までに前記コア制御信号を発生する演算を行い、前記第１のマッピング手段が前記デコード部分の第１の部分中に前記対応するＸビットのプログラム命令語の前記Ｐビットを発生する演算を行い、前記デコード手段が前記デコードサイクルの前記終了までになお前記コア制御信号を発生することを可能ならしめる、請求項第１項から第４項までのいずれかに記載の装置。
【請求項６】
前記第２のマッピング手段が、前記デコードサイクルの終了までに前記命令レジスタ内に前記マップされたオペランド値を記憶させる演算を行う、請求項第３項および第５項記載の装置。
【請求項７】
前記第１のマッピング手段が前記第２マッピング手段と並列に演算を行う、請求項第３項記載の装置。
【請求項８】
前記第２のマッピング手段が、前記Ｙビットのプログラム命令語の前記レジスタオペランドを拡張し、前記Ｘビットのプログラム命令語の前記レジスタオペランドを生ぜしめる、請求項第３項記載の装置。
【請求項９】
前記Ｘビットのプログラム命令語の前記オペランドが、前記Ｙビットのプログラム命令語の前記オペランドより大きい範囲を有し、前記第２のマッピング手段の上位のゼロが、前記Ｙビットのプログラム命令語からの前記オペランドを拡張して前記Ｘビットのプログラム命令語の前記オペランドを生じる、請求項第３項記載の装置。
【請求項１０】
ＰがＸより小さい、請求項第１項から第９項までのいずれかに記載の装置。
【請求項１１】
ＱがＰよりも小さいか、またはＰに等しい、請求項第１項から第１０項までのいずれかに記載の装置。
【請求項１２】
Ｘが３２であり、Ｙが１６である、請求項第１項から第１１項までのいずれかに記載の装置。
【請求項１３】
前記装置が集積回路である、請求項第１項から第１２項までのいずれかに記載の装置。
【請求項１４】
複数のコア制御信号に応答するプロセッサコアを使用してデータを処理する方法であって、前記方法が、
デコード手段により第１の命令セットに属するＸビットのプログラム命令語のＰビットをデコードして、前記プロセッサコアを制御する前記コア制御信号を発生させるステップと、
命令プログラム語を命令パイプラインを経て前記デコード手段へ送るステップと、
前記命令パイプラインを通過する第２の命令セットに属するＹビットのプログラム命令語のＱビットを、前記デコード手段によるデコードのために、対応するＸビットのプログラム命令語の前記Ｐビットにマップするステップとを含み、
前記プロセッサコアは前記第１の命令セットによって使用され且つ幾つかの前記Ｘビットのプログラム命令語内でレジスタオペランドとして定義される複数のレジスタを有し、前記第２の命令セットは幾つかの前記Ｙビットのプログラム命令語内でレジスタオペランドと定義されるレジスタのサブセットを使用する、
データ処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ処理の分野に関する。特に、本発明は、プログラム命令語の複数セットを用いるデータ処理に関する。
データ処理システムは、プログラム命令語の制御を受けて演算を行うプロセッサコアによって演算を行い、プログラム命令語は、デコードされた時、該プログラム命令語によって指定された処理を遂行するために必要な演算を行うプロセッサによりさまざまな素子を制御するための、コア制御信号を発生させる働きを有する。
【０００２】
【従来技術】
１つより多くの命令セットによって演算するシステムの使用は公知である（例えば、ディジタル・イクイプメント・コーポレーション（Ｄｉｇｉｔａｌ  Ｅｑｕｉｐｍｅｎｔ  Ｃｏｒｐｏｒａｔｉｏｎ）のＶＡＸ１１コンピュータは、ＶＡＸ命令モードと、該コンピュータによる早期のＰＤＰ１１コンピュータ用命令のデコードを可能にする互換性モードと、を有する）。そのようなシステムには通常、それぞれの命令セット用の別個の命令デコーダが組み込まれてきた。命令デコーダは、比較的に複雑かつ大形の回路素子である。
【０００３】
【発明が解決しようとする課題】
集積回路が占有するスペースは高価である。集積回路は小さいほど、安価に製造され、製造歩留りが高くなる。さらに、集積回路上においては、他の回路素子による使用のために、追加のスペースが利用されうるようにもされる。集積回路の寸法を縮減する手段は大きい利点を有する。
【０００４】
【課題を解決するための手段】
１つの特徴から見た時、本発明はデータ処理装置を提供し該装置は、
複数のコア制御信号に応答するプロセッサコアと、
第１命令セットのＸビットプログラム命令語のＰビットをデコードして前記コア制御信号を発生するデコード手段と、
該デコード手段への命令プログラム語が通過する命令パイプラインと、
該命令パイプラインを通過する第２命令セットのＹビットプログラム命令語に応答して、該Ｙビットプログラム命令語のＱビットを、前記デコード手段によるデコード用の対応するＸビットプログラム命令語の前記Ｐビットにマップする第１マッピング手段と、を含み、
ＹはＸより小さく、かつ前記第２命令セットは前記第１命令セットのサブセットである。
【０００５】
本発明は、命令パイプラインが組み込まれたシステムに適用され、命令を、第２命令セットから第１命令セットへ、それらが該命令パイプラインを通過する時にマップするのに役立つ。第２命令セットのプログラム命令語を、第１命令セットのそれらへ翻訳すれば、第２命令デコーダの必要が回避され、より簡単でより効率的な、プロセッサコアの残部の実施例が可能となる。本発明においては、もし第２命令セットが第１命令セットのサブセットであるようにされれば、１対１マッピングが可能となり、これは、システムパフォーマンスを制限しないように、十分に規則的かつ高速に実現されうることが認識される。さらに、本発明においては、前記デコード手段を実際に駆動するためには、第２命令セットの命令のあるビットのみを、第１命令セット内の命令語の対応するビットにマップする必要があることが認識される。これは、マッピングが行われる速度を増大せしめる。
命令デコーディングの速度は、実施例においては、前記プロセッサコアにより実行されるＸビット命令を保持するための命令レジスタの具備によって増大せしめられ、該プロセッサコアは、該命令レジスタからオペランド値を読取る。
このようにして、命令デコーダによるデコーディングを必要とせず、プロセッサコアの作用のみを受ける命令内からのオペランドは、命令デコーダを通過するを要せず、命令から直接読取られうる。
【０００６】
この構成を容易ならしめ、それによって、デコード手段を駆動するのに必要な臨界Ｐビットを高速で発生させ、しかも完全なＸビットプログラム命令語を、プロセッサコアによって修正されずに用いられるように後に発生させるために、本発明の実施例は、前記命令パイプライン内の前記Ｙビットプログラム命令語内のオペランド値を、前記対応するＸビットプログラム命令語内の対応する位置にマップし、かつ該マップされたオペランド値を前記プロセッサコアによる使用のために前記命令レジスタ内に記憶させる、第２マッピング手段を含む。
該第２マッピング手段は、前記プロセッサコアが必要とするオペランド値のマッピングの働きのみをなすものでありうる。しかし、前記命令デコーダの設計は、前記プロセッサコアの設計から効果的に分離されうるので、前記第２マッピング手段が、前記Ｙビットプログラム命令語を、前記対応するＸビットプログラム命令語の完全なバージョンにマップし、かつ該対応するＸビットプログラム命令語の該完全なバージョンを前記命令レジスタ内に記憶させるようにすることによって、いずれの前記設計の将来の独立した変更も容易となる。
【０００７】
プログラム命令語が命令パイプラインを通過する時、通常、デコード機構にあるタイミングリミットが課せられる。現存のハードウェアとの統合をより容易にするために、実施例内においては、命令プログラム語が前記命令パイプラインを複数の処理サイクルにわたって通過し、該処理サイクルの１つがデコードサイクルであり、前記デコード手段が該デコードサイクルの終了までに前記コア制御信号を発生する演算を行い、前記第１マッピング手段が該デコード部分の第１部分中に前記対応するＸビットプログラム命令語の前記Ｐビットを発生する演算を行い、前記デコード手段が前記デコードサイクルの前記終了までになお前記コア制御信号を発生することを可能ならしめる。
前記デコード手段を駆動するために、Ｙビットプログラム命令語のあるビットのみがマップされる必要があるという特徴は、そのようなタイミング要求が満たされることを可能ならしめる。
あまり厳しくない関連する要求は、オペランド値がいつ得られなければならないかの要求である。本発明の実施例は、前記第２マッピング手段が、前記デコードサイクルの終了までに前記命令レジスタ内に、前記マップされたオペランド値を記憶させる演算を行うようにすることによって、このゆるやかな要求を用いる。
【０００８】
前記第１マッピング手段と前記第２マッピング手段との演算は、独立ならしめられうることを認識すべきである。このシステムの全体的パフォーマンスは従って、もしそれらが並列に演算を行えば改善される。
前記第２命令セットのプログラム命令語のサイズが小さくなると、備えられるべき機能の修正が必要になる。好ましくは、本システムは、前記プロセッサコアが、前記第１命令セットによって用いられ且つある前記Ｘビットプログラム命令語内においてレジスタオペランドとして定義される複数のレジスタを有し、また前記第２命令セットが、ある前記Ｙビットプログラム命令語内においてレジスタオペランドとして定義される前記レジスタのサブセットを用いるように構成される。
前記第１命令セットによって用いられる前記レジスタのサブセットの、前記第２命令セットによる使用は、命令間の１対１マッピングがなお行われることを可能ならしめ、しかも前記第２命令セットのビットサイズを小さくする。
命令セット間でのレジスタの異なる様式のハンドリングを処理するために、前記第２マッピング手段は、前記Ｙビットプログラム命令語の前記レジスタオペランドを拡張し、前記Ｘビットプログラム命令語の前記レジスタオペランドを生ぜしめる。
【０００９】
同様にして、前記第２命令セット内の他のオペランドは、前記第１命令セットのオペランドと比較して減少した範囲を有し、それらの最左端は、前記第２マッピング手段によるマッピング中に、ゼロを拡張される。
もう１つの特徴から見た時、本発明はデータ処理方法を提供し該方法は、
複数のコア制御信号に応答するプロセッサコアと、
デコード手段により第１命令セットのＸビットプログラム命令語のＰビットをデコードして、プロセッサコアを制御するコア制御信号を発生させるステップと、
命令プログラム語を命令パイプラインを経て前記記デコード手段へ送るステップと、
前記命令パイプラインを通過する第２命令セットのＹビットプログラム命令語のＱビットを、前記デコード手段によるデコードのために、対応するＸビットプログラム命令語の前記Ｐビットにマップするステップと、を含み、
ＹはＸより小さく、かつ前記第２命令セットは前記第１命令セットのサブセットである。
【００１０】
【発明の実施の形態】
次に、添付図面を参照しつつ、本発明の実施例を単なる例として説明する。
【００１１】
図１は、Ｙビットメモリシステム４に結合せしめられたプロセッサコア２を含む、（集積回路の一部として形成された）データ処理システムを示す。この場合、Ｙは１６に等しい。
プロセッサコア２は、レジスタバンク６と、ブースの乗算器８と、バレルシフタ１０と、３２ビット論理演算装置１２と、書込みデータレジスタ１４と、を含む。プロセッサコア２とメモリシステム４との間には、命令パイプライン１６と、命令デコーダ１８と、読取りデータレジスタ２０と、が配置されている。プロセッサコア２の一部であるプログラムカウンタレジスタ２２は、メモリシステム４をアドレス指定するように示されている。プログラムカウンタインクリメンタ２４は、それぞれの命令が実行され、かつ新命令が命令パイプライン１６のためにフェッチされなければならない時、プログラムカウンタレジスタ２２内のプログラムカウンタ値を増加させる働きをする。
プロセッサコア２は、さまざまな機能ユニット間にＮビットデータ経路（この場合は３２ビットデータ経路）を取り入れる。演算に際しては、命令パイプライン１６内の命令が命令デコーダ１８によってデコードされ、該デコーダはさまざまなコア制御信号を発生し、該コア制御信号はプロセッサコア２内のさまざまな機能素子へ送られる。これらのコア制御信号に応答して、前記プロセッサコアのさまざまな部分は、３２ビット乗算、３２ビット加算、および３２ビット論理演算のような、３２ビット処理演算を行う。
【００１２】
レジスタバンク６は、現プログラミング状態レジスタ２６と、セーブプログラミング状態レジスタ２８と、を含む。現プログラミング状態レジスタ２６は、プロセッサコア２のためのさまざまな条件および状態フラグを保持する。これらのフラグには、処理モードフラグ（例えば、システムモード、ユーザモード、メモリアボートモード、など）と、算術演算におけるゼロ結果、桁上げ、などの発生を表示するフラグと、が含まれる。セーブプログラミング状態レジスタ２８（これはバンクをなす複数のこのようなセーブプログラミング状態レジスタの１つでありうる）は、もし処理モードスイッチをトリガする異常が起こったならば、現プログラミング状態レジスタ２６の内容を一時的に記憶するために用いられる。このようにして、異常処理は、より高速かつより効率的に行われうる。
現プログラミング状態レジスタ２６内には、命令セットフラグＴが含まれる。この命令セットフラグは、命令デコーダ１８およびプログラムカウンタインクリメンタ２４へ供給される。この命令セットフラグＴがセットされた時、システムは、第２命令セットの命令（すなわち、この場合は１６ビットプログラム命令語であるＹビットプログラム命令語）によって演算する。命令セットフラグＴは、プログラムカウンタインクリメンタ２４を制御して、第２命令セットにより演算せしめられた時、小さいインクリメントステップを採用せしめる。これは、第２命令セットのプログラム命令語が小さく、従ってメモリシステム４の記憶場所内において狭い間隔を有することに符合している。
【００１３】
前述のように、メモリシステム４は、１６ビットデータバスを経て読取りデータレジスタ２０および命令パイプライン１６に接続された、１６ビットメモリシステムである。そのような１６ビットメモリシステムは、高性能の３２ビットメモリシステムに比し簡単かつ経済的である。そのような１６ビットメモリシステムを用いると、単一サイクル内に１６ビットプログラム命令語がフェッチされうる。しかし、もし（命令セットフラグＴによって表示される）第２命令セットからの３２ビット命令が用いられるならば、命令パイプライン１６に対して単一の３２ビット命令を回復するために２回の命令フェッチが必要になる。
必要なプログラム命令語がメモリシステム４から回復された時、それらは命令デコーダ１８によってデコードされ、命令が１６ビット命令であるか、３２ビット命令であるかにかかわらず、プロセッサコア２内において３２ビット処理が開始される。
図１においては、命令デコーダ１８は単一ブロックとして示されている。しかし、１つより多くの命令セットを処理するために、命令デコーダ１８は、図２および図３に関連して説明されるように、もっと複雑な構造を有する。
【００１４】
図２は、単一命令セットに対処するための命令パイプライン１６および命令デコーダ１８を示す。この場合、命令デコーダ１８は、３２ビット命令をデコードする演算を行う第１デコード手段３０のみを含む。このデコード手段３０は、プログラム可能論理アレイ（ＰＬＡ）を用いて第１命令セット（ＡＲＭ命令セット）をデコードし、プロセッサコア２へ供給される複数のコア制御信号を発生する。現在デコードされている（すなわち、現在のコア制御信号３２を生じる）プログラム命令語もまた、命令レジスタ３４内に保持されている。プロセッサコア２内の機能素子（例えば、ブースの乗算器８またはレジスタバンク６）は、該素子の処理演算のために必要なオペランドを、直接この命令レジスタ３４から読取る。
このような構造の演算の特徴は、第１デコード手段３０が、該第１デコード手段が演算するクロックサイクルの初期に、ある入力（パイプライン段ＰｉｐｅＣから出る実線として示されているＰビット）を必要とすることである。これは、コア制御信号３２が、プロセッサコア２内の必要な素子を駆動するのにちょうどよい時に発生せしめられることを保証するためである。第１デコード手段３０は、比較的大形かつ低速のプログラム可能論理アレイ構造であるので、そのようなタイミングの考慮が重要である。
命令デコーディングを行うためのそのようなプログラム可能論理アレイ構造の設計は、本技術分野における通常のものである。入力の組は、それらの入力から発生せしめられるべき所望の出力と共に定められる。その際、市販のソフトウェアが、指定された入力の組から指定された出力の組を発生するＰＬＡ構造を考案するのに用いられる。
【００１５】
図３は、第１命令セットおよび第２命令セットのデコーディングを扱うように改変された図２のシステムを示す。命令セットフラグＴによって第１命令セットが選択された時は、このシステムは、図２に関連して説明されたように演算する。命令セットフラグＴが、命令パイプライン１６内の命令が第２命令セットからのものであることを表示している時は、第２デコード手段３６が活動状態になる。
この第２デコード手段は、高速ＰＬＡ３８および並列の低速ＰＬＡ４０を用いて１６ビット命令（サム（Ｔｈｕｍｂ）命令）をデコードする。高速ＰＬＡ３８は、１６ビットサム命令の諸ビットのサブセット（Ｑビット）を、第１デコード手段３０を駆動するのに必要な対応する３２ビットＡＲＭ命令のＰビットにマップする働きをする。このマッピングを受けるためには比較的少数のビットが必要とされるので、高速ＰＬＡ３８は比較的浅くてもよいため、第１デコード手段がＰｉｐｅＣの内容に応答してコア制御信号３２を発生するための十分な時間を与えうるほど高速で演算を行う。高速ＰＬＡ３８は、完全な命令をマッピングする不必要な時間を費やすことなく、第１デコード手段のための対応する３２ビット命令の臨界ビットを「捏造する」ために働くものと考えられうる。
【００１６】
しかし、完全な３２ビット命令は、もしプロセッサコア２が根本的な変更および顕著な追加の回路素子なしに演算しうるとすれば、プロセッサコア２によってなお必要とされる。時間的に臨界的なマッピングが高速ＰＬＡ３８により処理されたとすると、並列に接続された低速ＰＬＡ４０は、１６ビット命令を対応する３２ビット命令にマップして、これを命令レジスタ３４内に配置する働きをする。このさらに複雑なマッピングは、高速ＰＬＡ３８および第１デコード手段３０が演算するのに要する全時間にわたって行われうる。重要な因子は、３２ビット命令が、プロセッサコア２に作用するコア制御信号３２に応答して命令レジスタ３４から読取られるべきオペランドに対して十分な時間命令レジスタ３４内に存在すべきことである。
第２命令セットをデコードする時の図３のシステムの全体的な演算は、第２命令セットからの１６ビット命令を、それらが命令パイプライン１６に沿って進んでいる時に、第１命令セットからの３２ビット命令に翻訳することである。これは、第２命令セットからの命令の、第１命令セット内の命令への１対１マッピングの存在を保証するために、第２命令セットを第１命令セットのサブセットとすることにより、実際に可能ならしめられる。
命令セットフラグＴの具備は、第２命令セットが第１命令セットに対して非直交的であることを可能にする。これは、第１命令セットが、直交するさらなる命令セットが検出され且つデコードされることを可能にするために用いられうる自由ビットのない、現存の命令である状況においては特に有用である。
【００１７】
図４は、３２ビット命令のデコーディングを示す。図４の上部には、逐次処理クロックサイクルが示されており、それらのサイクルにおいては、フェッチ演算、デコード演算、および最後に実行演算が行われる。もし特定の命令（例えば、乗算命令）が必要とするならば、１つまたはそれ以上の追加の実行サイクルが加えられる。
３２ビット命令４２は、複数の異なるフィールドから構成される。これらのフィールドの間の境界は、後に図７に示されるように、異なる命令に対しては異なる。
命令４２内のある諸ビットは、１次デコード相内におけるデコーディングを必要とする。これらのＰビットは、ビット４ないし７、２０および２２ないし２７である。これらは、第１デコード手段３０により必要とされる、また高速ＰＬＡ３８により「捏造」されなければならない、ビットである。これらのビットは、第１デコード手段へ印加され、それによってデコードされて、デコードサイクルの第１部分の終了までに適切なコア制御信号３２を発生しなければならない。もし必要ならば、完全な命令のデコーディングは、デコードサイクルの終了まで長くかかってもよい。デコードサイクルの終了時には前記実行サイクル中に、命令レジスタ３４から命令内のオペランドが、プロセッサ２によって読取られる。これらのオペランドは、レジスタ指定子、オフセット、または他の変数でありうる。
【００１８】
図５は、１６ビット命令の例の、３２ビット命令へのマッピングを示す。太い線は、３２ビット命令内のＰビットへのマッピングを必要とする、１６ビット命令内のＱビットから発しており、従ってそれらは第１デコード手段３０へ印加されうる。これらのビットの大部分は、直接コピーされるか、または簡単なマッピングを受けることがわかる。１６ビット命令内のオペランドＲｎ’、Ｒｄおよびイミーディエイト（ｉｍｍｅｄｉａｔｅ）は、それらの最上位端をゼロによりパッドして、３２ビット命令を満たす必要がある。このパディングは、３２ビット命令のオペランドが、１６ビット命令のオペランドより大きい範囲を有するので必要とされる。
図５の下部に与えられている３２ビット命令の一般化された形式からわかるように、該３２ビット命令は、１６ビット命令によって表されるその命令のサブセットよりもかなり大きい柔軟性を許容する。例えば、該３２ビット命令は、該命令を条件付きで実行可能とする条件コードＣｏｎｄの後にある。これとは対照的に、前記１６ビット命令は自身の中に条件コードを有せず、それらがマップされる対象である前記３２ビット命令の条件コードは、条件付き実行状態「常に」と等価である「１１１０」の値にセットされる。
【００１９】
図６は、もう１つのそのような命令マッピングを示す。この場合の１６ビット命令は、図５に示されているものとは異なるタイプのロード／記憶命令である。しかし、この命令はなお、前記３２ビット命令セットの単一データ転送命令のサブセットである。
【００２０】
図７は、前記３２ビット命令セットのための１１の異なるタイプのフォーマットを概略的に示す。これらの命令を以下に順次列記する。
１．  データ処理ＰＳＲ転送。
２．  乗算。
３．  単一データスワップ。
４．  単一データ転送。
５．  不定。
６．  ブロックデータ転送。
７．  分岐。
８．  コプロセッサデータ転送。
９．  コプロセッサデータ演算。
１０．コプロセッサレジスタ転送。
１１．ソフトウェア割込み。
この命令セットの十分な説明は、アドバンスト・ＲＩＳＣ・マシンズ・リミテッド（Ａｄｖａｎｃｅｄ  ＲＩＳＣ  Ｍａｃｈｉｎｅｓ  Ｌｉｍｉｔｅｄ）により生産されているＡＲＭ６プロセッサのデータシートに見出されうる。図７内において強調されている命令は、図５および図６に示されている命令である。
【００２１】
図８は、前記３２ビット命令セットに加えて備えられる前記１６ビット命令セットを示す。この命令セット内において強調されている命令は、図５および図６のそれぞれに示されている命令である。この１６ビット命令セット内の命令は、それら全てが単一３２ビット命令にマップされ、それによって３２ビット命令セットのサブセットを形成しうるように選択されている。
この命令セット内のそれぞれの命令を順次考察すると、諸フォーマットは以下のような指定を行う。
0003592230.tif 000002
0003592230.tif 000003
【００２２】
0003592230.tif 000004
0003592230.tif 000005
【００２３】
0003592230.tif 000006
【００２４】
0003592230.tif 000007
0003592230.tif 000008
【００２５】
0003592230.tif 000009
前述のように、１６ビット命令セットは３２ビット命令セットに比し減少したオペランド範囲を有する。これに符合して、１６ビット命令セットは、完全な３２ビット命令セット用に具備されたレジスタ６（図１参照）のサブセットを用いる。図９は、１６ビット命令セットにより用いられるレジスタの該サブセットを示す。
【図面の簡単な説明】
【図１】プロセッサコアおよびメモリシステムを組み込んだデータ処理装置を概略的に示す。
【図２】単一命令セットを有するシステム用の命令および命令デコーダを概略的に示す。
【図３】２つの命令セットを有するシステムに用いられる命令パイプラインおよび命令デコーダを示す。
【図４】Ｘビットプログラム命令語のデコーディングを示す。
【図５】Ｙビットプログラム命令語の、Ｘビットプログラム命令語へのマッピングを示す。
【図６】Ｙビットプログラム命令語の、Ｘビットプログラム命令語へのマッピングを示す。
【図７】Ｘビット命令セットを示す。
【図８】Ｙビット命令セットを示す。
【図９】第１命令セットおよび第２命令セットにとって利用可能な処理レジスタを示す。
【図１】
0003592230.tif 000010
【図２】
0003592230.tif 000011
【図３】
0003592230.tif 000012
【図４】
0003592230.tif 000013
【図５】
0003592230.tif 000014
【図６】
0003592230.tif 000015
【図７】
0003592230.tif 000016
【図８】
0003592230.tif 000017
【図９】
0003592230.tif 000018