[go: up one dir, main page]

JP2001142691A - 処理装置 - Google Patents

処理装置

Info

Publication number
JP2001142691A
JP2001142691A JP32119599A JP32119599A JP2001142691A JP 2001142691 A JP2001142691 A JP 2001142691A JP 32119599 A JP32119599 A JP 32119599A JP 32119599 A JP32119599 A JP 32119599A JP 2001142691 A JP2001142691 A JP 2001142691A
Authority
JP
Japan
Prior art keywords
instruction
issued
decoder
instruction decoder
code
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
JP32119599A
Other languages
English (en)
Other versions
JP3669884B2 (ja
Inventor
Takumi Takeno
巧 竹野
Kenichi Nabeya
研一 鍋谷
Junya Matsushima
淳也 松島
Daisuke Ban
大輔 伴
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP32119599A priority Critical patent/JP3669884B2/ja
Priority to US09/614,455 priority patent/US6647488B1/en
Publication of JP2001142691A publication Critical patent/JP2001142691A/ja
Application granted granted Critical
Publication of JP3669884B2 publication Critical patent/JP3669884B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/3822Parallel decoding, e.g. parallel decode units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching

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)
  • Advance Control (AREA)

Abstract

(57)【要約】 【課題】 既存のハードウェアに対して大規模な変更を
加えることなく若干の制御を加えてハードウェアによる
命令エミュレーションを実行させることにより、複雑な
機能の命令セットをサポートする。 【解決手段】 1サイクルごとの命令発行が不可能な拡
張命令コードをデコードし、複数個の基本命令の列に分
解して、1サイクルごとに1個の命令を発行する第2の
命令デコーダ30と、その第2の命令デコーダによって
発行されるべき命令の数をカウントするとともに、拡張
命令コードの実行中であることを示す信号を出力するカ
ウンタ32と、基本命令コードの実行中には第1の命令
デコーダ24から発行される命令を選択する一方、拡張
命令コードの実行中には第2の命令デコーダ30から発
行される命令を選択する命令選択部34とが、従来の処
理装置に追加される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータの処
理装置に関し、より詳細には、1サイクルごとの命令発
行が可能な基本命令からなる命令セットを有する処理装
置の機能の拡張に関する。
【0002】
【従来の技術】近年、RISCアーキテクチャを採用し
たマイクロプロセッサが種々製品化されている。RIS
Cとは、縮小命令セットコンピュータ(Reduced Instruc
tion Set Computer)の略であり、RISCアーキテクチ
ャは、使用頻度の高い基本的かつ単純な命令のみからな
る命令セットを設け、コンパイラ技術によって最適にス
ケジューリングされた命令列を単純なハードウェア構成
の下で高速に実行することにより、コストパフォーマン
ス(性能対価格比)の向上を図ろうというものである。
【0003】このようなRISCアーキテクチャでは、
命令長が固定であり、パイプライン制御が最大限に駆使
されている。従来、パイプラインの全てのステージを1
サイクルで通過することができるように単純な命令セッ
トのみで構成されていた。しかしながら、近年のRIS
Cアーキテクチャでは、複雑な処理を行う命令が追加さ
れる傾向にある。例えば、グラフィック機能を高めるた
めの大量データ転送を行う命令等がこれに該当する。
【0004】
【発明が解決しようとする課題】既存の単純な機能の命
令セットを有するプロセッサにおいて新規に複雑な機能
の命令セットを追加する場合、新規にハードウェア設計
を一からやり直す必要があり、開発工数が増大するとい
う問題がある。また、これらの命令をイリーガルな命令
として扱い、トラップ割り込みを発生させ、ソフトウェ
アで命令コードを判断してソフトウェアエミュレーショ
ンを行うことも行われているが、せっかくの性能アップ
を狙った命令セットを使用しても、トラップ割り込みに
よるオーバヘッドが大きいために性能が出ないという問
題がある。
【0005】本発明は、上述した問題点に鑑みてなされ
たものであり、その目的は、既存のハードウェアに対し
て大規模な変更を加えることなく若干の制御を加えてハ
ードウェアによる命令エミュレーション(μオペレーシ
ョン)を行わせることにより、ソフトウェアによる方法
よりも性能を格段に向上させつつ複雑な機能の命令セッ
トをサポートすることが可能な処理装置を提供すること
にある。
【0006】
【課題を解決するための手段】上記目的を達成するため
に、本発明の第1の態様によれば、1サイクルごとの命
令発行が可能な基本命令コード又は1サイクルごとの命
令発行が不可能な拡張命令コードをフェッチして保持す
る命令コード保持手段と、前記命令コード保持手段に保
持された基本命令コードをデコードして命令を発行する
第1の命令デコーダと、前記命令コード保持手段に保持
された拡張命令コードをデコードし、複数個の命令の列
に分解して、1サイクルごとに1個の命令を発行する第
2の命令デコーダと、前記第2の命令デコーダによって
発行されるべき命令の数をカウントするとともに、拡張
命令コードの実行中であることを示す信号を出力するカ
ウンタと、基本命令コードの実行中には前記第1の命令
デコーダから発行される命令を選択する一方、拡張命令
コードの実行中には前記第2の命令デコーダから発行さ
れる命令を選択する命令選択手段と、前記命令選択手段
から出力される命令を保持する実行命令保持手段と、前
記実行命令保持手段に保持された命令の内容を実行する
命令実行手段と、を具備する処理装置が提供される。
【0007】また、本発明の第2の態様によれば、前記
第1の態様に係る処理装置は、前記第2の命令デコーダ
による命令発行ごとにプログラムカウンタが更新される
のを抑止する手段を更に具備する。
【0008】また、本発明の第3の態様によれば、前記
第1の態様に係る処理装置は、前記第1の命令デコーダ
により既に発行された命令が全て完了したことを検出す
る手段を具備し、前記第2の命令デコーダは、該検出す
る手段の出力がオンであることを確認してから命令発行
を開始する。
【0009】また、本発明の第4の態様によれば、前記
第3の態様に係る処理装置は、前記第2の命令デコーダ
による命令発行が開始されたときにオンにされ発行され
た命令が全て完了したときにオフにされるフラグを作成
する手段を更に具備し、前記第1の命令デコーダは該フ
ラグがオンの間は命令発行を行わない。
【0010】また、本発明の第5の態様によれば、前記
第1の態様に係る処理装置は、前記第2の命令デコーダ
により命令が連続して発行されていることを示す信号を
生成する手段と、該信号に基づいて前記第2の命令デコ
ーダにより発行される全ての命令ごとにハードウェア資
源に対するスナップショットを生成する手段と、を更に
具備する。
【0011】また、本発明の第6の態様によれば、前記
第1の態様に係る処理装置は、前記第2の命令デコーダ
により最初の命令が発行されたときにオンにされ前記第
2の命令デコーダにより発行された最後の命令が完了し
たときにオフにされるフラグを作成する手段を更に具備
し、前記第1の命令デコーダは該フラグがオンの間は命
令発行を行わない。
【0012】また、本発明の第7の態様によれば、前記
第1の態様に係る処理装置は、前記第2の命令デコーダ
により最初の命令が発行されたときにオンにされ前記第
2の命令デコーダにより発行された最後の命令が完了し
たときにオフにされるフラグを作成する手段と、該フラ
グがオンの間は非同期の割り込みを抑止する手段と、を
更に具備する。
【0013】また、本発明の第8の態様によれば、前記
第1の態様に係る処理装置は、前記第2の命令デコーダ
により最初の命令が発行されたときにオンにされ前記第
2の命令デコーダにより発行された最後の命令が完了し
たときにオフにされるフラグを作成する手段と、該フラ
グがオンの間前記命令実行手段からの命令完了信号を監
視し該信号がオンとなるごとにカウントを行うカウンタ
と、を更に具備し、該カウンタの値が前記第2の命令デ
コーダにより発行されるべき命令の数に達したときに処
理装置を拡張命令コードの実行が完了した状態に移行さ
せる。
【0014】また、本発明の第9の態様によれば、前記
第1の態様に係る処理装置は、前記第2の命令デコーダ
による命令発行が開始される前に非同期割り込みが発生
しそうにないことを確認して前記第2の命令デコーダに
よる命令発行中は割り込みが発生しないように制御する
手段を更に具備する。
【0015】また、本発明の第10の態様によれば、前
記第1の態様に係る処理装置は、前記第2の命令デコー
ダにより最初の命令が発行されるサイクルで拡張命令コ
ードのイリーガルコンディションを検出し、イリーガル
である場合に前記第2の命令デコーダによる命令列の発
行を抑止すべく割り込みを発生させる手段を更に具備す
る。
【0016】また、本発明の第11の態様によれば、前
記第1の態様に係る処理装置は、前記第1の命令デコー
ダにより既に発行された命令が全て完了したことを検出
する手段を具備し、前記第2の命令デコーダにより最初
の命令が発行されるときのみハードウェア資源に対する
スナップショットを作成し、前記第2の命令デコーダに
より後続の命令が発行されるときにはスナップショット
を作成しない手段を更に具備する。
【0017】また、本発明の第12の態様によれば、前
記第1の態様に係る処理装置は、前記第2の命令デコー
ダにより発行される命令の実行中には、アドレスストッ
プ用アドレス一致検出回路の出力をマスクし、前記第2
の命令デコーダにより発行される最後の命令の実行が完
了したときにアドレス一致結果を割り込み制御回路へ通
知する手段を更に具備する。
【0018】また、本発明の第13の態様によれば、前
記第1から第12までの態様に係る処理装置において、
前記第2の命令デコーダによってデコードされる拡張命
令コードは、一つの基本命令で転送可能なデータのサイ
ズの整数倍のサイズを有するデータの転送を指示するブ
ロックデータ転送命令コードである。
【0019】
【発明の実施の形態】以下、添付図面を参照して本発明
の実施形態について説明する。最初に、本発明の理解を
容易にするため、従来技術について説明する。図1は、
従来技術に係る処理装置のハードウェア構成を示すブロ
ック図である。また、図2は、図1の処理装置の動作を
説明するためのタイムチャートである。図1に示される
ように、従来の処理装置は、基本的に、命令コードをフ
ェッチして保持する命令コード保持部22、その命令コ
ードをデコードしデコード後の命令を発行する命令デコ
ーダ24、そのデコード後の命令をハードウェアへの制
御情報として保持する実行命令保持部26、及びその実
行命令保持部に保持された命令の内容を実行する命令実
行部28から構成される。
【0020】そして、図2のタイムチャートに示される
ように、1つの命令の動作は、クロックサイクルに同期
した4つのステージ、すなわちFE(fetch) ステージ、
DE(decode)ステージ、EX(execution) ステージ、及
びWR(write back)ステージで実現されるとともに、各
命令は、1ステージずつずれつつ流れ作業的に並行して
処理されていく。
【0021】このようなパイプライン制御を可能とする
既存の単純な機能の命令セット(基本命令セット)に加
えて新規に複雑な機能の命令セット(拡張命令セット)
をサポートしようとする場合において、ハードウェア設
計を一からやり直そうとすると、膨大な開発工数が必要
となる。そこで、本発明は、図1に示される既存のハー
ドウェア構成に若干の変更を加えるだけで、複雑な機能
の命令セットをサポートしようというものである。
【0022】図3は、本発明の第1実施形態に係る処理
装置のハードウェア構成を示すブロック図である。ま
た、図4は、第1実施形態の動作を説明するためのタイ
ムチャートである。図3における命令コード保持部2
2、命令デコーダ24、実行命令保持部26及び命令実
行部28は、従来技術に係る図1における命令コード保
持部22、命令デコーダ24、実行命令保持部26及び
命令実行部28と同一であり、図3の構成は、図1の構
成に対してμOP(micro operation) 命令デコーダ3
0、μOPカウンタ32及び命令選択部34を追加した
ものとなっている。
【0023】命令コード保持部22に基本命令コードが
フェッチされ保持された場合には、図1に関して説明し
た従来の動作と同様に、命令デコーダ24がその基本命
令コードをデコードして通常命令(基本命令)を出力
し、その通常命令が、命令選択部34を介して発行さ
れ、実行命令保持部26によって保持され、命令実行部
28によって実行されることとなる。
【0024】一方、命令コード保持部22に拡張命令コ
ードがフェッチされ保持された場合、すなわち図4に示
されるように命令m+1がフェッチされた場合には、以
下のような動作がなされる。ここで、拡張命令である命
令m+1は、一つの基本命令で転送可能なデータのサイ
ズの整数倍のサイズを有するデータのメモリ・レジスタ
間転送を指示する BLOCK DATA (ブロックデータ)転送
命令を例示している。例えば、基本命令として8バイト
の転送命令がサポートされている場合において、64バ
イトの転送を指示する転送命令が、この BLOCK DATA 転
送命令に該当する。
【0025】まず、命令m+1のFEステージにおいて
命令コード保持部22からμOP命令デコーダ30へ命
令コードが供給される。すると、μOP命令デコーダ3
0は、命令m+1のDEステージの先頭で、その命令コ
ードが拡張命令としての BLOCK DATA 転送命令を表して
いることを識別する。μOP命令デコーダ30は、拡張
命令コードであることを認識したときには、拡張命令を
実現する複数の基本命令である各μOP(micro operati
on) 命令の発行が完了するまで当該拡張命令コードを保
持するよう命令コード保持部22に対して指示する。
【0026】そして、μOP命令デコーダ30は、拡張
命令コードをμOP命令1、μOP命令2、・・・、μ
OP命令n−1、μOP命令nなるn個の基本命令に変
換し、図4に示されるように、各μOP命令を1命令/
サイクルで発行し、命令選択部34に供給する。例え
ば、64バイトの BLOCK DATA 転送命令の場合には、転
送元及び転送先のアドレスを変えつつ8バイトの転送命
令を8回発行することとなる。
【0027】また、μOP命令デコーダ30は、命令選
択部34に対して、μOP命令の発行中であることを示
す信号を送る。この信号がオンである間、命令選択部3
4は、μOP命令デコーダ30から供給される命令を選
択して実行命令保持部26へ送出する。また、μOP命
令デコーダ30は、並行して、μOP命令を発行するこ
とをμOPカウンタ32に対して通知する。
【0028】μOPカウンタ32は、μOP命令デコー
ダ30からμOP命令の発行の通知を受けると、n個の
命令を発行するためのカウントを開始する。μOP命令
の発行中には、μOPカウンタ32は、図4に示される
ように、μOP命令が実行されていることを示す信号μ
OPEXECをオンにする。そして、μOPカウンタ3
2は、nサイクルのカウントが終了すると、図4に示さ
れるように、分割命令を発行するサイクルが終了したこ
とを示す信号μOPENDをμOP命令デコーダ30に
送出する。最後に、μOPカウンタ32は、リセットさ
れ、次のμOP命令発行に備える。
【0029】かくして、本実施形態によれば、1サイク
ルごとの命令発行が可能な基本命令コードのみをサポー
トしていたプロセッサが、簡単なハードウェア変更によ
り、1サイクルごとの命令発行が不可能な拡張命令コー
ドをn個の基本命令の列に分解して1サイクルごとに1
個の命令を発行することで、拡張命令コードをサポート
することができるようになる。以下、この実施形態に対
して更なる改良を加えた実施形態について説明する。
【0030】図5は、本発明の第2実施形態に係る処理
装置のハードウェア構成を示すブロック図である。前述
の実施形態と同一の部分については、同一の参照符号を
付すことにより、その説明を省略する。一般に、処理装
置には、現在実行中の又は次に実行されるべき命令が記
憶されている主記憶装置のアドレスを保持するプログラ
ムカウンタ(PC)38が設けられている。
【0031】この第2実施形態では、μOP命令デコー
ダ30による命令発行ごとにプログラムカウンタ38が
更新されるのを抑止するために、命令発行制御部36が
設けられている。そして、この命令発行制御部36は、
実行命令保持部26及び命令実行部28に対しては通常
通りの動作をさせるとともに、μOP命令の実行時には
拡張命令1個分だけプログラムカウンタ38が更新され
るように制御する。これによって、 BLOCK DATA 転送命
令等の拡張命令を1個の命令としてソフトウェアに見せ
ることができ、従来のソフトウェアを変更することなく
マルチサイクルの命令をサポートすることができる。
【0032】図6は、本発明の第3実施形態に係る処理
装置のハードウェア構成を示すブロック図である。ま
た、図7は、第3実施形態の動作を説明するためのタイ
ムチャートである。前述の各実施形態と同一の部分につ
いては、同一の参照符号を付すことにより、その説明を
省略する。この実施形態では、命令デコーダ24により
既に発行された命令が全て完了したことを命令発行制御
部36の出力に基づいて検出するSync検出部40が
設けられている。すなわち、Sync検出部40は、図
7に示されるように、命令m+1( BLOCK DATA 転送命
令)の前の命令mのWRステージの完了時点でその出力
をオンにする。
【0033】そして、μOP命令デコーダ30は、Sy
nc検出部40の出力がオンであることを確認してから
命令発行を開始する。すなわち、図7に示されるよう
に、Sync検出部40の出力がオンになった後に命令
m+1( BLOCK DATA 転送命令)のDEステージが開始
される。これにより、 BLOCK DATA 転送命令等の拡張命
令の実行時には、それ以前の命令が全て完了しているこ
とが保証されることとなる。したがって、拡張命令と一
般の基本命令との混在が避けられ、従来の命令実行部の
ハードウェアをそのまま使用することができるようにな
る。すなわち、拡張命令と一般の基本命令との区別が不
要となる。
【0034】図8は、本発明の第4実施形態に係る処理
装置のハードウェア構成を示すブロック図である。ま
た、図9は、第4実施形態の動作を説明するためのタイ
ムチャートである。前述の各実施形態と同一の部分につ
いては、同一の参照符号を付すことにより、その説明を
省略する。この第4実施形態では、前記第3実施形態の
構成に対して、更に、μOP命令デコーダ30による命
令発行が開始されたときにオンにされ発行された命令が
全て完了したときにオフにされるPostSyncフラ
グを作成するPostSyncフラグ作成部42が設け
られている。
【0035】すなわち、このPostSyncフラグ
は、図9に示されるように、μOP命令1、μOP命令
2、・・・、μOP命令nが発行されている間、オンに
なる。そして、命令デコーダ24は、PostSync
フラグがオンの間は命令発行を行わない。すなわち、図
9の例では、命令m+2のDEステージが抑止される。
かくして、拡張命令と一般の基本命令との混在が避けら
れ、従来の命令実行部のハードウェアをそのまま使用す
ることができるようになる。
【0036】図10は、本発明の第5実施形態に係る処
理装置のハードウェア構成を示すブロック図である。図
11は、第5実施形態の動作を説明するためのタイムチ
ャートである。前述の各実施形態と同一の部分について
は、同一の参照符号を付すことにより、その説明を省略
する。この第5実施形態では、μOP命令デコーダ30
により命令が連続して発行されていることを示すμOP
Issue 信号を生成するμOPIssue 信号生成回路44
と、このμOPIssue 信号に基づいてμOP命令デコー
ダ30により発行される全ての命令ごとにハードウェア
資源48に対するスナップショットを生成するSNAP
−SHOT回路46と、が設けられている。
【0037】すなわち、図11に示されるように、μO
PIssue 信号は、μOP命令1、μOP命令2、・・
・、μOP命令nの各DEステージの間、オンにされ
る。そして、このμOPIssue 信号がオンの間、SNA
P−SHOT回路46に対してスナップショットの作成
を指示する信号make snap shot信号がオンにされる。
かくして、μOP命令1、μOP命令2、・・・、μO
P命令nにおいて例外(exception) (実装されていない
メモリへのアクセス等の例外的事象)が発生しても、そ
の例外に対する処理を容易に実行することが可能とな
る。
【0038】図12は、本発明の第6実施形態に係る処
理装置のハードウェア構成を示すブロック図である。ま
た、図13は、第6実施形態の動作を説明するためのタ
イムチャートである。前述の各実施形態と同一の部分に
ついては、同一の参照符号を付すことにより、その説明
を省略する。この第6実施形態では、μOP命令デコー
ダ30により最初の命令が発行されたときにオンにされ
かつ発行された最後の命令が完了したときにオフにされ
るμOP実行フラグを作成するμOP実行フラグ作成部
50が設けられている。
【0039】すなわち、図13に示されるように、μO
P実行フラグは、μOP命令1のDEステージからμO
P命令nのWRステージまでの間、オンにされる。そし
て、命令デコーダ24は、μOP実行フラグがオンの
間、 BLOCK DATA 転送命令等の拡張命令に続く命令の発
行を抑止する。このことにより、一般の基本命令とμO
P命令とが分離され、ハードウェアの簡素化が可能とな
る。
【0040】図14は、本発明の第7実施形態に係る処
理装置のハードウェア構成を示すブロック図である。前
述の各実施形態と同一の部分については、同一の参照符
号を付すことにより、その説明を省略する。この第7実
施形態では、前記第6実施形態と同様に、μOP実行フ
ラグ作成部50が設けられ、μOP実行フラグが前記図
13に示される如くオンになる。そして、トラップ割り
込みを制御するTRAP制御部52は、μOP実行フラ
グを参照してμOP実行フラグがオンの間は非同期の割
り込みを抑止する。このため、μOP命令の実行中に
は、ソフトウェアに対する割り込みが発生しないことと
なり、割り込み制御の容易化が可能となる。
【0041】図15は、本発明の第8実施形態に係る処
理装置のハードウェア構成を示すブロック図である。ま
た、図16は、第8実施形態の動作を説明するためのタ
イムチャートである。前述の各実施形態と同一の部分に
ついては、同一の参照符号を付すことにより、その説明
を省略する。この第8実施形態では、前記したμOP実
行フラグ作成部50に加えて、μOP実行フラグがオン
の間、命令実行部28からの命令完了信号を監視し、命
令完了信号がオンとなるごとにカウントを行うμOPco
mpleteカウンタ54が設けられている。
【0042】すなわち、図16に示されるように、μO
Pcompleteカウンタ54の値は、μOP命令1、μOP
命令2、・・・、μOP命令nの各WRステージの終了
時点でインクリメントされる。そして、μOPcomplete
カウンタ54の値がμOP命令デコーダ30により発行
されるべき命令の数であるnに達したときに、全てのμ
OP命令が完了したと判断して、処理装置を、 BLOCK D
ATA 転送命令を完了した状態、すなわち拡張命令コード
の実行が完了した状態に移行させる。かくして、命令実
行部28におけるout-of-order(追越し)処理の制御を
変更することが不要となる。
【0043】図17は、本発明の第9実施形態に係る処
理装置のハードウェア構成を示すブロック図である。前
述の各実施形態と同一の部分については、同一の参照符
号を付すことにより、その説明を省略する。この第9実
施形態では、μOP命令デコーダ30による命令発行が
開始される前に非同期割り込みが発生しそうにないこと
を確認してμOP命令デコーダ30による命令発行中は
割り込みが発生しないように制御するPRETRAP回
路56が設けられている。
【0044】すなわち、PRETRAP回路56は、ト
ラップ割り込みを制御するTRAP制御部52の内部状
態に基づいて、非同期割り込みが発生しそうにない期間
においてのみ、μOP命令デコーダ30によるμOP命
令の発行を許可する。これにより、μOP命令の実行中
に非同期割り込みが禁止されることとなり、割り込み制
御の簡単化及びμOP命令の分断の抑止が図られ、その
結果、命令発行制御の簡易化が実現される。
【0045】図18は、本発明の第10実施形態に係る
処理装置のハードウェア構成を示すブロック図である。
前述の各実施形態と同一の部分については、同一の参照
符号を付すことにより、その説明を省略する。この第1
0実施形態では、μOP命令デコーダ30により最初の
命令が発行されるサイクルで拡張命令コードのイリーガ
ルコンディションを検出し、イリーガルである場合にμ
OP命令デコーダ30による命令列の発行を抑止すべく
割り込みを発生させるイリーガル検出回路58が設けら
れている。
【0046】すなわち、このイリーガル検出回路58
は、命令のオペランドにおいて指定されるアドレスが境
界条件を満たしていない等のイリーガルコンディション
を検出するものであり、イリーガルな命令であった場合
には、μOP命令として実行されるべき命令列が発行さ
れるのをその出力信号により抑止するとともに、トラッ
プ割り込みを発生させるべくTRAP制御部52に通知
する。かくして、 BLOCKDATA 転送命令等の拡張命令の
誤発行を抑止することができる。
【0047】図19は、本発明の第11実施形態に係る
処理装置のハードウェア構成を示すブロック図である。
前述の各実施形態と同一の部分については、同一の参照
符号を付すことにより、その説明を省略する。この第1
1実施形態では、前記したSync検出部40が設けら
れ、更に、μOP命令デコーダ30により最初のμOP
命令が発行されるときのみハードウェア資源48に対す
るスナップショットを作成し、μOP命令デコーダ30
により後続のμOP命令が発行されるときにはスナップ
ショットを作成しないSNAP−SHOT回路46′が
設けられている。
【0048】かくして、2番目以降のμOP命令の途中
で例外が発生した場合においても、最も古いスナップシ
ョットの情報、すなわち BLOCK DATA 転送命令等の拡張
命令を指す先頭のμOP命令の実行時の情報が、トラッ
プ割り込みでソフトウェアに通知されることとなる。す
なわち、 BLOCK DATA 転送命令等の拡張命令で例外が発
生したようにソフトウェアに通知し、μOP命令をソフ
トウェアに認識させることがないようにすることが可能
となる。
【0049】図20は、本発明の第12実施形態に係る
処理装置のハードウェア構成を示すブロック図である。
前述の各実施形態と同一の部分については、同一の参照
符号を付すことにより、その説明を省略する。一般に、
処理装置においては、ソフトウェアのデバッグ等のため
にアドレスストップ用アドレス一致検出回路60が設け
られることが多い。この第12実施形態では、μOP命
令デコーダ30により発行されるμOP命令の実行中に
は、アドレスストップ用アドレス一致検出回路60の出
力をマスクし、μOP命令デコーダ30により発行され
る最後のμOP命令の実行が完了したときにアドレス一
致結果をTRAP制御部52へ通知するマスク回路62
が設けられている。
【0050】このため、 BLOCK DATA 転送命令等の拡張
命令の実行後にアドレス一致の割り込みが発生するのが
保証され、μOP命令を用いて複数サイクルで実行され
る拡張命令に対するアドレスストップをソフトウェアの
介在なしに実現することができる。
【0051】以上、本発明の実施形態について述べてき
たが、もちろん本発明はこれに限定されるものではな
く、様々な実施形態を採用することが可能である。
【0052】
【発明の効果】以上説明したように、本発明によれば、
既存のハードウェアに対して大規模な変更を加えること
なく若干の制御を加えてハードウェアによる命令エミュ
レーションを実行させることにより複雑な機能の命令セ
ットをサポートする処理装置が提供される。
【図面の簡単な説明】
【図1】従来技術に係る処理装置のハードウェア構成を
示すブロック図である。
【図2】図1の処理装置の動作を説明するためのタイム
チャートである。
【図3】本発明の第1実施形態に係る処理装置のハード
ウェア構成を示すブロック図である。
【図4】第1実施形態の動作を説明するためのタイムチ
ャートである。
【図5】本発明の第2実施形態に係る処理装置のハード
ウェア構成を示すブロック図である。
【図6】本発明の第3実施形態に係る処理装置のハード
ウェア構成を示すブロック図である。
【図7】第3実施形態の動作を説明するためのタイムチ
ャートである。
【図8】本発明の第4実施形態に係る処理装置のハード
ウェア構成を示すブロック図である。
【図9】第4実施形態の動作を説明するためのタイムチ
ャートである。
【図10】本発明の第5実施形態に係る処理装置のハー
ドウェア構成を示すブロック図である。
【図11】第5実施形態の動作を説明するためのタイム
チャートである。
【図12】本発明の第6実施形態に係る処理装置のハー
ドウェア構成を示すブロック図である。
【図13】第6実施形態の動作を説明するためのタイム
チャートである。
【図14】本発明の第7実施形態に係る処理装置のハー
ドウェア構成を示すブロック図である。
【図15】本発明の第8実施形態に係る処理装置のハー
ドウェア構成を示すブロック図である。
【図16】第8実施形態の動作を説明するためのタイム
チャートである。
【図17】本発明の第9実施形態に係る処理装置のハー
ドウェア構成を示すブロック図である。
【図18】本発明の第10実施形態に係る処理装置のハ
ードウェア構成を示すブロック図である。
【図19】本発明の第11実施形態に係る処理装置のハ
ードウェア構成を示すブロック図である。
【図20】本発明の第12実施形態に係る処理装置のハ
ードウェア構成を示すブロック図である。
【符号の説明】
22…命令コード保持部 24…命令デコーダ 26…実行命令保持部 28…命令実行部 30…μOPデコーダ 32…μOPカウンタ 34…命令選択部 36…命令発行制御部 38…プログラムカウンタ 40…Sync検出部 42…PostSyncフラグ作成部 44…μOPIssue 信号生成回路 46,46′…SNAP−SHOT回路 48…アーキテクチャハードウェア資源 50…μOP実行フラグ作成部 52…TRAP制御部 54…μOPcompleteカウンタ 56…PRETRAP検出回路 58…イリーガル検出回路 60…アドレスストップ用アドレス一致検出回路 62…マスク回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 松島 淳也 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 伴 大輔 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 Fターム(参考) 5B033 BA01 BA03 BD01 BE01

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 1サイクルごとの命令発行が可能な基本
    命令コード又は1サイクルごとの命令発行が不可能な拡
    張命令コードをフェッチして保持する命令コード保持手
    段(22)と、 前記命令コード保持手段に保持された基本命令コードを
    デコードして命令を発行する第1の命令デコーダ(2
    4)と、 前記命令コード保持手段に保持された拡張命令コードを
    デコードし、複数個の命令の列に分解して、1サイクル
    ごとに1個の命令を発行する第2の命令デコーダ(3
    0)と、 前記第2の命令デコーダによって発行されるべき命令の
    数をカウントするとともに、拡張命令コードの実行中で
    あることを示す信号を出力するカウンタ(32)と、 基本命令コードの実行中には前記第1の命令デコーダか
    ら発行される命令を選択する一方、拡張命令コードの実
    行中には前記第2の命令デコーダから発行される命令を
    選択する命令選択手段(34)と、 前記命令選択手段から出力される命令を保持する実行命
    令保持手段(26)と、 前記実行命令保持手段に保持された命令の内容を実行す
    る命令実行手段(28)と、 を具備する処理装置。
  2. 【請求項2】 前記第2の命令デコーダによる命令発行
    ごとにプログラムカウンタ(38)が更新されるのを抑
    止する手段(36)を更に具備する、請求項1に記載の
    処理装置。
  3. 【請求項3】 前記第1の命令デコーダにより既に発行
    された命令が全て完了したことを検出する手段(40)
    を具備し、前記第2の命令デコーダは、該検出する手段
    の出力がオンであることを確認してから命令発行を開始
    する、請求項1に記載の処理装置。
  4. 【請求項4】 前記第2の命令デコーダによる命令発行
    が開始されたときにオンにされ発行された命令が全て完
    了したときにオフにされるフラグを作成する手段(4
    2)を更に具備し、前記第1の命令デコーダは該フラグ
    がオンの間は命令発行を行わない、請求項3に記載の処
    理装置。
  5. 【請求項5】 前記第2の命令デコーダにより命令が連
    続して発行されていることを示す信号を生成する手段
    (44)と、該信号に基づいて前記第2の命令デコーダ
    により発行される全ての命令ごとにハードウェア資源
    (48)に対するスナップショットを生成する手段(4
    6)と、を更に具備する、請求項1に記載の処理装置。
  6. 【請求項6】 前記第2の命令デコーダにより最初の命
    令が発行されたときにオンにされ前記第2の命令デコー
    ダにより発行された最後の命令が完了したときにオフに
    されるフラグを作成する手段(50)を更に具備し、前
    記第1の命令デコーダは該フラグがオンの間は命令発行
    を行わない、請求項1に記載の処理装置。
  7. 【請求項7】 前記第2の命令デコーダにより最初の命
    令が発行されたときにオンにされ前記第2の命令デコー
    ダにより発行された最後の命令が完了したときにオフに
    されるフラグを作成する手段(50)と、該フラグがオ
    ンの間は非同期の割り込みを抑止する手段(52)と、
    を更に具備する、請求項1に記載の処理装置。
  8. 【請求項8】 前記第2の命令デコーダにより最初の命
    令が発行されたときにオンにされ前記第2の命令デコー
    ダにより発行された最後の命令が完了したときにオフに
    されるフラグを作成する手段(50)と、該フラグがオ
    ンの間前記命令実行手段からの命令完了信号を監視し該
    信号がオンとなるごとにカウントを行うカウンタ(5
    2)と、を更に具備し、該カウンタの値が前記第2の命
    令デコーダにより発行されるべき命令の数に達したとき
    に処理装置を拡張命令コードの実行が完了した状態に移
    行させる、請求項1に記載の処理装置。
  9. 【請求項9】 前記第2の命令デコーダによる命令発行
    が開始される前に非同期割り込みが発生しそうにないこ
    とを確認して前記第2の命令デコーダによる命令発行中
    は割り込みが発生しないように制御する手段(56)を
    更に具備する、請求項1に記載の処理装置。
  10. 【請求項10】 前記第2の命令デコーダにより最初の
    命令が発行されるサイクルで拡張命令コードのイリーガ
    ルコンディションを検出し、イリーガルである場合に前
    記第2の命令デコーダによる命令列の発行を抑止すべく
    割り込みを発生させる手段(58)を更に具備する、請
    求項1に記載の処理装置。
  11. 【請求項11】 前記第1の命令デコーダにより既に発
    行された命令が全て完了したことを検出する手段(4
    0)を具備し、前記第2の命令デコーダにより最初の命
    令が発行されるときのみハードウェア資源(48)に対
    するスナップショットを作成し、前記第2の命令デコー
    ダにより後続の命令が発行されるときにはスナップショ
    ットを作成しない手段(46′)を更に具備する、請求
    項1に記載の処理装置。
  12. 【請求項12】 前記第2の命令デコーダにより発行さ
    れる命令の実行中には、アドレスストップ用アドレス一
    致検出回路(60)の出力をマスクし、前記第2の命令
    デコーダにより発行される最後の命令の実行が完了した
    ときにアドレス一致結果を割り込み制御回路(52)へ
    通知する手段(62)を更に具備する、請求項1に記載
    の処理装置。
  13. 【請求項13】 前記第2の命令デコーダによってデコ
    ードされる拡張命令コードが、一つの基本命令で転送可
    能なデータのサイズの整数倍のサイズを有するデータの
    転送を指示するブロックデータ転送命令コードである、
    請求項1から請求項12までのいずれか1項に記載の処
    理装置。
JP32119599A 1999-11-11 1999-11-11 処理装置 Expired - Fee Related JP3669884B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP32119599A JP3669884B2 (ja) 1999-11-11 1999-11-11 処理装置
US09/614,455 US6647488B1 (en) 1999-11-11 2000-07-12 Processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32119599A JP3669884B2 (ja) 1999-11-11 1999-11-11 処理装置

Publications (2)

Publication Number Publication Date
JP2001142691A true JP2001142691A (ja) 2001-05-25
JP3669884B2 JP3669884B2 (ja) 2005-07-13

Family

ID=18129862

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32119599A Expired - Fee Related JP3669884B2 (ja) 1999-11-11 1999-11-11 処理装置

Country Status (2)

Country Link
US (1) US6647488B1 (ja)
JP (1) JP3669884B2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1324191A1 (en) * 2001-12-27 2003-07-02 STMicroelectronics S.r.l. Processor architecture, related system and method of operation
US7181596B2 (en) * 2002-02-12 2007-02-20 Ip-First, Llc Apparatus and method for extending a microprocessor instruction set
US7529912B2 (en) * 2002-02-12 2009-05-05 Via Technologies, Inc. Apparatus and method for instruction-level specification of floating point format
US7315921B2 (en) * 2002-02-19 2008-01-01 Ip-First, Llc Apparatus and method for selective memory attribute control
US7328328B2 (en) * 2002-02-19 2008-02-05 Ip-First, Llc Non-temporal memory reference control mechanism
US7546446B2 (en) * 2002-03-08 2009-06-09 Ip-First, Llc Selective interrupt suppression
US7395412B2 (en) * 2002-03-08 2008-07-01 Ip-First, Llc Apparatus and method for extending data modes in a microprocessor
US7155598B2 (en) * 2002-04-02 2006-12-26 Ip-First, Llc Apparatus and method for conditional instruction execution
US7302551B2 (en) * 2002-04-02 2007-11-27 Ip-First, Llc Suppression of store checking
US7380103B2 (en) * 2002-04-02 2008-05-27 Ip-First, Llc Apparatus and method for selective control of results write back
US7373483B2 (en) * 2002-04-02 2008-05-13 Ip-First, Llc Mechanism for extending the number of registers in a microprocessor
US7185180B2 (en) * 2002-04-02 2007-02-27 Ip-First, Llc Apparatus and method for selective control of condition code write back
US7380109B2 (en) * 2002-04-15 2008-05-27 Ip-First, Llc Apparatus and method for providing extended address modes in an existing instruction set for a microprocessor
US6954865B2 (en) * 2002-06-18 2005-10-11 Sun Microsystems, Inc. Reduced verification complexity and power saving features in a pipelined integrated circuit
US20070226454A1 (en) * 2006-03-01 2007-09-27 Marius Stoian Highly scalable MIMD machine for java and .net processing
US20080177979A1 (en) * 2006-03-01 2008-07-24 Gheorghe Stefan Hardware multi-core processor optimized for object oriented computing
US7749593B2 (en) * 2006-07-07 2010-07-06 Certainteed Corporation Solar heat responsive exterior surface covering

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01286030A (ja) * 1988-05-12 1989-11-17 Nec Corp 情報処理装置
JPH02190930A (ja) * 1988-12-29 1990-07-26 Internatl Business Mach Corp <Ibm> ソフトウエア命令実行装置
JPH03150633A (ja) * 1989-11-07 1991-06-27 Matsushita Electric Ind Co Ltd 命令解読装置
JPH04306735A (ja) * 1991-04-04 1992-10-29 Toshiba Corp 非同期割込み禁止機構
JPH08339298A (ja) * 1995-02-02 1996-12-24 Ricoh Co Ltd マイクロプロセッサにおける命令追加方法及びそれを用いたマイクロプロセッサ
JPH11272462A (ja) * 1998-03-24 1999-10-08 Fuji Electric Co Ltd 情報処理装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5233695A (en) * 1987-03-31 1993-08-03 Kabushiki Kaisha Toshiba Microprocessor with a reduced size microprogram
JP2694948B2 (ja) * 1987-03-31 1997-12-24 株式会社東芝 マイクロプログラム処理装置
US5630083A (en) * 1994-03-01 1997-05-13 Intel Corporation Decoder for decoding multiple instructions in parallel
JPH09330219A (ja) 1996-06-12 1997-12-22 Matsushita Electric Ind Co Ltd 命令解読器切替型プロセッサ及び翻訳装置
US6032252A (en) * 1997-10-28 2000-02-29 Advanced Micro Devices, Inc. Apparatus and method for efficient loop control in a superscalar microprocessor
US6105125A (en) * 1997-11-12 2000-08-15 National Semiconductor Corporation High speed, scalable microcode based instruction decoder for processors using split microROM access, dynamic generic microinstructions, and microcode with predecoded instruction information
US6356995B2 (en) * 1998-07-02 2002-03-12 Picoturbo, Inc. Microcode scalable processor
US6430674B1 (en) * 1998-12-30 2002-08-06 Intel Corporation Processor executing plural instruction sets (ISA's) with ability to have plural ISA's in different pipeline stages at same time

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01286030A (ja) * 1988-05-12 1989-11-17 Nec Corp 情報処理装置
JPH02190930A (ja) * 1988-12-29 1990-07-26 Internatl Business Mach Corp <Ibm> ソフトウエア命令実行装置
JPH03150633A (ja) * 1989-11-07 1991-06-27 Matsushita Electric Ind Co Ltd 命令解読装置
JPH04306735A (ja) * 1991-04-04 1992-10-29 Toshiba Corp 非同期割込み禁止機構
JPH08339298A (ja) * 1995-02-02 1996-12-24 Ricoh Co Ltd マイクロプロセッサにおける命令追加方法及びそれを用いたマイクロプロセッサ
JPH11272462A (ja) * 1998-03-24 1999-10-08 Fuji Electric Co Ltd 情報処理装置

Also Published As

Publication number Publication date
US6647488B1 (en) 2003-11-11
JP3669884B2 (ja) 2005-07-13

Similar Documents

Publication Publication Date Title
JP2001142691A (ja) 処理装置
JP3176093B2 (ja) マイクロプロセッサの割込み制御装置
JP2003085000A (ja) トレース情報生成装置およびその方法
JP2001195250A (ja) 命令トランスレータ、トランスレータ付命令メモリおよびそれらを用いたデータ処理装置
US12153929B2 (en) Processor that executes instruction that specifies instruction concatenation and atomicity
TW201342225A (zh) 用於使用觸發來決定指令順序之方法
CN114003365A (zh) 用于risc-v架构的快速中断系统
JP2669158B2 (ja) データ処理装置
JP3212213B2 (ja) データ処理装置
US7051146B2 (en) Data processing systems including high performance buses and interfaces, and associated communication methods
EP1125199B1 (en) Method of debugging a program thread
JPH0795278B2 (ja) 処理装置の割込制御方式
US6347368B1 (en) Microcomputing device for exchanging data while executing an application
KR100263262B1 (ko) 마이크로프로세서
EP0279953B1 (en) Computer system having mixed macrocode and microcode instruction execution
CN111625328B (zh) 适用于risc-v架构的中断装置、系统及方法
JPH04260929A (ja) データ処理装置
JP2668456B2 (ja) ビット検索回路及びそれを備えたデータ処理装置
JPH08255476A (ja) データ処理システムにおけるメモリ拡張スタック装置および方法
US6061787A (en) Interrupt branch address formed by concatenation of base address and bits corresponding to highest priority interrupt asserted and enabled
US20080162910A1 (en) Asynchronous control transfer
JPH056281A (ja) 情報処理装置
US5987559A (en) Data processor with protected non-maskable interrupt
JP2556870B2 (ja) データ処理装置
JPH07244588A (ja) データ処理装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050215

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: 20050315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050412

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: 20080422

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090422

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090422

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100422

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110422

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110422

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120422

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130422

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20140422

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees