JP2927751B2 - 情報処理装置及び情報処理方法及びスケジューリング装置 - Google Patents
情報処理装置及び情報処理方法及びスケジューリング装置Info
- Publication number
- JP2927751B2 JP2927751B2 JP9065115A JP6511597A JP2927751B2 JP 2927751 B2 JP2927751 B2 JP 2927751B2 JP 9065115 A JP9065115 A JP 9065115A JP 6511597 A JP6511597 A JP 6511597A JP 2927751 B2 JP2927751 B2 JP 2927751B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- data
- register
- address
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Devices For Executing Special Programs (AREA)
Description
情報処理方法に関する。特に、格納された命令を取り出
して実行する中央処理装置によって、比較的長い処理時
間を有する処理を行う情報処理装置及び処理方法に関す
る。
コンピュータやマイクロプロセッサ等の情報処理装置が
普及し、あらゆる分野で用いられている。特に最近で
は、半導体の微細化や高速回路技術の進展により、マイ
クロコンピュータやマイクロプロセッサ等の中央処理装
置(CPU)の動作周波数が高速化しており、数100メ
ガヘルツで動作するものもある。しかし、中央処理装置
が高速化により高性能化されても、実行すべき命令コー
ドやデータを蓄えておく外部メモリのアクセス速度は遅
く、中央処理装置の動作速度の数倍から数十倍である。
従って、ある処理を行う場合に外部メモリのアクセスに
時間がかかってしまうため、情報処理装置全体としての
性能が向上しないという問題がある。
も、高速動作可能な中央処理装置を有する情報処理装置
によって、比較的長い時間を要する処理(例えば演算処
理など)を行う場合、中央処理装置内部の処理速度と外
部の処理速度の差が大きいため、結果的に情報処理の効
率が低下してしまう。
して、従来の情報処理装置の構成及び動作を説明する。
図9は、従来の情報処理装置800の主要部を模式的に
示している。図9に示されるように、情報処理装置80
0は、プロセッサ810及び外部メモリ850を備えて
いる。プロセッサ810と外部メモリ850とは、外部
アドレスバス851(851a及び851b)及び外部
データバス852(852a及び852b)を介して接
続されている。
CPUと記す)820と、バス制御装置830と、RO
M840とを有している。バス制御装置830は、アド
レスデコーダ833、制御回路834、メモリアクセス
信号生成部835、アドレス・インターフェイス部83
6、及びデータ・インターフェイス部837を備えてい
る。CPU820とバス制御装置830とは、アドレス
送出用のアドレスバス821及びデータ転送用のデータ
バス822によって接続されている。また、ROM84
0からCPU820には、命令バス841を介してプロ
グラムや命令が送られる。
されるアドレスは、アドレスバス821を介してデコー
ダ833及びアドレス・インターフェイス部836に与
えられる。また、データバス822は、データ・インタ
ーフェイス部837に接続している。アドレス・インタ
ーフェイス部836は、アドレスバス851aによって
外部アドレスバス851に接続し、データ・インターフ
ェイス部837はデータバス852aによって外部デー
タバス852に接続している。
してリード要求信号901を出力してデータのリードを
要求し、ライト要求信号902を出力してデータのライ
トを要求する。リード要求信号901及びライト要求信
号902は、バス制御装置830の制御回路834に入
力される。また、デコードアドレス903は、アドレス
バス821の一部を介してアドレスデコーダ833に与
えられる。アドレスデコーダ833は、デコードアドレ
ス903をデコードした結果をデバイス識別信号904
として制御回路834に出力する。デバイス識別信号9
04は、CPU820のアクセスが外部メモリ850に
対するものか、あるいはプロセッサ810内部のいずれ
のデバイスに対するものであるか等、アクセスの対象と
なるデバイスを示す信号である。
4、リード要求信号901、及びライト要求信号902
に基づいて、外部アクセス開始信号905、アドレス・
インターフェイス部836を制御するアドレス制御信号
906、及びデータ・インターフェイス部837を制御
するデータ制御信号907を出力する。また、制御回路
834は、CPU820からのリード要求およびライト
要求に対して、応答信号908を出力する。メモリアク
セス信号生成部835は、制御回路834から与えられ
るデバイス識別信号905に基づいて、外部メモリ85
0にアクセスするためのメモリアクセス信号909を出
力する。外部メモリ850は、メモリアクセス信号90
9を受けて、アクセスが終了すると、プロセッサ1にア
クセスの終了を伝える外部応答信号910を出力する。
外部応答信号910は、バス制御装置830の制御回路
834に与えられる。
置800について、以下その動作を説明する。まず、R
OM840に格納され、CPU820が単独で動作する
命令と、CPU820及びバス制御装置830が協調動
作する命令とを含むプログラムの一例を示す。各命令の
下の括弧内の説明は、その命令が表す動作を示してい
る。例えば、下記の命令11〜13は、外部メモリ85
0にアクセスしてその結果得られるデータを用いる処理
を示し、命令14〜17はCPU820単独で行われる
処理を示している。尚、以下の命令で示される数値等は
単に説明のための例であり、他の数値や他の計算であっ
ても構わない。
モリ850のmem_loc1番地からデータをリードしてCP
U820内部のD0レジスタに格納する。) 命令12: ADD #10, D0(CPU820内部のD0レジ
スタの内容に10を加え、その結果を再びD0レジスタに
格納する。) 命令13: MOV @mem_loc2, D2(外部メモリ850の
mem_loc2番地からデータをリードしてCPU820内部
のD2レジスタに格納する。) 命令14: MUL D0, D2(CPU820内部のD2レジ
スタの内容にD0レジスタの内容を乗じ、その結果を再び
D2レジスタに格納する。) 命令15: ADD #1, D1(CPU820内部のD1レジ
スタの内容に1を加え、その結果を再びD1レジスタに格
納する。) 命令16: ADD #4, A0(CPU820内部のA0レジ
スタの内容に4を加えて結果を再びA0レジスタに格納す
る。) 命令17: ADD #4, A1(CPU820内部のA1レジ
スタの内容に4を加え、その結果を再びA1レジスタに格
納する。)
報処理装置800の動作を図10の動作タイミング図を
用いて説明する。ここでは、外部メモリ850のリード
時間、即ち、外部メモリ850がメモリアクセス信号9
09と外部アドレスバス851に出力されたアドレスと
を受けてから、外部データバス852にデータを出力す
るまでの時間が4マシンサイクルであるとする。また、
外部メモリ850のmem_loc1番地にはデータ"data1"が
予め格納され、mem_loc2番地にはデータ"data2"が予め
格納されているとする。
命令(命令11あるいは命令13)がCPU820で処
理されると、そのアドレス(mem_loc1あるいはmem_loc
2)がアドレスバス821およびアドレス・インターフ
ェイス部836を経由して外部アドレスバス851に出
力される(サイクルt1あるいはサイクルt6)。しか
し、外部メモリ850のリード時間は4マシンサイクル
であり、CPU820の単位処理時間(1マシンサイク
ル)に比べて長い。従って、外部メモリ850から出力
されるデータ(data1あるいはdata2)が、外部データバ
ス852およびデータ・インターフェイス部837を経
由してデータバス822上に得られる時点(サイクルt
4あるいはサイクルt9)まで、CPU820は、後続
の処理を行うことができない。即ち、外部メモリからの
データの読み出しが終了するまで、次の命令の実行が待
機させられることになる。また、長い処理時間を要する
演算を行う場合についても同様に、その演算処理が終了
するまで、中央処理装置における後続命令の実行が待機
させられる。
情報処理装置においては、外部メモリの読み出しや、長
時間の演算処理などによって央処理装置の命令実行の待
機時間が発生するため、このような待機時間によるペナ
ルティ(処理効率の低下等)をできるだけ小さくするこ
とが要求される。
間を見かけ上短縮するために、マイクロコンピュータや
マイクロプロセッサ内部に、一旦読み出したデータをバ
ッファしておくキャッシュメモリや、データを外部メモ
リから先読みするプリフェッチバッファを実装するとい
う方法が提案されている。
ェッチバッファ等をマイクロコンピュータやマイクロプ
ロセッサ内部に実装する場合、上述のペナルティは小さ
くなるものの、ハードウエア量の大きな増大を招く。更
に、キャッシュメモリのアクセス時間や複雑化する制御
に要する時間により、動作周波数の低下を招くという問
題点を有している。
あり、その目的とするところは、(1) 外部メモリからの
データの読み出しなどの長い処理時間を要する処理と中
央処理装置の命令処理との処理速度差を少ないハードウ
ェアの追加で吸収する情報処理装置を提供し、(2) 処理
速度差を吸収することによって命令実行の待機時間を減
少させた情報装置を提供することにある。
置は、複数の命令を格納する命令格納手段と、前記命令
格納手段から命令を取り出して実行する中央処理装置と
を有する。前記中央処理装置は、所定の処理を実現する
単一の命令を実行する能力と、前記所定の処理を分割す
ることによって得られる第1の命令と第2の命令とを分
離して実行する能力とを併せ持っており、前記第1の命
令は第1のデータを設定する命令であり、前記第2の命
令は前記第1のデータに基づいて処理動作を行うことに
よって得られる結果を表す第2のデータを取り込む命令
であり、前記第1の命令と前記第2の命令とを分離して
実行する場合には、前記中央処理装置は、前記第1の命
令の実行後かつ前記第2の命令の実行前に、前記第2の
データを必要としない少なくとも1つの第3の命令を実
行し、そのことにより上記目的が達成される。
置は記憶装置を更に備えており、前記処理動作は、該記
憶装置に記憶された情報の読み出し動作であり、前記第
1のデータは、読み出すべき情報の該記憶装置における
アドレスであり、前記第1の命令によって、該アドレス
が所定の記憶領域に設定される。
れた前記アドレスに基づく前記読み出し動作の開始を指
示する命令を含む場合がある。
演算処理であり、前記第1のデータは、該演算処理のオ
ペランドデータであり、前記第1の命令は、該オペラン
ドデータを所定の記憶領域に設定する命令である。
置は、データを保持する第1及び第2のレジスタと、該
第1及び第2のレジスタを制御する制御回路と、を更に
備えており、該制御回路は、前記第1の命令に基づいて
前記第1のデータを該第1のレジスタに書き込み、書き
込まれた該第1のデータに基づいて前記処理動作を行
い、該処理動作によって得られた前記第2のデータを該
第2のレジスタに書き込み、更に、前記第2の命令に基
づいて、該第2のレジスタに保持された該第2のデータ
を前記中央処理装置に転送する。
置は記憶装置を更に備えており、前記制御回路は、更に
該記憶装置のアクセスを制御し、前記処理動作は、該記
憶装置に記憶された情報の読み出し動作であり、前記第
1のデータは、読み出すべき情報の該記憶装置における
アドレスであり、前記第2のデータは、該記憶装置から
読み出された情報である。
設定された前記アドレスに基づく前記読み出し動作の開
始を指示する命令を含む場合がある。
置は、前記命令格納手段から前記第1の命令を取り出し
て、前記記憶装置における前記読み出すべき情報の読み
出しアドレスを出力し、該読み出しアドレスの出力後、
該記憶装置から読み出される情報を必要としない第3の
命令を少なくとも1つ実行し、該第3の命令の実行後、
前記第2の命令を該命令格納手段から取り出して実行す
る。前記第1のレジスタは、前記制御回路の制御によ
り、該中央処理装置から出力される該読み出しアドレス
を受け取って保持する。該記憶装置は、該第3の命令が
実行されている間に、該制御回路の制御により、該第1
のレジスタに保持された該読み出しアドレスを受け取
り、受け取った該読み出しアドレスに基づいて情報を出
力する。前記第2のレジスタは、該制御回路の制御によ
り、該記憶装置から出力される該情報を受け取って保持
し、該制御回路は、該中央処理装置による該第2の命令
の実行によって、該第2のレジスタに保持された該情報
を該中央処理装置に転送する。
置は、前記中央処理装置から出力されるアドレスの少な
くとも一部をデコードするアドレスデコーダを更に備え
ている。この場合、前記第1のレジスタには第1のアド
レス領域が割り当てられ、前記第2のレジスタには第2
のアドレス領域が割り当てられており、前記第1の命令
は該第1のアドレス領域に前記読み出しアドレスを書き
込むライト命令であり、前記第2の命令は該第2のアド
レス領域に保持された情報を読み出すリード命令であ
る。該中央処理装置は、該第1の命令に従って該読み出
しアドレスを書き込むべきアドレスを出力し、該第2の
命令に従って読み出すべき情報が保持されたアドレスを
出力する。前記制御回路は、該第1の命令の実行におい
て、該アドレスデコーダによってデコードされたアドレ
スが該第1のアドレス領域のアドレスに等しいことによ
り、該第1のレジスタへの書き込みを認識し、該第2の
命令の実行において、該アドレスデコーダによってデコ
ードされたアドレスが該第2のアドレス領域のアドレス
に等しいことにより、該第2のレジスタからの読み出し
を認識する。
演算処理であり、前記第1のデータは、該演算処理のオ
ペランドデータであり、前記第2のデータは、該オペラ
ンドデータに該演算処理を施した演算結果データであ
る。
は、前記第2のレジスタへの前記第2のデータの書き込
みが終了する前に、前記第2の命令の実行を検知した場
合、前記中央処理装置に対して該第2の命令の実行の一
時停止を要求し、該書き込みが終了した時点で該一時停
止を解除して、該第2のレジスタに書き込まれた該第2
のデータを該中央処理装置に転送する。これにより、前
記第3の命令が記憶装置からのデータの読み出しの完了
以前に終了しても、CPUによる処理の実行順序に矛盾
が発生しない。
置は、前記第2の命令を実行する前に、前記処理動作の
特性により定められる所定数の前記第3の命令を実行す
る。これにより、第3の命令は記憶装置からのデータの
読み出しの完了以前に終了することがなく、前記第2の
データの前記第2のレジスタへの書き込みが終了する前
に該第2の命令が実行されることが回避される。
置は状態レジスタを更に備えており、前記制御回路は、
前記第1のデータを前記第1のレジスタに書き込むとき
に該状態レジスタを第1の状態に設定し、前記第2のデ
ータを前記第2のレジスタに書き込むときに該状態レジ
スタを第2の状態に設定し、前記中央処理装置は、前記
第2の命令を実行する前に、該状態レジスタが該第2の
状態であることを確認する命令を実行する。これによ
り、前記第3の命令が記憶装置からのデータの読み出し
の完了以前に終了しても、CPUによる処理の実行順序
に矛盾が発生しない。
は、前記記憶装置から出力された情報の前記第2のレジ
スタへの書き込みが終了する前に前記第2の命令の実行
を検知した場合に、前記中央処理装置に対して特定の処
理プログラムへの分岐を要求する。
ログラムであり、該割込み処理プログラムにおいて前記
第2の命令が再び実行される場合がある。
級言語あるいはアセンブリ言語によって記述された複数
の命令を含むプログラムを機械語に翻訳する際に前記命
令の配列を行う。前記スケジューリング装置は、前記プ
ログラムに含まれる各命令によって実行される所定の処
理を、前記所定の処理を実行する単一の命令に翻訳すべ
きか、前記所定の処理を分割することによって得られる
第1の命令および第2の命令に翻訳すべきかを判定する
判定手段であって、前記第1の命令は第1のデータを設
定する命令であり、前記第2の命令は前記第1のデータ
に基づいて処理動作を行うことによって得られる結果を
表す第2のデータを取り込む命令である、判定手段と、
前記判定手段において前記所定の処理を前記第1の命令
および前記第2の命令に翻訳すべきであると判定された
場合には、前記所定の処理を前記第1の命令および前記
第2の命令に翻訳し、前記第1の命令と前記第2の命令
との間に、前記第2のデータを必要としない少なくとも
1つの第3の命令を挿入する挿入手段と、を備えてお
り、そのことにより上記目的が達成される。
を格納する命令格納部と前記命令格納部から命令を取り
出して実行する中央処理装置とを用いる情報処理方法で
あって、前記中央処理装置は、所定の処理を実現する単
一の命令を実行する能力と、前記所定の処理を分割する
ことによって得られる第1の命令と第2の命令とを分離
して実行する能力とを併せ持っており、前記第1の命令
は第1のデータを設定する命令であり、前記第2の命令
は前記第1のデータに基づいて処理動作を行うことによ
って得られる結果を表す第2のデータを取り込む命令で
あり、前記情報処理方法は、前記第1の命令を実行する
ステップと、前記第2の命令を実行するステップと、前
記第1の命令の実行後かつ前記第2の命令の実行前に、
前記第2のデータを必要としない少なくとも1つの第3
の命令を実行するステップと、を含んでおり、そのこと
により上記目的が達成される。
を格納する命令格納部と、前記命令格納部から命令を取
り出して実行する中央処理装置と、データを保持する第
1及び第2のレジスタとを用いる情報処理方法であっ
て、前記中央処理装置は、所定の処理を実現する単一の
命令を実行する能力と、前記所定の処理を分割すること
によって得られる第1の命令と第2の命令とを分離して
実行する能力とを併せ持っており、前記第1の命令は第
1のデータを設定する命令であり、前記第2の命令は前
記第1のデータに基づいて処理動作を行うことによって
得られる結果を表す第2のデータを取り込む命令であ
り、前記情報処理方法は、前記第1の命令を実行するス
テップと、前記第1の命令に基づいて前記第1のデータ
を前記第1のレジスタに書き込むステップと、前記第2
の命令を実行するステップと、前記第1の命令の実行後
かつ前記第2の命令の実行前に、前記第2のデータを必
要としない少なくとも1つの第3の命令を実行するステ
ップと、前記少なくとも1つの第3の命令が実行されて
いる間に、前記第1のレジスタに書き込まれた前記第1
のデータに基づいて前記処理動作を行い、前記処理動作
によって得られた前記第2のデータを前記第2のレジス
タに書き込むステップと、前記第2の命令に基づいて、
前記第2のレジスタに保持された前記第2のデータを前
記中央処理装置に転送するステップと、を含んでおり、
そのことにより上記目的が達成される。
法は、前記第2のレジスタへの前記第2のデータの書き
込みが終了する前に前記第2の命令が取り出された場
合、前記中央処理装置に対して該第2の命令の実行の一
時停止を要求するステップと、該書き込みが終了した時
点で該一時停止を解除して、該第2のレジスタに書き込
まれた該第2のデータを該中央処理装置に転送するステ
ップと、を更に含んでいる。
少なくとも1つ実行するステップにおいて、該第3の命
令は、前記処理動作の特性により定められる所定数個実
行され、そのことにより、前記第2のデータの前記第2
のレジスタへの書き込みが終了する前に該第2の命令が
実行されることが回避される。
明を実施の形態によって説明する。
の基本的な構成を模式的に示している。図1に示される
ように、情報処理装置100は、複数の命令を格納する
命令格納部(例えばROM、以下ROMと記載する)1
0と、命令格納部10から命令を取り出して実行する中
央処理装置(以下、CPUと記載する)20とを有して
いる。CPU20は、第1のデータに基づいて処理動作
を行うことによって第2のデータを得る処理であり、か
つその処理の実行にCPU20のマシンサイクル(即
ち、CPU20が命令を実行する単位時間)の少なくと
も2サイクルを要する処理(以下、長時間処理と称す
る)を行う場合、この長時間処理を第1及び第2の2つ
の命令に分けて実行する。即ち、処理動作に必要な第1
のデータを設定する第1の命令と、処理動作によって得
られる第2のデータを取り込む第2の命令とに分けて実
行する。そして、第1の命令の実行後かつ第2の命令の
実行前に、第2のデータを必要としない第3の命令を少
なくとも1つ実行する。
2のデータを必要としないため、この処理動作の終了を
待たずに実行できる。即ち、長い処理時間を要する処理
と第3の命令の実行とを並行して行うことができるた
め、CPU20が第2の命令を実行するまでの待機時間
を有効に活用することができる。このことにより、長時
間処理に必要な時間とマシンサイクルとの差を吸収し、
情報処理装置100の動作としての実質的な待機時間を
減少することができる。
命令に分けた実行のハードウエアによる実現を説明す
る。図1に示されるように、情報処理装置100は、デ
ータを保持する第1のレジスタ40及び第2のレジスタ
50と、第1及び第2のレジスタ40及び50を制御す
る制御回路30とを備えている。図1に示されるよう
に、制御回路30は、CPU20が実行する第1の命令
に基づいて第1のデータ31を第1のレジスタ40に書
き込む。そして、第1のレジスタ40に書き込まれた第
1のデータ31に基づいて処理要素60を用いて上記の
処理動作を行い、この処理動作によって得られた第2の
データ32を第2のレジスタ50に書き込む。制御回路
30は、更に、CPU20が実行する第2の命令に基づ
いて、第2のレジスタ50に保持された第2のデータ3
2をCPU20に転送する。処理要素60及び第1及び
第2のレジスタ40及び50の動作は、制御回路30か
ら出力される所定の制御信号によって制御される。
の記憶装置や所定の数学的計算を行う演算装置である。
以下、より具体的な実施の形態として、上記の長時間処
理として外部メモリからの読み出し動作を行う場合と、
演算装置を用いて演算処理を行う場合について説明す
る。
形態1による情報処理装置200を模式的に示してい
る。図2に示されるように、情報処理装置200は、プ
ロセッサ110及び外部メモリ150を備えている。本
実施形態において、上述の長時間処理は、外部メモリ1
50に記憶された情報の読み出しである。読み出し動作
に必要な第1のデータは、読み出すべき情報の外部メモ
リ150におけるアドレスであり、処理動作の結果得ら
れる第2のデータは、外部メモリ150から読み出され
た情報である。
と外部メモリ150とは、外部アドレスバス151(1
51a及び151b)及び外部データバス152(15
2a及び152b)を介して接続されている。プロセッ
サ110は、中央処理装置(以下CPUと記す)12
0、バス制御装置130、及び命令格納部としてROM
140とを有している。バス制御装置130は、アドレ
スデコーダ3、制御回路4、メモリアクセス信号生成部
5、アドレス・インターフェイス部6、及びデータ・イ
ンターフェイス部7を備えている。本実施形態によるバ
ス制御装置130は、更に、リードバッファ・アドレス
レジスタ8及びリードバッファ・データレジスタ9を備
えている。CPU120とバス制御装置130とは、ア
ドレス送出用のアドレスバス121及びデータ転送用の
データバス122によって接続されている。また、RO
M140からCPU120には、命令バス141を介し
てプログラムや命令が送られる。
されるアドレスは、アドレスバス121を介してデコー
ダ3及びアドレス・インターフェイス部6に与えられ
る。また、データバス122は、データ・インターフェ
イス部7に接続している。アドレス・インターフェイス
部6はアドレスバス151aによって外部アドレスバス
151に接続され、データ・インターフェイス部7はデ
ータバス152aによって外部データバス152に接続
されている。また、リードバッファ・アドレスレジスタ
8の出力は、レジスタ用アドレスバス112を介してア
ドレス・インターフェイス部6に与えられる。リードバ
ッファ・アドレスレジスタ8及びリードバッファ・デー
タレジスタ9は、レジスタ用データバス111を介して
データ・インターフェイス部7に接続している。
してリード要求信号101を出力してデータのリードを
要求し、ライト要求信号102を出力してデータのライ
トを要求する。リード要求信号101及びライト要求信
号102は、バス制御装置130の制御回路4に入力さ
れる。また、デコードアドレス103は、アドレスバス
121の一部を介してアドレスデコーダ3に与えられ
る。アドレスデコーダ3は、デコードアドレス103を
デコードした結果をデバイス識別信号104として制御
回路4に出力する。デバイス識別信号104は、CPU
120のアクセスが外部メモリ150に対するものか、
あるいはプロセッサ110内部のいずれのデバイス(レ
ジスタなど)に対するものであるか等、アクセスの対象
となるデバイスを示す信号である。
リード要求信号101、及びライト要求信号102に基
づいて、外部アクセス開始信号105、アドレス・イン
ターフェイス部6を制御するアドレス制御信号106、
データ・インターフェイス部7を制御するデータ制御信
号107、リードバッファ・アドレスレジスタ8を制御
するアドレス書き込み信号108、及びリードバッファ
・データレジスタ9を制御するデータ書き込み信号10
9を出力する。また、制御回路4は、CPU120から
のリード要求およびライト要求に対して、応答信号11
3を出力する。メモリアクセス信号生成部5は、制御回
路4から与えられるデバイス識別信号105に基づい
て、外部メモリ150にアクセスするためのメモリアク
セス信号115を出力する。外部メモリ150は、メモ
リアクセス信号115を受けて、アクセスが終了する
と、プロセッサ110にアクセスの終了を伝える外部応
答信号116を出力する。外部応答信号116は、バス
制御装置130の制御回路4に与えられる。
情報処理装置200について、以下その動作を説明す
る。まず、ROM140に格納され、CPU120が単
独で動作する命令と、CPU120及びバス制御装置1
30が協調動作する命令とを含むプログラムの一例を示
す。各命令の下の括弧内の説明は、その命令が表す動作
を示している。例えば、下記に示す命令1〜9のうち、
命令1〜4及び8は、外部メモリ150へのアクセス動
作及びその結果得られるデータを用いる処理であり、C
PU120及びバス制御装置130が協調動作を行う。
一方、命令5〜7及び9は、CPU120単独で行われ
る処理(加算、乗算など)を示している。
は機械語と呼ばれる"0"及び"1"のビット列であるが、
ここでは命令の意味を表すためにニモニック表記する。
また、この例示プログラムは、上述の従来の情報処理装
置800との動作の比較を明確にするため、従来の例示
プログラムと同一の処理を行う命令を例示している。以
下の命令で示される処理やその数値等は単に説明のため
のものであり、他の数値や他の計算であっても構わな
い。
リ150のmem_loc1番地からデータを読み出し(リー
ド)してCPU120内部のD0レジスタに格納する。) 命令2: ADD #10, D0(CPU120内部のD0レジス
タの内容に10を加え、その結果を再びD0レジスタに格
納する。) 命令3: MOV #mem_loc2, D3(CPU120内部のD3
レジスタにmem_loc2という値を格納する。ここで、mem_
loc2は次に外部メモリ150から読み出すべきデータの
番地である。) 命令4: MOV D3, @rb_addr(CP
U120内部のD3レジスタの内容をrb_addr番地に書
き込む。ここで、rb_addr番地にはリードバッファ・ア
ドレスレジスタ9が割付けられている。) 命令5: ADD #1, D1(CPU120内部のD1レジス
タの内容に1を加え、その結果を再びD1レジスタに格納
する。) 命令6: ADD #4, A0(CPU120内部のA0レジス
タの内容に4を加え、その結果を再びA0レジスタに格納
する。) 命令7: ADD #4, A1(CPU120内部のA1レジス
タの内容に4を加え、その結果を再びA1レジスタに格納
する。) 命令8: MOV @rb_data, D2(rb_data番地の内容をC
PU120内部のD2レジスタに書き込む。ここで、rb_d
ata番地にはリードバッファ・データレジスタ10が割
付けられている。) 命令9: MUL D0, D2(CPU120内部のD2レジス
タの内容にD0レジスタの内容を乗じ、その結果を再びD2
レジスタに格納する。)
実施例においては、外部メモリ150からデータを読み
出す(リードする)処理において、リード要求後の処理
においてリードしたデータをすぐ使用する場合は、従来
と同じリード命令を用いて読み出し処理を実現する。例
えば、外部メモリ150から読み出したデータを、読み
出し直後に命令2において処理する場合には、従来のリ
ード命令(命令11)と同じリード命令である命令1を
用いて読み出し処理を行う。
を初めて使用するまでの間に、後続のいくつかの命令を
実行することができる場合は、リードバッファ・アドレ
スレジスタ8に読み出しアドレスを設定する命令(命令
4)とリードバッファ・データレジスタ9に保持された
データを取り出す命令(命令8)とに分けて読み出し処
理を実現する。例えば、上記のプログラム例において、
命令5〜命令7は、外部メモリ150から読み出される
データを必要としない処理であるため、以下に示すよう
に外部メモリ150からの読み出し処理が行われている
間に、CPU120が単独で実行することができる。
120から外部メモリ150の読み出しアドレスが出力
され、制御回路4の制御により、リードバッファ・アド
レスレジスタ8に出力された読み出しアドレスが設定さ
れる。 CPU120は、命令4の実行(読み出しアド
レスの出力)後、外部メモリから読み出されるデータを
必要としない命令(命令5〜7)を実行する。命令5〜
7が実行されている間、制御回路4は、リードバッファ
・アドレスレジスタに保持された読み出しアドレスを用
いて、外部メモリ150からデータの読み出しを行う。
例えば、制御回路4によって、リードバッファ・アドレ
スレジスタ8に保持された読み出しアドレスが外部メモ
リ150に与えられ、外部メモリ150は受け取った読
み出しアドレスに基づいて対応するデータを出力する。
外部メモリ150読み出されたデータは、制御回路4の
制御によってリードバッファ・データレジスタ9に書き
込まれる。CPU120は、命令5〜7の実行後、命令
8を実行してリードバッファ・データレジスタ9に格納
されているデータを取り出す。例えば、制御回路4の制
御によって、リードバッファ・データレジスタ9に格納
されているデータがCPU120に転送される。
ータの読み出し処理は、命令4と命令8とに分けて実行
され、これらの命令の間に命令3〜7が挿入される。こ
のような命令の並べ換えを命令のスケジューリングとい
う。
ログラムを実行する場合の動作をより詳細に説明する。
図3は、情報処理装置200の動作タイミングを示す図
である。図3は、CPU120で処理される命令、アド
レスバス121およびデータバス122上の値、応答信
号113の状態、リードバッファ・アドレスレジスタ8
およびリードバッファ・データレジスタ9の保持する
値、外部アドレスバス151および外部データバス15
2上の値、外部応答信号116の状態を、マシンサイク
ルを単位として示している。応答信号113及び外部応
答信号116は、信号レベルがローの時に信号がアサー
トされたことを示すアクティブロー信号である。また、
外部メモリ150の読み出し時間、即ち、外部メモリ1
50がメモリアクセス信号115と外部アドレスバス1
51に出力されたアドレスとを受けてから、外部データ
バス152にデータが出力されるまでの時間が4マシン
サイクルであるとする。また、外部メモリ150のmem_
loc1番地にはデータ"data1"が予め格納されており、mem
_loc2番地にはデータ"data2"が予め格納されているとす
る。時間の経過に従って、マシンサイクル(t1〜t1
2)毎に情報処理装置200の動作を説明する。なお、
サイクルt1からサイクルt6までを図3(a)に示
し、サイクルt7〜サイクルt12までを図3(b)に
示す。
を処理する。命令1は、外部メモリ150のアドレスを
アドレッシングして外部メモリ150に記憶されたデー
タを読み出すリード命令である。CPU120からは、
読み出すべきデータのアドレスmem_loc1がアドレスバス
121を介してバス制御装置130に出力される。同時
に、リード要求信号101がアサートされる。バス制御
装置130においては、デコーダ4がアドレスバス10
0の一部から与えられるデコードアドレス103をデコ
ードし、アクセスすべきデバイスを識別する。命令1の
実行においては、デコーダ4は、外部メモリ150への
アクセスであることを検出し、デバイス識別信号104
を出力して制御回路4に外部メモリ150へのアクセス
であることを通知する。
要求信号101とデコーダ3からのデバイス識別信号1
04とに基づいて、外部メモリ150へのリード動作を
各要素に指示する。まず、メモリアクセス信号生成部5
に対し、外部アクセス開始信号105をアサートする。
メモリアクセス信号生成部5は、外部アクセス開始信号
105のアサートに従って、メモリアクセス信号115
を外部に出力する。さらに、制御回路4は、アドレス制
御信号106をアドレス・インターフェイス部6に出力
することにより、アドレスバス121上にCPU120
から出力されているアドレスによって外部メモリ150
をアクセスすることを通知する。アドレス・インターフ
ェイス部6は、CPU120から出力されたアドレスバ
ス121上の値mem_loc1を、アドレスバス151aを介
して外部アドレスバス151に出力する。更に、制御回
路4は、データ制御信号107をデータ・インターフェ
イス部7に出力することにより、CPU120によるリ
ードアクセスであることを通知して、外部メモリ150
からの外部応答信号116のアサートを待つ。
サートされないため状態は変化しない。アドレスバス1
21及び外部アドレスバス151上の値は、引き続きme
m_loc1である。制御回路4は引き続き外部応答信号11
6のアサートを待つ。
部応答信号116がアサートされないため状態は変化し
ない。アドレスバス121及び外部アドレスバス151
上の値は、引き続きmem_loc1である。制御回路4は引き
続き外部応答信号116のアサートを待つ。
モリアクセス信号115と外部アドレスバス151に出
力されたアドレスとを受けてから4マシンサイクルが経
過し、外部メモリ150のアクセス動作(即ち対応する
データの出力)が完了するため、外部応答信号116を
アサートする。制御回路4は外部応答信号116のアサ
ートに従って、データ・インターフェイス部7を制御し
て、外部メモリ150から外部データバス152(15
2a及び152b)を介して読み出されたデータ"data
1"を、データバス122を介してCPU120に送る。
同時に、制御回路4は、応答信号113をアサートする
ことにより、CPU120に対してリード動作の完結を
告げる。CPU120は、データバス122から取り込
んだデータ"data1"を内部のD0レジスタに格納して命令
1を終了する。
処理する。即ち、 CPU120は、CPU120内部
のD0レジスタの内容(data1)に10を加え、その結果
の値(data1+10)を再びD0レジスタに格納して命令2
を終了する。
処理する。即ち、 CPU120は、CPU120内部
のD3レジスタにmem_loc2という値を格納して命令を終了
する。
処理する。命令4以降の命令は、 CPU120がリー
ドバッファ(アドレスレジスタ8及びデータレジスタ
9)を使用して外部メモリ150からデータを読み出す
場合の処理である。CPU120は、命令4の実行によ
り、まずこのサイクルt7において、バス制御装置13
0内のリードバッファ・アドレスレジスタ8に、読み出
すべき外部メモリ150のアドレスmem_loc2を書き込
む。このとき、CPU120は、リードバッファ・アド
レスレジスタ8に割付けられたアドレスrb_addrをアド
レスバス121を介してバス制御装置130に出力し、
同時にライト要求信号102をアサートする。
104をデコードし、そのデコードしたアドレスがリー
ドバッファ・アドレスレジスタ8のアドレスに等しいこ
とを認識して、そのことを示すデバイス識別信号104
を出力する。制御回路4は、デバイス識別信号104に
より、リードバッファ・アドレスレジスタ8のアドレス
にアクセスすべきであることを通知される。制御回路4
は、入力されるライト要求信号102とデバイス識別信
号105とに従って、データ・インターフェイス部7に
対してデータ制御信号107を出力し、バス制御装置1
30内部のレジスタへの書き込みであることを通知す
る。同時に、制御回路4は、リードバッファ・アドレス
レジスタ8に対して書き込み信号108をアサートす
る。そして、制御回路4の制御により、CPU120か
らのデータmem_loc2がデータ・インターフェイス部7を
介してレジスタ用データバス111上に出力され、リー
ドバッファ・アドレスレジスタ8にデータmem_loc2が書
き込まれる。書き込みが終了すると、制御回路4は応答
信号113をアサートし、CPU120に対して書き込
み動作の完結を告げる。これによりCPU120は命令
4を終了し、次のサイクルでは後続の処理を開始する。
ードバッファ・アドレスレジスタ8への書き込み動作が
発生すると、同時に、リードバッファ・アドレスレジス
タ8に格納されている内容mem_loc2を読み出しアドレス
として、外部メモリ150からの読み出し動作を開始す
る。制御回路4は、メモリアクセス信号生成部5に対し
て外部アクセス開始信号105をアサートする。メモリ
アクセス信号生成部5は、アサートされた外部アクセス
開始信号105に従って、メモリアクセス信号115を
外部メモリ150に出力する。さらに、制御回路4は、
アドレス制御信号106を出力し、リードバッファ・ア
ドレスレジスタ8に記憶されているアドレスによって外
部メモリ150をアクセスすることをアドレス・インタ
ーフェイス部6に通知する。制御回路4の制御により、
リードバッファ・アドレスレジスタ8に記憶されている
アドレスmem_loc2は、レジスタ用アドレスバス112を
介してアドレス・インターフェイス部6に与えられ、更
に、アドレスバス151aを介して外部アドレスバス1
51に出力される。また、制御回路4は、データ制御信
号107を出力して、リードバッファ・アドレスレジス
タを用いた読み出しアクセスであることをデータ・イン
ターフェイス部7に通知する。そして、制御回路4は、
外部メモリ150からの外部応答信号116のアサート
を待つ。
サートされないため、バス制御装置130の状態は変化
しない。アドレスバス121及び外部アドレスバス15
1上の値は、引き続きmem_loc2である。制御回路4は引
き続き外部応答信号116のアサートを待つ。
CPU120は、CPU120内部のD1レジスタの内容
に1を加え、その結果を再びD1レジスタに格納して命令
5を終了する。
部応答信号116がアサートされないためバス制御装置
130の状態は変化しない。アドレスバス121及び外
部アドレスバス151上の値は、引き続きmem_loc2であ
る。制御回路4は引き続き外部応答信号116のアサー
トを待つ。
CPU120は、CPU120内部のA0レジスタの内容
に4を加え、その結果を再びA0レジスタに格納して命令
6を終了する。
て、外部メモリ150がメモリアクセス信号115と外
部アドレスバス151に出力されたアドレスとを受けて
から4マシンサイクルが経過する。従って、外部メモリ
150のアクセス動作(即ち対応するデータの出力)が
完了するため、外部メモリ150は外部応答信号116
をアサートする。
ンターフェイス部7は、アサートされた外部応答信号を
受け取った制御回路4の制御により、外部メモリ150
から外部データバス152(152a及び152b)を
介して読み出されたデータ"data2"を、レジスタ用デー
タバス111に出力する。同時に、制御回路4は、リー
ドバッファ・データレジスタ9への書き込み信号109
をアサートし、このことにより、リードバッファ・デー
タレジスタ9にデータ"data2"が書き込まれる。このサ
イクル以降、リードバッファ・データレジスタ9からは
いつでもデータを読み出すことができる。
処理する。CPU120は、CPU120内部のA1レジ
スタの内容に4を加え、その結果を再びA1レジスタに格
納して命令7を終了する。
を処理する。命令8の実行により、CPU120はバス
制御装置130内のリードバッファ・データレジスタ9
に格納されているデータ"data2"を読み出す。このと
き、CPU120は、リードバッファ・データレジスタ
9に割付けられたアドレスrb_dataをアドレスバス12
1を介してバス制御装置130に出力し、リード要求信
号101をアサートする。アドレスデコーダ3は、アド
レスバス121の一部から与えられるデコードアドレス
103をデコードし、デコードしたアドレスがリードバ
ッファ・データレジスタ9のアドレスに等しいことを認
識し、その結果をデバイス識別信号104によって制御
回路4に通知する。制御回路4は、CPU120から入
力されるリード要求信号101とアドレスデコーダ3か
らのデバイス識別信号104とに基づいて、データ制御
信号107を出力する。制御回路4は、データ制御信号
107によって、バス制御装置130内のレジスタから
の読み出し動作であることをデータ・インターフェイス
部7に通知する。データ・インターフェイス部7は、リ
ードバッファ・データレジスタ9に格納されているデー
タ"data2"を、レジスタ用データバス111を介して読
み出し、データバス122を介してCPU120へ送
る。そして、制御回路4は、応答信号113をアサート
することにより、CPU120に対してリード動作の完
結を通知する。CPU120は、データバス122から
取り込んだデータ"data2"を内部に持つD2レジスタに格
納して命令8を終了する。
を処理する。CPU120は、CPU120内部のD2レ
ジスタの内容(data2)にD0レジスタの内容(data1+1
0)を乗じ、その結果(data2×(data1+10))を再びD2レ
ジスタに格納して命令9を終了する。
間処理(外部メモリからのデータの読み出し)を行う場
合に、読み出し動作に必要な外部メモリ150のアドレ
スを設定する第1の命令(例えば、命令4)と、外部メ
モリ150から読み出されたデータを取り込む第2の命
令(例えば、命令8)とに分けて実行する。そして、第
1の命令の実行後かつ第2の命令の実行前に、読み出し
データを必要としない第3の命令(例えば、命令5〜
7)を実行する。第3の命令は、読み出し動作の結果得
られるデータを必要としないため、読み出し動作と同時
に、あるいは読み出し動作が終了する前に実行できる。
従って、CPU120が第2の命令を実行するまでの待
機時間を有効に活用することができ、外部メモリの読み
出し必要な時間とCPU120のマシンサイクルとの差
を吸収することができる。従って、情報処理装置200
の動作としての待機時間を減少することができる。
実施形態1とは異なるプログラムを実行する場合の情報
処理装置200の動作を説明する。情報処理装置200
の構成は、本実施例においても実施例1による情報処理
装置200(図2)と同様である。本実施形態による例
示プログラムは、実施形態1の例示プログラムのように
リードバッファ・アドレスレジスタ8にアドレスを設定
する命令4とリードバッファ・データレジスタ9に格納
されたデータを取り出す命令8との間に挿入すべき後続
命令が3つ(命令5〜命令7)も存在せず、わずかに1
つの命令(命令5)のみが命令4と命令8との間に挿入
可能な場合の例である。この例示プログラムにおける命
令列は下記に示す通りである。
い以外は実施形態1で示したプログラムと同一である。
この例示プログラムで生じる問題は、リードバッファ・
データレジスタ9に外部メモリ150から読み出したデ
ータの書き込みが終了する前に、CPU120におい
て、リードバッファ・データレジスタ9に対する読み出
し命令(命令8)の処理が開始されることである。
(a)及び(b)は、実施形態2の例示プログラムを実
行する場合の情報処理装置200の動作を示すタイミン
グ図である。なお、サイクルt1からサイクルt6まで
を図4(a)に、サイクルt7からサイクルt11まで
を図4(b)に示す。外部メモリ150の読み出し時間
は実施形態1の場合と同様に4マシンサイクルであり、
外部メモリ150に格納されているデータの内容も実施
形態1の場合と同一とする。以下、時間の経過に従っ
て、マシンサイクル(t1〜t12)毎に情報処理装置
200の動作を説明する。
1の場合の動作と同一であるので、説明を省略する。
実行した後、外部応答信号116がアサートされないた
め、バス制御装置130の状態は変化しない。アドレス
バス121及び外部アドレスバス151上の値は、引き
続きmem_loc2である。制御回路4は引き続き外部応答信
号116のアサートを待つ。
CPU120は、CPU120内部のD1レジスタの内容
に1を加え、その結果を再びD1レジスタに格納して命令
5を終了する。
処理する。命令8の実行により、CPU120は、リー
ドバッファ・データレジスタ9に割付けられたアドレス
rb_dataをアドレスバス121を介してバス制御装置1
30に出力し、リード要求信号101をアサートする。
アドレスデコーダ3は、アドレスバス121の一部から
与えられるデコードアドレス103をデコードし、デコ
ードしたアドレスがリードバッファ・データレジスタ9
のアドレスに等しいことを認識し、その結果をデバイス
識別信号104によって制御回路4に通知する。制御回
路4は、CPU120からのリード要求信号101とア
ドレスデコーダ3からのデバイス識別信号104とに基
づいて、データ制御信号107を出力して、バス制御装
置130内のレジスタからの読み出し動作であることを
データ・インターフェイス部7に通知する。しかし、サ
イクルt9においては、リードバッファ・データレジス
タ9にデータ"data2"がまだ書き込まれていない。従っ
て、制御回路4は、リードバッファ・データレジスタ9
からの読み出し動作を行わず、応答信号113はアサー
トせずに外部メモリ150のアクセス終了を示す外部応
答信号116のアサートを待つ。CPU120は、同様
に、処理動作を行わずに応答信号113のアサートを待
つ。
ては、外部メモリ150がメモリアクセス信号115と
外部アドレスバス151に出力されたアドレスとを受け
てから4マシンサイクルが経過する。従って、外部メモ
リ150のアクセス動作(即ち対応するデータの外部デ
ータバスへの出力)が完了し、外部メモリ150は外部
応答信号116をアサートする。
ンターフェイス部7は、外部メモリ150から外部デー
タバス152(152a及び152b)を介して読み出
されたデータ"data2"を、レジスタ用データバス111
に出力する。制御回路4は、リードバッファ・データレ
ジスタ9への書き込み信号109をアサートし、このこ
とにより、リードバッファ・データレジスタ9にデー
タ"data2"が書き込まれる。同時に、制御回路4は、応
答信号113をアサートし、外部メモリ150からリー
ドバッファ・データレジスタ9への読み出し動作の完結
をCPU120に告げる。そして、データ・インターフ
ェイス部7は、更に、リードバッファ・データレジスタ
9に格納されたデータ"data2"をレジスタ用データバス
111を介して読み出し、データバス122を介してC
PU120に送る。CPU120はデータバス122か
ら取り込んだデータ"data2"を内部に持つD2レジスタに
格納して命令8を終了する。
を処理する。CPU120は、CPU120内部のD2レ
ジスタの内容(data2)にD0レジスタの内容(data1+1
0)を乗じ、その結果(data2×(data1+10))を再びD2レ
ジスタに格納して命令9を終了する。
(a)及び(b)に示す動作タイミング)の場合は、制
御回路4がリードバッファ・データレジスタ9に対する
読み出し命令(命令8の実行)を検知した時に、外部メ
モリ150から読み出されたデータはすでにリードバッ
ファ・データレジスタ9に書き込まれている。このよう
な場合には、制御回路4は、直ちに応答信号113をア
サートし、CPU120はリード命令をそのまま実行す
る。
に示す動作タイミング)の場合は、制御回路4がリード
バッファ・データレジスタ9に対するリード命令(命令
8)を検知した時に、外部メモリ150から読み出した
データがまだリードバッファ・データレジスタ9に書き
込まれていない。このような場合には、制御回路4は、
応答信号113をアサートせずにCPU120のリード
命令を停止させ、外部メモリ150から読み出したデー
タがリードバッファ・データレジスタ9に書き込まれる
まで待つ。そして、必要なデータがリードバッファ・デ
ータレジスタ9に書き込まれた時点で応答信号113を
アサートすることにより、CPU120のリード命令の
停止を解除し、データをCPU120に転送する。
よる情報処理装置200は、命令のスケジューリングを
行うことにより、外部メモリ150からデータを読み出
す処理を、リードバッファ・アドレスレジスタ8に読み
出しアドレスを設定する第1の命令と、リードバッファ
・データレジスタ9に格納されたデータを取り出す第2
の命令とに分けて実行する。第1の命令によってリード
バッファ・アドレスレジスタ8に読み出すべき外部メモ
リ150のアドレスを設定することにより、バス制御装
置130は、 CPU120から独立に、リードバッフ
ァ・アドレスレジスタ8に格納された読み出しアドレス
に基づいて外部メモリ150からデータを読み出すこと
ができる。従って、CPU120は、上記第1及び第2
の命令の間に、他の命令を実行できるため、外部メモリ
150へのアクセスのための長い待ち時間が発生しな
い。従って、情報処理装置200の性能を高めることが
可能となる。
は、リードバッファ・アドレスレジスタ8及びリードバ
ッファ・データレジスタ9の追加と、制御回路4の若干
の改変とによって実現できる。従って、キャッシュメモ
リやプリフェッチバッファの搭載の場合に比べ、はるか
に少ないハードウエアで実現可能である。
部メモリ150から読み出されたデータがリードバッフ
ァ・データレジスタ9に書き込まれる前に、CPU12
0においてリードバッファ・データレジスタ9からのデ
ータ読み出し命令の処理が開始される場合、外部応答信
号116がアサートされるまでCPU120における後
続の処理を停止させている。即ち、制御回路4は、応答
信号113をアサートしないことにより、CPU120
にウェイトサイクルを要求している。そして、リードバ
ッファ・データレジスタ9への書き込みが終了した時点
でウェイトを解除して、データの転送を行っている。
タ9への書き込みが終了前にリードバッファ・データレ
ジスタ9からのデータ読み出し命令の処理が開始される
場合、以下のようにすることもできる。
アクセスに必要なCPU120のマシンサイクル数を計
算しておく。そして、命令のスケジューリングにおい
て、リードバッファ・データレジスタ9に外部メモリ1
50からのデータが書き込まれる前に、リードバッファ
・データレジスタ9からの読み出し命令が実行されない
ように、リードバッファ・アドレスレジスタ8にアドレ
スを設定する第1の命令(上記例示プログラムの命令
4)とリードバッファ・データレジスタ9に格納された
データを取り出す第2の命令(同、命令8)との間に、
リードバッファ・データレジスタ9のデータを必要とし
ないその他の命令、例えばNOP命令(何もせず次の命令
に処理が移る命令)を適正数個挿入するようにしてもよ
い。このことにより、CPU120は、リードバッファ
・データレジスタ9への外部メモリ150からのデータ
の書き込みが終了してから、読み出し命令8の処理を開
始する。
る情報処理装置300の構成を示す図である。本実施形
態による情報処理装置300は、上記実施形態1及び2
による情報処理装置200とほぼ同様であり、同一の構
成要素には同一の参照符号を付し、詳細な説明は省略す
る。以下、情報処理装置300の情報処理装置200と
異なる部分について説明する。
おいて、バス制御装置160は、アドレスデコーダ3、
制御回路41、モリアクセス信号生成部5、アドレス・
インターフェイス部6、及びデータ・インターフェイス
部7、リードバッファ・アドレスレジスタ8及びリード
バッファ・データレジスタ9を備えており、更に、リー
ドバッファ・データレジスタ9へのデータの書き込みが
終了した事を示すリードバッファ・状態レジスタ10を
備えている。
レジスタ10は、リードバッファ・アドレスレジスタ8
及びリードバッファ・データレジスタ9と同様に、レジ
スタ用データバス111を介してデータ・インターフェ
イス部7に接続している。制御回路41から出力され
る、リードバッファ・アドレスレジスタ8を制御するア
ドレス書き込み信号108は、リードバッファ・状態レ
ジスタ10にも与えられる。同様に、リードバッファ・
データレジスタ9を制御するデータ書き込み信号109
は、リードバッファ・状態レジスタ10にも与えられ
る。
ドレスを設定した際(即ち、リードバッファ・アドレス
レジスタに対するアドレス書き込み信号108がアサー
トされた時)に、リードバッファ・状態レジスタ10の
内容を第1の状態(例えばリセット)にする。そして、
リードバッファ・データレジスタ9に、外部メモリ15
0からのデータが書き込まれた時(即ち、リードバッフ
ァ・データレジスタ9に対するデータ書き込み信号10
9がアサートされた時)に、第2の状態(例えばセッ
ト)にする。
ァ・データレジスタ9の内容を読み出す命令を実行する
前に、一旦、リードバッファ・状態レジスタ10を調
べ、リードバッファ・状態レジスタが第2の状態になっ
ていることが確認されてから、リードバッファ・データ
レジスタ9の内容を読み出すようにプログラムする。こ
のことにより、CPU120は、リードバッファ・デー
タレジスタ9への外部メモリ150からのデータの書き
込みが終了してから、読み出しの処理を開始することが
できる。
バス制御装置160の制御回路41の構成を、実施形態
1及び2で説明した制御回路4よりも簡単にすることが
できる。制御回路4の場合、外部メモリ150からの読
み出し動作を2つの命令に分けて実行する場合に、リー
ドバッファ・データレジスタ9に対する読み出し命令を
検知したとき、外部メモリ150からの外部応答信号1
16のアサートに従って、CPU120への応答信号1
13をアサートする必要がある。即ち、外部メモリ15
0に対する読み出し命令だけでなく、リードバッファ・
データレジスタ9に対する読み出し命令に対しても、外
部メモリ150からの外部応答信号116のアサートを
確認しなければならない。
・状態レジスタ10の設定状態によってリードバッファ
・データレジスタ9の書き込み状態が確認されるため、
リードバッファ・データレジスタ9への書き込み終了前
にリードバッファ・データレジスタ9への読み出し命令
がCPU120によって実行されることはない。従っ
て、制御回路4は、リードバッファ・データレジスタ9
へのデータ書き込み完了を外部メモリ150からの外部
応答信号116によって確認してCPU120に告げる
(即ち、応答信号113をアサートする)必要がなく、
それだけ回路構成を簡略化できる。
レジスタ9へのデータ書き込み完了前にリードバッファ
・データレジスタ9に対する読み出し処理を回避するた
めに、以下のような構成をとることもできる。
タが書き込まれる前に、リードバッファ・データレジス
タ9に対する読み出し命令の処理がCPU120で開始
されたことをバス制御装置130の制御回路4が検知し
た場合、制御回路4からCPU120に対して割込み要
求が発行されるようにする。そして、この割込み処理ル
ーチンの中で、例えば上述のような外部メモリ150の
データを必要としない命令(第3の命令)を適正数個挿
入したり、上記のような状態レジスタの内容を調べると
いった方法を用いて、必要なデータが正しくリードバッ
ファ・データレジスタ9から取り出されるようにプログ
ラムしてもよい。そして、割込み処理ルーチンの中でリ
ードバッファ・データレジスタ9からのデータ読み出し
命令を再び実行してもよい。
るいは書き込み動作の完了を、外部メモリ150から外
部応答信号116をバス制御装置130に送り返し、さ
らにバス制御装置130はCPU120に応答信号11
3を送り返すことによって通知している(これをハンド
シェーク方式という)。読み出し動作及び書き込み動作
完了通知は、その両方またはいずれか一方を取り去るこ
ともできる。その代わりに、外部メモリ150のアクセ
スに必要なサイクル数をカウントするカウンタを設け、
所定の時間の経過を待ってから処理動作を行うように構
成してもよい(固定ウェイト方式)。
ッファ・アドレスレジスタ8にアドレスを設定する命令
によって、同時に外部メモリ150に対するアクセスを
開始するようにしている。即ち、CPU120から出力
されるアドレスが、リードバッファ・アドレスレジスタ
8に割り付けられたアドレスである場合に(対応するデ
ータは、外部メモリ150における読み出しアドレスで
ある)、制御回路4(あるいは41)は、リードバッフ
ァ・アドレスレジスタ8にデータとして外部メモリ15
0の読み出しアドレスを書き込むと同時に、書き込まれ
た読み出しアドレスによって外部メモリ150にアクセ
スしている。
アドレスレジスタ8にアドレスを設定する命令と、外部
メモリ150に対するアクセスを開始する命令とを別個
に設けてもよい。こうすることにより、外部メモリ15
0の同一アドレスから繰り返しデータをリードする場合
のプログラムのサイズを小さくすることができる。
は、長時間処理の例として、外部メモリ150からデー
タを読み出す処理を、リードバッファ・アドレスレジス
タ8に読み出しアドレスを設定する第1の命令と、リー
ドバッファ・データレジスタ9に格納されたデータを取
り出す第2の命令とに分けて実現する情報処理装置20
0及び300を説明した。本実施形態では、長時間処理
として、演算装置を用いて演算処理を行う場合について
説明する。演算処理は、例えば、乗除算や積和演算など
比較的長い処理時間を必要とするデータ演算処理であ
る。本実施形態においては、このような演算処理を、オ
ペランドデータを設定し演算を開始する命令と、演算結
果を取り出す命令とに分けて実現する。
400の構成を模式的に示している。図6に示されるよ
うに、情報処理装置400は、プロセッサ110’及び
外部メモリ150を備えている。プロセッサ110’
は、CPU120’、バス制御装置170、ROM14
0、及び演算装置180とを有している。バス制御装置
170は、アドレスデコーダ3、制御回路42、メモリ
アクセス信号生成部5、アドレス・インターフェイス部
6、及びデータ・インターフェイス部7、オペランドレ
ジスタ21及び演算結果レジスタ22を備えている。C
PU120’とバス制御装置170とは、アドレス送出
用のアドレスバス121及びデータ転送用のデータバス
122によって接続されている。CPU120’と演算
装置180とは、演算に必要なオペランドデータを送出
するCPUオペランドバス201及び演算結果転送用の
演算データバス202によって接続されている。バス制
御装置170のオペランドレジスタ21は、レジスタ用
オペランドバス301によって演算装置180に接続さ
れ、演算結果レジスタ22は、レジスタ用演算データバ
ス302によって演算装置180に接続されている。ま
た、ROM140からCPU120’には、命令バス1
41を介してプログラムや命令が送られる。
形態1及び2による情報処理装置200におけるバス制
御装置130とほぼ同様であるが、リードバッファ・ア
ドレスレジスタ8及びリードバッファ・データレジスタ
9の代わりに、オペランドレジスタ21及び演算結果レ
ジスタ22を備えていることが異なる。また、制御回路
42は、演算装置180に演算要求信号204を入力
し、演算装置180からの演算終了信号205を受け取
る。制御回路42のその他の構成は制御回路4と同様で
ある。
算器23、演算制御回路24、及びセレクタ25を備え
ている。CPU120’からのオペランドデータは、オ
ペランドバス201を介してセレクタ25に入力され、
バス制御装置170のオペランドレジスタ21からのオ
ペランドデータは、レジスタ用オペランドバス301を
介してセレクタ25に入力される。演算器23の演算結
果は、演算データバス202を介してCPU120’に
与えられ、レジスタ用演算データバス302を介してバ
ス制御装置170の演算結果レジスタ22に入力され
る。尚、図6においては、オペランドバス201、20
6、及び301は、演算の2つのオペランドデータに対
するバスとして書かれている。例えば、演算がA×Bの
乗算の場合、バスの上位がデータAを運び、バスの下位
がデータBを運ぶ。
与えられる第1の演算要求信号203及びバス制御装置
170の制御回路42から与えられる第2の演算要求信
号204に基づいて、オペランド選択信号207をセレ
クタ25に出力する。演算制御回路24から出力される
演算終了信号205は、CPU120’及び制御回路4
2に与えられる。
6に示されるように、情報処理装置200と同様であ
る。
る。
PU120’は、第1の演算要求信号203をアサート
し、オペランドバス201を介して与えられるオペラン
ドデータに対する演算処理が演算装置180において開
始される。演算制御回路24は第1の演算要求信号20
3に基づいてオペランド選択信号207をセレクタ25
に出力する。セレクタ25はCPU120’からのオペ
ランドデータを選択して演算器23に入力する。そし
て、演算処理が終了すると演算制御回路24は演算終了
信号205をアサートし、その演算結果が演算データバ
ス202を介してCPU120’に送られる。
する場合を説明する。CPU120’は、まず、オペラ
ンドレジスタ21へオペランドデータを書き込む第1の
命令を実行する。オペランドレジスタ21へオペランド
データの書き込みが行われると、制御回路42は、演算
装置180に対して第2の演算要求信号204をアサー
トする。第2の演算要求信号204は演算制御回路24
に出力され、対応するオペランド選択信号207がセレ
クタ25に出力される。オペランド選択信号207に対
応して、セレクタ25はオペランドレジスタ21からレ
ジスタ用オペランドバス301を介して与えられるオペ
ランドデータを選択して演算器23に入力する。演算処
理が終了すると、演算制御回路24は演算終了信号20
5をアサートする。制御回路42は、演算終了信号20
5に基づいて、レジスタ用演算結果バス302に出力さ
れている演算結果データを演算結果レジスタ22に書き
込む。尚、この際、CPU120’では、演算処理命令
を実行していない(第1の演算要求信号203をアサー
トしていない)ため、演算終了信号205は無視され
る。
て演算処理が行われ、その演算結果が演算結果レジスタ
22に書き込まれている間に、演算結果データを必要と
しない命令(第3の命令)をいくつか実行することがで
きる。このような第3の命令を実行した後、CPU12
0’は演算結果レジスタ22に格納された演算結果を読
み出すことにより、演算結果を得る。
からのデータ読み出しの場合と同様に、演算処理の終了
を応答信号113のアサートによってCPU120’に
通知することにより、演算処理が終了するまで演算結果
レジスタ22からの読み出し処理を一時停止あるいは待
機させることができる。あるいは、演算処理に必要なマ
シンサイクル数を予め計算することにより、オペランド
データの書き込み命令と、演算結果データの読み出し命
令との間に必要な数の第3の命令やNOP命令を挿入する
ように命令のスケジューリングを行うことができる。
ファ・アドレスレジスタ8とリードバッファ・データレ
ジスタ9とから構成されるリードバッファ、あるいはオ
ペランドレジスタ21及び演算結果レジスタ22を1組
設けているが、このようなリードバッファや演算用バッ
ファを複数組設けてもよい。その場合、例えば、情報処
理装置200や300において、CPU120は、読み
出すべき外部メモリ150のアドレスを、バス制御装置
130の動作とは独立に各組のリードバッファ・アドレ
スレジスタに順に設定する。バス制御装置130におい
ては、制御回路4(あるいは41)は、各組のリードバ
ッファ・アドレスレジスタから順にアドレスを取り出
し、外部メモリ150にアクセスして読み出したデータ
を対応するリードバッファ・データレジスタに順に格納
する。また、情報処理装置400におけるオペランドレ
ジスタ21及び演算結果レジスタ22は、外部メモリ1
50の読み出しの場合と同様の読み出し命令や書き込み
命令(リード要求信号及びライト要求信号)によって動
作できる。従って、オペランドレジスタ21への書き込
みが外部メモリ150の読み出しに対するものか、ある
いは演算処理に対するものかを区別する機構を設け、更
にオペランドレジスタ21の内容をアドレス・インター
フェイス部6にも入力することにより、オペランドレジ
スタ21及び演算結果レジスタ22を外部メモリ150
に対する読み出し処理におけるリードバッファ・アドレ
スレジスタ及びリードバッファ・データレジスタとして
も用いることができる。
上述の実施形態1〜4で説明した命令のスケジューリン
グを行う装置を説明する。
言語あるいはアセンブリ言語によって記述された複数の
命令を含むプログラムを機械語に翻訳する際にこれらの
命令の配列を行うことによって実現される。
装置70を模式的に示している。図7に示すように、ス
ケジューリング装置70は、高級言語あるいはアセンブ
リ言語で記述されたプログラム71を、機械語のプログ
ラム72に翻訳し、翻訳と同時に以下に示すようにして
命令の配列を行う。
装置70の動作を説明するフローチャートである。図8
に示されるように、スケジューリング装置は、まず、各
命令によって実行される処理に要する処理時間を見積も
り、その処理が長い処理時間を要する処理(長時間処
理)かどうかを判定する(ステップ701)。ここで、
長時間処理とは、プログラムを実行する中央処理装置の
命令実行の単位時間(マシンサイクル)と比較して、比
較的長い処理時間を要する処理、例えば、少なくとも2
マシンサイクルを要する処理のことをいう。処理が長時
間処理ではないと判定された場合に、命令のスケジュー
リングは行わず、その処理は、そのまま機械語の命令に
翻訳される(ステップ705)。
合、その長時間処理の後続命令の中に、長時間処理の処
理結果に依存せずに中央処理装置が実行可能な命令が存
在するか否かを検出する(ステップ702)。ステップ
702において適当な後続命令が見つからない場合、そ
の長時間処理は、そのまま機械語の命令に翻訳される
(ステップ705)。
理は、長い処理に必要な第1のデータを設定する第1の
命令と、長い処理によって得られる第2のデータを取り
込む第2の命令とに分割される(ステップ703)。そ
して、ステップ702で見つかった後続の命令を、第1
の命令の後かつ第2の命令の前に、第3の命令として少
なくとも1つ挿入する(ステップ704)。
外部メモリからのデータの読み出し処理や、演算処理な
どの長い処理時間を2つの命令に分けて実行し、2つの
命令の間に、長時間処理の結果を必要としない命令を少
なくとも1つ挿入することにより、長時間処理と中央処
理装置の命令処理との処理速度差を吸収することによっ
て命令実行の待機時間を減少させた情報装置を提供する
ことができる。更に、本発明によれば、上記の処理速度
差の吸収を、少ないハードウェアの追加で実現すること
ができる。
的に示すブロック図である。
部メモリからのデータ読み出しに適用した場合の1つの
構成例を模式的に示すブロック図である。
が1つの例示プログラムを実行する場合の動作タイミン
グを示す図である。
がもう1つの例示プログラムを実行する場合の動作タイ
ミングを示す図である。
部メモリからのデータ読み出しに適用した場合のもう1
つの構成例を模式的に示すブロック図である。
算処理に適用した場合の1つの構成例を模式的に示すブ
ロック図である。
示す図である。
すフローチャートである。
ック図である。
処理装置の動作タイミングを示す図である。
Claims (22)
- 【請求項1】 複数の命令を格納する命令格納手段と、
前記命令格納手段から命令を取り出して実行する中央処
理装置とを有する情報処理装置であって、前記 中央処理装置は、所定の処理を実現する単一の命令
を実行する能力と、前記所定の処理を分割することによ
って得られる第1の命令と第2の命令とを分離して実行
する能力とを併せ持っており、 前記第1の命令は第1のデータを設定する命令であり、
前記第2の命令は前記第1のデータに基づいて処理動作
を行うことによって得られる結果を表す第2のデータを
取り込む命令であり、 前記第1の命令と前記第2の命令とを分離して実行する
場合には、前記中央処理装置は、前記 第1の命令の実行
後かつ前記第2の命令の実行前に、前記第2のデータを
必要としない少なくとも1つの第3の命令を実行する、
情報処理装置。 - 【請求項2】 記憶装置を更に備えており、 前記処理動作は、前記記憶装置に記憶された情報の読み
出し動作であり、 前記第1のデータは、読み出すべき情報の前記記憶装置
におけるアドレスであり、 前記第1の命令によって、前記アドレスが所定の記憶領
域に設定される、 請求項1に記載の情報処理装置。 - 【請求項3】 前記第1の命令は、前記記憶領域に設定
された前記アドレスに基づく前記読み出し動作の開始を
指示する命令を含む、 請求項2に記載の情報処理装置。 - 【請求項4】 前記処理動作は演算処理動作であり、 前記第1のデータは、前記演算処理動作のオペランドデ
ータであり、 前記第1の命令は、前記オペランドデータを所定の記憶
領域に設定する命令である、 請求項1に記載の情報処理装置。 - 【請求項5】 前記第1の命令は、前記オペランドデー
タに基づく前記演算処理動作の開始を指示する命令を含
む、 請求項4に記載の情報処理装置。 - 【請求項6】 データを保持する第1及び第2のレジス
タと、前記第1及び第2のレジスタを制御する制御回路
と、を更に備えており、前記 制御回路は、前記第1の命令に基づいて前記第1の
データを前記第1のレジスタに書き込み、書き込まれた
前記第1のデータに基づいて前記処理動作を行い、前記
処理動作によって得られた前記第2のデータを前記第2
のレジスタに書き込み、更に、前記第2の命令に基づい
て、前記第2のレジスタに保持された前記第2のデータ
を前記中央処理装置に転送する、 請求項1に記載の情報処理装置。 - 【請求項7】 記憶装置を更に備えており、 前記制御回路は、更に前記記憶装置のアクセスを制御
し、 前記処理動作は、前記記憶装置に記憶された情報の読み
出し動作であり、 前記第1のデータは、読み出すべき情報の前記記憶装置
におけるアドレスであり、 前記第2のデータは、前記記憶装置から読み出された情
報である、 請求項6に記載の情報処理装置。 - 【請求項8】 前記第1の命令は、前記第1のレジスタ
に設定された前記アドレスに基づく前記読み出し動作の
開始を指示する命令を含む、 請求項7に記載の情報処理装置。 - 【請求項9】 前記中央処理装置は、前記命令格納手段
から前記第1の命令を取り出して、前記記憶装置におけ
る前記読み出すべき情報の読み出しアドレスを出力し、
前記読み出しアドレスの出力後、前記記憶装置から読み
出される情報を必要としない第3の命令を少なくとも1
つ実行し、前記第3の命令の実行後、前記第2の命令を
前記命令格納手段から取り出して実行し、 前記第1のレジスタは、前記制御回路の制御により、前
記中央処理装置から出力される前記読み出しアドレスを
受け取って保持し、前記 記憶装置は、前記第3の命令が実行されている間
に、前記制御回路の制御により、前記第1のレジスタに
保持された前記読み出しアドレスを受け取り、受け取っ
た前記読み出しアドレスに基づいて情報を出力し、 前記第2のレジスタは、前記制御回路の制御により、前
記記憶装置から出力される前記情報を受け取って保持
し、前記 制御回路は、前記中央処理装置による前記第2の命
令の実行によって、前記第2のレジスタに保持された前
記情報を前記中央処理装置に転送する、 請求項7に記載の情報処理装置。 - 【請求項10】 前記中央処理装置から出力されるアド
レスの少なくとも一部をデコードするアドレスデコーダ
を更に備えており、 前記第1のレジスタには第1のアドレス領域が割り当て
られ、前記第2のレジスタには第2のアドレス領域が割
り当てられており、 前記第1の命令は前記第1のアドレス領域に前記読み出
しアドレスを書き込むライト命令であり、前記第2の命
令は前記第2のアドレス領域に保持された情報を読み出
すリード命令であり、前記 中央処理装置は、前記第1の命令に従って前記読み
出しアドレスを書き込むべきアドレスを出力し、前記第
2の命令に従って読み出すべき情報が保持されたアドレ
スを出力し、 前記制御回路は、前記 第1の命令の実行において、前記アドレスデコーダ
によってデコードされたアドレスが前記第1のアドレス
領域のアドレスに等しいことにより、前記第1のレジス
タへの書き込み動作を認識し、前記 第2の命令の実行において、前記アドレスデコーダ
によってデコードされたアドレスが前記第2のアドレス
領域のアドレスに等しいことにより、前記第2のレジス
タからの読み出し動作を認識する、 請求項9に記載の情報処理装置。 - 【請求項11】 前記処理動作は演算処理動作であり、 前記第1のデータは、前記演算処理動作のオペランドデ
ータであり、 前記第2のデータは、前記オペランドデータに前記演算
処理を施した演算結果データである、 請求項6に記載の情報処理装置。 - 【請求項12】 前記第1の命令は、前記オペランドデ
ータに基づく前記演算処理動作の開始を指示する命令を
含む、 請求項11に記載の情報処理装置。 - 【請求項13】 前記制御回路は、 前記第2のレジスタへの前記第2のデータの書き込み動
作が終了する前に、前記第2の命令の実行を検知した場
合、前記中央処理装置に対して前記第2の命令の実行の
一時停止を要求し、前記 書き込み動作が終了した時点で前記一時停止を解除
して、前記第2のレジスタに書き込まれた前記第2のデ
ータを前記中央処理装置に転送する、 請求項6に記載の情報処理装置。 - 【請求項14】 前記中央処理装置は、前記第2の命令
を実行する前に、前記処理動作の特性により定められる
所定数の前記第3の命令を実行し、そのことにより、前
記第2のデータの前記第2のレジスタへの書き込み動作
が終了する前に前記第2の命令が実行されることを回避
する、 請求項6に記載の情報処理装置。 - 【請求項15】 状態レジスタを更に備えており、 前記制御回路は、前記第1のデータを前記第1のレジス
タに書き込むときに前記状態レジスタを第1の状態に設
定し、前記第2のデータを前記第2のレジスタに書き込
むときに前記状態レジスタを第2の状態に設定し、 前記中央処理装置は、前記第2の命令を実行する前に、
前記状態レジスタが前記第2の状態であることを確認す
る命令を実行する、 請求項6に記載の情報処理装置。 - 【請求項16】 前記制御回路は、 前記記憶装置から出力された情報の前記第2のレジスタ
への書き込動作みが終了する前に前記第2の命令の実行
を検知した場合に、前記中央処理装置に対して特定の処
理プログラムへの分岐を要求する、 請求項6に記載の情報処理装置。 - 【請求項17】 前記特定の処理プログラムは割込み処
理プログラムであり、前記割込み処理プログラムにおい
て前記第2の命令が再び実行される、 請求項16に記載の情報処理装置。 - 【請求項18】 高級言語あるいはアセンブリ言語によ
って記述された複数の命令を含むプログラムを機械語に
翻訳する際に前記命令の配列を行うスケジューリング装
置であって、前記スケジューリング 装置は、前記プログラムに含まれる各命令によって実行される所
定の処理を、前記所定の処理を実行する単一の命令に翻
訳すべきか、前記所定の処理を分割することによって得
られる第1の命令および第2の命令に翻訳すべきかを判
定する判定手段であって、前記第1の命令は第1のデー
タを設定する命令であり、前記第2の命令は前記第1の
データに基づいて処理動作を行うことによって得られる
結果を表す第2のデータを取り込む命令である、判定手
段と、 前記判定手段において前記所定の処理を前記第1の命令
および前記第2の命令に翻訳すべきであると判定された
場合には、前記所定の処理を前記第1の命令および前記
第2の命令に翻訳し、前記第1の命令と前記第2の命令
との間に、前記第2のデータを必要としない少なくとも
1つの第3の命令を挿入する挿入手段と、 を備えた、 スケジューリング装置。 - 【請求項19】 複数の命令を格納する命令格納部と前
記命令格納部から命令を取り出して実行する中央処理装
置とを用いる情報処理方法であって、前記中央処理装置は、所定の処理を実現する単一の命令
を実行する能力と、前記所定の処理を分割することによ
って得られる第1の命令と第2の命令とを分離して実行
する能力とを併せ持っており、 前記第1の命令は第1のデータを設定する命令であり、
前記第2の命令は前記第1のデータに基づいて処理動作
を行うことによって得られる結果を表す第2のデータを
取り込む命令であり、 前記情報処理方法は、 前記 第1の命令を実行するステップと、前記第2の命令を実行する ステップと、前記第1の命令の実行後かつ前記第2の命令の実行前
に、前記第2のデータを必要としない少なくとも1つの
第3の命令を実行する ステップと、 を含む、情報処理方法。 - 【請求項20】 複数の命令を格納する命令格納部と、
前記命令格納部から命令を取り出して実行する中央処理
装置と、データを保持する第1及び第2のレジスタとを
用いる情報処理方法であって、前記中央処理装置は、所定の処理を実現する単一の命令
を実行する能力と、前記所定の処理を分割することによ
って得られる第1の命令と第2の命令とを分離して実行
する能力とを併せ持っており、 前記第1の命令は第1のデータを設定する命令であり、
前記第2の命令は前記第1のデータに基づいて処理動作
を行うことによって得られる結果を表す第2のデータを
取り込む命令であり、 前記情報処理方法は、 前記 第1の命令を実行するステップと、前記 第1の命令に基づいて前記第1のデータを前記第1
のレジスタに書き込むステップと、前記第2の命令を実行する ステップと、前記第1の命令の実行後かつ前記第2の命令の実行前
に、前記第2のデータを必要としない少なくとも1つの
第3の命令を実行する ステップと、前記少なくとも1つの 第3の命令が実行されている間
に、前記第1のレジスタに書き込まれた前記第1のデー
タに基づいて前記処理動作を行い、前記処理動作によっ
て得られた前記第2のデータを前記第2のレジスタに書
き込むステップと、前記 第2の命令に基づいて、前記第2のレジスタに保持
された前記第2のデータを前記中央処理装置に転送する
ステップと、 を含む、情報処理方法。 - 【請求項21】 前記第2のレジスタへの前記第2のデ
ータの書き込みが終了する前に前記第2の命令が取り出
された場合、前記中央処理装置に対して前記第2の命令
の実行の一時停止を要求するステップと、前記 書き込みが終了した時点で前記一時停止を解除し
て、前記第2のレジスタに書き込まれた前記第2のデー
タを前記中央処理装置に転送するステップと、 を更に含む、請求項20に記載の情報処理方法。 - 【請求項22】 前記第3の命令を少なくとも1つ実行
するステップにおいて、前記第3の命令は、前記処理動
作の特性により定められる所定数個実行され、そのこと
により、前記第2のデータの前記第2のレジスタへの書
き込みが終了する前に前記第2の命令が実行されること
が回避される、 請求項20に記載の情報処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9065115A JP2927751B2 (ja) | 1996-03-22 | 1997-03-18 | 情報処理装置及び情報処理方法及びスケジューリング装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8-65965 | 1996-03-22 | ||
JP6596596 | 1996-03-22 | ||
JP9065115A JP2927751B2 (ja) | 1996-03-22 | 1997-03-18 | 情報処理装置及び情報処理方法及びスケジューリング装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09319577A JPH09319577A (ja) | 1997-12-12 |
JP2927751B2 true JP2927751B2 (ja) | 1999-07-28 |
Family
ID=26406244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9065115A Expired - Fee Related JP2927751B2 (ja) | 1996-03-22 | 1997-03-18 | 情報処理装置及び情報処理方法及びスケジューリング装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2927751B2 (ja) |
-
1997
- 1997-03-18 JP JP9065115A patent/JP2927751B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09319577A (ja) | 1997-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4563829B2 (ja) | ダイレクトメモリアクセス制御方法、ダイレクトメモリアクセス制御装置、情報処理システム、プログラム | |
JP3553946B2 (ja) | データ処理命令の実行 | |
JP2003510682A5 (ja) | ||
JPH10187642A (ja) | マイクロプロセッサ及びマルチプロセッサシステム | |
US4747045A (en) | Information processing apparatus having an instruction prefetch circuit | |
KR100829788B1 (ko) | 커맨드 디코딩 시스템, 플래시 메모리 커맨드 디코딩시스템 및 이를 이용한 방법 | |
US5968166A (en) | Information processing apparatus and method, and scheduling device for reducing inactivity due to wait state | |
CN112559403B (zh) | 一种处理器及其中的中断控制器 | |
JP2927751B2 (ja) | 情報処理装置及び情報処理方法及びスケジューリング装置 | |
US5421026A (en) | Data processor for processing instruction after conditional branch instruction at high speed | |
TWI286290B (en) | Status register update logic optimization | |
US20070288675A1 (en) | Bus system, bus slave and bus control method | |
US20040103267A1 (en) | Data processor having cache memory | |
JPH06324861A (ja) | Cpu制御システム及び制御方法 | |
JP2002163126A (ja) | デバッグ用cpuに内蔵のイベント検出回路、イベント検出方法および外部周辺回路 | |
JP2504263B2 (ja) | デ―タ処理装置 | |
JPS6316350A (ja) | マイクロプロセッサ | |
JP2806690B2 (ja) | マイクロプロセッサ | |
JP2504224B2 (ja) | デ―タ処理装置 | |
JP4702004B2 (ja) | マイクロコンピュータ | |
JP2885548B2 (ja) | パイプライン制御方式 | |
JPH03164945A (ja) | データ処理装置 | |
CN114995884A (zh) | 指令退休单元、指令执行单元及相关装置和方法 | |
JP2644104B2 (ja) | マイクロプロセッサ | |
JPH02242337A (ja) | 命令プリフェッチ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19990426 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090514 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100514 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100514 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110514 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110514 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120514 Year of fee payment: 13 |
|
LAPS | Cancellation because of no payment of annual fees |