[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JPH06202867A - 並列計算機 - Google Patents

並列計算機

Info

Publication number
JPH06202867A
JPH06202867A JP34843092A JP34843092A JPH06202867A JP H06202867 A JPH06202867 A JP H06202867A JP 34843092 A JP34843092 A JP 34843092A JP 34843092 A JP34843092 A JP 34843092A JP H06202867 A JPH06202867 A JP H06202867A
Authority
JP
Japan
Prior art keywords
instruction
data
read
memory
address
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
JP34843092A
Other languages
English (en)
Other versions
JP2821328B2 (ja
Inventor
Chikako Nakanishi
知嘉子 中西
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP34843092A priority Critical patent/JP2821328B2/ja
Publication of JPH06202867A publication Critical patent/JPH06202867A/ja
Application granted granted Critical
Publication of JP2821328B2 publication Critical patent/JP2821328B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】 【目的】 効率的なデータ処理を行い処理能力の向上を
図った並列計算機を得る。 【構成】 実行ステージ6′は、命令コードOPが読み
出しを指示する場合、メモリーデータ記憶部9のアドレ
スSMAと、演算実行器13で計算した読み出しアドレ
スである演算結果MAとを、メモリ・アドレス比較器1
0により比較する。そして、メモリ・アドレス比較器1
0が比較結果である一致信号GETがHレベルで、両者
MA及びSMAの一致を判定するとき、次のステージで
あるメモリ・アクセス・ステージ7によるデータ・メモ
リ3からの読み出しデータと同じデータを、メモリーデ
ータ記憶部9のデータMDに基づくデータDATAを読
み出することにより得ることができる。 【効果】 パイプライン処理をより効率的に行うことが
でき、処理能力の向上を図ることができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、命令をパイプライン
方式で実行する並列計算機に関し、特にパイプライン方
式を採用した縮小命令セットコンピュータRISCに関
する。
【0002】
【従来の技術】RISCでは、メモリへのアクセスは、
ロード(読み出し)命令及びストア命令に限定されるロ
ード・ストア・アーキテクチャを採用する。また演算命
令は全て内部のレジスタに格納されたデータを用いて行
われる。RISCは、一般に以下の特徴を備える。
【0003】(1) 命令の実行を1マシンサイクルで
行う。
【0004】(2) 固定長命令 (3) ロード・ストア命令のみメモリへアクセスし、
後の命令は、レジスタに対して行われる。
【0005】(4) パイプライン処理により、同時に
いくつかの命令を並列処理する。
【0006】(5) 性能を上げるための処理は、ハー
ドウェアで行い、複雑な処理は、ソフトウェアで行う。
【0007】図9にRISCの一般的な機能構成の一例
を示す。図9においてRISCは、命令を格納する命令
メモリ1とデータを一時的に格納するための複数のレジ
スタからなるレジスタ・ファイル2とデータを格納する
ためのデータ・メモリ3と5段のパイプライン・ステー
ジ4〜8とから構成される。
【0008】命令フェッチ・ステージ(IF)4は、プ
ログラムカウンタ(図示せず)を備えており、プログラ
ムカウンタから発生されたアドレス信号を命令メモリ1
に与える。与えられたアドレス信号により指定された命
令が取り出され、命令デコード・ステージ5に送られ
る。
【0009】命令デコード・ステージ(ID)5は、命
令フェッチ・ステージ4を介して命令メモリ1からの命
令を受け、該命令をデコードする。そして、命令デコー
ド・ステージ5は、命令のデコード結果に基づき、与え
られた命令が待機することなく、次段の実行ステージ6
で実行することのできる命令の場合、実行ステージ6が
与えられた命令を実行するのに使うデータをレジスタ・
フィルタ2から読み出し、読み出したデータを実行ステ
ージ6に与える。
【0010】実行ステージ(EXC)6はデコードされ
た命令が演算命令の場合には、与えられた命令を実行す
る。デコードされた命令がメモリ・アクセス命令(ロー
ド命令、ストア命令)の場合、データ・メモリ3の実行
アドレスを計算してメモリ・アクセス・ステージ(ME
M)7に与える。
【0011】メモリ・アクセス・ステージ7は、実行ス
テージ6から得た実行アドレスにしたがってデータ・メ
モリ3にアクセスし、データの書き込み、読み出しを実
行する。
【0012】ライトバック・ステージ(WB)は、演算
結果及びデータ・メモリ3からの読み出しデータをレジ
スタ・ファイル2に書き込む。
【0013】RISCは外部的に与えられる2相のノン
オーバラップ・クロック信号も応答して動作する。2相
のノンオーバラップ・クロック信号φ1,φ2の例を図
10に示す。RISCはパイプライン化されており、各
クロック・サイクルで新しい命令をフェッチする。図9
に示すRISCにおいては、1つの命令の実行完了には
5サイクルが必要とされる。しかし、並列計算機である
RISCは、各クロックサイクル毎に新しい命令を開始
することができるようにパイプライン化されているた
め、新しい命令の開始は、現在の命令の完了前に行うこ
とができる。
【0014】図11(a)にRISCのパイプライン動
作を示す。命令1〜命令3はそれぞれ命令フェッチ・ス
テージ4でフェッチされた後、命令デコード・ステージ
5、実行ステージ6、メモリ・アクセス・ステージ7及
びライトバック・ステージ8を通過する。
【0015】図11(a)に示すように、サイクルT2
において、命令1の命令デコードと命令2のフェッチが
同時に行われる。サイクルT3において、命令1の実
行、命令2のデコード及び命令3のフェッチが同時に行
われる。このように、命令がパイプライン式に並行して
実行されるため、全体としては、1マシン・サイクルで
1命令を実行するのことができる。
【0016】RISCにおけるメモリ・アクセス命令に
は、ワード単位でデータを扱う命令の他に、バイト単位
やハーフ・ワード単位で扱う命令が存在する。一般にメ
モリからの読み出しは、1ワード(複数バイト)単位で
行われ、命令がバイト単位や、ハーフ・ワード単位の場
合、不必要なデータは捨てられてしまう。
【0017】
【発明が解決しようとする課題】上記構成の従来のRI
SCに対し、図11(b)に示すように、命令1(バイ
ト単位のロード(読み出し)命令),命令2(バイト単
位のロード(読み出し)命令),命令3(演算命令)の
順で3つの命令が順次与えられて処理され、これに加え
て、命令1でデータ・メモリ3から読み出されたデータ
の一部を命令2が読み出し、命令2の実行により読み出
されたデータが命令3の処理の中で使われると仮定す
る。
【0018】このような場合、図11(b)に示すよう
に、まず命令1が実行され、かつ終了する。すなわち、
期間T1において命令フェッチ・ステージ4における命
令1の処理が行われ、期間T2においては命令デコード
・ステージ5における命令1の処理が行われる。実行ス
テージ6,メモリ・アクセス・ステージ7,ライトバッ
ク・ステージ8における命令1の処理は、期間T3,T
4,T5においてそれぞれ実行される。
【0019】一方、命令2は、期間T2に命令フェッチ
・ステージ4が実行され、期間T3においては命令デコ
ード・ステージ5における命令2の処理が行われる。期
間T4,T5,T6において実行ステージ6,メモリ・
アクセス・ステージ7,ライトバック・ステージ8にお
ける命令2の処理が行われる。
【0020】命令3は、期間T3において命令フェッチ
・ステージ4における処理が行われ、期間T4において
は命令デコード・ステージ5における命令3の処理が行
われる。しかし、期間5からの実行ステージ6,メモリ
・アクセス・ステージ7,ライトバック・ステージ8に
おける命令3の処理の実行は停止される。なぜなら、前
述のように、命令3が命令2でデータ・メモリ3から読
み出されたデータを使用するため、命令2の実行の終了
(ライトバック・ステージ8によるレジスタ・ファイル
2へのデータ格納)を待たないと命令3が実行できない
からである。
【0021】すなわち、命令3は、期間T5及び期間T
6において待期状態(パイプライン・インターロック)
になり、命令2の完了した期間T6の次の期間T7で実
行が再開される。再開された命令3は、期間T7で命令
・デコード・ステージ5における命令3の処理が行われ
る。そして、実行ステージ6,メモリ・アクセス・ステ
ージ7,ライトバック・ステージ8における命令3の処
理が、期間T8,T9,T10においてそれぞれ実行さ
れる。
【0022】このように、命令1と命令2とが同じデー
タを連続して読み出し、命令2の読み出し対象のデータ
が命令1の実行によりデータ・メモリ3から既に読み出
されているにもかかわらず、命令2によって再度、命令
1と同様の読み出し動作を行うという無駄な動作が行わ
れている。。
【0023】また、命令3が命令3の読み出しデータを
利用する場合は、命令2で読み出されたデータが一旦レ
ジスタファイル2に書き込まれた後、実行ステージ6で
実行することができ、命令3においてレジスタ・ファイ
ル2をアクセスする。このため、命令2の読み出し処理
実行中の期間T5及びT6において、待機しなければな
らない。
【0024】しかしながら、図11(b)に示したよう
に、命令2の実行により読み出されるデータは、期間T
4の時点で既にデータ・メモリ3から読み出されてい
る。にもかかわらず、命令2の処理の際に捨てられてし
まうため、そのデータを参照する命令3は、命令2の実
行が終了を待たなければならない。
【0025】その結果、余分な待機時間が設けられてし
まう分、命令の実行を完了するのに長い時間を要し、R
ISC等の並列計算機の処理能力を低下させていた。
【0026】この発明は上記問題点を解決するためにな
されたもので、効率的なデータ処理を行い処理能力の向
上を図った並列計算機を得ることを目的とする。
【0027】
【課題を解決するための手段】この発明にかかる請求項
1記載の並列計算機は、レジスタと、命令実行に必要な
データが格納されるデータ記憶手段と、命令コードを受
け、前記命令コードを解読する命令解読手段と、前記命
令解読手段の解読結果に基づき決定される命令を、必要
に応じて前記レジスタの格納データを用いて実行し、前
記命令が前記データ記憶手段からの読み出しを指示する
場合、前記データ記憶手段の読み出しアドレスを演算し
て出力する命令実行手段と、前記命令が前記読み出しを
指示する場合、前記データ記憶手段から、前記読み出し
アドレスの格納データを読み出す外部データ読み出し手
段と、前記命令が前記読み出しを指示する場合、前記読
み出しデータを前記レジスタに書き込むレジスタ書き込
み手段とを備え、前記命令解読手段、前記命令実行手
段、前記外部データ読み出し手段及びレジスタ書き込み
手段は、各々パイプライン方式で並列実行可能であり、
前記データ記憶手段からの読み出しが実行される際、前
記読み出しアドレスを一時格納アドレスとし、前記読み
出しデータを一時格納データとして格納する一時格納記
憶手段をさらに備え、前記命令実行手段は、前記読み出
しアドレスが前記一時格納アドレスを一致すると、前記
一時的記憶手段の前記一時格納データを読み出して、前
記命令を実行することができる。
【0028】望ましくは、請求項2記載の並列計算機の
ように、前記命令実行手段は、前記読み出しアドレスが
前記一時格納アドレスに一致すると、前記命令の前記読
み出し指示を変更して、前記外部データ読み出し手段に
よる前記データ記憶手段に対する読み出し処理を無効に
する。
【0029】
【作用】この発明における請求項1記載の並列計算機の
一時格納記憶手段は、データ記憶手段からの読み出しが
実行される際、読み出しアドレスを一時格納アドレスと
し、読み出しデータを一時格納データをして格納してお
り、命令実行手段は、読み出しアドレスが一時格納アド
レスを一致すると、一時格納記憶手段の一時格納データ
を読み出して命令を実行することが可能である。
【0030】したがって、先に実行される第1の命令が
データ記憶手段からの読み出しを指示し、後に実行され
る第2の命令が第1の命令の読み出しデータを利用する
処理を指示する場合、第2の命令は、第1の命令の読み
出しデータがレジスタに格納されるのを待つことなく、
一時格納記憶手段に格納された格納データを読み出して
命令を実行することができる。
【0031】
【実施例】
<第1の実施例>図1は、この発明の第1の実施例であ
るRISCの内部構成を詳細に示すブロック図である。
図1に示すRISCは、命令を格納する命令メモリ1
と、データを一時的に格納するための複数のレジスタか
らなるレジスタ・ファイル2と、データを格納するため
のデータ・メモリ3と、5段のパイプライン・ステージ
である、命令フェッチ・ステージ4、命令デコード・ス
テージ5、実行ステージ6′、メモリ・アクセス・ステ
ージ7及びライトバック・ステージ8とから構成され
る。加えて、メモリーデータ記憶部9が実行ステージ
6′とアクセス可能に構成される。
【0032】RISCの読み出し処理は、データ・メモ
リ3から1ワード(4バイト)単位で行われる。また、
RISCは外部的に与えられる2相のノンオーバラップ
・クロック信号φ1及びφ2に応答して動作する。基本
的な動作は、図10に示した従来の信号φ1及びφ2と
同様であるので説明を省略する。
【0033】命令フェッチ・ステージ4は、プログラム
カウンタ40を備えており、プログラムカウンタから発
生されたアドレス信号を命令メモリ1に与える。命令フ
ェッチ・ステージ4により、与えられたアドレス信号に
より指定された命令が取り出され、命令デコード・ステ
ージ5に送られる。
【0034】命令デコード・ステージ5は、命令フェッ
チ・ステージ4を介して命令メモリ1からの命令50を
受け、該命令をデコードする。そして、命令デコード・
ステージ5は、命令のデコード結果に基づき、与えられ
た命令が待機することなく、次段の実行ステージ6′で
実行することのできる命令の場合、必要に応じて実行ス
テージ6が与えられた命令を実行するのに使うデータを
レジスタ・フィルタ2から読み出し、読み出したデータ
を実行ステージ6に与える。
【0035】実行ステージ6′は、演算実行器13から
出力される演算結果MAとメモリーデータ記憶部9に保
持されているアドレスSMAとを比較するメモリ・アド
レス比較器10と、先行命令の命令コードOPに従っ
て、先行命令の格納アドレスDとソース・アドレスS3
1,S32それぞれとを比較して比較結果である選択信
号S1およびS2を出力するレジスタファイル・アドレ
ス比較器11と、選択信号S1およびS2,一致信号G
ETに応答してデータを選択するレジスタ・ファイル・
データ・セレクタ12と、選択されたデータに基づいて
演算を実行する演算実行器13と、レジスタ16,19
及び21とから構成される。なお、デコード・ステージ
5から与えられる命令50は、命令コードOPと2つの
ソース・アドレスS31,S32,格納アドレスDを含
む。
【0036】レジスタファイル・アドレス比較器11
は、レジスタ19を介して先行命令の格納アドレスD、
現在の命令のソース・アドレスS31,S32とを受
け、ソース・アドレスS31,S32それぞれと格納ア
ドレスD2を比較し、一致/不一致を検出して選択信号
S1及びS2をレジスタ・ファイル・データ・セレクタ
12に出力する。なお、詳細については後に記述する。
【0037】格納レジスタ16は、デコード・ステージ
5から与えられる命令コードOPを保持する。保持され
た命令コードOPは、メモリ・アクセス・ステージ7内
のレジスタ17及びメモリ・アドレス比較器10に与え
られる。
【0038】格納レジスタ19は、デコード・ステージ
5から与えられる格納アドレスDを保持する。保持され
た格納アドレスDは、レジスタファイル・アドレス比較
器11およびメモリ・アクセス・ステージ7内のレジス
タ20に与えられる。
【0039】レジスタ・ファイル・データ・セレクタ1
2は、レジスタ・ファイル2より与えられる2つのデー
タR1,R2を受けるとともに、メモリ・アドレス比較
器10から得られたメモリ・データDATAを受ける。
そして、レジスタ・ファイル・データ・セレクタ12
は、レジスタ・アドレス比較器11から与えられる選択
信号S1、S2及び一致信号GETに応答して動作す
る。詳細は後に記述する。
【0040】演算実行器13は、データ・バス23及び
24を介してレジスタ・ファイル・データ・セレクタ1
2と接続され、与えられたデータを使用して命令コード
OP基づく演算を実行する。演算の実行結果MAは、レ
ジスタ21、メモリ・アドレス比較器10及びデータ・
メモリ3に与えられる。詳細については、後に記述す
る。
【0041】メモリ・アドレス比較器10は、命令コー
ドOPと、メモリーデータ記憶部9に格納されているメ
モリ・アドレスSMA及びメモリ・データMDを受ける
とともに、演算実行器13によって計算された演算結果
MAを受ける。この演算結果MAは読み出し時には読み
出しアドレスとなる。そして、メモリ・アドレス比較器
10は、アドレスSMAと演算結果MAとを比較し、一
致/不一致を検出する。詳細については後に記述する。
【0042】メモリ・アクセス・ステージ7は、命令コ
ードを保持するためのレジスタ17と格納アドレスを保
持するためのレジスタ20と演算結果のデータを保持す
るデータレジスタ22とを含む。ライトバック・ステー
ジ8では、与えられた格納アドレス20のアドレスにし
たがって実行結果データを保持しているレジスタ22の
データをレジスタ・ファイル2に書き込む。
【0043】図1に示したレジスタファイル・アドレス
比較器11の一構成例を図2に示す。レジスタファイル
・アドレス比較器11は、一致検出器111と一致検出
器112とからなる。
【0044】一致検出器111は、レジスタ19から得
られる先行命令の格納アドレスDと、ソース・アドレス
S31との一致/不一致に基づき、H/Lの選択信号S
1をレジスタ・ファイル・データ・セレクタ12に出力
する。一致検出器112は、先行命令の格納アドレスD
と、ソース・アドレスS32との一致/不一致に基づ
き、H/Lの選択信号S2をレジスタ・ファイル・デー
タ・セレクタ12に出力する。
【0045】レジスタ・ファイル・データ・セレクタ1
2の一構成例を図3に示す。レジスタ・ファイル・デー
タ・セレクタ12は、各々の出力がデータバス23に接
続されたトライステードバッファ121及び122と、
各々の出力がデータバス24に接続されたトライステー
ドバッファ123及び124と、ANDゲート125及
び126とから構成される。
【0046】ANDゲート125は、メモリ・アドレス
比較器10より、所望するデータが得られた否かをH/
Lで示す一致信号GETと、レジスタファイル・アドレ
ス比較器11からの選択信号S1とを入力し、その出力
を制御信号GS1として、トライステードバッファ12
1及び123に出力する。ANDゲート126は、一致
信号GETと選択信号S2とを入力し、その出力を制御
信号GS2として、トライステードバッファ122及び
124に出力する。
【0047】トライステードバッファ121は、制御信
号GS1の反転信号のH/Lに基づき活性/非活性が制
御され、レジスタ・ファイル2から与えられるデータR
1を入力部に受ける。トライステードバッファ123
は、制御信号GS2の反転信号のH/Lに基づき活性/
非活性が制御され、レジスタ・ファイル2から与えられ
るデータR2を入力部に受ける。
【0048】また、トライステードバッファ122は、
制御信号GS1のH/Lに基づき活性/非活性が制御さ
れ、メモリーデータ記憶部9から得られたデータMDを
入力部に受ける。トライステードバッファ124は、制
御信号GS2メモリ・アドレス活性/非活性が制御さ
れ、メモリーデータ記憶部9から得られたデータMDを
入力部に受ける。
【0049】このような構成のレジスタ・ファイル・デ
ータ・セレクタ12において、選択信号S1がHレベル
で与えられかつ一致信号GETがHレベルで与えられた
とき、制御信号GS1がHレベルとなるため、トライス
テードバッファ122は、活性状態となり、データMD
をデータバス23に出力する。このとき、トライステー
ドバッファ121は非活性状態であるため、出力はハイ
インピーダンス状態となる。そして、選択信号S2がH
レベルで与えられかつ一致信号GETがHレベルで与え
られたとき、制御信号GS2がHレベルとなると、トラ
イステードバッファ124は、活性状態となりデータM
Dをデータバス24に出力する。このとき、トライステ
ードバッファ123は非活性状態であるため、出力はハ
イインピーダンス状態となる。
【0050】一方、選択信号S1及び一致信号GETの
うち、一方の信号がLレベルで与えられたとき、制御信
号GS1がLレベルとなるため、トライステードバッフ
ァ121が活性状態となり、データR1をデータバス2
3に出力する。このとき、トライステードバッファ12
2は非活性状態であるため、出力はハイインピーダンス
状態となる。そして、選択信号S2及び一致信号GET
のうち、一方の信号がLレベルで与えられたとき、制御
信号GS1がLレベルとなるため、トライステードバッ
ファ123が活性状態となり、データR2をデータバス
24に出力する。このとき、トライステードバッファ1
24は非活性状態であるため、出力はハイインピーダン
ス状態となる。
【0051】演算実行器13の一構成例を図4に示す。
演算実行器13は、データバス23,24を介して得ら
れたデータをそれぞれ保持するレジスタ131,132
と、レジスタ131,132によって保持されたデータ
を用いて、命令コードOPに基づく演算を実行する演算
器133とからなる。したがって、命令コードOPが読
み出し動作を指示する場合は、演算器133の演算結果
MAが読み出しアドレスとなる。
【0052】メモリ・アドレス比較器10の一構成例を
図6に示す。メモリ・アドレス比較器10は、一致検出
器101とデータ作成部102とから構成される。
【0053】一致検出器101は、メモリーデータ記憶
部9に格納されているメモリ・アドレスMAと、演算実
行器13によって計算された演算結果MAと、命令コー
ドOPをそれぞれ受ける。そして、一致検出器101
は、命令コードOPがメモリ読み出し命令であるとき、
保持されているメモリ・アドレスSMAと、読み出しア
ドレスである演算結果MAの一致/不一致を検出し、一
致/不一致に基づきH/Lとなり、データが得られたこ
とを示す一致信号GETを発生する。また、一致検出器
101は、命令コードOPの読み出し内容に基づき、一
致の部分が、1ワード(4バイト)のデータMD内のど
のバイトであるか否かを、各々がH/Lで示すバイト選
択信号B1〜B4をデータ作成部102に出力する。
【0054】データ作成部102は、バイト選択信号B
1〜B4とメモリーデータ記憶部9に格納されているデ
ータMDを受ける。そして、例えば、選択信号B1がH
レベルで、選択信号B2〜B4がLレベルであるとき、
データMDの上位1バイトを下位バイトまでシフトして
データバス信号DATAを生成する。これらの一致信号
GET及びデータ信号DATAは、レジスタ・ファイル
・データ・セレクタ12に与えられる。
【0055】メモリーデータ記憶部9の一構成例を図5
に示す。メモリーデータ記憶部9は、ロード(読み出
し)命令のアドレスを一時的に保持する一次メモリであ
るデータ・メモリ91と、メモリ・データを一時的に保
持する一次メモリであるデータ・メモリ92とからな
る。アドレス・メモリ92は、命令コードOPとメモリ
・アドレスMAを受ける。アドレス・メモリ91は、命
令コードOPがロード(読み出し)命令の場合、メモリ
・アドレスMAの下位にビットをマスクしたアドレスを
保持する。またストア命令の場合、リセットする。
【0056】データ・メモリ91は、メモリ・バスに接
続され、データ・メモリ3から出力されたデータLDを
データMDとして保持する。保持したデータMDをメモ
リ・アドレス比較器10に与える。
【0057】以下、図11(c)を参照して、第1の実
施例の動作について説明する。以下の説明において図1
に示したRISCが図11(b)を参照して説明した命
令1及び命令2,3を実行するものと仮定する。
【0058】すなわち、命令1(バイト単位のロード
(読み出し)命令),命令2(バイト単位のロード(読
み出し)命令),命令3(演算命令)の順で3つの命令
が順次与えられて処理され、これに加えて、命令1でデ
ータ・メモリ3から読み出されたデータの一部を命令2
が読み出し、命令2の実行により読み出されたデータが
命令3の処理の中で使われると仮定する。
【0059】命令1は、期間T1において命令フェッチ
・ステージ4における処理が行われ、期間T2において
は命令デコード・ステージ5における命令1の処理が行
われる。実行ステージ6′,メモリ・アクセス・ステー
ジ7,ライトバック・ステージ8における命令1の処理
は、期間T3,T4,T5においてそれぞれ実行され
る。
【0060】一方、命令2は、期間T2に命令フェッチ
・ステージ4が実行され、期間T3においては命令デコ
ード・ステージ5における命令2の処理が行われる。
【0061】期間T4において、演算実行器13により
メモリ・アドレスである演算結果MAが計算され、メモ
リーデータ記憶部9のメモリ・アドレスSMAとがメモ
リ・アドレス比較器10により比較される。
【0062】その結果、命令1において読み出されたメ
モリ・アドレスMAとメモリーデータ記憶部9に格納さ
れたアドレスSMAとが一致しているので、Hレベルの
一致信号GETがメモリ・アドレス比較器10より発生
される。
【0063】また、命令3においては、期間T3で命令
フェッチ・ステージ4が実行され、期間T4において
は、命令デコード・ステージ5における命令2の処理が
行われる。期間T5においては、命令2のデータがメモ
リーデータ記憶部9に既に得られている。したがって、
期間T5で、命令3の実行ステージ6′として、メモリ
・アドレス比較器10から出力されるデータDATAを
用いて、演算実行器13が演算処理を行うことができ
る。以下、この点を詳述する。
【0064】命令2の実行ステージ6′において、メモ
リ・アドレス比較器10は、メモリーデータ記憶部9に
格納されている命令1によって読み出されたデータのメ
モリ・アドレスSMAと命令2のメモリ・アドレスであ
る演算結果MAとを比較する。このとき、命令2の命令
コードOPを参照し、命令コードOPがロード(読み出
し)命令でかつ、アドレスの一致が検出されるため、H
レベルの一致信号GETを発生する。さらに、メモリ・
アドレス比較器10は、メモリーデータ記憶部9に格納
されているデータから必要部分を取り出しデータDAT
Aとして出力する。従って、必要なデータがデータDA
TAとして、レジスタ・ファイル・データ・セレクタ1
2に転送される。
【0065】命令3の実行ステージ6′において、レジ
スタファイル・アドレス比較器11は、命令2の格納ア
ドレスDと自身の命令3に含まれるソース・アドレスS
31,S32を比較して選択信号S1及びS2を出力す
る。このとき、命令3は命令2の読み出しだデータを利
用した演算処理を行う命令であるため、選択信号S1,
S2の少なくとも一方はHレベルとなる。
【0066】さらに、レジスタ・ファイル・データ・セ
レクタ12は、選択信号S1、S2及び、モリ・データ
が得られたことを示すHレベルの一致信号GETに応答
して、データDATAをデータバス23に与える。すな
わち、データ選択信号S1またはS2がHレベルで与え
られかつ一致信号GETがHレベルで与えらるため、そ
の信号線に応じて、データDATAをデータバス23あ
るいは24に与える。
【0067】従って、命令2で読み出したデータが命令
3で即時利用することができ、命令3は、図11(b)
で示した従来例のように、待機状態を設ける必要がなく
なる。すなわち、図11(c)を参照して、期間T4の
終了時点で、命令2の読み出したデータを得ることがで
き、得られたデータがデータDATAとして命令3に与
えられるので、期間T5において実行ステージ6′によ
る命令3の演算処理が可能となる。
【0068】その結果、命令3の処理が効率的に行える
ことにより、RISCの処理能力の向上が図れる。
【0069】<第2の実施例>図7はこの発明の第2の
実施例であるRISCの内部構成を詳細に示すブロック
図である。同図に示すように、第2の実施例の実行ステ
ージ6′′は、第1の実施例に加えて、データが得られ
たことを示す一致信号GETに応答して命令を変更する
命令変更器25をさらに有する。命令変更器25の一構
成例を図8に示す。命令変更器25は、レジスタ・ファ
イル書き込み命令を保持するレジスタ251と選択回路
252とからなる。選択回路252はメモリ・アドレス
比較器10から与えられた一致信号GETと、レジスタ
16から与えられる命令コードOPとを受ける。選択回
路252は、一致信号GETによって制御される。例え
ば、一致信号GETがHレベルである場合、選択回路
は、レジスタ251に保持された読み出し命令無効(変
更命令)を指示する命令コードを選択し、メモリ・アク
セス・ステージ7のレジスタ17に書き込む。一方、一
致信号GETがLレベルの時は、命令コードOPをその
ままレジスタ17に書き込む。
【0070】他の構成及び基本的な動作は第1の実施例
と同様なので省略する。以下、第1の実施例と異なる動
作についてのみ言及する。
【0071】命令変更器25が、一致信号GETに応答
して、レジスタ16から得た命令コードOPあるいはレ
ジスタ251に格納された、読み出し命令の無効を指示
する変更命令のいずれかを選択する。すなわち、一致信
号GETがHレベルである場合、選択回路252によ
り、レジスタ251に保持された変更命令が選択され、
レジスタ17に書き込まれる。
【0072】その結果、既に、実行ステージ6′′で、
メモリーデータ記憶部9より読み出し処理が行われた命
令2のような読み出し命令の実行時には、次段のメモリ
・アクセス・ステージ7で、再度データ・メモリ3から
の読み出し処理を行わないように、命令変更することが
できるため、無駄なメモリ・アクセス処理の実行を阻止
することができる。
【0073】
【発明の効果】この発明における請求項1記載の並列計
算機の一時格納記憶手段は、データ記憶手段からの読み
出しが実行される際、読み出しアドレスを一時格納アド
レスとし、読み出しデータを一時格納データをして格納
しており、命令実行手段は、読み出しアドレスが一時格
納アドレスと一致すると、一時格納記憶手段の一時格納
データを読み出して命令を実行することが可能である。
【0074】したがって、先に実行される第1の命令が
データ記憶手段からの読み出しを指示し、後に実行され
る第2の命令が第1の命令の読み出しデータを利用する
処理を指示する場合、第2の命令は、第1の命令の読み
出しデータがレジスタに格納されるのを待つことなく、
一時格納記憶手段に格納された格納データを読み出して
命令を実行することができる。
【0075】その結果、第2の命令の処理に要する時間
が従来に比べ短縮されるため、効率的なデータ処理を行
い処理能力の向上を図ることができる。
【0076】また、先に実行される第1の命令がデータ
記憶手段の第1のアドレスからの読み出しを指示し、後
に実行される第2の命令もデータ記憶手段の上記第1の
アドレスからの読み出しを指示する場合、第2の命令
は、データ記憶手段にアクセスすることなく、一時格納
記憶手段に格納された格納データを読み出すことができ
る。そこで、請求項2記載の並列計算機の命令実行手段
により、読み出しアドレスが一時格納アドレスに一致し
た(一時格納記憶手段からの読み出しに成功した)場
合、外部データ読み出し手段に与える命令を変更して読
み出し命令を無効にすることにより、外部データ読み出
し手段によるデータ記憶手段からの読み出し処理を行う
という無駄を省くことができる。
【0077】このように、第1の命令と第2の命令が同
じアドレスの読み出しを行う場合は、RISCのよう
に、同じアドレスにアクセスする読み出し命令であっ
て、バイト単位や・ハーフ・バイト単位でデータを読み
出す命令の場合でも、常に複数バイトからなるワード単
位でデータを読み出して必要な部分を抽出する形式の並
列計算機には比較的起こりうるため、処理効率の向上を
図るにはたいへん有効である。
【図面の簡単な説明】
【図1】この発明の第1の実施例であるRISCの内部
構成を示すブロック図である。
【図2】図1で示したレジスタ・ファイル・アドレス比
較器の一構成例を示すブロック図である。
【図3】図1で示したレジスタファイル・データ・セレ
クタの一構成例を示す回路図である。
【図4】図1で示した演算実行器の一構成例を示す説明
図である。
【図5】図1で示したメモリーデータ記憶部の内部構成
例を示す説明図である。
【図6】図1で示したメモリ・アドレス比較器の一構成
例を示すブロック図である。
【図7】この発明の第2の実施例であるRISCの内部
構成を示すブロック図である。
【図8】図7で示した命令変更器の一構成例を示す説明
図である。
【図9】従来のRISCの構成を示すのブロック図であ
る。
【図10】RISCを制御する2相のクロックを示すタ
イミング図である。
【図11】従来及び実施例のRISCによるパイプライ
ンの処理の進行状況を示す説明図である。
【符号の説明】
2 レジスタ・ファイル 3 データ・メモリ 6′ 実行ステージ 6′′ 実行ステージ 9 メモリーデータ記憶部 10 メモリ・アドレス比較器 11 レジスタ・ファイル・アドレス比較器 12 レジスタ・ファイル・データ・セレクタ 13 演算実行器 25 命令変更器

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 レジスタと、 命令実行に必要なデータが格納されるデータ記憶手段
    と、 命令コードを受け、前記命令コードを解読する命令解読
    手段と、 前記命令解読手段の解読結果に基づき決定される命令
    を、必要に応じて前記レジスタの格納データを用いて実
    行し、前記命令が前記データ記憶手段からの読み出しを
    指示する場合、前記データ記憶手段の読み出しアドレス
    を演算して出力する命令実行手段と、 前記命令が前記読み出しを指示する場合、前記データ記
    憶手段から、前記読み出しアドレスの格納データを読み
    出す外部データ読み出し手段と、 前記命令が前記読み出しを指示する場合、前記読み出し
    データを前記レジスタに書き込むレジスタ書き込み手段
    とを備え、 前記命令解読手段、前記命令実行手段、前記外部データ
    読み出し手段及びレジスタ書き込み手段は、各々パイプ
    ライン方式で並列実行可能であり、 前記データ記憶手段からの読み出しが実行される際、前
    記読み出しアドレスを一時格納アドレスとし、前記読み
    出しデータを一時格納データとして格納する一時格納記
    憶手段をさらに備え、 前記命令実行手段は、前記読み出しアドレスが前記一時
    格納アドレスを一致すると、前記一時的記憶手段の前記
    一時格納データを読み出して、前記命令を実行すること
    ができる並列計算機。
  2. 【請求項2】 前記命令実行手段は、前記読み出しアド
    レスが前記一時格納アドレスに一致すると、前記命令の
    前記読み出し指示を変更して、前記外部データ読み出し
    手段による前記データ記憶手段に対する読み出し処理を
    無効にする請求項1記載の並列計算機。
JP34843092A 1992-12-28 1992-12-28 並列計算機 Expired - Fee Related JP2821328B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP34843092A JP2821328B2 (ja) 1992-12-28 1992-12-28 並列計算機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34843092A JP2821328B2 (ja) 1992-12-28 1992-12-28 並列計算機

Publications (2)

Publication Number Publication Date
JPH06202867A true JPH06202867A (ja) 1994-07-22
JP2821328B2 JP2821328B2 (ja) 1998-11-05

Family

ID=18396957

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34843092A Expired - Fee Related JP2821328B2 (ja) 1992-12-28 1992-12-28 並列計算機

Country Status (1)

Country Link
JP (1) JP2821328B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08272611A (ja) * 1995-03-31 1996-10-18 Nec Corp マイクロプロセッサ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08272611A (ja) * 1995-03-31 1996-10-18 Nec Corp マイクロプロセッサ

Also Published As

Publication number Publication date
JP2821328B2 (ja) 1998-11-05

Similar Documents

Publication Publication Date Title
US5706459A (en) Processor having a variable number of stages in a pipeline
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
JP2539199B2 (ja) デジタルプロセッサ制御装置
US6081887A (en) System for passing an index value with each prediction in forward direction to enable truth predictor to associate truth value with particular branch instruction
CA2016532C (en) Serializing system between vector instruction and scalar instruction in data processing system
JPH02297630A (ja) デイジタル・データ処理システム
JP2000330787A (ja) 命令ループを実行するコンピュータシステムおよび命令ループ実行方法
JPH05233271A (ja) データプロセッサ
JP2560988B2 (ja) 情報処理装置および処理方法
EP0297943B1 (en) Microcode reading control system
US20220365787A1 (en) Event handling in pipeline execute stages
JPH03233630A (ja) 情報処理装置
JPH0581119A (ja) レジスタ間接モードを用いる汎用メモリ・アクセス方式
US6161171A (en) Apparatus for pipelining sequential instructions in synchronism with an operation clock
JP2821328B2 (ja) 並列計算機
US5421026A (en) Data processor for processing instruction after conditional branch instruction at high speed
JP3490005B2 (ja) 命令制御装置及びその方法
JPH0248932B2 (ja)
JPH05241827A (ja) 命令バッファ制御装置
JPS6329292B2 (ja)
US6360310B1 (en) Apparatus and method for instruction cache access
JPH02197924A (ja) 中央演算処理装置
JPH06139071A (ja) 並列計算機
JPH07200406A (ja) キャッシュシステム
US8117383B2 (en) Hardware accelerator based method and device for string searching

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Year of fee payment: 9

Free format text: PAYMENT UNTIL: 20070828

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

Year of fee payment: 10

Free format text: PAYMENT UNTIL: 20080828

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

Year of fee payment: 10

Free format text: PAYMENT UNTIL: 20080828

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

Year of fee payment: 11

Free format text: PAYMENT UNTIL: 20090828

LAPS Cancellation because of no payment of annual fees