JPH06348592A - ライトバッファ制御方式 - Google Patents
ライトバッファ制御方式Info
- Publication number
- JPH06348592A JPH06348592A JP5138153A JP13815393A JPH06348592A JP H06348592 A JPH06348592 A JP H06348592A JP 5138153 A JP5138153 A JP 5138153A JP 13815393 A JP13815393 A JP 13815393A JP H06348592 A JPH06348592 A JP H06348592A
- Authority
- JP
- Japan
- Prior art keywords
- write
- cpu
- write buffer
- mode
- main memory
- 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
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】CPUの内蔵キャッシュメモリの動作モードに
応じて、最適なライトバッファ動作モードを選択する。
CPUとCPU以外のバスマスタとでライトバッファの
動作モードを選択し、書き込み動作を行うバスマスタに
最適なライトバッファ動作モードを選択する。これによ
り、システムの主記憶装置に対する書き込み動作を高速
化すること。 【構成】CPUと主記憶装置との間にライトスルー方式
とコピーバック方式の切り換え可能なライトバッファを
設け、CPU内蔵キャッシュメモリの動作モードまたは
書き込みを行うバスマスタの種類を判定し、ライトバッ
ファの動作モードをライトバッファ制御回路で制御す
る。
応じて、最適なライトバッファ動作モードを選択する。
CPUとCPU以外のバスマスタとでライトバッファの
動作モードを選択し、書き込み動作を行うバスマスタに
最適なライトバッファ動作モードを選択する。これによ
り、システムの主記憶装置に対する書き込み動作を高速
化すること。 【構成】CPUと主記憶装置との間にライトスルー方式
とコピーバック方式の切り換え可能なライトバッファを
設け、CPU内蔵キャッシュメモリの動作モードまたは
書き込みを行うバスマスタの種類を判定し、ライトバッ
ファの動作モードをライトバッファ制御回路で制御す
る。
Description
【0001】
【産業上の利用分野】本発明は、パーソナルコンピュー
タやワークステーションなどの小型情報処理機器の主記
憶装置アクセス高速化に関するものである。
タやワークステーションなどの小型情報処理機器の主記
憶装置アクセス高速化に関するものである。
【0002】
【従来の技術】一般に小型情報処理機器などで演算性能
が重要な場合には、高速な中央演算処理装置(以下CP
Uと略す)から低速な主記憶装置に対する書き込み動作
を高速に行うため、メモリシステムに等価的な高速化手
段であるライトバッファを採用している。このライトバ
ッファには一般的に以下に述べるような2つの制御方式
がある。本明細書ではそれら2つの方式をライトスルー
方式,ライトバック方式と呼ぶことにし、以下それぞれ
の方式について説明する。
が重要な場合には、高速な中央演算処理装置(以下CP
Uと略す)から低速な主記憶装置に対する書き込み動作
を高速に行うため、メモリシステムに等価的な高速化手
段であるライトバッファを採用している。このライトバ
ッファには一般的に以下に述べるような2つの制御方式
がある。本明細書ではそれら2つの方式をライトスルー
方式,ライトバック方式と呼ぶことにし、以下それぞれ
の方式について説明する。
【0003】(1)ライトスルー方式 図4は「ライトスルー方式」の構成を示す図である。図
4において72はCPU101からライトバッファ10
0への書き込み要求を示す信号、73はライトバッファ
100がCPU101からの書き込みアドレスとデータ
の受け取りを完了したことを示す信号、75はライトバ
ッファ100から主記憶装置108への書き込み要求を
示す信号、76は主記憶装置108がライトバッファ1
00からの書き込みアドレスとデータの受け取りを完了
したことを示す信号、104は制御回路である。
4において72はCPU101からライトバッファ10
0への書き込み要求を示す信号、73はライトバッファ
100がCPU101からの書き込みアドレスとデータ
の受け取りを完了したことを示す信号、75はライトバ
ッファ100から主記憶装置108への書き込み要求を
示す信号、76は主記憶装置108がライトバッファ1
00からの書き込みアドレスとデータの受け取りを完了
したことを示す信号、104は制御回路である。
【0004】次に動作について説明する。CPU101
から主記憶装置108へ書き込み要求が発生すると、ラ
イトバッファ100が書き込み要求信号72を受け、書
き込みアドレスと書き込みデータをそれぞれレジスタ1
4,15に取り込む。そして取り込みが完了すると即座
に受け取り完了信号73をCPU101に出力し、同時
に主記憶装置108への書き込み要求信号75を出力し
主記憶装置108への書き込み動作を開始する。CPU
101受け取り完了信号73を受け取ると主記憶装置1
08への書き込み完了を待たずして次の動作に入れるた
め、システム全体の実行速度が向上する。一方主記憶装
置108への書き込み動作が連続する場合、主記憶装置
108がデータ受け取り完了信号76を出力するまでは
ライトバッファ100は次の処理に移行できない。ゆえ
にCPU101からの書き込み動作が連続する場合書き
込みアドレスと書き込みデータをレジスタに取り込むこ
とができないため、CPU101は待たされることにな
る。
から主記憶装置108へ書き込み要求が発生すると、ラ
イトバッファ100が書き込み要求信号72を受け、書
き込みアドレスと書き込みデータをそれぞれレジスタ1
4,15に取り込む。そして取り込みが完了すると即座
に受け取り完了信号73をCPU101に出力し、同時
に主記憶装置108への書き込み要求信号75を出力し
主記憶装置108への書き込み動作を開始する。CPU
101受け取り完了信号73を受け取ると主記憶装置1
08への書き込み完了を待たずして次の動作に入れるた
め、システム全体の実行速度が向上する。一方主記憶装
置108への書き込み動作が連続する場合、主記憶装置
108がデータ受け取り完了信号76を出力するまでは
ライトバッファ100は次の処理に移行できない。ゆえ
にCPU101からの書き込み動作が連続する場合書き
込みアドレスと書き込みデータをレジスタに取り込むこ
とができないため、CPU101は待たされることにな
る。
【0005】上記述べたライトスルー方式については、
たとえば特開昭55−105881号公報「ライトバッ
ファ方式」に示されている。
たとえば特開昭55−105881号公報「ライトバッ
ファ方式」に示されている。
【0006】(2)ライトバック方式 次にライトバック方式について説明する。図5は「ライ
トバック方式」の構成を示す図である。図4において7
2はCPU101からライトバッファ200への書き込
み要求を示す信号、73はライトバッファ200がCP
U101からの書き込みアドレスとデータの受け取りを
完了したことを示す信号、75はライトバッファ200
から主記憶装置108への書き込み要求を示す信号、7
6は主記憶装置108がライトバッファ200からの書
き込みアドレスとデータの受け取りを完了したことを示
す信号、104は制御回路である。
トバック方式」の構成を示す図である。図4において7
2はCPU101からライトバッファ200への書き込
み要求を示す信号、73はライトバッファ200がCP
U101からの書き込みアドレスとデータの受け取りを
完了したことを示す信号、75はライトバッファ200
から主記憶装置108への書き込み要求を示す信号、7
6は主記憶装置108がライトバッファ200からの書
き込みアドレスとデータの受け取りを完了したことを示
す信号、104は制御回路である。
【0007】次に動作について説明する。図5において
CPU101から主記憶装置108へ書き込み要求が発
生すると、ライトバッファ200が書き込み要求信号7
2を受け取り、書き込みアドレスと前回の書き込み動作
でレジスタ24に格納されているアドレスとを比較器1
07で比較し、同一アドレスの場合はレジスタの内容を
今回の書き込みアドレスとデータの組合せに置き換え
る。この同一アドレスの場合を本明細書ではライトバッ
ファヒットと呼び、同一アドレスでない場合をライトバ
ッファミスヒットと呼ぶ。ライトバッファヒットの場合
はレジスタ24,25の内容を書きかえるだけで主記憶
装置108への書き込みは省略する。ゆえに主記憶装置
108の同一アドレスに対する書き込みが複数連続する
場合は古いデータの書き込みを省略することによりシス
テム全体の実行速度が向上する。ライトバッファミスヒ
ットの場合は主記憶装置108への書き込み要求信号7
5を出力し主記憶装置108への書き込み動作を開始す
る。一方主記憶装置108への書き込みが実行中にCP
U101から次の書き込み要求が発生した場合、主記憶
装置108がデータ受け取り完了信号76を出力するま
ではライトバッファ200はCPU101からの書き込
みアドレスと書き込みデータをレジスタ24,25に取
り込むことができないため、CPU101は待たされる
ことになる。
CPU101から主記憶装置108へ書き込み要求が発
生すると、ライトバッファ200が書き込み要求信号7
2を受け取り、書き込みアドレスと前回の書き込み動作
でレジスタ24に格納されているアドレスとを比較器1
07で比較し、同一アドレスの場合はレジスタの内容を
今回の書き込みアドレスとデータの組合せに置き換え
る。この同一アドレスの場合を本明細書ではライトバッ
ファヒットと呼び、同一アドレスでない場合をライトバ
ッファミスヒットと呼ぶ。ライトバッファヒットの場合
はレジスタ24,25の内容を書きかえるだけで主記憶
装置108への書き込みは省略する。ゆえに主記憶装置
108の同一アドレスに対する書き込みが複数連続する
場合は古いデータの書き込みを省略することによりシス
テム全体の実行速度が向上する。ライトバッファミスヒ
ットの場合は主記憶装置108への書き込み要求信号7
5を出力し主記憶装置108への書き込み動作を開始す
る。一方主記憶装置108への書き込みが実行中にCP
U101から次の書き込み要求が発生した場合、主記憶
装置108がデータ受け取り完了信号76を出力するま
ではライトバッファ200はCPU101からの書き込
みアドレスと書き込みデータをレジスタ24,25に取
り込むことができないため、CPU101は待たされる
ことになる。
【0008】このライトバック方式については、たとえ
ば特開昭61−237145号公報に示されている。
ば特開昭61−237145号公報に示されている。
【0009】
【発明が解決しようとする課題】上記述べてきたよう
に、ライトスルー方式は構成が簡単であり、CPUから
の書き込みアドレスとデータをラッチすると同時にサイ
クル完了信号をCPUに返すことができ、CPUのはす
ぐ次の動作を実行することができる。次のCPUからの
ライトが発生する前にライトバッファから主記憶への書
き込みが完了すれば、CPUは次のライトサイクルも高
速に完了することができる。例えばCPU以外の低速な
バスマスタ等が連続してライトを行う場合には、通常ラ
イトサイクルと次のライトサイクルの間には間隔が空い
ており、この時間内にライトバッファから主記憶装置へ
の書き込み動作を行うため、バスマスタは毎回ライトバ
ッファにヒットして高速にライトを完了できる。しかし
高速なCPUから連続してライトサイクルが発生した場
合には、ライトバッファから主記憶装置へのライトが終
わるまでCPUは次のライトを完了することができな
い。あるいは主記憶の同一アドレスへの連続する書き込
み動作では同じアドレスに何度もライトするなどの問題
が生じる。例えば4バイト(1バイト=8ビット)のデ
ータ幅を有するライトバッファに対して、同じ4バイト
幅のアドレス境界内にある1バイトのデータを4回連続
して書き込んだ場合には、主記憶装置の同じアドレスに
対してライトバッファから4回のデータを書き込む動作
となる。CPUは最初のライトサイクルでは、ライトバ
ッファからサイクル完了信号を受けとって高速にサイク
ルを完了できるが、続く3回のサイクルではライトバッ
ファから主記憶装置への書き込み動作が完了するまで待
たされるので、高速化効果はほとんどない。
に、ライトスルー方式は構成が簡単であり、CPUから
の書き込みアドレスとデータをラッチすると同時にサイ
クル完了信号をCPUに返すことができ、CPUのはす
ぐ次の動作を実行することができる。次のCPUからの
ライトが発生する前にライトバッファから主記憶への書
き込みが完了すれば、CPUは次のライトサイクルも高
速に完了することができる。例えばCPU以外の低速な
バスマスタ等が連続してライトを行う場合には、通常ラ
イトサイクルと次のライトサイクルの間には間隔が空い
ており、この時間内にライトバッファから主記憶装置へ
の書き込み動作を行うため、バスマスタは毎回ライトバ
ッファにヒットして高速にライトを完了できる。しかし
高速なCPUから連続してライトサイクルが発生した場
合には、ライトバッファから主記憶装置へのライトが終
わるまでCPUは次のライトを完了することができな
い。あるいは主記憶の同一アドレスへの連続する書き込
み動作では同じアドレスに何度もライトするなどの問題
が生じる。例えば4バイト(1バイト=8ビット)のデ
ータ幅を有するライトバッファに対して、同じ4バイト
幅のアドレス境界内にある1バイトのデータを4回連続
して書き込んだ場合には、主記憶装置の同じアドレスに
対してライトバッファから4回のデータを書き込む動作
となる。CPUは最初のライトサイクルでは、ライトバ
ッファからサイクル完了信号を受けとって高速にサイク
ルを完了できるが、続く3回のサイクルではライトバッ
ファから主記憶装置への書き込み動作が完了するまで待
たされるので、高速化効果はほとんどない。
【0010】一方ライトバック方式では、主記憶装置の
同一アドレスへの連続する書き込み動作には書き込み回
数を減らせるなど性能面では有利である。例えば上記述
べたような同一4バイト境界内のアドレスに対する4回
のライト動作は1回の書き込みにまとめられる。CPU
はライトバッファにアドレスヒットするかぎり、高速に
ライトサイクルを完了することができる。しかし、CP
Uからのライトサイクルでライトバッファミスヒットが
連続した場合には、まずラッチしているアドレスとCP
Uのライトアドレスとを比較し、次にミスヒットであれ
ば現在ラッチしているデータを主記憶装置に書き込み、
その後にCPUのアドレスとデータをラッチする。この
動作を繰り返すため、ライトバッファがない場合あるい
はライトスルー方式に比べてミスヒット時にはサイクル
終了まで時間がかかり、ペナルティーが大きい。またラ
ッチしたアドレスとCPUのアドレスとの比較に時間が
かかるためアドレスとデータの受け取りに多少時間がか
かるなどの問題がある。
同一アドレスへの連続する書き込み動作には書き込み回
数を減らせるなど性能面では有利である。例えば上記述
べたような同一4バイト境界内のアドレスに対する4回
のライト動作は1回の書き込みにまとめられる。CPU
はライトバッファにアドレスヒットするかぎり、高速に
ライトサイクルを完了することができる。しかし、CP
Uからのライトサイクルでライトバッファミスヒットが
連続した場合には、まずラッチしているアドレスとCP
Uのライトアドレスとを比較し、次にミスヒットであれ
ば現在ラッチしているデータを主記憶装置に書き込み、
その後にCPUのアドレスとデータをラッチする。この
動作を繰り返すため、ライトバッファがない場合あるい
はライトスルー方式に比べてミスヒット時にはサイクル
終了まで時間がかかり、ペナルティーが大きい。またラ
ッチしたアドレスとCPUのアドレスとの比較に時間が
かかるためアドレスとデータの受け取りに多少時間がか
かるなどの問題がある。
【0011】以上述べたようにライトスルー方式は、ラ
イトサイクルと次のライトサイクルの間に時間が空いて
いる場合、あるいはCPUおよびバスマスタから同一ア
ドレスへの書き込み回数が少ない場合などにライトサイ
クルを高速に完了でき、性能面で有利である。一方ライ
トバック方式は、主記憶装置の同一アドレスに連続して
書き込む回数が多い場合に性能面で有利である。特に複
数バイトのデータ幅をもつライトバッファにアドレスが
連続した1バイトずつのデータを書き込む場合などに有
効である。
イトサイクルと次のライトサイクルの間に時間が空いて
いる場合、あるいはCPUおよびバスマスタから同一ア
ドレスへの書き込み回数が少ない場合などにライトサイ
クルを高速に完了でき、性能面で有利である。一方ライ
トバック方式は、主記憶装置の同一アドレスに連続して
書き込む回数が多い場合に性能面で有利である。特に複
数バイトのデータ幅をもつライトバッファにアドレスが
連続した1バイトずつのデータを書き込む場合などに有
効である。
【0012】ところで、CPUが主記憶装置に書き込み
を行う場合には、CPUの構造によって主記憶へのライ
トサイクルの発生の仕方が異なる。例えばキャッシュメ
モリを内蔵していないCPUまたはライトスルー方式の
キャッシュメモリを内蔵しているCPUでは、CPUの
ライトサイクルがそのまま主記憶装置へのライトとな
る。したがってCPUがバイト単位で連続するアドレス
へデータを書き込んだ場合には、そのまま主記憶装置に
対してもバイト単位で連続するアドレスに書き込みが発
生する。これに対してライトバック方式のキャッシュメ
モリを内蔵するCPU、あるいはCPUの外付けにライ
トバック方式のキャッシュメモリを付加した場合にはC
PUのライトサイクルはそのまま主記憶には書き込まれ
ない。ライトバック方式のキャッシュメモリを有する場
合、CPUはキャッシュメモリに対してのみ書き込みを
行う。主記憶装置に対する書き込み動作はほとんどライ
トバックキャッシュが行う。ライトバック方式のキャッ
シュメモリは通常キャッシュでデータを管理する最小単
位で書き込み動作を行う。従ってCPUがバイト単位で
連続するアドレスにデータを書き込んだ場合でもライト
バックキャッシュでこれを最小単位のデータ、例えば4
バイト幅などにまとめて書き込みを行うことが知られて
いる。上記述べたライトスルー,ライトバック方式のキ
ャッシュメモリについては情報処理学会誌(情報処理v
ol21,No4,p332−340;1980年4
月)に述べられている。
を行う場合には、CPUの構造によって主記憶へのライ
トサイクルの発生の仕方が異なる。例えばキャッシュメ
モリを内蔵していないCPUまたはライトスルー方式の
キャッシュメモリを内蔵しているCPUでは、CPUの
ライトサイクルがそのまま主記憶装置へのライトとな
る。したがってCPUがバイト単位で連続するアドレス
へデータを書き込んだ場合には、そのまま主記憶装置に
対してもバイト単位で連続するアドレスに書き込みが発
生する。これに対してライトバック方式のキャッシュメ
モリを内蔵するCPU、あるいはCPUの外付けにライ
トバック方式のキャッシュメモリを付加した場合にはC
PUのライトサイクルはそのまま主記憶には書き込まれ
ない。ライトバック方式のキャッシュメモリを有する場
合、CPUはキャッシュメモリに対してのみ書き込みを
行う。主記憶装置に対する書き込み動作はほとんどライ
トバックキャッシュが行う。ライトバック方式のキャッ
シュメモリは通常キャッシュでデータを管理する最小単
位で書き込み動作を行う。従ってCPUがバイト単位で
連続するアドレスにデータを書き込んだ場合でもライト
バックキャッシュでこれを最小単位のデータ、例えば4
バイト幅などにまとめて書き込みを行うことが知られて
いる。上記述べたライトスルー,ライトバック方式のキ
ャッシュメモリについては情報処理学会誌(情報処理v
ol21,No4,p332−340;1980年4
月)に述べられている。
【0013】またCPU以外のバスマスタは通常キャッ
シュメモリを備えていないので、キャッシュメモリをも
たないCPUなどと同様にバスマスタのライト動作がそ
のまま主記憶装置に対して実行される。さらにEISA
バス,MCAバスなどのI/Oバスに接続されるバスマ
スタから主記憶装置に対するアクセスでは、I/Oバス
の動作が主記憶装置の動作にたいして遅いためバスマス
タが連続して主記憶装置にライトサイクルを行っても、
主記憶装置ではライトサイクルと次のライトサイクルと
の間に十分な間隔が空いている場合がある。EISAバ
ス,MCAバスなどのI/Oバスについては例えば19
90年1月発行の日経バイト誌P202〜P247に記
載されている。
シュメモリを備えていないので、キャッシュメモリをも
たないCPUなどと同様にバスマスタのライト動作がそ
のまま主記憶装置に対して実行される。さらにEISA
バス,MCAバスなどのI/Oバスに接続されるバスマ
スタから主記憶装置に対するアクセスでは、I/Oバス
の動作が主記憶装置の動作にたいして遅いためバスマス
タが連続して主記憶装置にライトサイクルを行っても、
主記憶装置ではライトサイクルと次のライトサイクルと
の間に十分な間隔が空いている場合がある。EISAバ
ス,MCAバスなどのI/Oバスについては例えば19
90年1月発行の日経バイト誌P202〜P247に記
載されている。
【0014】本発明の目的は、CPUの構成およびキャ
ッシュメモリの制御方式などに応じてライトバッファの
動作モードを切り換え、最適な動作モードを選択するラ
イトバッファ制御方式提供することにある。
ッシュメモリの制御方式などに応じてライトバッファの
動作モードを切り換え、最適な動作モードを選択するラ
イトバッファ制御方式提供することにある。
【0015】本発明の他の目的は、CPUと他のバスマ
スタとを有するシステムにおいて、CPUが主記憶装置
に書き込みを行う場合とバスマスタが書き込みを行う場
合とで、ライトバッファの動作モードを切り換えて最適
な動作モードを選択するライトバッファ制御方式を提供
することにある。
スタとを有するシステムにおいて、CPUが主記憶装置
に書き込みを行う場合とバスマスタが書き込みを行う場
合とで、ライトバッファの動作モードを切り換えて最適
な動作モードを選択するライトバッファ制御方式を提供
することにある。
【0016】
【課題を解決するための手段】上記目的を達成するため
に、ライトバッファを複数の動作モードで動作するよう
に構成し、動作モードを切り替える手段を設けたもので
ある。さらにCPUのキャッシュメモリの動作モードを
判断する信号を設け、これをライトバッファにて監視し
ライトバッファの動作モードを切り替えてやる手段を設
けたものである。
に、ライトバッファを複数の動作モードで動作するよう
に構成し、動作モードを切り替える手段を設けたもので
ある。さらにCPUのキャッシュメモリの動作モードを
判断する信号を設け、これをライトバッファにて監視し
ライトバッファの動作モードを切り替えてやる手段を設
けたものである。
【0017】さらにCPUとCPU以外のバスマスタと
を判断するための信号を設け、ライトバッファにてこれ
を監視し、ライトバッファの動作モードを切り替えてや
る手段を設けたものである。
を判断するための信号を設け、ライトバッファにてこれ
を監視し、ライトバッファの動作モードを切り替えてや
る手段を設けたものである。
【0018】
【作用】CPUから書き込み要求があると、ライトバッ
ファはCPUの内蔵キャッシュメモリの動作モードを判
断する信号に基づいて、ライトバッファの動作モードを
切り替えるものである。したがって、常にCPUの動作
モードに応じた最適なライトバッファ動作モードを選択
し、システムの性能向上を実現することができる。
ファはCPUの内蔵キャッシュメモリの動作モードを判
断する信号に基づいて、ライトバッファの動作モードを
切り替えるものである。したがって、常にCPUの動作
モードに応じた最適なライトバッファ動作モードを選択
し、システムの性能向上を実現することができる。
【0019】さらに、CPUとCPU以外のバスマスタ
とを有するシステムにおいては、主記憶装置への書き込
み要求があった場合には、ライトバッファにて上記バス
マスタを判断するための信号に基づいてCPUかバスマ
スタかの判定を行い、その結果に応じてライトバッファ
の動作モードを選択してやる。従って書き込み動作を行
おうとするバスマスタあるいはCPUの動作に応じた最
適なライトバッファ動作モードを選択することができ、
システムの性能を向上することができる。
とを有するシステムにおいては、主記憶装置への書き込
み要求があった場合には、ライトバッファにて上記バス
マスタを判断するための信号に基づいてCPUかバスマ
スタかの判定を行い、その結果に応じてライトバッファ
の動作モードを選択してやる。従って書き込み動作を行
おうとするバスマスタあるいはCPUの動作に応じた最
適なライトバッファ動作モードを選択することができ、
システムの性能を向上することができる。
【0020】
【実施例】図1に本発明の一実施例を表す。図1におい
て、CPU1はキャッシュメモリ102を内蔵してお
り、内蔵キャッシュ102はキャッシュ制御部103が
出力するキャッシュ制御信号109によって動作モード
を制御する。主記憶装置108とCPU101の中間に
は、点線で囲んで示すライトバッファ100が位置して
おり、CPU101から主記憶装置108への書き込み
はライトバッファ100を通じて行う。ライトバッファ
100はライトスルーモードまたはライトバックモード
にて動作し、ライトバッファ制御回路104が出力する
モード切り換え信号118にて動作モードを切り換え
る。
て、CPU1はキャッシュメモリ102を内蔵してお
り、内蔵キャッシュ102はキャッシュ制御部103が
出力するキャッシュ制御信号109によって動作モード
を制御する。主記憶装置108とCPU101の中間に
は、点線で囲んで示すライトバッファ100が位置して
おり、CPU101から主記憶装置108への書き込み
はライトバッファ100を通じて行う。ライトバッファ
100はライトスルーモードまたはライトバックモード
にて動作し、ライトバッファ制御回路104が出力する
モード切り換え信号118にて動作モードを切り換え
る。
【0021】以下に書き込み動作を図6に示すフローチ
ャートを用いて説明する。処理601で開始後、図1に
おけるCPU101から書き込み要求110を出力しラ
イトサイクルを開始する(処理602)。ライトバッフ
ァ制御回路104はキャッシュ制御部103が出力する
キャッシュモード信号116を監視してCPUのキャッ
シュ動作モードを判断する(処理603)。内蔵キャッ
シュ102がライトスルーモードで動作している場合に
は、ライトバッファ制御回路104はモード切り換え信
号118を用いてライトバッファをライトバックモード
に設定する(処理604)。その後データラッチ信号1
14,アドレスラッチ信号117を用いて、データバス
113のデータ及びアドレスバス112のアドレスをラ
ッチする(処理605)。同時にサイクル完了信号11
1を出力し、CPUのライトサイクルを終了する。(処
理606)また処理603において内蔵キャッシュ10
2がライトバックモードで動作している場合には、モー
ド切り換え信号118,データラッチ信号114および
アドレスラッチ信号117を用いて、現在ライトバッフ
ァがラッチしているライトデータを主記憶装置108に
書き込む掃き出し処理を行う。(処理607)。その後
モード切り換え信号118を用いてライトバッファをラ
イトスルーモードに設定し、(処理608)データおよ
びアドレスをラッチしたのち、サイクル終了信号111
を出力する(処理609)。その後メモリ書き込み要求
112を出力し、アドレスラッチ回路のラッチアドレス
をメモリアドレスバス120に、データラッチ回路のラ
ッチデータをメモリデータバス119にそれぞれ出力
し、書き込み動作を行う(処理610)。主記憶装置1
08は書き込み終了後、書き込み完了信号123を出力
しライトサイクルが終了する(処理611)。また上記
述べた処理において、ライトスルー,ライトバックモー
ドにおける基本的な動作については前記図4および図5
に述べる従来例と同一であるのでここでは省略する。
ャートを用いて説明する。処理601で開始後、図1に
おけるCPU101から書き込み要求110を出力しラ
イトサイクルを開始する(処理602)。ライトバッフ
ァ制御回路104はキャッシュ制御部103が出力する
キャッシュモード信号116を監視してCPUのキャッ
シュ動作モードを判断する(処理603)。内蔵キャッ
シュ102がライトスルーモードで動作している場合に
は、ライトバッファ制御回路104はモード切り換え信
号118を用いてライトバッファをライトバックモード
に設定する(処理604)。その後データラッチ信号1
14,アドレスラッチ信号117を用いて、データバス
113のデータ及びアドレスバス112のアドレスをラ
ッチする(処理605)。同時にサイクル完了信号11
1を出力し、CPUのライトサイクルを終了する。(処
理606)また処理603において内蔵キャッシュ10
2がライトバックモードで動作している場合には、モー
ド切り換え信号118,データラッチ信号114および
アドレスラッチ信号117を用いて、現在ライトバッフ
ァがラッチしているライトデータを主記憶装置108に
書き込む掃き出し処理を行う。(処理607)。その後
モード切り換え信号118を用いてライトバッファをラ
イトスルーモードに設定し、(処理608)データおよ
びアドレスをラッチしたのち、サイクル終了信号111
を出力する(処理609)。その後メモリ書き込み要求
112を出力し、アドレスラッチ回路のラッチアドレス
をメモリアドレスバス120に、データラッチ回路のラ
ッチデータをメモリデータバス119にそれぞれ出力
し、書き込み動作を行う(処理610)。主記憶装置1
08は書き込み終了後、書き込み完了信号123を出力
しライトサイクルが終了する(処理611)。また上記
述べた処理において、ライトスルー,ライトバックモー
ドにおける基本的な動作については前記図4および図5
に述べる従来例と同一であるのでここでは省略する。
【0022】次に図2に本発明の他の実施例を示す。図
2においてホストバス201にはCPU101,ライト
バッファ100およびI/Oバスブリッジ208が接続
している。またI/Oバスブリッジ208にはI/Oバ
ス203を通じてバスマスタ202が接続している。さ
らにバスマスタ202からI/Oバスブリッジ208へ
の書き込み要求信号206、I/Oバスブリッジ208
からのサイクル終了信号207はそれぞれI/Oバスブ
リッジ208にてメモリ書き込み要求204およびメモ
リ書き込み完了信号205に変換し、ライトバッファ1
00へ接続している。
2においてホストバス201にはCPU101,ライト
バッファ100およびI/Oバスブリッジ208が接続
している。またI/Oバスブリッジ208にはI/Oバ
ス203を通じてバスマスタ202が接続している。さ
らにバスマスタ202からI/Oバスブリッジ208へ
の書き込み要求信号206、I/Oバスブリッジ208
からのサイクル終了信号207はそれぞれI/Oバスブ
リッジ208にてメモリ書き込み要求204およびメモ
リ書き込み完了信号205に変換し、ライトバッファ1
00へ接続している。
【0023】以下、図7に示すフローチャートを用いて
本実施例の動作を説明する。図7に示すフローチャート
において、CPU101またはバスマスタ202が主記
憶装置108にたいして書き込み要求があった場合(処
理701)、処理702においてCPUまたはCPU以
外のバスマスタなのかのバスマスタ判定を行う。CPU
が書き込み要求110を出力している場合、CPUであ
ると判定して処理608でライトバッファをライトスル
ーモードに設定する。その後ホストバス201上のライ
トアドレス,ライトデータをラッチしてサイクル完了信
号111を出力する(処理609)。その後ラッチデー
タを主記憶装置108に書き込んで(処理610)バス
サイクルを終了する(処理611)。また上記処理70
2においてバスマスタを判断する際、I/Oバスブリッ
ジ208からメモリ書き込み要求204が出力されてい
れば、I/Oバス203に接続するバスマスタ202か
らの書き込みであると判断して、処理604においてラ
イトバッファをライトバックモードに設定してライトデ
ータをラッチし(処理605)、サイクル完了信号60
6を出力して終了する。上記述べた実施例の他の動作に
ついては、前記図1に述べた第一の実施例と同一である
ので、ここでは省略する。
本実施例の動作を説明する。図7に示すフローチャート
において、CPU101またはバスマスタ202が主記
憶装置108にたいして書き込み要求があった場合(処
理701)、処理702においてCPUまたはCPU以
外のバスマスタなのかのバスマスタ判定を行う。CPU
が書き込み要求110を出力している場合、CPUであ
ると判定して処理608でライトバッファをライトスル
ーモードに設定する。その後ホストバス201上のライ
トアドレス,ライトデータをラッチしてサイクル完了信
号111を出力する(処理609)。その後ラッチデー
タを主記憶装置108に書き込んで(処理610)バス
サイクルを終了する(処理611)。また上記処理70
2においてバスマスタを判断する際、I/Oバスブリッ
ジ208からメモリ書き込み要求204が出力されてい
れば、I/Oバス203に接続するバスマスタ202か
らの書き込みであると判断して、処理604においてラ
イトバッファをライトバックモードに設定してライトデ
ータをラッチし(処理605)、サイクル完了信号60
6を出力して終了する。上記述べた実施例の他の動作に
ついては、前記図1に述べた第一の実施例と同一である
ので、ここでは省略する。
【0024】続いて図3に本発明のさらに他の実施例を
表す図を示す。図3においてホストバスマスタ301は
ホストバス201に接続しており、CPU101と同様
に、バスマスタ書き込み要求302およびバスマスタサ
イクル完了信号303によってライトバッファ100に
接続している。図3に示す実施例の動作は図2に示す実
施例の動作とほぼ同じであり、図7に示すフローチャー
トにおいて、処理702でバスマスタの判定を行う際、
CPU101からの書き込み要求110が出力されてい
ればCPU101からの書き込みであると判断して、ラ
イトバッファをライトスルーモードに設定する処理60
8以下の動作を行う。一方、バスマスタ書き込み要求3
02が出力されていれば、ホストバスマスタ302から
の書き込みであると判断し、ライトバッファをライトバ
ックモードに設定する処理604以下の動作を行うよう
にすればよい。
表す図を示す。図3においてホストバスマスタ301は
ホストバス201に接続しており、CPU101と同様
に、バスマスタ書き込み要求302およびバスマスタサ
イクル完了信号303によってライトバッファ100に
接続している。図3に示す実施例の動作は図2に示す実
施例の動作とほぼ同じであり、図7に示すフローチャー
トにおいて、処理702でバスマスタの判定を行う際、
CPU101からの書き込み要求110が出力されてい
ればCPU101からの書き込みであると判断して、ラ
イトバッファをライトスルーモードに設定する処理60
8以下の動作を行う。一方、バスマスタ書き込み要求3
02が出力されていれば、ホストバスマスタ302から
の書き込みであると判断し、ライトバッファをライトバ
ックモードに設定する処理604以下の動作を行うよう
にすればよい。
【0025】以上述べてきた実施例においては、主記憶
装置108に書き込み動作を行おうとしているのがCP
UであるかCPU以外のバスマスタ等であるかによっ
て、ライトバッファの動作モードを切り換えることが本
発明の本質である。したがってCPU以外のバスマスタ
は、例えばISA,EISA,MCAなどの標準拡張バ
スに接続するアダプタカード類でもよいし、システムの
DMAコントローラやホストバスに接続するFPU,コ
プロセッサ、表示コントローラなどでも良い。さらに高
速ローカルバスである、VESA−VLバス,PCIバ
スに接続する拡張カード,SCSIコントローラ,表示
コントローラなどでもよい。
装置108に書き込み動作を行おうとしているのがCP
UであるかCPU以外のバスマスタ等であるかによっ
て、ライトバッファの動作モードを切り換えることが本
発明の本質である。したがってCPU以外のバスマスタ
は、例えばISA,EISA,MCAなどの標準拡張バ
スに接続するアダプタカード類でもよいし、システムの
DMAコントローラやホストバスに接続するFPU,コ
プロセッサ、表示コントローラなどでも良い。さらに高
速ローカルバスである、VESA−VLバス,PCIバ
スに接続する拡張カード,SCSIコントローラ,表示
コントローラなどでもよい。
【0026】同様に、ライトバッファの動作モードはラ
イトスルーおよびライトバックの2モードに限定される
のではなく、ライトバッファのON,OFFを切り換え
ても良いし、さらに他の動作モードを設けてきりかえる
ようにしても良いし、2以上の複数の動作モードを切り
換えるようにしても良い。
イトスルーおよびライトバックの2モードに限定される
のではなく、ライトバッファのON,OFFを切り換え
ても良いし、さらに他の動作モードを設けてきりかえる
ようにしても良いし、2以上の複数の動作モードを切り
換えるようにしても良い。
【0027】
【発明の効果】本発明によれば、CPUが内蔵するキャ
ッシュメモリの動作モードに応じて常に最適なライトバ
ッファの動作モードを選択できるので、システムの性能
を向上させることができる。
ッシュメモリの動作モードに応じて常に最適なライトバ
ッファの動作モードを選択できるので、システムの性能
を向上させることができる。
【図1】本発明のライトバッファシステムの一実施例の
構成を示すブロック図である。
構成を示すブロック図である。
【図2】本発明の他の実施例を表すブロック図である。
【図3】本発明のさらに他の実施例を表すブロック図で
ある。
ある。
【図4】従来技術である「ライトスルー方式」の構成を
示すブロック図である。
示すブロック図である。
【図5】従来技術である「コピーバック方式」の構成を
示すブロック図である。
示すブロック図である。
【図6】本発明の一実施例の動作を説明するフローチャ
ートである。
ートである。
【図7】本発明の他の実施例の動作を説明するフローチ
ャートである。
ャートである。
100…ライトバッファ、101…CPU、102…C
PU内蔵キャッシュメモリ、103…内蔵キャッシュメ
モリ制御部、104…ライトバッファ制御回路、105
…アドレスラッチ回路、106…データラッチ回路、1
07…比較器、108…主記憶装置、109…キャッシ
ュ制御信号、110…書き込み要求、111…サイクル
完了信号、112…アドレスバス、113…データバ
ス、114…データラッチ信号、116…キャッシュモ
ード信号、117…アドレスラッチ信号、118…ライ
トバッファモード信号、119…メモリデータバス、1
20…メモリアドレスバス、201…ホストバス、20
2…バスマスタ、203…I/Oバス、204…メモリ
書き込み要求、205…メモリ書き込み完了信号、20
8…I/Oバスブリッジ、301…ホストバスマスタ、
302…バスマスタ書き込み要求、303…バスマスタ
サイクル完了信号。
PU内蔵キャッシュメモリ、103…内蔵キャッシュメ
モリ制御部、104…ライトバッファ制御回路、105
…アドレスラッチ回路、106…データラッチ回路、1
07…比較器、108…主記憶装置、109…キャッシ
ュ制御信号、110…書き込み要求、111…サイクル
完了信号、112…アドレスバス、113…データバ
ス、114…データラッチ信号、116…キャッシュモ
ード信号、117…アドレスラッチ信号、118…ライ
トバッファモード信号、119…メモリデータバス、1
20…メモリアドレスバス、201…ホストバス、20
2…バスマスタ、203…I/Oバス、204…メモリ
書き込み要求、205…メモリ書き込み完了信号、20
8…I/Oバスブリッジ、301…ホストバスマスタ、
302…バスマスタ書き込み要求、303…バスマスタ
サイクル完了信号。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 市枝 由次 愛知県尾張市晴丘町池上1番地株式会社日 立製作所オフィスシステム事業部内
Claims (10)
- 【請求項1】少なくとも中央処理装置CPUと、主記憶
装置と、前記CPUと主記憶装置との間にライトバッフ
ァを有する情報処理システムにおいて、前記ライトバッ
ファは少なくとも2通り以上の動作モードを有し、前記
CPUの動作に応じて前記ライトバッファの2通り以上
の動作モードを切り換える手段を備えることを特徴とす
るライトバッファ制御方式。 - 【請求項2】請求項1に記載のライトバッファの動作モ
ードは、CPUから書き込みアドレスとデータを受け取
るとCPUにはサイクル完了信号を返し、つづいてライ
トバッファから主記憶装置に書き込み動作を行う動作モ
ード(本明細書ではこの方式をライトスルー方式と呼
ぶ)と、CPUから書き込みアドレスとデータを受け取
るとCPUにはサイクル完了信号を返すがすぐにはライ
トバッファから主記憶装置への書き込み動作を行なわず
に、CPUから主記憶装置の同一アドレスへの書き込み
が連続する場合には古いデータの書き込みを省略する動
作モード(本明細書ではこの方式をライトバック方式と
呼ぶ)、の少なくともどちらか一方の動作モードを備え
ることを特徴としたライトバッファ制御方式。 - 【請求項3】請求項1に記載のライトバッファの動作モ
ードは、CPUから書き込みアドレスとデータを受け取
るとCPUにはサイクル完了信号を返し、つづいてライ
トバッファから主記憶装置に書き込み動作を行う動作モ
ード(本明細書ではこの方式をライトスルー方式と呼
ぶ)と、CPUから書き込みアドレスとデータを受け取
るとCPUにはサイクル完了信号を返すがすぐにはライ
トバッファから主記憶装置への書き込み動作を行なわず
に、CPUから主記憶装置の同一アドレスへの書き込み
が連続する場合には古いデータの書き込みを省略する動
作モード(本明細書ではこの方式をライトバック方式と
呼ぶ)、の少なくとも2通りの動作モードを備えること
を特徴としたライトバッファ制御方式。 - 【請求項4】請求項3に記載のライトバッファ制御方式
は、前記CPUがライトバックキャッシュを内蔵する場
合あるいは外付けのライトバックキャッシュを備える場
合にはライトスルー方式のライトバッファ動作モードを
選択し、前記CPUがキャッシュを内蔵しないまたはラ
イトスルーキャッシュを内蔵する場合にはライトバック
方式の動作モードを選択することを特徴とするライトバ
ッファ制御方式。 - 【請求項5】請求項1に記載のライトバッファの動作モ
ードは、少なくとも前記ライトバッファの動作を停止す
るディスエーブルモードと、前記ライトバッファの動作
を許可するイネーブルモードとの2通りの動作モードを
有することを特徴としたライトバッファ制御方式。 - 【請求項6】少なくともCPUと、主記憶装置と、前記
CPU以外で前記主記憶装置にアクセスするバスマスタ
と、前記CPUと前記主記憶装置の中間に位置するライ
トバッファとを有する情報処理装置において、前記ライ
トバッファは少なくとも2通り以上の動作モードを有
し、さらに前記CPUが前記主記憶装置に書き込みを行
う場合と、前記CPU以外のバスマスタが前記主記憶装
置に書き込みを行う場合とで上記ライトバッファの動作
モードを切り換える手段を備えることを特徴とするライ
トバッファ制御方式。 - 【請求項7】請求項6に記載のライトバッファの動作モ
ードは、CPUから書き込みアドレスとデータを受け取
るとCPUにはサイクル完了信号を返し、つづいてライ
トバッファから主記憶装置に書き込み動作を行う動作モ
ード(本明細書ではこの方式をライトスルー方式と呼
ぶ)と、CPUから書き込みアドレスとデータを受け取
るとCPUにはサイクル完了信号を返すがすぐにはライ
トバッファから主記憶装置への書き込み動作を行なわず
に、CPUから主記憶装置の同一アドレスへの書き込み
が連続する場合には古いデータの書き込みを省略する動
作モード(本明細書ではこの方式をライトバック方式と
呼ぶ)、の少なくともどちらか一方の動作モードを備え
ることを特徴としたライトバッファ制御方式。 - 【請求項8】請求項6に記載のライトバッファの動作モ
ードは、CPUから書き込みアドレスとデータを受け取
るとCPUにはサイクル完了信号を返し、つづいてライ
トバッファから主記憶装置に書き込み動作を行う動作モ
ード(本明細書ではこの方式をライトスルー方式と呼
ぶ)と、CPUから書き込みアドレスとデータを受け取
るとCPUにはサイクル完了信号を返すがすぐにはライ
トバッファから主記憶装置への書き込み動作を行なわず
に、CPUから主記憶装置の同一アドレスへの書き込み
が連続する場合には古いデータの書き込みを省略する動
作モード(本明細書ではこの方式をライトバック方式と
呼ぶ)、の少なくとも2通りの動作モードを備えること
を特徴としたライトバッファ制御方式。 - 【請求項9】請求項6に記載のライトバッファの動作モ
ードは、少なくとも前記ライトバッファの動作を停止す
るディスエーブルモードと、前記ライトバッファの動作
を許可するイネーブルモードとの2通りの動作モードを
有することを特徴としたライトバッファ制御方式。 - 【請求項10】請求項6に記載のライトバッファ制御方
式は、前記CPUが前記主記憶措置に対し書き込みを行
う場合にはライトスルー方式のライトバッファ動作モー
ドを選択し、前記CPU以外のバスマスタが前記主記憶
装置に書き込みを行う場合にはライトバック方式の動作
モードを選択することを特徴とするライトバッファ制御
方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5138153A JPH06348592A (ja) | 1993-06-10 | 1993-06-10 | ライトバッファ制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5138153A JPH06348592A (ja) | 1993-06-10 | 1993-06-10 | ライトバッファ制御方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06348592A true JPH06348592A (ja) | 1994-12-22 |
Family
ID=15215262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5138153A Pending JPH06348592A (ja) | 1993-06-10 | 1993-06-10 | ライトバッファ制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06348592A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2053519A1 (en) | 2007-10-22 | 2009-04-29 | Denso Corporation | Data processing apparatus and program for same |
JP2011181049A (ja) * | 2010-03-04 | 2011-09-15 | Dainippon Printing Co Ltd | Icチップ、icカード、制御方法及び制御プログラム |
US11698852B2 (en) | 2019-11-28 | 2023-07-11 | Samsung Electronics Co., Ltd. | Apparatus and method for writing data in a memory |
-
1993
- 1993-06-10 JP JP5138153A patent/JPH06348592A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2053519A1 (en) | 2007-10-22 | 2009-04-29 | Denso Corporation | Data processing apparatus and program for same |
JP2011181049A (ja) * | 2010-03-04 | 2011-09-15 | Dainippon Printing Co Ltd | Icチップ、icカード、制御方法及び制御プログラム |
US11698852B2 (en) | 2019-11-28 | 2023-07-11 | Samsung Electronics Co., Ltd. | Apparatus and method for writing data in a memory |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3683739B2 (ja) | オーバラップしたl1およびl2メモリ・アクセス方法および装置 | |
JP2000242558A (ja) | キャッシュシステム及びその操作方法 | |
JPH10232827A (ja) | 先取りキャッシュ書戻しの方法と装置 | |
JPH0461383B2 (ja) | ||
JPH0628254A (ja) | ライトスルーキャッシュおよびパイプラインスヌープサイクルを備えたメモリシステムを有するパーソナルコンピュータ | |
JP2001060169A (ja) | キャッシュコントローラ及びコンピュータシステム | |
JP4689087B2 (ja) | 情報処理装置及び省電力移行制御方法 | |
JP4791714B2 (ja) | ダイナミック周波数スケーリングキャッシュメモリの休止時間を利用する方法、回路及びシステム | |
US5893917A (en) | Memory controller and method of closing a page of system memory | |
KR960007833B1 (ko) | 고속 페이지 모드 선택을 위한 방법 및 장치 | |
JPH06348592A (ja) | ライトバッファ制御方式 | |
JP3061106B2 (ja) | バスブリッジおよびそれを備えた計算機システム | |
JP3039391B2 (ja) | メモリシステム | |
JP2000148584A (ja) | プリフェッチ方法および装置 | |
JP2927160B2 (ja) | レジスタ装置 | |
JPH09319657A (ja) | 命令読み込み用バッファを備えたプロセッサ | |
JP3169878B2 (ja) | メモリ制御回路 | |
JPH07152650A (ja) | キャッシュ制御装置 | |
JPH0962571A (ja) | メモリバッファ装置 | |
JPS61237145A (ja) | ストアバツフアの制御方式 | |
JPH04340145A (ja) | キャッシュメモリ装置 | |
JPH1185613A (ja) | キャッシュメモリ | |
JPH09282231A (ja) | ライトバック型キャッシュ装置 | |
JPH05250258A (ja) | キャッシュ制御方式 | |
JPH02307123A (ja) | 計算機 |