JPH05342084A - データ記憶装置及びデータ記憶方法 - Google Patents
データ記憶装置及びデータ記憶方法Info
- Publication number
- JPH05342084A JPH05342084A JP4147248A JP14724892A JPH05342084A JP H05342084 A JPH05342084 A JP H05342084A JP 4147248 A JP4147248 A JP 4147248A JP 14724892 A JP14724892 A JP 14724892A JP H05342084 A JPH05342084 A JP H05342084A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- latch
- instruction
- output
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 4
- 238000013500 data storage Methods 0.000 claims description 22
- 238000010586 diagram Methods 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3875—Pipelining a single stage, e.g. superpipelining
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Memory System (AREA)
Abstract
(57)【要約】 (修正有)
【目的】 先行する命令によるメモリリード動作と後続
する命令によるメモリライト動作が同時に発生する場
合、これを回避し高速に命令実行する。 【構成】 データメモリ101は1メモリサイクルでリ
ード動作/ライト動作の何れか一方だけを行なうことが
できる。データラッチ103はデータバス102経由で
与えられるデータメモリ101へライトすべきデータを
一時保持し、バッファ104はデータラッチ103出力
をデータメモリ101の入力へ接続し、バッファ105
はデータメモリ101の出力をデータバス102へ出力
する。ゲート111は、ライトデータラッチ信号109
と動作クロックφ1110の論理積をデータラッチ10
3に出力し、ゲート113はメモリリード信号107と
動作クロックφ2112の論理積をバッファ105に出
力する構成からなる。
する命令によるメモリライト動作が同時に発生する場
合、これを回避し高速に命令実行する。 【構成】 データメモリ101は1メモリサイクルでリ
ード動作/ライト動作の何れか一方だけを行なうことが
できる。データラッチ103はデータバス102経由で
与えられるデータメモリ101へライトすべきデータを
一時保持し、バッファ104はデータラッチ103出力
をデータメモリ101の入力へ接続し、バッファ105
はデータメモリ101の出力をデータバス102へ出力
する。ゲート111は、ライトデータラッチ信号109
と動作クロックφ1110の論理積をデータラッチ10
3に出力し、ゲート113はメモリリード信号107と
動作クロックφ2112の論理積をバッファ105に出
力する構成からなる。
Description
【0001】
【産業上の利用分野】本発明はパイプライン方式を採用
したデータ記憶装置に関するものである。
したデータ記憶装置に関するものである。
【0002】
【従来の技術】近年のマイクロプロセッサでは性能向上
のためパイプライン処理を採用しているものが多い。し
かしパイプライン処理では資源干渉問題が発生する。例
として図13に示したように各命令がIFステージ13
01(命令フェッチを行なうステージ)、DEC/OF
ステージ1302(フェッチした命令のデコード及び、
レジスタもしくはメモリからオペランドをフェッチする
ステージ)、EXステージ1303(デコード結果に従
い命令を実行するステージ)、WTステージ1304
(命令実行結果をレジスタもしくはメモリにライトする
ステージ)の4段パイプラインからなるものとし、この
ようなパイプライン構成で図14に示したように命令A
1401、命令B1402、命令C1403を実行する
場合を考える。ここで命令A1401、命令C1403
は、DEC/OFステージではオペランドをメモリから
取り出し、EXステージでは取り出した内容に演算を施
し、WTステージではメモリに演算結果を格納するもの
とする。この時図14のサイクル1404では、命令A
1401がWTステージでメモリライト動作を行ない、
命令C1403はDEC/OFステージでメモリリード
動作を行なうため、両ステージで共にメモリをアクセス
することになり資源干渉が発生する。
のためパイプライン処理を採用しているものが多い。し
かしパイプライン処理では資源干渉問題が発生する。例
として図13に示したように各命令がIFステージ13
01(命令フェッチを行なうステージ)、DEC/OF
ステージ1302(フェッチした命令のデコード及び、
レジスタもしくはメモリからオペランドをフェッチする
ステージ)、EXステージ1303(デコード結果に従
い命令を実行するステージ)、WTステージ1304
(命令実行結果をレジスタもしくはメモリにライトする
ステージ)の4段パイプラインからなるものとし、この
ようなパイプライン構成で図14に示したように命令A
1401、命令B1402、命令C1403を実行する
場合を考える。ここで命令A1401、命令C1403
は、DEC/OFステージではオペランドをメモリから
取り出し、EXステージでは取り出した内容に演算を施
し、WTステージではメモリに演算結果を格納するもの
とする。この時図14のサイクル1404では、命令A
1401がWTステージでメモリライト動作を行ない、
命令C1403はDEC/OFステージでメモリリード
動作を行なうため、両ステージで共にメモリをアクセス
することになり資源干渉が発生する。
【0003】従来はこれに対して図15のサイクル15
01に示すように命令C1403のDEC/OFステー
ジを1サイクル遅らすことで対処している(参考文献、
例えば「コンピュータ アーキテキチャー ア クアン
ティテイチブ アプローチ(Computer Architecture A
Quantitative Approach)」257頁〜278頁、19
90年 モーガン カウフマン パブリッシーズ(Morga
n Kaufmann Publishers, Inc.)発行)。
01に示すように命令C1403のDEC/OFステー
ジを1サイクル遅らすことで対処している(参考文献、
例えば「コンピュータ アーキテキチャー ア クアン
ティテイチブ アプローチ(Computer Architecture A
Quantitative Approach)」257頁〜278頁、19
90年 モーガン カウフマン パブリッシーズ(Morga
n Kaufmann Publishers, Inc.)発行)。
【0004】
【発明が解決しようとする課題】しかしながら上記のよ
うな方法では、命令C1403の実行に5サイクルかか
っていることになり命令実行が1サイクル遅くなってし
まうという欠点を有する。
うな方法では、命令C1403の実行に5サイクルかか
っていることになり命令実行が1サイクル遅くなってし
まうという欠点を有する。
【0005】本発明は上記問題点に鑑み、メモリに対し
てリード動作とライト動作が同時に発生することを回避
し、高速に命令実行が行なえるデータ記憶装置を提供す
ることを目的とする。
てリード動作とライト動作が同時に発生することを回避
し、高速に命令実行が行なえるデータ記憶装置を提供す
ることを目的とする。
【0006】
【課題を解決するための手段】上記問題点を解決するた
めに請求項1の発明のデータ記憶装置は、データを記憶
するメモリと、前記メモリにライトするデータを一時保
持するデータラッチと、前記データラッチに外部よりデ
ータをラッチすることを指示するライトデータラッチ信
号と、前記メモリに前記データラッチの出力をライトす
ることを指示するメモリライト信号とを備える。
めに請求項1の発明のデータ記憶装置は、データを記憶
するメモリと、前記メモリにライトするデータを一時保
持するデータラッチと、前記データラッチに外部よりデ
ータをラッチすることを指示するライトデータラッチ信
号と、前記メモリに前記データラッチの出力をライトす
ることを指示するメモリライト信号とを備える。
【0007】また請求項3の発明のデータ記憶装置は、
データを記憶するメモリと、前記メモリからリードする
データを一時保持するデータラッチと、前記メモリに対
してはリード動作を前記データラッチにはメモリ出力を
ラッチすることを指示するメモリリード信号と、前記デ
ータラッチにそのラッチ内容を外部に出力することを指
示するラッチデータ出力信号とを備える。
データを記憶するメモリと、前記メモリからリードする
データを一時保持するデータラッチと、前記メモリに対
してはリード動作を前記データラッチにはメモリ出力を
ラッチすることを指示するメモリリード信号と、前記デ
ータラッチにそのラッチ内容を外部に出力することを指
示するラッチデータ出力信号とを備える。
【0008】
【作用】請求項1記載の発明は上記した構成によって、
先行する命令がメモリライト動作が必要な場合にはこの
命令では前記データラッチへのライトだけを行ない、前
記データラッチから前記メモリへのライトは前記メモリ
がリードされていない時に後続する命令が行なう。
先行する命令がメモリライト動作が必要な場合にはこの
命令では前記データラッチへのライトだけを行ない、前
記データラッチから前記メモリへのライトは前記メモリ
がリードされていない時に後続する命令が行なう。
【0009】請求項3記載の発明は上記した構成によっ
て、メモリ内容を必要とする命令に先行する命令が予め
前記メモリから前記ラッチへのリードだけを行ない、メ
モリ内容を必要とする後続命令は前記ラッチからのリー
ドだけを行なう。
て、メモリ内容を必要とする命令に先行する命令が予め
前記メモリから前記ラッチへのリードだけを行ない、メ
モリ内容を必要とする後続命令は前記ラッチからのリー
ドだけを行なう。
【0010】
【実施例】以下請求項1に対応する本発明の一実施例の
データ記憶装置について、図面を参照しながら説明す
る。
データ記憶装置について、図面を参照しながら説明す
る。
【0011】図1は本発明の実施例におけるデータ記憶
装置の構成図を示すものである。図2、図3、図4、図
5は図1のデータ記憶装置の動作タイミングを示す図で
あり、図6は図1のデータ記憶装置で命令を実行する場
合のパイプラインの動きを示す図である。
装置の構成図を示すものである。図2、図3、図4、図
5は図1のデータ記憶装置の動作タイミングを示す図で
あり、図6は図1のデータ記憶装置で命令を実行する場
合のパイプラインの動きを示す図である。
【0012】図1において、101は、1サイクルでリ
ード動作/ライト動作の何れか一方だけを行なうことが
できるデータメモリ、102は、データバス、103
は、データバス102経由で与えられデータメモリ10
1へライトすべきデータを一時保持するデータラッチ、
104は、データラッチ103出力をデータメモリ10
1の入力へ接続するバッファ、105は、データメモリ
101の出力をデータバス102へ出力するバッファ、
106は、データメモリ101へのアドレス信号、10
7は、データメモリ101へリード動作を指示するメモ
リリード信号、108は、データメモリ101へライト
動作を指示するメモリライト信号、109は、データラ
ッチ103へラッチ動作を指示するライトデータラッチ
信号、110は、動作クロックφ1、111は、ライト
データラッチ信号109と動作クロックφ1の論理積を
データラッチ103に出力するゲート、112は、動作
クロックφ2、113は、メモリリード信号107と動
作クロックφ2の論理積をバッファ105に出力するゲ
ートである。
ード動作/ライト動作の何れか一方だけを行なうことが
できるデータメモリ、102は、データバス、103
は、データバス102経由で与えられデータメモリ10
1へライトすべきデータを一時保持するデータラッチ、
104は、データラッチ103出力をデータメモリ10
1の入力へ接続するバッファ、105は、データメモリ
101の出力をデータバス102へ出力するバッファ、
106は、データメモリ101へのアドレス信号、10
7は、データメモリ101へリード動作を指示するメモ
リリード信号、108は、データメモリ101へライト
動作を指示するメモリライト信号、109は、データラ
ッチ103へラッチ動作を指示するライトデータラッチ
信号、110は、動作クロックφ1、111は、ライト
データラッチ信号109と動作クロックφ1の論理積を
データラッチ103に出力するゲート、112は、動作
クロックφ2、113は、メモリリード信号107と動
作クロックφ2の論理積をバッファ105に出力するゲ
ートである。
【0013】以上のように構成されたデータ記憶装置に
ついて、以下、図1、図2、図3、図4、図5を用い、
その動作をデータメモリ101へのアクセス状態で分類
したケース1からケース5に分けて説明する。
ついて、以下、図1、図2、図3、図4、図5を用い、
その動作をデータメモリ101へのアクセス状態で分類
したケース1からケース5に分けて説明する。
【0014】ケース1)メモリリードの場合(図2参
照)。図2に示したようにメモリサイクルの初めでアド
レス信号106によりアクセスしたい番地のアドレスが
データメモリ101に与えられる。またメモリリード信
号107も能動となりデータメモリ101のリード動作
が行なわれる。そしてクロックφ2のタイミングでゲー
ト113の出力が能動となり、アクセスされたデータメ
モリ101の出力はバッファ105を経由してデータバ
ス102に出力される。
照)。図2に示したようにメモリサイクルの初めでアド
レス信号106によりアクセスしたい番地のアドレスが
データメモリ101に与えられる。またメモリリード信
号107も能動となりデータメモリ101のリード動作
が行なわれる。そしてクロックφ2のタイミングでゲー
ト113の出力が能動となり、アクセスされたデータメ
モリ101の出力はバッファ105を経由してデータバ
ス102に出力される。
【0015】ケース2)データバス102上のデータを
1メモリサイクルでデータメモリ101にライトする場
合(図3参照)。
1メモリサイクルでデータメモリ101にライトする場
合(図3参照)。
【0016】図3に示したようにメモリサイクルの初め
でアドレス信号106によりアクセスしたい番地のアド
レスがデータメモリ101に与えられる。またライトデ
ータラッチ信号109、メモリライト信号108も能動
となりデータメモリ101へのライト動作が行なわれ
る。すなわちクロックφ1のタイミングでゲート111
の出力が能動となり、データバス102上のデータはデ
ータラッチ103にラッチされ、その出力はバッファ1
04を経由してデータメモリ101に出力される。その
結果メモリサイクル終了時点でデータバス102上のデ
ータはデータメモリ101にライトされる。
でアドレス信号106によりアクセスしたい番地のアド
レスがデータメモリ101に与えられる。またライトデ
ータラッチ信号109、メモリライト信号108も能動
となりデータメモリ101へのライト動作が行なわれ
る。すなわちクロックφ1のタイミングでゲート111
の出力が能動となり、データバス102上のデータはデ
ータラッチ103にラッチされ、その出力はバッファ1
04を経由してデータメモリ101に出力される。その
結果メモリサイクル終了時点でデータバス102上のデ
ータはデータメモリ101にライトされる。
【0017】ケース3)データバス102上のデータを
データラッチ103にラッチする場合(図4参照)。
データラッチ103にラッチする場合(図4参照)。
【0018】図4に示したようにライトデータラッチ信
号109が能動となるので、クロックφ1のタイミング
でゲート111の出力が能動となり、データバス102
上のデータはデータラッチ103にラッチされる。しか
しメモリライト信号108は非能動であるのでデータラ
ッチ103の出力はデータメモリ101に与えられず、
またデータメモリ101へのライトも行なわれない。そ
の結果メモリサイクル終了時点でデータバス102上の
データはデータラッチ103にラッチされるだけとな
る。
号109が能動となるので、クロックφ1のタイミング
でゲート111の出力が能動となり、データバス102
上のデータはデータラッチ103にラッチされる。しか
しメモリライト信号108は非能動であるのでデータラ
ッチ103の出力はデータメモリ101に与えられず、
またデータメモリ101へのライトも行なわれない。そ
の結果メモリサイクル終了時点でデータバス102上の
データはデータラッチ103にラッチされるだけとな
る。
【0019】ケース4)データラッチ103のデータを
データメモリ101にライトする場合(図5参照)。
データメモリ101にライトする場合(図5参照)。
【0020】図5に示したようにメモリライト信号10
8が能動となるので、データラッチ103の出力はバッ
ファ104を経由してデータメモリ101に与えられ
る。その結果メモリサイクル終了時点でデータラッチ1
03のデータはデータメモリ101にライトされる。
8が能動となるので、データラッチ103の出力はバッ
ファ104を経由してデータメモリ101に与えられ
る。その結果メモリサイクル終了時点でデータラッチ1
03のデータはデータメモリ101にライトされる。
【0021】次に、本実施例のデータ記憶装置を用いる
ことで、図14に示したようなメモリ資源干渉を回避す
る動作を図6を用いて説明する。
ことで、図14に示したようなメモリ資源干渉を回避す
る動作を図6を用いて説明する。
【0022】図6においてOF、WT、WTB、WTM
と記したステージではそれぞれ、ケース1、ケース2、
ケース3、ケース4で述べた動作を行なう。そして図6
中の命令A601、命令B602にはこのような動作を
行なう情報が組み込んであるものとする。
と記したステージではそれぞれ、ケース1、ケース2、
ケース3、ケース4で述べた動作を行なう。そして図6
中の命令A601、命令B602にはこのような動作を
行なう情報が組み込んであるものとする。
【0023】そこでサイクル604では命令A601に
より上記ケース3の動作を行なわれ、命令C1403に
より上記ケース1の動作が行なわれる。すなわちこの時
データメモリ101は、命令C1403によるリード動
作だけが行なわれ、命令A601によるライト動作は行
なわれないので資源干渉は発生しない。しかしサイクル
604では命令A601によりケース3の動作が行なわ
れるので、演算結果のデータラッチ103へのラッチは
行なわれる。
より上記ケース3の動作を行なわれ、命令C1403に
より上記ケース1の動作が行なわれる。すなわちこの時
データメモリ101は、命令C1403によるリード動
作だけが行なわれ、命令A601によるライト動作は行
なわれないので資源干渉は発生しない。しかしサイクル
604では命令A601によりケース3の動作が行なわ
れるので、演算結果のデータラッチ103へのラッチは
行なわれる。
【0024】そしてサイクル605では命令B602に
より上記ケース4の動作が行なわれることで、サイクル
604で命令A601によりデータラッチ103に書き
込まれたデータがデータメモリ101へライトされる。
より上記ケース4の動作が行なわれることで、サイクル
604で命令A601によりデータラッチ103に書き
込まれたデータがデータメモリ101へライトされる。
【0025】以上のように本実施例によれば、データラ
ッチ103、メモリライト信号108、ライトデータラ
ッチ信号109とを設け、メモリへのライトをデータバ
ス102からデータラッチ103へのライトと、データ
ラッチ103からデータメモリ101へのライトに分離
し、メモリリード/ライトによるメモリ資源干渉が発生
する場合には、先行する命令ではデータラッチ103へ
のラッチだけを行ない、後続命令でデータラッチ103
からデータメモリ101へのライトを行なうことで干渉
を回避することが出き、従来のように空きステージを発
生させることがなくなり、高速に命令実行を行なうこと
が出来る。
ッチ103、メモリライト信号108、ライトデータラ
ッチ信号109とを設け、メモリへのライトをデータバ
ス102からデータラッチ103へのライトと、データ
ラッチ103からデータメモリ101へのライトに分離
し、メモリリード/ライトによるメモリ資源干渉が発生
する場合には、先行する命令ではデータラッチ103へ
のラッチだけを行ない、後続命令でデータラッチ103
からデータメモリ101へのライトを行なうことで干渉
を回避することが出き、従来のように空きステージを発
生させることがなくなり、高速に命令実行を行なうこと
が出来る。
【0026】尚、本説明ではデータラッチ103からデ
ータメモリ101へのライト動作を、データバス102
からデータラッチ103へのライト動作の直後に行なっ
ているが、必ずしも直後に行なう必要はなく、次のメモ
リライトが行なわれるまでの間でかつメモリ干渉が発生
しないステージで行なえばよい。
ータメモリ101へのライト動作を、データバス102
からデータラッチ103へのライト動作の直後に行なっ
ているが、必ずしも直後に行なう必要はなく、次のメモ
リライトが行なわれるまでの間でかつメモリ干渉が発生
しないステージで行なえばよい。
【0027】次に請求項3に対応する本発明の一実施例
のデータ記憶装置について、図面を参照しながら説明す
る。
のデータ記憶装置について、図面を参照しながら説明す
る。
【0028】図7は本発明の実施例におけるデータ記憶
装置の構成図を示すものである。図8、図9、図10、
図11は図7のデータ記憶装置の動作タイミングを示す
図であり、図12は図7のデータ記憶装置で命令を実行
する場合のパイプラインの動きを示す図である。
装置の構成図を示すものである。図8、図9、図10、
図11は図7のデータ記憶装置の動作タイミングを示す
図であり、図12は図7のデータ記憶装置で命令を実行
する場合のパイプラインの動きを示す図である。
【0029】図7において図1と同じ番号を付した構成
要素、信号は既に述べたものと同じであるので説明は省
略する。図7において、701は、データメモリ101
の出力を一時ラッチするデータラッチ、702は、メモ
リリード信号107と動作クロックφ2の論理積をデー
タラッチ701に出力するゲート、703は、バッファ
105にデータラッチ701の出力をデータバス102
に出力することを指示するラッチデータ出力信号、70
4は、ラッチデータ出力信号703と動作クロックφ2
の論理積をバッファ105に出力するゲート、705
は、メモリライト信号108と動作クロックφ1の論理
積をバッファ104に出力するゲートである。
要素、信号は既に述べたものと同じであるので説明は省
略する。図7において、701は、データメモリ101
の出力を一時ラッチするデータラッチ、702は、メモ
リリード信号107と動作クロックφ2の論理積をデー
タラッチ701に出力するゲート、703は、バッファ
105にデータラッチ701の出力をデータバス102
に出力することを指示するラッチデータ出力信号、70
4は、ラッチデータ出力信号703と動作クロックφ2
の論理積をバッファ105に出力するゲート、705
は、メモリライト信号108と動作クロックφ1の論理
積をバッファ104に出力するゲートである。
【0030】以上のように構成されたデータ記憶装置に
ついて、以下、図8、図9、図10、図11を用い、そ
の動作をデータメモリ101へのアクセス状態で分類し
たケース5からケース8に分けて説明する。
ついて、以下、図8、図9、図10、図11を用い、そ
の動作をデータメモリ101へのアクセス状態で分類し
たケース5からケース8に分けて説明する。
【0031】ケース5)メモリライトの場合(図8参
照)。図8に示したようにメモリサイクルの初めでアド
レス信号106によりアクセスしたい番地のアドレスが
データメモリ101に与えられる。またメモリライト信
号108も能動となりデータメモリ101へのライト動
作が行なわれる。すなわちクロックφ1のタイミングで
ゲート705の出力が能動となり、データバス102上
のデータはバッファ104を経由してデータメモリ10
1に出力される。その結果メモリサイクル終了時点でデ
ータバス102上のデータはデータメモリ101にライ
トされる。
照)。図8に示したようにメモリサイクルの初めでアド
レス信号106によりアクセスしたい番地のアドレスが
データメモリ101に与えられる。またメモリライト信
号108も能動となりデータメモリ101へのライト動
作が行なわれる。すなわちクロックφ1のタイミングで
ゲート705の出力が能動となり、データバス102上
のデータはバッファ104を経由してデータメモリ10
1に出力される。その結果メモリサイクル終了時点でデ
ータバス102上のデータはデータメモリ101にライ
トされる。
【0032】ケース6)データメモリ101の内容を1
サイクルでデータバス102に出力する場合(図9参
照)。
サイクルでデータバス102に出力する場合(図9参
照)。
【0033】図9に示したようにメモリサイクルの初め
でアドレス信号106によりアクセスしたい番地のアド
レスがデータメモリ101に与えられる。またメモリリ
ード信号107、ラッチデータ出力信号703も能動と
なりデータメモリ101のリード動作が行なわれる。そ
してクロックφ2のタイミングでゲート702、ゲート
704の出力が能動となり、アクセスされたデータメモ
リ101の出力はデータラッチ701、バッファ105
を経由してデータバス102に出力される。
でアドレス信号106によりアクセスしたい番地のアド
レスがデータメモリ101に与えられる。またメモリリ
ード信号107、ラッチデータ出力信号703も能動と
なりデータメモリ101のリード動作が行なわれる。そ
してクロックφ2のタイミングでゲート702、ゲート
704の出力が能動となり、アクセスされたデータメモ
リ101の出力はデータラッチ701、バッファ105
を経由してデータバス102に出力される。
【0034】ケース7)データメモリ101の内容をデ
ータラッチ701までリードする場合(図10参照)。
ータラッチ701までリードする場合(図10参照)。
【0035】図10に示したようにメモリサイクルの初
めでアドレス信号106によりアクセスしたい番地のア
ドレスがデータメモリ101に与えられる。またメモリ
リード信号107も能動となりデータメモリ101のリ
ード動作が行なわれる。そこでクロックφ2のタイミン
グでゲート702の出力が能動となり、データメモリ1
01の出力はデータラッチ701にラッチされる。しか
しこの場合、ラッチデータ出力信号703が非能動であ
るのでラッチ結果はデータバス102には出力されな
い。
めでアドレス信号106によりアクセスしたい番地のア
ドレスがデータメモリ101に与えられる。またメモリ
リード信号107も能動となりデータメモリ101のリ
ード動作が行なわれる。そこでクロックφ2のタイミン
グでゲート702の出力が能動となり、データメモリ1
01の出力はデータラッチ701にラッチされる。しか
しこの場合、ラッチデータ出力信号703が非能動であ
るのでラッチ結果はデータバス102には出力されな
い。
【0036】ケース8)データラッチ701の出力をデ
ータバス102に出力する場合(図11参照)。
ータバス102に出力する場合(図11参照)。
【0037】図11に示したようにラッチデータ出力信
号703が能動となり、ゲート704の出力がクロック
φ2のタイミングで能動となるので、データラッチ70
1の出力がバッファ105を経由してデータバス102
に出力される。
号703が能動となり、ゲート704の出力がクロック
φ2のタイミングで能動となるので、データラッチ70
1の出力がバッファ105を経由してデータバス102
に出力される。
【0038】次に、本実施例のデータ記憶装置を用いる
ことで、図14に示したようなメモリ資源干渉を回避す
る動作を図12を用いて説明する。
ことで、図14に示したようなメモリ資源干渉を回避す
る動作を図12を用いて説明する。
【0039】図12においてWT、OF、OFB、RD
Bと記したステージではそれぞれ、先にケース5、ケー
ス6、ケース7、ケース8で述べた動作を行なう。そし
て図12中の命令B1201、命令C1202にはこの
ような動作を行なう情報が組み込んであるものとし、さ
らに命令B1201はメモリ内容を必要としない命令で
あるとする。
Bと記したステージではそれぞれ、先にケース5、ケー
ス6、ケース7、ケース8で述べた動作を行なう。そし
て図12中の命令B1201、命令C1202にはこの
ような動作を行なう情報が組み込んであるものとし、さ
らに命令B1201はメモリ内容を必要としない命令で
あるとする。
【0040】そこでサイクル1203では命令B120
1により上記ケース7の動作が行なわれる。すなわちこ
の時データメモリ101はリード動作だけが行なわれる
がリード結果はデータラッチ701に読み出されるだけ
でデータバス102には出力されない。
1により上記ケース7の動作が行なわれる。すなわちこ
の時データメモリ101はリード動作だけが行なわれる
がリード結果はデータラッチ701に読み出されるだけ
でデータバス102には出力されない。
【0041】次のサイクル1204では命令A1401
により上述のケース5の動作であるメモリライト動作が
行なわれる。それと同時に命令C1202により上述の
ケース8の動作であるデータラッチリード動作が行なわ
れる。すなわち、命令C1202のEXステージ(サイ
クル1205)で必要とするデータメモリ101のリー
ドをサイクル1204での命令C1202のオペランド
フェッチステージで行なうのではなく、先行する命令B
1201(命令B1201はメモリ内容を必要としない
命令としている)のオペランドフェッチステージで行な
いフェッチ結果をデータラッチ701に格納しておき、
サイクル1204での命令C1202のオペランドフェ
ッチステージではデータラッチ701のデータバス10
2への出力だけを行ないメモリリードは行なわないよう
に動作する。従って命令A1401によるメモリライト
動作と命令C1202によるメモリリード動作によるメ
モリ資源干渉は発生しない。
により上述のケース5の動作であるメモリライト動作が
行なわれる。それと同時に命令C1202により上述の
ケース8の動作であるデータラッチリード動作が行なわ
れる。すなわち、命令C1202のEXステージ(サイ
クル1205)で必要とするデータメモリ101のリー
ドをサイクル1204での命令C1202のオペランド
フェッチステージで行なうのではなく、先行する命令B
1201(命令B1201はメモリ内容を必要としない
命令としている)のオペランドフェッチステージで行な
いフェッチ結果をデータラッチ701に格納しておき、
サイクル1204での命令C1202のオペランドフェ
ッチステージではデータラッチ701のデータバス10
2への出力だけを行ないメモリリードは行なわないよう
に動作する。従って命令A1401によるメモリライト
動作と命令C1202によるメモリリード動作によるメ
モリ資源干渉は発生しない。
【0042】以上のように本実施例によれば、データラ
ッチ701、メモリリード信号107、ラッチデータ出
力信号703、メモリライト信号108とを設け、デー
タメモリ101からのリードをデータメモリ101から
データラッチ701へのリードと、データラッチ701
からデータバス102へのリードに分離し、メモリリー
ド/ライトによるメモリ干渉が発生する場合には、先行
する命令ではデータラッチ701へのラッチだけを行な
い、後続命令でデータラッチ701からデータバス10
2への出力を行なうことで干渉を回避することが出き、
従来のように空きステージを発生させる必要がなくな
り、高速に命令実行を行なうことが出来る。
ッチ701、メモリリード信号107、ラッチデータ出
力信号703、メモリライト信号108とを設け、デー
タメモリ101からのリードをデータメモリ101から
データラッチ701へのリードと、データラッチ701
からデータバス102へのリードに分離し、メモリリー
ド/ライトによるメモリ干渉が発生する場合には、先行
する命令ではデータラッチ701へのラッチだけを行な
い、後続命令でデータラッチ701からデータバス10
2への出力を行なうことで干渉を回避することが出き、
従来のように空きステージを発生させる必要がなくな
り、高速に命令実行を行なうことが出来る。
【0043】
【発明の効果】以上のように本発明の第1の発明は、デ
ータを記憶するメモリと、前記メモリにライトするデー
タを一時保持するデータラッチと、前記データラッチに
外部よりデータをラッチすることを指示するライトデー
タラッチ信号と、前記メモリに前記データラッチの出力
をライトすることを指示するメモリライト信号とを設
け、メモリライトを要する先行命令とメモリリードを要
する後続命令がメモリ資源に対して干渉を起こす場合に
は、メモリライトを要する命令はメモリライトを行なわ
ずデータラッチへのライトだけを行ない、データラッチ
からメモリへのライトは後続する別の命令で行なうこと
でメモリ干渉を回避出来、無駄のない高速のパイプライ
ン処理が実現できる。
ータを記憶するメモリと、前記メモリにライトするデー
タを一時保持するデータラッチと、前記データラッチに
外部よりデータをラッチすることを指示するライトデー
タラッチ信号と、前記メモリに前記データラッチの出力
をライトすることを指示するメモリライト信号とを設
け、メモリライトを要する先行命令とメモリリードを要
する後続命令がメモリ資源に対して干渉を起こす場合に
は、メモリライトを要する命令はメモリライトを行なわ
ずデータラッチへのライトだけを行ない、データラッチ
からメモリへのライトは後続する別の命令で行なうこと
でメモリ干渉を回避出来、無駄のない高速のパイプライ
ン処理が実現できる。
【0044】また、本発明の第2の発明は、データを記
憶するメモリと、前記メモリからリードするデータを一
時保持するデータラッチと、前記メモリに対してはリー
ド動作を前記データラッチにはメモリ出力をラッチする
ことを指示するメモリリード信号と、前記データラッチ
にそのラッチ内容を外部に出力することを指示するラッ
チデータ出力信号とを設け、メモリライトを要する先行
命令とメモリリードを要する後続命令がメモリ資源に対
して干渉を起こす場合には、メモリリードを要する命令
に先行する命令でオペランドとしてメモリ資源を必要と
しない命令でメモリからデータラッチへのリードだけを
行ない、本来のメモリリードを要する命令はデータラッ
チからのリードだけを行なうことでメモリ干渉を回避出
来、本発明の第1の発明と同じ効果を得ることが出来
る。
憶するメモリと、前記メモリからリードするデータを一
時保持するデータラッチと、前記メモリに対してはリー
ド動作を前記データラッチにはメモリ出力をラッチする
ことを指示するメモリリード信号と、前記データラッチ
にそのラッチ内容を外部に出力することを指示するラッ
チデータ出力信号とを設け、メモリライトを要する先行
命令とメモリリードを要する後続命令がメモリ資源に対
して干渉を起こす場合には、メモリリードを要する命令
に先行する命令でオペランドとしてメモリ資源を必要と
しない命令でメモリからデータラッチへのリードだけを
行ない、本来のメモリリードを要する命令はデータラッ
チからのリードだけを行なうことでメモリ干渉を回避出
来、本発明の第1の発明と同じ効果を得ることが出来
る。
【図面の簡単な説明】
【図1】本発明の第1の発明の実施例におけるデータ記
憶装置の構成図
憶装置の構成図
【図2】本発明の第1の発明の実施例における動作タイ
ミングを示すタイミングチャート
ミングを示すタイミングチャート
【図3】本発明の第1の発明の実施例における動作タイ
ミングを示すタイミングチャート
ミングを示すタイミングチャート
【図4】本発明の第1の発明の実施例における動作タイ
ミングを示すタイミングチャート
ミングを示すタイミングチャート
【図5】本発明の第1の発明の実施例における動作タイ
ミングを示すタイミングチャート
ミングを示すタイミングチャート
【図6】本発明の第1の発明の実施例におけるパイプラ
イン動作を示す図
イン動作を示す図
【図7】本発明の第2の発明の実施例におけるデータ記
憶装置の構成図
憶装置の構成図
【図8】本発明の第2の発明の実施例における動作タイ
ミングを示すタイミングチャート
ミングを示すタイミングチャート
【図9】本発明の第2の発明の実施例における動作タイ
ミングを示すタイミングチャート
ミングを示すタイミングチャート
【図10】本発明の第2の発明の実施例における動作タ
イミングを示すタイミングチャート
イミングを示すタイミングチャート
【図11】本発明の第2の発明の実施例における動作タ
イミングを示すタイミングチャート
イミングを示すタイミングチャート
【図12】本発明の第2の発明の実施例におけるパイプ
ライン動作を示す図
ライン動作を示す図
【図13】一般的なパイプライン動作を示す図
【図14】一般的なパイプライン動作でメモリ資源干渉
を起こした場合の図
を起こした場合の図
【図15】従来のデータ記憶装置でメモリ資源干渉を回
避したパイプライン動作を示す図
避したパイプライン動作を示す図
101 データメモリ 102 データバス 103 データラッチ 104 バッファ 105 バッファ 106 アドレス信号 107 メモリリード信号 108 メモリライト信号 109 ライトデータラッチ信号 110 クロックφ1 111 ゲート 112 クロックφ2 113 ゲート 701 データラッチ 702 ゲート 703 ラッチデータ出力信号 704 ゲート 705 ゲート
Claims (4)
- 【請求項1】データを記憶するメモリと、前記メモリに
ライトするデータを一時保持するデータラッチと、前記
データラッチに外部よりデータをラッチすることを指示
するライトデータラッチ信号と、前記メモリに前記デー
タラッチの出力をライトすることを指示するメモリライ
ト信号とを備えたことを特徴とするデータ記憶装置。 - 【請求項2】データを記憶するメモリへの入力部にライ
トデータ一時保持用のラッチを設け、先行する命令がメ
モリライト動作が必要な場合にはこの命令では前記ラッ
チへのライトだけを行ない、後続する命令が前記ラッチ
から前記メモリへのライトを行なうデータ記憶方法。 - 【請求項3】データを記憶するメモリと、前記メモリか
らリードするデータを一時保持するデータラッチと、前
記メモリに対してはリード動作を前記データラッチには
メモリ出力をラッチすることを指示するメモリリード信
号と、前記データラッチにそのラッチ内容を外部に出力
することを指示するラッチデータ出力信号とを備えたこ
とを特徴とするデータ記憶装置。 - 【請求項4】データを記憶するメモリからの出力部にリ
ードデータ一時保持用のラッチを設け、メモリ内容を必
要とする命令に先行する命令が予め前記メモリから前記
ラッチへのリードだけを行ない、メモリ内容を必要とす
る後続命令は前記ラッチからのリードだけを行なうデー
タ記憶方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4147248A JPH05342084A (ja) | 1992-06-08 | 1992-06-08 | データ記憶装置及びデータ記憶方法 |
US08/328,620 US5564029A (en) | 1992-06-08 | 1994-10-25 | Pipeline processor which avoids resource conflicts |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4147248A JPH05342084A (ja) | 1992-06-08 | 1992-06-08 | データ記憶装置及びデータ記憶方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05342084A true JPH05342084A (ja) | 1993-12-24 |
Family
ID=15425938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4147248A Pending JPH05342084A (ja) | 1992-06-08 | 1992-06-08 | データ記憶装置及びデータ記憶方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5564029A (ja) |
JP (1) | JPH05342084A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6807624B1 (en) | 1998-12-17 | 2004-10-19 | Fujitsu Limited | Instruction control device and method therefor |
JP2007520826A (ja) * | 2004-02-05 | 2007-07-26 | マイクロン テクノロジー,インコーポレイテッド | ハブベースのメモリサブシステムにおける、双方向データバスに対するデータバイパスの装置および方法 |
US9032166B2 (en) | 2004-03-24 | 2015-05-12 | Micron Technology, Inc. | Memory arbitration system and method having an arbitration packet protocol |
JP2020160632A (ja) * | 2019-03-25 | 2020-10-01 | ラピスセミコンダクタ株式会社 | 半導体装置 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5875337A (en) * | 1995-09-14 | 1999-02-23 | Nec Corporation | Modifier for a program executing parallel processes that reduces wait time for access to a shared resource |
US5751983A (en) * | 1995-10-03 | 1998-05-12 | Abramson; Jeffrey M. | Out-of-order processor with a memory subsystem which handles speculatively dispatched load operations |
US5889975A (en) * | 1996-11-07 | 1999-03-30 | Intel Corporation | Method and apparatus permitting the use of a pipe stage having an unknown depth with a single microprocessor core |
US5983341A (en) * | 1997-04-25 | 1999-11-09 | International Business Machines Corporation | Data processing system and method for extending the time for execution of an instruction |
US6567910B2 (en) * | 1998-02-13 | 2003-05-20 | Texas Instruments Incorporated | Digital signal processing unit with emulation circuitry and debug interrupt enable register indicating serviceable time-critical interrupts during real-time emulation mode |
JP3721780B2 (ja) * | 1998-04-21 | 2005-11-30 | 富士通株式会社 | 複数のパイプライン処理機構を有するデータ処理装置 |
US6112294A (en) * | 1998-07-09 | 2000-08-29 | Advanced Micro Devices, Inc. | Concurrent execution of multiple instructions in cyclic counter based logic component operation stages |
US6353880B1 (en) * | 1998-07-22 | 2002-03-05 | Scenix Semiconductor, Inc. | Four stage pipeline processing for a microcontroller |
EP1713795A2 (en) * | 2004-02-11 | 2006-10-25 | Teva Pharmaceutical Industries Ltd. | Candesartan cilexetil polymorphs |
US7398329B2 (en) * | 2005-11-04 | 2008-07-08 | Sun Microsystems, Inc. | Pipelined I/O execution |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4309755A (en) * | 1979-08-22 | 1982-01-05 | Bell Telephone Laboratories, Incorporated | Computer input/output arrangement for enabling a simultaneous read/write data transfer |
JPH081599B2 (ja) * | 1988-02-24 | 1996-01-10 | 三菱電機株式会社 | データ処理装置 |
US5222223A (en) * | 1989-02-03 | 1993-06-22 | Digital Equipment Corporation | Method and apparatus for ordering and queueing multiple memory requests |
US5125083A (en) * | 1989-02-03 | 1992-06-23 | Digital Equipment Corporation | Method and apparatus for resolving a variable number of potential memory access conflicts in a pipelined computer system |
US5060145A (en) * | 1989-09-06 | 1991-10-22 | Unisys Corporation | Memory access system for pipelined data paths to and from storage |
-
1992
- 1992-06-08 JP JP4147248A patent/JPH05342084A/ja active Pending
-
1994
- 1994-10-25 US US08/328,620 patent/US5564029A/en not_active Expired - Lifetime
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6807624B1 (en) | 1998-12-17 | 2004-10-19 | Fujitsu Limited | Instruction control device and method therefor |
US7127591B2 (en) | 1998-12-17 | 2006-10-24 | Fujitsu Limited | Instruction control device and method therefor |
US7275146B2 (en) | 1998-12-17 | 2007-09-25 | Fujitsu Limited | Instruction control device and method therefor |
US7313674B2 (en) | 1998-12-17 | 2007-12-25 | Fujitsu Limited | Instruction control device and method therefor |
JP2007520826A (ja) * | 2004-02-05 | 2007-07-26 | マイクロン テクノロジー,インコーポレイテッド | ハブベースのメモリサブシステムにおける、双方向データバスに対するデータバイパスの装置および方法 |
US9164937B2 (en) | 2004-02-05 | 2015-10-20 | Micron Technology, Inc. | Apparatus and method for data bypass for a bi-directional data bus in a hub-based memory sub-system |
US9032166B2 (en) | 2004-03-24 | 2015-05-12 | Micron Technology, Inc. | Memory arbitration system and method having an arbitration packet protocol |
JP2020160632A (ja) * | 2019-03-25 | 2020-10-01 | ラピスセミコンダクタ株式会社 | 半導体装置 |
US11562775B2 (en) | 2019-03-25 | 2023-01-24 | Lapis Semiconductor Co., Ltd. | Semiconductor device |
Also Published As
Publication number | Publication date |
---|---|
US5564029A (en) | 1996-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3304577B2 (ja) | 半導体記憶装置とその動作方法 | |
US9032185B2 (en) | Active memory command engine and method | |
JPH04367936A (ja) | スーパースカラープロセッサ | |
JPH05342084A (ja) | データ記憶装置及びデータ記憶方法 | |
JP2665081B2 (ja) | マイクロコンピュータのレジスタ間データ転送方式 | |
US20070260857A1 (en) | Electronic Circuit | |
US5421026A (en) | Data processor for processing instruction after conditional branch instruction at high speed | |
US5734855A (en) | Processor with pipeline processing function having read buffer register and latch for storing register information where the result of external access type instruction is stored | |
JP2883465B2 (ja) | 電子計算機 | |
JP2945525B2 (ja) | プロセッサ、メモリ、およびデータ処理装置 | |
JPH07114509A (ja) | メモリアクセス装置 | |
JP3574693B2 (ja) | 命令処理プロセッサ | |
JPH027129A (ja) | 演算処理装置 | |
KR950004227B1 (ko) | 정보처리시스템 | |
JPS6391756A (ja) | 記憶装置の部分書き込み命令処理方式 | |
JP2000029508A (ja) | プログラマブルコントローラ | |
KR19980059782A (ko) | 프로세서의 메모리 다중 액세스 회로 | |
JPH05307483A (ja) | レジスタ書き込み制御方法および回路 | |
JP2005242457A (ja) | プログラマブルコントローラ | |
JPH0256028A (ja) | マイクロコンピュータシステム | |
JPS61161509A (ja) | 高速シ−ケンス演算方式及びその装置 | |
JPH023822A (ja) | データ処理装置 | |
JP2001022581A (ja) | データ処理装置及びコンピュータ読み取り可能な記憶媒体 | |
JPH11327902A (ja) | 情報処理装置及びパイプライン処理方法 | |
JPH01255037A (ja) | 電子計算機 |