JP2001142697A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JP2001142697A
JP2001142697A JP2000349956A JP2000349956A JP2001142697A JP 2001142697 A JP2001142697 A JP 2001142697A JP 2000349956 A JP2000349956 A JP 2000349956A JP 2000349956 A JP2000349956 A JP 2000349956A JP 2001142697 A JP2001142697 A JP 2001142697A
Authority
JP
Japan
Prior art keywords
instruction
bit
instruction set
program
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
JP2000349956A
Other languages
English (en)
Other versions
JP3592230B2 (ja
Inventor
David V Jaggar
ビビアン ジャガー,デビッド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ARM Ltd
Original Assignee
ARM Ltd
Advanced Risc Machines Ltd
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 ARM Ltd, Advanced Risc Machines Ltd filed Critical ARM Ltd
Publication of JP2001142697A publication Critical patent/JP2001142697A/ja
Application granted granted Critical
Publication of JP3592230B2 publication Critical patent/JP3592230B2/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命令セットのそれよりも小さ
く、レジスタオペランドとして定義される第1命令セッ
トのレジスタのサブセットを用いる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ処理の分野
に関する。特に、本発明は、プログラム命令語の複数セ
ットを用いるデータ処理に関する。データ処理システム
は、プログラム命令語の制御を受けて演算を行うプロセ
ッサコアによって演算を行い、プログラム命令語は、デ
コードされた時、該プログラム命令語によって指定され
た処理を遂行するために必要な演算を行うプロセッサに
よりさまざまな素子を制御するための、コア制御信号を
発生させる働きを有する。
【0002】
【従来技術】1つより多くの命令セットによって演算す
るシステムの使用は公知である(例えば、ディジタル・
イクイプメント・コーポレーション(Digital
Equipment Corporation)のVA
X11コンピュータは、VAX命令モードと、該コンピ
ュータによる早期のPDP11コンピュータ用命令のデ
コードを可能にする互換性モードと、を有する)。その
ようなシステムには通常、それぞれの命令セット用の別
個の命令デコーダが組み込まれてきた。命令デコーダ
は、比較的に複雑かつ大形の回路素子である。
【0003】
【発明が解決しようとする課題】集積回路が占有するス
ペースは高価である。集積回路は小さいほど、安価に製
造され、製造歩留りが高くなる。さらに、集積回路上に
おいては、他の回路素子による使用のために、追加のス
ペースが利用されうるようにもされる。集積回路の寸法
を縮減する手段は大きい利点を有する。
【0004】
【課題を解決するための手段】1つの特徴から見た時、
本発明はデータ処理装置を提供し該装置は、複数のコア
制御信号に応答するプロセッサコアと、第1命令セット
のXビットプログラム命令語のPビットをデコードして
前記コア制御信号を発生するデコード手段と、該デコー
ド手段への命令プログラム語が通過する命令パイプライ
ンと、該命令パイプラインを通過する第2命令セットの
Yビットプログラム命令語に応答して、該Yビットプロ
グラム命令語のQビットを、前記デコード手段によるデ
コード用の対応するXビットプログラム命令語の前記P
ビットにマップする第1マッピング手段と、を含み、Y
はXより小さく、かつ前記第2命令セットは前記第1命
令セットのサブセットである。
【0005】本発明は、命令パイプラインが組み込まれ
たシステムに適用され、命令を、第2命令セットから第
1命令セットへ、それらが該命令パイプラインを通過す
る時にマップするのに役立つ。第2命令セットのプログ
ラム命令語を、第1命令セットのそれらへ翻訳すれば、
第2命令デコーダの必要が回避され、より簡単でより効
率的な、プロセッサコアの残部の実施例が可能となる。
本発明においては、もし第2命令セットが第1命令セッ
トのサブセットであるようにされれば、1対1マッピン
グが可能となり、これは、システムパフォーマンスを制
限しないように、十分に規則的かつ高速に実現されうる
ことが認識される。さらに、本発明においては、前記デ
コード手段を実際に駆動するためには、第2命令セット
の命令のあるビットのみを、第1命令セット内の命令語
の対応するビットにマップする必要があることが認識さ
れる。これは、マッピングが行われる速度を増大せしめ
る。命令デコーディングの速度は、実施例においては、
前記プロセッサコアにより実行されるXビット命令を保
持するための命令レジスタの具備によって増大せしめら
れ、該プロセッサコアは、該命令レジスタからオペラン
ド値を読取る。このようにして、命令デコーダによるデ
コーディングを必要とせず、プロセッサコアの作用のみ
を受ける命令内からのオペランドは、命令デコーダを通
過するを要せず、命令から直接読取られうる。
【0006】この構成を容易ならしめ、それによって、
デコード手段を駆動するのに必要な臨界Pビットを高速
で発生させ、しかも完全なXビットプログラム命令語
を、プロセッサコアによって修正されずに用いられるよ
うに後に発生させるために、本発明の実施例は、前記命
令パイプライン内の前記Yビットプログラム命令語内の
オペランド値を、前記対応するXビットプログラム命令
語内の対応する位置にマップし、かつ該マップされたオ
ペランド値を前記プロセッサコアによる使用のために前
記命令レジスタ内に記憶させる、第2マッピング手段を
含む。該第2マッピング手段は、前記プロセッサコアが
必要とするオペランド値のマッピングの働きのみをなす
ものでありうる。しかし、前記命令デコーダの設計は、
前記プロセッサコアの設計から効果的に分離されうるの
で、前記第2マッピング手段が、前記Yビットプログラ
ム命令語を、前記対応するXビットプログラム命令語の
完全なバージョンにマップし、かつ該対応するXビット
プログラム命令語の該完全なバージョンを前記命令レジ
スタ内に記憶させるようにすることによって、いずれの
前記設計の将来の独立した変更も容易となる。
【0007】プログラム命令語が命令パイプラインを通
過する時、通常、デコード機構にあるタイミングリミッ
トが課せられる。現存のハードウェアとの統合をより容
易にするために、実施例内においては、命令プログラム
語が前記命令パイプラインを複数の処理サイクルにわた
って通過し、該処理サイクルの1つがデコードサイクル
であり、前記デコード手段が該デコードサイクルの終了
までに前記コア制御信号を発生する演算を行い、前記第
1マッピング手段が該デコード部分の第1部分中に前記
対応するXビットプログラム命令語の前記Pビットを発
生する演算を行い、前記デコード手段が前記デコードサ
イクルの前記終了までになお前記コア制御信号を発生す
ることを可能ならしめる。前記デコード手段を駆動する
ために、Yビットプログラム命令語のあるビットのみが
マップされる必要があるという特徴は、そのようなタイ
ミング要求が満たされることを可能ならしめる。あまり
厳しくない関連する要求は、オペランド値がいつ得られ
なければならないかの要求である。本発明の実施例は、
前記第2マッピング手段が、前記デコードサイクルの終
了までに前記命令レジスタ内に、前記マップされたオペ
ランド値を記憶させる演算を行うようにすることによっ
て、このゆるやかな要求を用いる。
【0008】前記第1マッピング手段と前記第2マッピ
ング手段との演算は、独立ならしめられうることを認識
すべきである。このシステムの全体的パフォーマンスは
従って、もしそれらが並列に演算を行えば改善される。
前記第2命令セットのプログラム命令語のサイズが小さ
くなると、備えられるべき機能の修正が必要になる。好
ましくは、本システムは、前記プロセッサコアが、前記
第1命令セットによって用いられ且つある前記Xビット
プログラム命令語内においてレジスタオペランドとして
定義される複数のレジスタを有し、また前記第2命令セ
ットが、ある前記Yビットプログラム命令語内において
レジスタオペランドとして定義される前記レジスタのサ
ブセットを用いるように構成される。前記第1命令セッ
トによって用いられる前記レジスタのサブセットの、前
記第2命令セットによる使用は、命令間の1対1マッピ
ングがなお行われることを可能ならしめ、しかも前記第
2命令セットのビットサイズを小さくする。命令セット
間でのレジスタの異なる様式のハンドリングを処理する
ために、前記第2マッピング手段は、前記Yビットプロ
グラム命令語の前記レジスタオペランドを拡張し、前記
Xビットプログラム命令語の前記レジスタオペランドを
生ぜしめる。
【0009】同様にして、前記第2命令セット内の他の
オペランドは、前記第1命令セットのオペランドと比較
して減少した範囲を有し、それらの最左端は、前記第2
マッピング手段によるマッピング中に、ゼロを拡張され
る。もう1つの特徴から見た時、本発明はデータ処理方
法を提供し該方法は、複数のコア制御信号に応答するプ
ロセッサコアと、デコード手段により第1命令セットの
Xビットプログラム命令語のPビットをデコードして、
プロセッサコアを制御するコア制御信号を発生させるス
テップと、命令プログラム語を命令パイプラインを経て
前記記デコード手段へ送るステップと、前記命令パイプ
ラインを通過する第2命令セットのYビットプログラム
命令語のQビットを、前記デコード手段によるデコード
のために、対応するXビットプログラム命令語の前記P
ビットにマップするステップと、を含み、YはXより小
さく、かつ前記第2命令セットは前記第1命令セットの
サブセットである。
【0010】
【発明の実施の形態】次に、添付図面を参照しつつ、本
発明の実施例を単なる例として説明する。
【0011】図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ビット処理演算を
行う。
【0012】レジスタバンク6は、現プログラミング状
態レジスタ26と、セーブプログラミング状態レジスタ
28と、を含む。現プログラミング状態レジスタ26
は、プロセッサコア2のためのさまざまな条件および状
態フラグを保持する。これらのフラグには、処理モード
フラグ(例えば、システムモード、ユーザモード、メモ
リアボートモード、など)と、算術演算におけるゼロ結
果、桁上げ、などの発生を表示するフラグと、が含まれ
る。セーブプログラミング状態レジスタ28(これはバ
ンクをなす複数のこのようなセーブプログラミング状態
レジスタの1つでありうる)は、もし処理モードスイッ
チをトリガする異常が起こったならば、現プログラミン
グ状態レジスタ26の内容を一時的に記憶するために用
いられる。このようにして、異常処理は、より高速かつ
より効率的に行われうる。現プログラミング状態レジス
タ26内には、命令セットフラグTが含まれる。この命
令セットフラグは、命令デコーダ18およびプログラム
カウンタインクリメンタ24へ供給される。この命令セ
ットフラグTがセットされた時、システムは、第2命令
セットの命令(すなわち、この場合は16ビットプログ
ラム命令語であるYビットプログラム命令語)によって
演算する。命令セットフラグTは、プログラムカウンタ
インクリメンタ24を制御して、第2命令セットにより
演算せしめられた時、小さいインクリメントステップを
採用せしめる。これは、第2命令セットのプログラム命
令語が小さく、従ってメモリシステム4の記憶場所内に
おいて狭い間隔を有することに符合している。
【0013】前述のように、メモリシステム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
に関連して説明されるように、もっと複雑な構造を有す
る。
【0014】図2は、単一命令セットに対処するための
命令パイプライン16および命令デコーダ18を示す。
この場合、命令デコーダ18は、32ビット命令をデコ
ードする演算を行う第1デコード手段30のみを含む。
このデコード手段30は、プログラム可能論理アレイ
(PLA)を用いて第1命令セット(ARM命令セッ
ト)をデコードし、プロセッサコア2へ供給される複数
のコア制御信号を発生する。現在デコードされている
(すなわち、現在のコア制御信号32を生じる)プログ
ラム命令語もまた、命令レジスタ34内に保持されてい
る。プロセッサコア2内の機能素子(例えば、ブースの
乗算器8またはレジスタバンク6)は、該素子の処理演
算のために必要なオペランドを、直接この命令レジスタ
34から読取る。このような構造の演算の特徴は、第1
デコード手段30が、該第1デコード手段が演算するク
ロックサイクルの初期に、ある入力(パイプライン段P
ipeCから出る実線として示されているPビット)を
必要とすることである。これは、コア制御信号32が、
プロセッサコア2内の必要な素子を駆動するのにちょう
どよい時に発生せしめられることを保証するためであ
る。第1デコード手段30は、比較的大形かつ低速のプ
ログラム可能論理アレイ構造であるので、そのようなタ
イミングの考慮が重要である。命令デコーディングを行
うためのそのようなプログラム可能論理アレイ構造の設
計は、本技術分野における通常のものである。入力の組
は、それらの入力から発生せしめられるべき所望の出力
と共に定められる。その際、市販のソフトウェアが、指
定された入力の組から指定された出力の組を発生するP
LA構造を考案するのに用いられる。
【0015】図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ビッ
トにマップする働きをする。このマッピングを受けるた
めには比較的少数のビットが必要とされるので、高速P
LA38は比較的浅くてもよいため、第1デコード手段
がPipeCの内容に応答してコア制御信号32を発生
するための十分な時間を与えうるほど高速で演算を行
う。高速PLA38は、完全な命令をマッピングする不
必要な時間を費やすことなく、第1デコード手段のため
の対応する32ビット命令の臨界ビットを「捏造する」
ために働くものと考えられうる。
【0016】しかし、完全な32ビット命令は、もしプ
ロセッサコア2が根本的な変更および顕著な追加の回路
素子なしに演算しうるとすれば、プロセッサコア2によ
ってなお必要とされる。時間的に臨界的なマッピングが
高速PLA38により処理されたとすると、並列に接続
された低速PLA40は、16ビット命令を対応する3
2ビット命令にマップして、これを命令レジスタ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命令セット
が、直交するさらなる命令セットが検出され且つデコー
ドされることを可能にするために用いられうる自由ビッ
トのない、現存の命令である状況においては特に有用で
ある。
【0017】図4は、32ビット命令のデコーディング
を示す。図4の上部には、逐次処理クロックサイクルが
示されており、それらのサイクルにおいては、フェッチ
演算、デコード演算、および最後に実行演算が行われ
る。もし特定の命令(例えば、乗算命令)が必要とする
ならば、1つまたはそれ以上の追加の実行サイクルが加
えられる。32ビット命令42は、複数の異なるフィー
ルドから構成される。これらのフィールドの間の境界
は、後に図7に示されるように、異なる命令に対しては
異なる。命令42内のある諸ビットは、1次デコード相
内におけるデコーディングを必要とする。これらのPビ
ットは、ビット4ないし7、20および22ないし27
である。これらは、第1デコード手段30により必要と
される、また高速PLA38により「捏造」されなけれ
ばならない、ビットである。これらのビットは、第1デ
コード手段へ印加され、それによってデコードされて、
デコードサイクルの第1部分の終了までに適切なコア制
御信号32を発生しなければならない。もし必要なら
ば、完全な命令のデコーディングは、デコードサイクル
の終了まで長くかかってもよい。デコードサイクルの終
了時には前記実行サイクル中に、命令レジスタ34から
命令内のオペランドが、プロセッサ2によって読取られ
る。これらのオペランドは、レジスタ指定子、オフセッ
ト、または他の変数でありうる。
【0018】図5は、16ビット命令の例の、32ビッ
ト命令へのマッピングを示す。太い線は、32ビット命
令内のPビットへのマッピングを必要とする、16ビッ
ト命令内のQビットから発しており、従ってそれらは第
1デコード手段30へ印加されうる。これらのビットの
大部分は、直接コピーされるか、または簡単なマッピン
グを受けることがわかる。16ビット命令内のオペラン
ドRn’、Rdおよびイミーディエイト(immedi
ate)は、それらの最上位端をゼロによりパッドし
て、32ビット命令を満たす必要がある。このパディン
グは、32ビット命令のオペランドが、16ビット命令
のオペランドより大きい範囲を有するので必要とされ
る。図5の下部に与えられている32ビット命令の一般
化された形式からわかるように、該32ビット命令は、
16ビット命令によって表されるその命令のサブセット
よりもかなり大きい柔軟性を許容する。例えば、該32
ビット命令は、該命令を条件付きで実行可能とする条件
コードCondの後にある。これとは対照的に、前記1
6ビット命令は自身の中に条件コードを有せず、それら
がマップされる対象である前記32ビット命令の条件コ
ードは、条件付き実行状態「常に」と等価である「11
10」の値にセットされる。
【0019】図6は、もう1つのそのような命令マッピ
ングを示す。この場合の16ビット命令は、図5に示さ
れているものとは異なるタイプのロード/記憶命令であ
る。しかし、この命令はなお、前記32ビット命令セッ
トの単一データ転送命令のサブセットである。
【0020】図7は、前記32ビット命令セットのため
の11の異なるタイプのフォーマットを概略的に示す。
これらの命令を以下に順次列記する。 1. データ処理PSR転送。 2. 乗算。 3. 単一データスワップ。 4. 単一データ転送。 5. 不定。 6. ブロックデータ転送。 7. 分岐。 8. コプロセッサデータ転送。 9. コプロセッサデータ演算。 10.コプロセッサレジスタ転送。 11.ソフトウェア割込み。 この命令セットの十分な説明は、アドバンスト・RIS
C・マシンズ・リミテッド(Advanced RIS
C Machines Limited)により生産さ
れているARM6プロセッサのデータシートに見出され
うる。図7内において強調されている命令は、図5およ
び図6に示されている命令である。
【0021】図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 SHIFT #Im
mediate5であり、SHIFTは、0がLSLで
あり1がLSRであり2がASRでありARMに関し定
められているようなゼロによるシフト。 フォーマット5: Op1*8+Op2は32のALU
演算コードを与え、Rd=Rd op Rn。全ての演
算は条件コードフラグをセットする。演算は以下の通り
である AND,OR,EOR,BIC(AND NOT),N
EGATE,CMP,CMN,MUL,TST,TE
Q,MOV,MVN(NOT),LSL,LSR,AS
R,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(例えば割込み戻り、SUB
S,HI,HI,#4でありうる) MOV SPECIAL,LO(MSR) MOV LO,SPECIAL(MRS) CMP HI,HI(スタックリミットチェック) 8つの自由演算コード
【0022】フォーマット6: Opは4つの演算コー
ドを与える。全ての演算は条件コードフラグをセットす
る。 0:MOV Rd,#Immediate8 1:CMP Rs,#Immediate8 2:ADD Rd,Rd,#Immediate8 ADDは、ADD Rd,Rs,#Immediate
5と交換可能である。 フォーマット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をエンコードする
【0023】フォーマット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をエンコードする
【0024】フォーマット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のSTMF
Dと同様になるそれゆえブロックコピーに対し、r7を
エンドポインタとして用いるもしr7がベースでなけれ
ば、LDMおよびSTMは、ARMのLDMIA、ST
MIAと同様になる フォーマット13:アドレスをロードする。この命令
は、8ビット符号なし定数をPCまたはスタックポイン
タに加算し、結果を宛先レジスタ内に記憶させる。 ADD Rd,sp,+256bytes ADD Rd,pc,+256words(1024b
ytes) SPビットは、SPまたはPCがソースであるか否かを
表示するもしSPがソースであり、かつr7が宛先レジ
スタとして指定されれば、SPは宛先レジスタとして用
いられる。 フォーマット14:条件付き分岐、+/−128バイ
ト、この場合condは(ARMに関してと同様の)条
件コードを定め、cond=15はSWIとしてエンコ
ードする(256のみで多分十分である)。
【0025】フォーマット15:長い分岐およびリンク
のビット22:12をセットする。MOV 1r,#o
ffset<<12。 フォーマット16:長い分岐およびリンクを行う。演算
は、SUB newlr,pc,#4;ORR pc,
oldlr,#offset<<1である。newlr
およびoldlrは、この演算の前および後のlrレジ
スタを意味する。 前述のように、16ビット命令セットは32ビット命令
セットに比し減少したオペランド範囲を有する。これに
符合して、16ビット命令セットは、完全な32ビット
命令セット用に具備されたレジスタ6(図1参照)のサ
ブセットを用いる。図9は、16ビット命令セットによ
り用いられるレジスタの該サブセットを示す。
【図面の簡単な説明】
【図1】プロセッサコアおよびメモリシステムを組み込
んだデータ処理装置を概略的に示す。
【図2】単一命令セットを有するシステム用の命令およ
び命令デコーダを概略的に示す。
【図3】2つの命令セットを有するシステムに用いられ
る命令パイプラインおよび命令デコーダを示す。
【図4】Xビットプログラム命令語のデコーディングを
示す。
【図5】Yビットプログラム命令語の、Xビットプログ
ラム命令語へのマッピングを示す。
【図6】Yビットプログラム命令語の、Xビットプログ
ラム命令語へのマッピングを示す。
【図7】Xビット命令セットを示す。
【図8】Yビット命令セットを示す。
【図9】第1命令セットおよび第2命令セットにとって
利用可能な処理レジスタを示す。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 データ処理装置であって、該装置が、 複数のコア制御信号に応答するプロセッサコアと、 第1命令セットのXビットプログラム命令語のPビット
    をデコードして前記コア制御信号を発生するデコード手
    段と、 該デコード手段への命令プログラム語が通過する命令パ
    イプラインと、 該命令パイプラインを通過する第2命令セットのYビッ
    トプログラム命令語に応答して、該Yビットプログラム
    命令語のQビットを、前記デコード手段によるデコード
    用の対応するXビットプログラム命令語の前記Pビット
    にマップする第1マッピング手段と、を含み、 YがXより小さく、かつ前記プロセッサコアが、前記第
    1命令セットによって用いられ且つある前記Xビットプ
    ログラム命令語内においてレジスタオペランドとして定
    義される複数のレジスタを有し、また前記第2命令セッ
    トが、ある前記Yビットプログラム命令語内においてレ
    ジスタオペランドとして定義される前記レジスタのサブ
    セットを用いる前記データ処理装置。
JP2000349956A 1994-05-03 2000-11-16 データ処理装置 Expired - Lifetime JP3592230B2 (ja)

Applications Claiming Priority (2)

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

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP52804295A Division JP3171201B2 (ja) 1994-05-03 1995-02-15 複数命令セットのマッピング

Publications (2)

Publication Number Publication Date
JP2001142697A true JP2001142697A (ja) 2001-05-25
JP3592230B2 JP3592230B2 (ja) 2004-11-24

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 Before (1)

Application Number Title Priority Date Filing Date
JP52804295A Expired - Lifetime JP3171201B2 (ja) 1994-05-03 1995-02-15 複数命令セットのマッピング

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)

Families Citing this family (82)

* 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
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
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
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
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
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
CN101855617A (zh) * 2007-09-19 2010-10-06 Kpit库敏思信息系统有限公司 使即插即用硬件用于半自动软件迁移的机制
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
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
GB2563580B (en) * 2017-06-15 2019-09-25 Advanced Risc Mach Ltd An apparatus and method for controlling a change in instruction set
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

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
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
JPH09512651A (ja) 1997-12-16
IL113134A0 (en) 1995-06-29

Similar Documents

Publication Publication Date Title
JP3171201B2 (ja) 複数命令セットのマッピング
US5740461A (en) Data processing with multiple instruction sets
US5926642A (en) RISC86 instruction set
US9128701B2 (en) Generating constant for microinstructions from modified immediate field during instruction translation
US5781457A (en) Merge/mask, rotate/shift, and boolean operations from two instruction sets executed in a vectored mux on a dual-ALU
JP3657949B2 (ja) 拡張ワード寸法及びアドレス空間を有する逆互換性コンピュータアーキテクチュア
US5794063A (en) Instruction decoder including emulation using indirect specifiers
US20020049894A1 (en) Method and apparatus for interfacing a processor to a coprocessor
JP2002517037A (ja) 混合ベクトル/スカラレジスタファイル
JPH0766324B2 (ja) データ処理装置
JPH0810428B2 (ja) データ処理装置
EP1680735B1 (en) Apparatus and method that accomodate multiple instruction sets and multiple decode modes
JPH07120278B2 (ja) データ処理装置
US20040024992A1 (en) Decoding method for a multi-length-mode instruction set

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040729

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040813

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040824

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080903

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090903

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090903

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100903

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100903

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110903

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120903

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term