JP3302905B2 - バスインタフェースアダプタおよびコンピュータシステム - Google Patents

バスインタフェースアダプタおよびコンピュータシステム

Info

Publication number
JP3302905B2
JP3302905B2 JP16883597A JP16883597A JP3302905B2 JP 3302905 B2 JP3302905 B2 JP 3302905B2 JP 16883597 A JP16883597 A JP 16883597A JP 16883597 A JP16883597 A JP 16883597A JP 3302905 B2 JP3302905 B2 JP 3302905B2
Authority
JP
Japan
Prior art keywords
cache
bus
block
connectable
cache block
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
Application number
JP16883597A
Other languages
English (en)
Other versions
JPH1115777A (ja
Inventor
傑 菅野
Original Assignee
甲府日本電気株式会社
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 甲府日本電気株式会社 filed Critical 甲府日本電気株式会社
Priority to JP16883597A priority Critical patent/JP3302905B2/ja
Publication of JPH1115777A publication Critical patent/JPH1115777A/ja
Application granted granted Critical
Publication of JP3302905B2 publication Critical patent/JP3302905B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、バスインタフェー
スアダプタに関し、特に、DMA転送時にマルチマイク
ロプロセッサのキャッシュメモリ、システムメインメモ
リとIOキャッシュとのデータ一致性を維持する機構に
有用なIOキャッシュ用のバスインタフェースアダプタ
およびそのバスインタフェースアダプタを持つコンピュ
ータシステムに関する。
【0002】
【従来の技術】一般的にDMA転送(リード又はライ
ト)制御付きIO装置は、以下の4つの傾向がある。第
一に、DMA転送中は連続したアドレスが多いこと、第
二に、DMA転送すべきブロックの最下位バイト又はワ
ードにアクセスした場合(以下ブロックラストアクセス
と称す)は、そのブロックに再度アクセスする率が低い
こと、第三に、DMA転送における1回のDMA転送で
処理できるデータ転送能力がDMA転送制御可能バス装
置によって違うこと、第四に、DMA転送時のデータ種
類として、データタイプとコマンド、またはステータス
タイプ(スクリプト言語、DMA終了時の状態ブロック
等)の大きく二分化され、データタイプのDMA転送
は、ブロックラストアクセス時、そのブロックに再度ア
クセスする率が低く、コマンドまたはステータスタイプ
のDMA転送は、一度アクセスしたブロックに再度アク
セスする率が高いことが上げられる。
【0003】従来のデータ一致性を維持する機構を有す
るIOキャッシュ用バスインタフェースアダプタとして
は、たとえば、図4に示すようなバスインタフェースア
ダプタがある。図4を参照すると、この従来のバスイン
タフェースアダプタは、IOキャッシュブロックサイズ
毎のM個のIOキャッシュブロックに対し、IOキャッ
シュタグ部502内には、IOキャッシュタグS(0)
+A(0)、S(1)+A(1)、・・・、S(M−
1)+A(M−1)を、IOキャッシュデータバッファ
部503には、IOキャッシュデータD(0)、D
(1)、・・・、D(M−1)を保持する。
【0004】IOキャッシュブロックM−1に対するI
OキャッシュステートS(0)〜S(M−1)は、イン
バリッド(Invalid)、シェアード(Share
d)、クリーンイクスクルーシブ(CleanExcl
usive)、ダーティーイクスクルーシブ(Dirt
yExclusive)(以下、それぞれIV、SH、
CE、DEと称す)の状態を有し、そのIOキャッシュ
ステートによってストアインキャッシュ複数接続可能バ
ス510上におけるデータの一致性を保つリード要求に
対してブロックの現在の内容を供給する責任を持つ。各
キャッシュステートについて説明する。 (1)インバリッドとは、キャッシュブロックは有効な
情報を持たないことを示す。 (2)シェアードとは、キャッシュブロックは、有効な
情報を持ち、他のキャッシュにも存在し、また、キャッ
シュブロックの内容はシステムメモリと異なり、プロセ
ッサはオーナーでないことを示す。 (3)クリーンイクスクルーシブとは、キャッシュブロ
ックは、有効な情報を持ち、他のキャッシュには存在
し、また、キャッシュブロックの内容はシステムメモリ
と同一であり、プロセッサはオーナーでないことを示
す。 (4)ダーティーイクスクルーシブとは、キャッシュブ
ロックは、有効な情報を持ち、他のキャッシュには存在
せず、また、キャッシュブロックの内容はシステムメモ
リと同一であり、プロセッサはオーナーであることを示
す。
【0005】各キャッシュステートの遷移は、図5に示
す通りである。
【0006】次に、上述の従来の技術の動作について、
図6を参照して説明する。図6は、図4の従来の技術の
動作を示すフローチャートである。IOキャッシュアド
レスA(0)〜A(M−1)は、IOキャッシュブロッ
クの物理アドレスである。DMA転送制御付きIO装置
505、506がDMA転送制御付きIO装置接続可能
IOバス523上にDMA転送を行う時、DMA転送制
御付きIO装置505、506が接続されているIOバ
スインタフェース制御部504を介してIOキャッシュ
制御部501によってIOキャッシュタグ部502をチ
ェックする。DMAリード転送でIOキャッシュタグ部
502内のIOキャッシュタグS(L)+A(L)にヒ
ットした場合(図6A1のYES)、ヒットしたIOキ
ャッシュタグのIOキャッシュステートに基づいて、ス
トアインキャッシュ複数接続可能バス510に対してデ
ータの一致性を保つための処理を実行する(図6A
2)。IOキャッシュ制御部501によってIOキャッ
シュデータバッファ部503のIOキャッシュデータバ
ッファD(L)をDMAリードレスポンスとしてDMA
転送制御付きIO装置505、506が接続されている
DMA転送制御付きIO装置接続可能IOバス523上
のDMA転送処理によりDMA転送制御付きIO装置5
05、506にデータを転送する(図6A6)。
【0007】DMAリード転送でIOキャッシュタグ部
502内のIOキャッシュタグにヒットしない、つまり
ミスヒットした場合(図6A1のNO)、ストアインキ
ャッシュ複数接続可能バスインタフェース制御部500
を介してストアインキャッシュ複数接続可能バス510
に対してデータの一致性を保つリードを発行し(図6A
3)、リフィル(書き込みのことを以降リフィルと記
す)対象IOキャッシュブロックポインタ509が示す
IOキャッシュブロックKに対するIOキャッシュデー
タバッファ部503内のIOキャッシュデータバッファ
D(K)のIOキャッシュステートS(K)がDEの時
は、そのIOキャッシュデータバッファD(K)の内容
をシステムメインメモリにライトバックした後、ブロッ
クKにリフィルする(図6A4)と同時にIOキャッシ
ュタグ部502内のIOキャッシュタグS(K)+A
(K)も更新し、かつリフィル対象IOキャッシュブロ
ックポインタ509を更新(1加算)する(図6A
5)。
【0008】リフィルしたIOキャッシュデータバッフ
ァD(K)をDMA転送制御付きIO装置接続可能IO
バス523上のDMAリードレスポンス処理によりDM
A転送制御付きIO装置505、506に転送する(図
6A6)。
【0009】DMAライト転送でIOキャッシュタグ部
502内のIOキャッシュタグS(L)+A(L)にヒ
ットした場合、そのヒットしたIOキャッシュブロック
LのIOキャッシュステートS(L)がCEまたはDE
の時、DMAライト転送のライトデータをIOキャッシ
ュデータバッファD(L)にモディファイ(部分変更)
すると同時にIOキャッシュステートS(L)をDEに
変更する。そのヒットしたIOキャッシュブロックLの
IOキャッシュステートS(L)がSHの時、ストアイ
ンキャッシュ複数接続可能バスインタフェース制御部5
00を介してストアインキャッシュ複数接続可能バス5
10に対してデータ一致性を保つためのインバリデート
(無効化)を発行し、その発行が正常に完了するとDM
Aライト転送のライトデータをIOキャッシュデータバ
ッファD(L)にモディファイすると同時にIOキャッ
シュステートS(L)をDEに更新する。
【0010】DMAライト転送でIOキャッシュタグ部
502内のIOキャッシュタグにヒットしない、つまり
ミスヒットした場合、ストアインキャッシュ複数接続可
能バスインタフェース制御部500を介してストアイン
キャッシュ複数接続可能バス510に対してデータ一致
性を保つためのリードイクスクルーシブ(Exclus
ive)を発行し、リフィル対象IOキャッシュポイン
タ509が示すIOキャッシュブロックKに対するIO
キャッシュデータバッファD(K)のIOキャッシュス
テートS(K)がDEの時は、そのIOキャッシュデー
タバッファD(K)の内容をシステムメインメモリにラ
イトバックした後、リードイクスクルーシブに対するレ
スポンスデータをIOキャッシュブロックKにリフィル
すると同時にIOキャッシュタグ部502内のIOキャ
ッシュタグS(K)+A(K)も更新する。
【0011】そしてDMAライト転送のライトデータを
IOキャッシュデータバッファD(K)にモディファイ
し、キャッシュステートS(K)をDEに更新する。
【0012】IOキャッシュ制御部501内には、DM
A転送でIOキャッシュタグ部502内のIOキャッシ
ュタグにミスヒットした場合、ストアインキャッシュ複
数接続可能バス510上への一致性を保つためのリード
要求に対するレスポンスデータをリフィルする場合の置
換対象を示すリフィル対象IOキャッシュブロックポイ
ンタ509を有し、その置換アルゴリズムとして、ラン
ダム置換アルゴリズムまたはLRUアルゴリズムが使用
される。ランダム置換アルゴリズムはDMAアクセス時
アクセスされるIOキャッシュブロックが発生する度に
増加するポインタを持ち、LRUアルゴリズムはレジス
タスタックを用いることによる最も最近アクセスされな
かったIOキャッシュブロックを示すポインタを持つ。
【0013】
【発明が解決しようとする課題】上述した従来のデータ
の一致性を維持する機構を有するIOキャッシュ用バス
インタフェースアダプタによるDMA転送処理の問題点
は、その配下のIOバス上に接続されている多様なDM
A転送制御付きIO装置が数回に分けて同じブロックに
対してDMA転送実行中に、そのブロックを無効にして
しまい、再びストアインキャッシュ複数接続可能バスに
データの一致性を維持する処理が必要となることであ
る。
【0014】その理由は、DMA転送でIOキャッシュ
にミスヒットした時、ストアインキャッシュ複数接続可
能バス上のレスポンスデータをリフィルする時、ストア
インキャッシュ接続可能バス上のレスポンスデータをリ
フィルする時の置換対象となるブロック選択における従
来の置換アルゴリズムにより、実行中のDMA転送の状
態が認識不可能であることから、そのレスポンスデータ
をリフィルするブロックとしてDMA転送実行中のブロ
ックが選択されるからである(このようすを図7に示
す。図Y7(a)において、0番目のエントリがDMA
転送中であるが、次のDMA転送により、図7(b)の
ように置き換えられてしまう。)。
【0015】
【課題を解決するための手段】本発明の第1のバスイン
タフェースアダプタは、ストアインキャッシュ複数接続
可能なバスとDMA転送制御可能バス装置が接続可能な
IOバスとの間の転送を行い、かつIOキャッシュを備
えるバスインタフェースアダプタにおいて、前記IOキ
ャッシュにデータを書き込む場合、前記IOキャッシュ
のキャッシュブロック内の最後のデータを含むアクセス
であると、キャッシュブロックの置き換えに際し優先的
に置き換えの対象であることを示す無効化優先ビットを
付加し前記IOキャッシュに前記データを書き込む。
【0016】本発明の第2のバスインタフェースアダプ
タは、前記第1のバスインタフェースアダプタであっ
て、(a)前記データ含むキャッシュブロックを格納す
るIOキャッシュデータバッファ部と、前記キャッシュ
ブロックの状態を示すステート、前記無効化優先ビッ
ト、およびアドレスを格納するIOキャッシュタグ部と
を備える前記IOキャッシュと、(b)前記IOキャッ
シュを制御するIOキャッシュ制御部と、を有する。
【0017】本発明の第3のバスインタフェースアダプ
タは、前記第2のバスインタフェースアダプタであっ
て、(a)前記ストアインキャッシュ複数接続可能なバ
スと前記IOキャッシュおよび前記IOキャッシュ制御
部とを接続しインタフェースの制御を行うバスインタフ
ェース制御部と、(b)前記DMA転送制御可能なIO
装置が接続可能なIOバスと前記IOキャッシュおよび
前記IOキャッシュ制御部とを接続しインタフェースの
制御を行うIOバスインタフェース制御部と、を有す
る。
【0018】本発明の第4のバスインタフェースアダプ
タは、前記第2または第3のバスインタフェースアダプ
タであって、前記無効化優先ビットがセットされている
キャッシュブロックが複数存在する場合に、現在置き換
えの対象となっているキャッシュブロックが格納されて
いるエントリから順番に前記無効化優先ビットがセット
されているかどうか調べ、最初に検出された無効化優先
ビットがセットされているキャッシュブロックを置き換
え対象とする。
【0019】本発明の第1のコンピュータシステムは、
トアインキャッシュ複数接続可能なバスと、前記スト
アインキャッシュ複数接続可能なバスに接続される複数
のストアインキャッシュを備えたプロセッサと、前記ス
トアインキャッシュ複数接続可能なバスに接続されるシ
ステムメインメモリと、MA転送制御可能なIO装置
が接続可能なIOバスと、前記DMA転送制御可能なI
O装置が接続可能なIOバスに接続される複数のIO装
置と、前記ストアインキャッシュ複数接続可能なバスお
よび前記DMA転送制御可能なIO装置が接続可能なI
Oバスに接続されるスインタフェースアダプタとを有
する。
【0020】本発明の第2のコンピュータシステムは、
前記第1のコンピュータシステムであって、IOキャッ
シュのキャッシュブロック内の最後のデータを含むアク
セスであることを示す信号線を備える前記DMA転送制
御可能なIO装置が接続可能なIOバスを有する。
【0021】
【発明の実施の形態】次に、本発明の第1の実施の形態
について図1を参照して説明する。図1は、本発明の第
1の実施の形態を示すブロック図である。図1を参照す
ると、本発明の第1の実施の形態のバスインタフェース
アダプタは、ストアインキャッシュ接続可能バスインタ
フェース制御部100と、IOキャッシュ制御部101
と、IOキャッシュタグ部102と、IOキャッシュデ
ータバッファ部103と、IOバスインタフェース制御
部104とから構成される。また、ストアインキャッシ
ュ接続可能バスインタフェース制御部100はストアイ
ンキャッシュ複数接続可能バス110と接続され、IO
バスインタフェース制御部104は、DMA転送制御付
きIO装置接続可能IOバス128と接続されている。
また、DMA転送制御付きIO装置接続可能IOバス1
28には、DMA転送制御付きIO装置105、106
が接続される。
【0022】IOバスインタフェース制御部104は、
DMA転送制御付きIO装置105、106からのDM
A転送を監視し、IOキャッシュ制御部101にDMA
転送アドレス、DMA転送長およびDMA転送データ種
を伝える。そして、IOキャッシュ制御部101は、I
Oキャッシュタグ部102をチェックする。
【0023】IOキャッシュタグ部102には、1キャ
ッシュブロック毎にアドレスA(M−1)、IOキャッ
シュステートS(M−1)、無効化優先ビットV(M−
1)の情報がM個格納される。
【0024】IOキャッシュタグ部102内のアドレス
A(0)〜A(M−1)は、DMA転送制御付きIO装
置接続可能IOバス128に接続されるDMA転送制御
付きIO装置105または106によるDMA転送時、
IOキャッシュタグ部102でヒットするかミスヒット
するかを判断するために使用され、キャッシュステート
S(0)〜S(M−1)は、ストアインキャッシュ複数
接続可能バス110に対してデータの一致性を保つため
のIOキャッシュ状態(IV、SH、CEまたはDE)
を示す。
【0025】DMA転送制御付きIO装置接続可能IO
バス128には、DMA転送長指示線126とDMA転
送データ種線127がある。DMA転送時アクセスした
IOキャッシュブロックがブロックの最下位(ラスト)
バイトまたはワードにアクセスしたことをDMA転送長
指示線126とDMA転送のアドレスで認識でき、DM
A転送時の転送データ種は、DMA転送データ種線12
7で認識できる。
【0026】次に、本発明の実施の形態の動作につい
て、図2を参照して詳細に説明する。図2は、本発明の
実施の形態の動作を示すフローチャートである。
【0027】リフィル対象IOキャッシュブロックポイ
ンタ109は無効化またはシステムメインメモリにライ
トバックすべきIOキャッシュブロックを示し、基本的
に0、1、2、・・・、M−1、0、1、2、・・・と
サイクリックに変更される。
【0028】DMA転送時アクセスされたIOキャッシ
ュブロックKに対するIOキャッシュタグ部102内の
無効化優先ビットV(K)は、アクセスされたIOキャ
ッシュブロックがブロックラストアクセス(DMA転送
のアドレスがIOキャッシュのブロックの最後のアドレ
スである場合。キャッシュのブロックサイズが64バイ
トであれば、1バイト転送では、DMAアドレスの最下
位6ビットが“111111”であるとき、8バイト転
送では、DMAアドレスの最下位6ビットが“1110
00”であるとき、64バイト転送では常に)時または
DMA転送データ種がコマンドまたはステートタイプの
場合にセットされ、IOキャッシュミスヒットによるリ
フィル処理後リセットされる(図2B10、B11、B
12、B13)。
【0029】DMA転送でIOキャッシュにミスヒット
して(図2B1のNO)、ストアインキャッシュ複数接
続可能バス110に対するデータの一致性を維持するた
めの処理を行う(図2B3)。ストアインキャッシュ複
数接続可能バス110上のレスポンスデータをリフィル
する時、どのブロックを無効化またはシステムメインメ
モリにライトバックするかを判断するアルゴリズムは、
以下の順番で選択される。
【0030】まず、全てのIOキャッシュのIOキャッ
シュステートをチェックし(図2B4)、キャッシュス
テートがIVであるIOキャッシュブロックが存在する
場合(図2B4のYES)、リフィル対象IOキャッシ
ュブロックポインタ109が示すIOキャッシュブロッ
クからキャッシュステートがIVであるIOキャッシュ
ブロックを検索し、上記リフィルすべきIOキャッシュ
ブロックとする(図2B7)。
【0031】全てのIOキャッシュブロック内にIOキ
ャッシュステートがIVであるIOキャッシュブロック
が存在せず(図2B4のNO)、全てのIOキャッシュ
タグ部102内の無効化優先ビットがセットされていな
い場合(図2B5のYES)、リフィル対象IOキャッ
シュブロックポインタ109が示すIOキャッシュブロ
ックがリフィルすべきIOキャッシュブロックとなり
(図2B7)、レスポンスデータのリフィルが実施され
る(図2B7)。
【0032】全てのIOキャッシュタグ部102内のI
OキャッシュステートがIVでなく、無効化優先ビット
がセットされている場合(図2B5のNO)、リフィル
対象IOキャッシュブロックポインタ109が示すIO
キャッシュブロック以降から無効化優先ビットがセット
されているIOキャッシュブロックを検索し、無効化優
先ビットがセットされているIOキャッシュブロックを
リフィル対象IOキャッシュブロックとし(図2B
6)、レスポンスデータのリフィルが実施される(図2
B7)。
【0033】次に、リフィルしたキャッシュブロックの
キャッシュステートを変更し(図2B8)、リフィル対
象IOキャッシュブロックポインタ109を1加算する
(B9)。
【0034】次に、上述したB10〜B13の処理を実
施し、最後にDMA転送処理を行う(図2B14)。
【0035】次に、IOキャッシュブロックが4個の場
合について詳細に説明する。IOキャッシュタグ部10
2内にIOキャッシュタグV0+S0+A0、V1+S
1+A1、V2+S2+A2、V3+S3+A3と、I
Oキャッシュデータバッファ部103内にIOキャッシ
ュデータブロックD0、D1、D2、D3を有し、IO
キャッシュ制御部101がIOキャッシュブロックを制
御する。
【0036】また、1つのIOキャッシュブロックのサ
イズを64バイトとし、1回のDMA転送における処理
データサイズが8バイトのDMA転送制御付きIO装置
(以下、8バイトDMA装置と称す)、1回のDMA転
送における処理データサイズが16バイトのDMA転送
制御付きIO装置(以下、16バイトDMA装置と称
す)と一回のDMA転送における処理データサイズが6
4バイトのDMA転送制御付きIO装置(以下、64バ
イトDMA装置と称す)の3つの異なるDMA転送能力
をもつDMA転送制御付きIO装置がDMA転送制御付
きIO装置接続可能IOバス128上に接続されている
とする。DMAデータ種は、コマンドまたはステータス
とする。
【0037】また、全てのIOキャッシュブロックのI
OキャッシュステートがIVであり、リフィル対象IO
キャッシュブロックポインタ109が0であり、DMA
転送制御付きIO装置接続可能IOバス128上のバス
アービトレーションはラウンドロビンである。
【0038】第一フェーズにおいて、8バイトDMA装
置のDMA転送が発生すると、全てのIOキャッシュブ
ロックのIOキャッシュステートがIVであることか
ら、リフィル対象キャッシュブロックが示すIOキャッ
シュブロック0に格納され、リフィル対象IOキャッシ
ュブロックポインタ109は1加算されることで、IO
キャッシュブロック1を示す。IOキャッシュブロック
0の無効化優先ビットはセットされない。その後、16
バイトDMA装置のDMA転送が発生するとIOキャッ
シュステートがIVであるIOキャッシュブロックが存
在することから、リフィル対象IOキャッシュブロック
ポインタ109が示すIOキャッシュブロック1に格納
され、リフィル対象IOキャッシュブロックポインタ1
09は1加算されることで、IOキャッシュブロック2
を示す。IOキャッシュブロック1の無効化優先ビット
はセットされない。その後、64バイトDMA装置のD
MA転送が発生するとIOキャッシュステートがIVで
あるIOキャッシュブロックが存在することから、リフ
ィル対象IOキャッシュブロックポインタ109が示す
IOキャッシュブロック2に格納されリフィル対象IO
キャッシュブロックポインタ109は1加算されること
で、IOキャッシュブロック3を示す。IOキャッシュ
ブロック2へのブロックラストアクセスであることから
IOキャッシュブロック2に対する無効化優先ビットが
セットされる。
【0039】第二フェーズにおいて、8バイトDMA装
置と16バイトDMA装置のDMA転送が発生すると、
それぞれIOキャッシュブロックにヒットし、DMA処
理を完了する。ともにブロックラストアクセスではない
ので、無効化優先ビットはセットされない。64バイト
DMA装置のDMA転送が発生すると、IOキャッシュ
にミスヒットし、IOキャッシュステートがIVである
IOキャッシュブロックが存在するので、リフィル対象
IOキャッシュブロックが示すIOキャッシュブロック
3に格納される。IOキャッシュブロック3へのブロッ
クラストアクセスであることからIOキャッシュブロッ
ク3に対する無効化優先ビットがセットされる。第三フ
ェーズに入る前のリフィル対象IOキャッシュブロック
ポインタ109はIOキャッシュブロック0を示す。
【0040】第三フェーズにおいて、8バイトDMA装
置と16バイトDMA装置のDMA転送が発生すると、
それぞれIOキャッシュブロックにヒットし、DMA処
理が完了する。その後、64バイトDMA装置のDMA
転送が発生すると、IOキャッシュブロックにミスヒッ
トするが、IOキャッシュステートがIVであるIOキ
ャッシュブロックが存在せず、またIOキャッシュブロ
ック2と3の無効化優先ビットがセットされているの
で、リフィル対象IOキャッシュブロックポインタ10
9が示すIOキャッシュブロック0から順に無効化優先
ビットがセットされているIOキャッシュブロックを検
索していくと、IOキャッシュブロック2の無効化優先
ビットがセットされているので、IOキャッシュブロッ
ク2に格納され、リフィル対象IOキャッシュブロック
ポインタ109がIOキャッシュブロック2を示すよう
に変更される。また、リフィル対象IOキャッシュブロ
ックポインタ109に1加算することで、最終的にはI
Oキャッシュブロック3を示す。IOキャッシュブロッ
ク2に対してブロックラストアクセスであることから、
IOキャッシュブロック2に対する無効化優先ビットが
セットされる。
【0041】第四フェーズにおいて、8バイトDMA装
置と16バイトDMA装置のDMA転送が発生すると、
それぞれIOキャッシュブロックにヒットし、DMA処
理が完了する。IOキャッシュブロック0の無効化優先
ビットはセットされず、16バイトDMA装置がアクセ
スするIOキャッシュブロック1に対してブロックラス
トアクセスであることから、IOキャッシュブロックの
無効化優先ビットがセットされる。その後、64バイト
DMA装置のDMA転送が発生すると、IOキャッシュ
ブロックにミスヒットし、IOキャッシュステートがI
VであるIOキャッシュブロックは存在せず、またIO
キャッシュブロック1、2、3の無効化優先ビットがセ
ットされているので、リフィル対象IOキャッシュブロ
ックポインタ109が示すIOキャッシュブロック3か
ら順に無効化優先ビットがセットされているIOキャッ
シュブロックを検索していくと、IOキャッシュブロッ
ク3の無効化優先ビットがセットされているので、IO
キャッシュブロック3に格納され、リフィル対象IOキ
ャッシュブロックポインタ109がIOキャッシュブロ
ック3を示すように変更され1加算されることで、最終
的にIOキャッシュブロック0を示す。
【0042】第五フェーズにおいて、8バイトDMA装
置のDMA転送が発生すると、IOキャッシュブロック
にヒットし、DMA処理が完了する。IOキャッシュブ
ロック0に対する無効化優先ビットはセットされない。
16バイトDMA装置のDMA転送が発生すると、IO
キャッシュブロックにミスヒットし、IOキャッシュス
テートがIVであるIOキャッシュブロックは存在せ
ず、IOキャッシュブロック1、2、3の無効化優先ビ
ットがセットされているので、リフィル対象IOキャッ
シュブロックポインタ109が示すIOキャッシュブロ
ック0から順に無効化優先ビットがセットされているI
Oキャッシュブロックを検索していくと、IOキャッシ
ュブロック1が無効化優先ビットがセットされているの
で、IOキャッシュブロック1に格納され、リフィル対
象IOキャッシュブロックポインタ109がIOキャッ
シュブロック1を示すように変更され1加算されること
で、最終的にIOキャッシュブロック2を示す。IOキ
ャッシュブロック1の無効化優先ビットはリフィル処理
によってリセットされる。その後、64バイトDMA装
置のDMA転送が発生すると、IOキャッシュブロック
にミスヒットし、IOキャッシュステートがIVである
IOキャッシュブロックが存在せず、IOキャッシュブ
ロック2、3の無効化優先ビットがセットされているの
で、リフィル対象IOキャッシュブロックポインタ10
9が示すIOキャッシュブロック2から順に無効化優先
ビットがセットされているIOキャッシュブロックを検
索していくと、IOキャッシュブロック2の無効化優先
ビットがセットされているので、IOキャッシュブロッ
ク2に格納され、リフィル対象IOキャッシュブロック
ポインタ109はIOキャッシュブロック2を示すよう
に変更され1加算されることで、最終的にIOキャッシ
ュブロック3を示す。
【0043】第六フェーズにおいて、8バイトDMA装
置と16バイトDMA装置のDMA転送が発生すると、
それぞれIOキャッシュブロックにヒットし、DAM転
送処理が完了する。ともに無効化優先ビットはセットさ
れない。64バイトDMA装置のDMA転送が発生する
と、IOキャッシュブロックにミスヒットし、IOキャ
ッシュステートがIVであるIOキャッシュブロックは
存在せず、またIOキャッシュブロック2、3の無効化
優先ビットがセットされているので、リフィル対象キャ
ッシュブロックポインタ109が示すIOキャッシュブ
ロック3から順に無効化優先ビットがセットされている
IOキャッシュブロックを検索していくと、IOキャッ
シュブロック3の無効化優先ビットがセットされている
のでIOキャッシュブロック3に格納され、リフィル対
象IOキャッシュブロックポインタ109がIOキャッ
シュブロック3を示すように1加算されることで、最終
敵にIOキャッシュブロック0を示す。
【0044】ここで、従来のDMA転送処理アダプタ内
のリフィル対象IOキャッシュブロックポインタ109
は、DMA転送の状態が判断する手段がないので、単純
サイクリックに変更される。
【0045】従来では、第三フェーズの16バイトDM
A装置のアクセスにより、リフィル対象IOキャッシュ
ブロックポインタ109がIOキャッシュブロック0を
示しているので、8バイトDMA装置がアクセス中のI
Oキャッシュブロック0が無効化され、第四フェーズに
おいて、8バイトDMA装置のDMA転送が発生すると
IOキャッシュブロックにミスヒットしてしまい、スト
アインキャッシュ複数接続可能バス110に対してデー
タの一致性を維持するための処理を実施しなければなら
ない。
【0046】次に、本発明の第2の実施の形態について
図3を参照して説明する。本発明の第2の実施の形態は
第1の実施の形態のバスインタフェースアダプタが複数
接続されるコンピュータシステムである。図3は、本発
明の第2の実施の形態を示すブロック図である。図3を
参照すると、本発明のコンピュータシステムは、ストア
インキャッシュ複数接続可能バス215と、本発明の第
1の実施の形態であるバスインタフェースアダプタ20
5、206と、プロセッサ200、201、202、2
03と、システムメインメモリ204と、バスインタフ
ェースアダプタ205配下のDMA転送制御付きIO装
置接続可能IOバス216と、DMA転送制御付きIO
装置207〜210と、バスインタフェースアダプタ2
06配下のDMA転送制御付きIO装置接続可能IOバ
ス217と、DMA転送制御付きIO装置211〜21
4とから構成される。
【0047】このシステムにおけるバスインタフェース
アダプタ205、206の動作は、本発明の第1の実施
の形態と同一である。
【0048】
【発明の効果】本発明の第1の効果は、転送能力が低い
DMA転送制御付きIO装置がアクセス中のIOキャッ
シュブロックが、転送能力が高いDMA転送制御付きI
O装置が異なるIOキャッシュブロックへのアクセスに
より、無効化またはシステムメインメモリにブロックラ
イトされないようになり、多様な転送能力をもつDMA
転送制御付きIO装置のDMA転送におけるIOキャッ
シュブロックのミスヒット率を減少することが可能とな
ることである。その理由は、本発明のバスインタフェー
スアダプタはDMA転送アドレスとDMA転送長指示線
を監視する機能を内蔵することで、バスインタフェース
アダプタのIOキャッシュを最適に制御することからで
ある。
【0049】第2の効果は、コマンドまたはステータス
としてアクセスしているDMA転送制御付きIO装置が
アクセス中のIOキャッシュブロックが、データとして
アクセスしているDMA転送制御付きIO装置が異なる
IOキャッシュブロックへのアクセスにより、無効化ま
たはシステムメインメモリにライトバックされないよう
になり、多様なデータ種をもつDMA転送制御付きIO
装置のDMA転送におけるIO装置のDMA転送におけ
るIOキャッシュブロックのミスヒット率を減少するこ
とが可能となることである。その理由は、本発明に係る
動的DMA転送処理アダプタのDMA転送データ種線を
監視する機能を内蔵することで、本発明に係る動的DM
A転送処理アダプタ内のIOキャッシュを最適に制御す
ることからである。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態を示すブロック図で
ある。
【図2】本発明の第1の実施の形態の動作を示すフロー
チャートである。
【図3】本発明の第2の実施の形態を示すブロック図で
ある。
【図4】従来の技術を示すブロック図である。
【図5】キャッシュステートの遷移を示す遷移図であ
る。
【図6】従来の技術の動作を示すフローチャートであ
る。
【図7】従来の技術の動作を示す説明図である。
【符号の説明】
100 バスインタフェース制御部 101 IOキャッシュ制御部 102 IOキャッシュタグ部 103 IOキャッシュデータバッファ部 104 IOバスインタフェース制御部 105、106 DMA転送制御付きIO装置 109 リフィル対象IOキャッシュブロックポイン
タ 110 ストアインキャッシュ複数接続可能バス 126 DMA転送長指示線 127 DMA転送データ種線 128 DMA転送制御付きIO装置接続可能IOバ
ス 200、201、202、203 プロセッサ 204 システムメインメモリ 205、206 バスインタフェースアダプタ 215 ストアインキャッシュ複数接続可能バス 216、217 DMA転送制御付きIO装置接続可
能IOバス 207〜210 DMA転送制御付きIO装置 211〜214 DMA転送制御付きIO装置 500 バスインタフェース制御部 501 IOキャッシュ制御部 502 IOキャッシュタグ部 503 IOキャッシュデータバッファ部 504 IOバスインタフェース制御部 505、506 DMA転送制御付きIO装置 509 リフィル対象IOキャッシュブロックポイン
タ 510 ストアインキャッシュ複数接続可能バス 523 DMA転送制御付きIO装置接続可能IOバ
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 13/36 G06F 12/08 G06F 13/12

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 ストアインキャッシュ複数接続可能なバ
    スとDMA転送制御可能なIO装置が接続可能なIOバ
    スとの間の転送を行い、かつIOキャッシュを備えるバ
    スインタフェースアダプタにおいて、前記IOキャッシ
    ュにデータを書き込む場合、前記IOキャッシュのキャ
    ッシュブロック内の最後のデータを含むアクセスである
    と、キャッシュブロックの置き換えに際し優先的に置き
    換えの対象であることを示す無効化優先ビットを付加し
    前記IOキャッシュに前記データを書き込むことを特徴
    とするバスインタフェースアダプタ。
  2. 【請求項2】(a)前記データ含むキャッシュブロック
    を格納するIOキャッシュデータバッファ部と、前記キ
    ャッシュブロックの状態を示すステート、前記無効化優
    先ビット、およびアドレスを格納するIOキャッシュタ
    グ部とを備える前記IOキャッシュと、(b)前記IO
    キャッシュを制御するIOキャッシュ制御部と、を有す
    ることを特徴とする請求項1記載のバスインタフェース
    アダプタ。
  3. 【請求項3】(a)前記ストアインキャッシュ複数接続
    可能なバスと前記IOキャッシュおよび前記IOキャッ
    シュ制御部とを接続しインタフェースの制御を行うバス
    インタフェース制御部と、(b)前記DMA転送制御可
    能なIO装置が接続可能なIOバスと前記IOキャッシ
    ュおよび前記IOキャッシュ制御部とを接続しインタフ
    ェースの制御を行うIOバスインタフェース制御部と、
    を有することを特徴とする請求項2記載のバスインタフ
    ェースアダプタ。
  4. 【請求項4】 前記無効化優先ビットがセットされてい
    るキャッシュブロックが複数存在する場合に、現在置き
    換えの対象となっているキャッシュブロックが格納され
    ているエントリから順番に前記無効化優先ビットがセッ
    トされているかどうか調べ、最初に検出された無効化優
    先ビットがセットされているキャッシュブロックを置き
    換え対象とすることを特徴とする請求項2または3記載
    のバスインタフェースアダプタ。
  5. 【請求項5】 トアインキャッシュ複数接続可能なバ
    スと、前記ストアインキャッシュ複数接続可能なバスに
    接続される複数のストアインキャッシュを備えたプロセ
    ッサと、前記ストアインキャッシュ複数接続可能なバス
    に接続されるシステムメインメモリと、MA転送制御
    可能なIO装置が接続可能なIOバスと、前記DMA転
    送制御可能なIO装置が接続可能なIOバスに接続され
    る複数のIO装置と、前記ストアインキャッシュ複数接
    続可能なバスおよび前記DMA転送制御可能なIO装置
    が接続可能なIOバスに接続されるスインタフェース
    アダプタとを有することを特徴とするコンピュータシス
    テム。
  6. 【請求項6】 Oキャッシュのキャッシュブロック内
    の最後のデータを含むアクセスであることを示す信号線
    を備える前記DMA転送制御可能なIO装置が接続可能
    なIOバスを有することを特徴とする請求項5記載のコ
    ンピュータシステム。
JP16883597A 1997-06-25 1997-06-25 バスインタフェースアダプタおよびコンピュータシステム Expired - Fee Related JP3302905B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16883597A JP3302905B2 (ja) 1997-06-25 1997-06-25 バスインタフェースアダプタおよびコンピュータシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16883597A JP3302905B2 (ja) 1997-06-25 1997-06-25 バスインタフェースアダプタおよびコンピュータシステム

Publications (2)

Publication Number Publication Date
JPH1115777A JPH1115777A (ja) 1999-01-22
JP3302905B2 true JP3302905B2 (ja) 2002-07-15

Family

ID=15875413

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16883597A Expired - Fee Related JP3302905B2 (ja) 1997-06-25 1997-06-25 バスインタフェースアダプタおよびコンピュータシステム

Country Status (1)

Country Link
JP (1) JP3302905B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6820161B1 (en) 2000-09-28 2004-11-16 International Business Machines Corporation Mechanism for allowing PCI-PCI bridges to cache data without any coherency side effects

Also Published As

Publication number Publication date
JPH1115777A (ja) 1999-01-22

Similar Documents

Publication Publication Date Title
JP3510240B2 (ja) キャッシュメモリー付マルチ処理システム
US5097409A (en) Multi-processor system with cache memories
US5740400A (en) Reducing cache snooping overhead in a multilevel cache system with multiple bus masters and a shared level two cache by using an inclusion field
US6366984B1 (en) Write combining buffer that supports snoop request
US6021468A (en) Cache coherency protocol with efficient write-through aliasing
JP2982868B2 (ja) メモリ待ち時間を短縮する方法およびコンピュータ・システム
US6353875B1 (en) Upgrading of snooper cache state mechanism for system bus with read/castout (RCO) address transactions
US5249284A (en) Method and system for maintaining data coherency between main and cache memories
US6343344B1 (en) System bus directory snooping mechanism for read/castout (RCO) address transaction
US6275909B1 (en) Multiprocessor system bus with system controller explicitly updating snooper cache state information
JPH10333985A (ja) データ供給方法及びコンピュータ・システム
JPH09259036A (ja) ライトバックキャッシュおよびライトバックキャッシュ内で整合性を維持する方法
US5850534A (en) Method and apparatus for reducing cache snooping overhead in a multilevel cache system
JPH10289155A (ja) Smpバスの共用状態でのキャッシュ・ラインの共用介入方法及びシステム
JPH0797354B2 (ja) 2レベルのキャッシュ・メモリ及びそれを操作するキャッシュ・コヒーレンスの方法
JPH10289156A (ja) Smpバスの最近読取り状態でのキャッシュ・ラインの共用介入方法及びシステム
US8621152B1 (en) Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access
US6560681B1 (en) Split sparse directory for a distributed shared memory multiprocessor system
US5590310A (en) Method and structure for data integrity in a multiple level cache system
US5367659A (en) Tag initialization in a controller for two-way set associative cache
US5694575A (en) Direct I/O control system with processor, main memory, and cache employing data consistency retaining scheme
US7464227B2 (en) Method and apparatus for supporting opportunistic sharing in coherent multiprocessors
KR100322223B1 (ko) 대기행렬및스누프테이블을갖는메모리제어기
US7949833B1 (en) Transparent level 2 cache controller
US6279086B1 (en) Multiprocessor system bus with combined snoop responses implicitly updating snooper LRU position

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees