JP2938040B1 - Pci/pciブリッジ回路 - Google Patents
Pci/pciブリッジ回路Info
- Publication number
- JP2938040B1 JP2938040B1 JP10168889A JP16888998A JP2938040B1 JP 2938040 B1 JP2938040 B1 JP 2938040B1 JP 10168889 A JP10168889 A JP 10168889A JP 16888998 A JP16888998 A JP 16888998A JP 2938040 B1 JP2938040 B1 JP 2938040B1
- Authority
- JP
- Japan
- Prior art keywords
- pci
- request
- history table
- dma
- 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.)
- Expired - Fee Related
Links
Landscapes
- Bus Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【要約】
【課題】 PCIホストブリッジ回路に含まれるI/O
キャッシュの容量の制限から生じる、多数の周辺入出力
装置からのDMA転送に伴うキャッシュエントリの無駄
なエントリリプレースを抑える。 【解決手段】 プライマリPCIバスの転送リクエスト
を監視することによってPCIホストブリッジ内のI/
Oキャッシュの状態を履歴テーブルに再現し、この情報
を利用して、DMAリクエストキューに蓄えられた周辺
入出力装置からのDMAリクエストのスケジューリング
を行い、効率的なデータ転送を行う。
キャッシュの容量の制限から生じる、多数の周辺入出力
装置からのDMA転送に伴うキャッシュエントリの無駄
なエントリリプレースを抑える。 【解決手段】 プライマリPCIバスの転送リクエスト
を監視することによってPCIホストブリッジ内のI/
Oキャッシュの状態を履歴テーブルに再現し、この情報
を利用して、DMAリクエストキューに蓄えられた周辺
入出力装置からのDMAリクエストのスケジューリング
を行い、効率的なデータ転送を行う。
Description
【0001】
【発明の属する技術分野】本発明は、PCI(Peri
pheral Component Interconn
ect)バスを利用する情報処理装置において、プライ
マリPCIバスと、入出力装置が接続されるセカンダリ
PCIバスとを相互接続するPCI/PCIブリッジ回
路に関する。
pheral Component Interconn
ect)バスを利用する情報処理装置において、プライ
マリPCIバスと、入出力装置が接続されるセカンダリ
PCIバスとを相互接続するPCI/PCIブリッジ回
路に関する。
【0002】
【従来の技術】従来、PCIバスを利用するパーソナル
・コンピュータ等の情報処理装置における入出力装置
は、PCIホストブリッジ回路に含まれるI/Oキャッ
シュを経由してDMAアクセスを行なっている。I/O
キャッシュは、特にメインメモリのトラフィック低減と
I/Oバスのスループット向上及びレイテンシ低減のた
めに用いられるが、このようなI/Oキャッシュにおい
て、その容量の制限からキャッシュエントリ数は限られ
ている。
・コンピュータ等の情報処理装置における入出力装置
は、PCIホストブリッジ回路に含まれるI/Oキャッ
シュを経由してDMAアクセスを行なっている。I/O
キャッシュは、特にメインメモリのトラフィック低減と
I/Oバスのスループット向上及びレイテンシ低減のた
めに用いられるが、このようなI/Oキャッシュにおい
て、その容量の制限からキャッシュエントリ数は限られ
ている。
【0003】
【発明が解決しようとする課題】したがって、多数の入
出力装置からのDMA転送により数の限られたキャッシ
ュエントリの取り合いが発生する。特に、キャッシュエ
ントリ数よりも多くの転送が一度に発生した場合には、
エントリリプレースを繰り返し、また、I/Oキャッシ
ュのヒット判定を繰り返すため、I/Oキャッシュのメ
リットを全く発揮できない。その結果、上記目的と全く
逆の効果を生んでしまい、効率的なデータ転送を行なえ
ない場合もある。これを防ぐためには、無駄なエントリ
リプレースを抑えることが必要である。
出力装置からのDMA転送により数の限られたキャッシ
ュエントリの取り合いが発生する。特に、キャッシュエ
ントリ数よりも多くの転送が一度に発生した場合には、
エントリリプレースを繰り返し、また、I/Oキャッシ
ュのヒット判定を繰り返すため、I/Oキャッシュのメ
リットを全く発揮できない。その結果、上記目的と全く
逆の効果を生んでしまい、効率的なデータ転送を行なえ
ない場合もある。これを防ぐためには、無駄なエントリ
リプレースを抑えることが必要である。
【0004】本発明は、上記の点に鑑みてなされたもの
で、PCIホストブリッジ回路に備わるI/Oキャッシ
ュにおける無駄なエントリリプレースを抑えることで、
効率的なデータ転送を行えるPCI/PCIブリッジ回
路を提供するものである。
で、PCIホストブリッジ回路に備わるI/Oキャッシ
ュにおける無駄なエントリリプレースを抑えることで、
効率的なデータ転送を行えるPCI/PCIブリッジ回
路を提供するものである。
【0005】
【課題を解決するための手段】本発明のPCIブリッジ
回路は、情報処理装置に用いられる、プライマリPCI
(Peripheral Component Inte
rconnect)バスとセカンダリPCIバスを相互
接続するPCI/PCIブリッジ回路であって、前記プ
ライマリPCIバスの状態を監視するバス監視部と、前
記プライマリPCIバスにおけるDMA(Direct
Memory Access)アクセスのリクエストの
履歴情報を保持する履歴テーブルと、前記セカンダリP
CIバスに接続される入出力装置からのDMAリクエス
トを保持するDMAリクエスト保持部と、前記バス監視
部と前記履歴テーブルの間に接続される第1の比較器
と、前記DMAリクエスト保持部と前記履歴テーブルの
間に接続される第2の比較器とを備え、前記バス監視部
は、前記プライマリPCIバスにおける転送リクエスト
を監視し、該転送リクエストが前記情報処理装置のメイ
ンメモリへのDMAアクセスである場合、該DMAアク
セスのアドレスと比較命令を前記第1の比較器に発行
し、前記第1の比較器は、前記比較命令により、前記D
MAアクセスのアドレスと前記履歴テーブルの各エント
リの登録アドレスを比較し、比較結果を前記履歴テーブ
ルに発行し、前記履歴テーブルは、前記比較結果によ
り、各エントリの内容を更新するとともに、前記DMA
リクエスト保持部は、該DMAリクエスト保持部内で複
数の転送リクエストが待ち状態となった場合、前記第2
の比較器に前記転送リクエストのアドレスと比較命令を
発行し、前記第2の比較器は、前記DMAリクエスト保
持部からの比較命令により、前記転送リクエストのアド
レスと前記履歴テーブルの登録アドレスを比較し、該履
歴テーブルに同一のアドレスが存在する場合、前記DM
Aリクエスト保持部に比較結果を応答し、前記DMAリ
クエスト保持部は、前記第2の比較器からの応答によ
り、前記アドレスに対応するリクエストを優先するよう
に各エントリの順序を入れ替え、前記プライマリPCI
バスへリクエストを発行する。
回路は、情報処理装置に用いられる、プライマリPCI
(Peripheral Component Inte
rconnect)バスとセカンダリPCIバスを相互
接続するPCI/PCIブリッジ回路であって、前記プ
ライマリPCIバスの状態を監視するバス監視部と、前
記プライマリPCIバスにおけるDMA(Direct
Memory Access)アクセスのリクエストの
履歴情報を保持する履歴テーブルと、前記セカンダリP
CIバスに接続される入出力装置からのDMAリクエス
トを保持するDMAリクエスト保持部と、前記バス監視
部と前記履歴テーブルの間に接続される第1の比較器
と、前記DMAリクエスト保持部と前記履歴テーブルの
間に接続される第2の比較器とを備え、前記バス監視部
は、前記プライマリPCIバスにおける転送リクエスト
を監視し、該転送リクエストが前記情報処理装置のメイ
ンメモリへのDMAアクセスである場合、該DMAアク
セスのアドレスと比較命令を前記第1の比較器に発行
し、前記第1の比較器は、前記比較命令により、前記D
MAアクセスのアドレスと前記履歴テーブルの各エント
リの登録アドレスを比較し、比較結果を前記履歴テーブ
ルに発行し、前記履歴テーブルは、前記比較結果によ
り、各エントリの内容を更新するとともに、前記DMA
リクエスト保持部は、該DMAリクエスト保持部内で複
数の転送リクエストが待ち状態となった場合、前記第2
の比較器に前記転送リクエストのアドレスと比較命令を
発行し、前記第2の比較器は、前記DMAリクエスト保
持部からの比較命令により、前記転送リクエストのアド
レスと前記履歴テーブルの登録アドレスを比較し、該履
歴テーブルに同一のアドレスが存在する場合、前記DM
Aリクエスト保持部に比較結果を応答し、前記DMAリ
クエスト保持部は、前記第2の比較器からの応答によ
り、前記アドレスに対応するリクエストを優先するよう
に各エントリの順序を入れ替え、前記プライマリPCI
バスへリクエストを発行する。
【0006】また、前記履歴テーブルは、該履歴テーブ
ルのエントリのリプレース方式として、CPUバスと前
記プライマリPCIバスを相互接続するPCIホストブ
リッジ回路に備わるI/Oキャッシュのリプレース方式
と同一のリプレース方式を用いて各エントリの内容を更
新する。
ルのエントリのリプレース方式として、CPUバスと前
記プライマリPCIバスを相互接続するPCIホストブ
リッジ回路に備わるI/Oキャッシュのリプレース方式
と同一のリプレース方式を用いて各エントリの内容を更
新する。
【0007】または、前記履歴テーブルは、該履歴テー
ブルのエントリのリプレース方式として、LRU(Le
ast Recently Used)方式を用いて各
エントリの内容を更新する。
ブルのエントリのリプレース方式として、LRU(Le
ast Recently Used)方式を用いて各
エントリの内容を更新する。
【0008】さらに、前記履歴テーブルは、前記プライ
マリPCIバスにおけるDMAアクセスの転送リクエス
ト・アドレスを保持するアドレス・フィールドと、当該
エントリをリプレースする際の優先順位を示す優先度番
号フィールドからなる複数のエントリを備えるととも
に、前記複数のエントリを更新処理する制御部を備え
る。
マリPCIバスにおけるDMAアクセスの転送リクエス
ト・アドレスを保持するアドレス・フィールドと、当該
エントリをリプレースする際の優先順位を示す優先度番
号フィールドからなる複数のエントリを備えるととも
に、前記複数のエントリを更新処理する制御部を備え
る。
【0009】また、前記履歴テーブルの各エントリは、
さらに、当該エントリが有効か無効かを示すバリッドビ
ット・フィールドを備える。
さらに、当該エントリが有効か無効かを示すバリッドビ
ット・フィールドを備える。
【0010】さらに、前記DMAリクエスト保持部は、
前記セカンダリPCIバスにおける、該セカンダリPC
Iバスに接続された入出力装置からの転送リクエストの
アドレスを保持するアドレス・フィールドと、前記転送
リクエストのリクエスト・コマンドを保持するコマンド
・フィールドと、前記転送リクエストがリード・リクエ
ストの場合に、前記第2の比較器で比較した結果を保持
するヒット・フィールドと、前記DMAリクエスト保持
部に保持された転送リクエストの実行順序を示す順序フ
ィールドからなる複数のエントリと、前記順序フィール
ドを書き換えることにより実行順序を入れ替える制御
と、前記第2の比較器への比較命令の発行を行なう制御
部とを備える。
前記セカンダリPCIバスにおける、該セカンダリPC
Iバスに接続された入出力装置からの転送リクエストの
アドレスを保持するアドレス・フィールドと、前記転送
リクエストのリクエスト・コマンドを保持するコマンド
・フィールドと、前記転送リクエストがリード・リクエ
ストの場合に、前記第2の比較器で比較した結果を保持
するヒット・フィールドと、前記DMAリクエスト保持
部に保持された転送リクエストの実行順序を示す順序フ
ィールドからなる複数のエントリと、前記順序フィール
ドを書き換えることにより実行順序を入れ替える制御
と、前記第2の比較器への比較命令の発行を行なう制御
部とを備える。
【0011】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して説明する。
を参照して説明する。
【0012】図1に、本発明の一実施形態であるPCI
/PCIブリッジ回路を含む情報処理システムの構成を
示す。また、図2に本発明の一実施形態であるPCI/
PCIブリッジ回路の内部構成を示す。
/PCIブリッジ回路を含む情報処理システムの構成を
示す。また、図2に本発明の一実施形態であるPCI/
PCIブリッジ回路の内部構成を示す。
【0013】図1に示すように、本実施形態では、CP
U・1と、CPU・1からの直結バスであるCPUバス
2に接続されるPCIホストブリッジ回路3と、PCI
ホストブリッジ回路3に含まれるI/Oキャッシュ3−
1と、PCIホストブリッジ回路3に接続されるメイン
メモリ4と、PCIホストブリッジ回路3の直結バスで
あるプライマリPCIバス5に接続されるPCI/PC
Iブリッジ回路6と、同じくプライマリPCIバス5に
接続される入出力装置7(図では1つのみ表示)と、P
CI/PCIブリッジ回路6の直結バスであるセカンダ
リPCIバス8に接続される入出力装置9−1、9−
2、9−3、…とから構成される情報処理装置に組み込
み使用する。
U・1と、CPU・1からの直結バスであるCPUバス
2に接続されるPCIホストブリッジ回路3と、PCI
ホストブリッジ回路3に含まれるI/Oキャッシュ3−
1と、PCIホストブリッジ回路3に接続されるメイン
メモリ4と、PCIホストブリッジ回路3の直結バスで
あるプライマリPCIバス5に接続されるPCI/PC
Iブリッジ回路6と、同じくプライマリPCIバス5に
接続される入出力装置7(図では1つのみ表示)と、P
CI/PCIブリッジ回路6の直結バスであるセカンダ
リPCIバス8に接続される入出力装置9−1、9−
2、9−3、…とから構成される情報処理装置に組み込
み使用する。
【0014】本発明のPCI/PCIブリッジ回路6の
構成要素は、図2に示すように、プライマリPCIバス
5に接続され、プライマリPCIバス5の状態を監視す
るバス監視部としてのバスモニタ6−1と、プライマリ
PCIバス5におけるDMA(Direct Memo
ry Access)アクセスのリクエストの履歴情報
を保持する履歴テーブル6−2と、バスモニタ6−1と
履歴テーブル6−2に接続される第1の比較器6−3
と、履歴テーブル6−2に接続される第2の比較器6−
4と、プライマリPCIバス5とセカンダリPCIバス
8の各バスと第2の比較器6−4に接続され、セカンダ
リPCIバス8に接続される入出力装置9−1、9−
2、9−3、…からのDMAリクエストを保持するDM
Aリクエスト保持部としてのDMAリクエストキュー6
−5とからなる。
構成要素は、図2に示すように、プライマリPCIバス
5に接続され、プライマリPCIバス5の状態を監視す
るバス監視部としてのバスモニタ6−1と、プライマリ
PCIバス5におけるDMA(Direct Memo
ry Access)アクセスのリクエストの履歴情報
を保持する履歴テーブル6−2と、バスモニタ6−1と
履歴テーブル6−2に接続される第1の比較器6−3
と、履歴テーブル6−2に接続される第2の比較器6−
4と、プライマリPCIバス5とセカンダリPCIバス
8の各バスと第2の比較器6−4に接続され、セカンダ
リPCIバス8に接続される入出力装置9−1、9−
2、9−3、…からのDMAリクエストを保持するDM
Aリクエスト保持部としてのDMAリクエストキュー6
−5とからなる。
【0015】履歴テーブル6−2は、一実施形態とし
て、プライマリPCIバス5におけるDMAアクセスの
転送リクエスト・アドレスを保持するアドレス・フィー
ルドと、当該エントリが有効か無効かを示すバリッドビ
ット・フィールドと、当該エントリをリプレースする際
の優先順位を示す優先度番号フィールドとからなる複数
のエントリを備えるとともに、I/Oキャッシュ3−1
に用いられるLRU方式等のリプレース方式と同一のリ
プレース方式で各エントリを更新する制御部を備える。
なお、図3に履歴テーブル6−2のエントリの構成を示
す。また、バリッドビット・フィールドは、必ずしも必
要としないが、I/Oキャッシュ3−1がエントリフラ
ッシュ機能をもち、それを外部から監視することが可能
である場合、フラッシュされたI/Oキャッシュ3−1
のエントリに対応する履歴テーブル6−2のエントリを
無効として設定する等の使い方ができる。
て、プライマリPCIバス5におけるDMAアクセスの
転送リクエスト・アドレスを保持するアドレス・フィー
ルドと、当該エントリが有効か無効かを示すバリッドビ
ット・フィールドと、当該エントリをリプレースする際
の優先順位を示す優先度番号フィールドとからなる複数
のエントリを備えるとともに、I/Oキャッシュ3−1
に用いられるLRU方式等のリプレース方式と同一のリ
プレース方式で各エントリを更新する制御部を備える。
なお、図3に履歴テーブル6−2のエントリの構成を示
す。また、バリッドビット・フィールドは、必ずしも必
要としないが、I/Oキャッシュ3−1がエントリフラ
ッシュ機能をもち、それを外部から監視することが可能
である場合、フラッシュされたI/Oキャッシュ3−1
のエントリに対応する履歴テーブル6−2のエントリを
無効として設定する等の使い方ができる。
【0016】DMAリクエストキュー6−5は、一実施
形態として、セカンダリPCIバス8に接続された入出
力装置9−1、9−2、9−3、…からの転送リクエス
トのアドレスを保持するアドレス・フィールドと、転送
リクエストのリクエスト・コマンドを保持するコマンド
・フィールドと、転送リクエストがリード・リクエスト
の場合に、第2の比較器6−4で比較した結果を保持す
るヒット・フィールドと、DMAリクエストキュー6−
5に保持された転送リクエストの実行順序を示す順序フ
ィールドとからなる複数のエントリと、順序フィールド
を書き換えることにより、実行順序を入れ替える制御
と、第2の比較器6−4への比較命令の発行を行なう制
御部を備える。なお、図4にDMAリクエストキュー6
−5のエントリの構成を示す。
形態として、セカンダリPCIバス8に接続された入出
力装置9−1、9−2、9−3、…からの転送リクエス
トのアドレスを保持するアドレス・フィールドと、転送
リクエストのリクエスト・コマンドを保持するコマンド
・フィールドと、転送リクエストがリード・リクエスト
の場合に、第2の比較器6−4で比較した結果を保持す
るヒット・フィールドと、DMAリクエストキュー6−
5に保持された転送リクエストの実行順序を示す順序フ
ィールドとからなる複数のエントリと、順序フィールド
を書き換えることにより、実行順序を入れ替える制御
と、第2の比較器6−4への比較命令の発行を行なう制
御部を備える。なお、図4にDMAリクエストキュー6
−5のエントリの構成を示す。
【0017】なお、PCIバス規格に基づくデータ転送
を行なうためのPCIバスコントローラ、データバッフ
ァ等は図示せず、その説明は省略する。
を行なうためのPCIバスコントローラ、データバッフ
ァ等は図示せず、その説明は省略する。
【0018】次に、このように構成された本実施形態の
PCI/PCIブリッジ回路を組込んだ情報処理システ
ムの動作について説明する。
PCI/PCIブリッジ回路を組込んだ情報処理システ
ムの動作について説明する。
【0019】PCIホストブリッジ回路3が入出力装置
7等からのDMAリクエストを受け取った場合、PCI
ホストブリッジ回路3はI/Oキャッシュ3−1にヒッ
トするか否かを判断し、ヒットした場合にはI/Oキャ
ッシュ3−1とプライマリPCIバス5との間で転送を
行なう。また、ヒットしなかった場合には、メインメモ
リ4をリードし、I/Oキャッシュ3−1内にエントリ
を作成するとともに、プライマリPCIバス5との間で
転送を行なう。制御方式によってはメインメモリ4のデ
ータをリードせずにI/Oキャッシュエントリのみを作
成する場合もある。
7等からのDMAリクエストを受け取った場合、PCI
ホストブリッジ回路3はI/Oキャッシュ3−1にヒッ
トするか否かを判断し、ヒットした場合にはI/Oキャ
ッシュ3−1とプライマリPCIバス5との間で転送を
行なう。また、ヒットしなかった場合には、メインメモ
リ4をリードし、I/Oキャッシュ3−1内にエントリ
を作成するとともに、プライマリPCIバス5との間で
転送を行なう。制御方式によってはメインメモリ4のデ
ータをリードせずにI/Oキャッシュエントリのみを作
成する場合もある。
【0020】本実施形態では、I/Oキャッシュ3−1
のリプレース方式は32バイト8エントリ構成のLRU
(Least Recently Used)方式とす
る。なお、本LRU方式はキャッシュエントリなどのリ
プレース方式として知られており、最も長く使用されて
いないエントリがリプレースされる方式である。
のリプレース方式は32バイト8エントリ構成のLRU
(Least Recently Used)方式とす
る。なお、本LRU方式はキャッシュエントリなどのリ
プレース方式として知られており、最も長く使用されて
いないエントリがリプレースされる方式である。
【0021】次に、バスモニタ6−1、第1の比較器6
−3、および履歴テーブル6−2までの動作ついて説明
する。なお、図5にここで説明する一連の動作フローチ
ャートを示す。
−3、および履歴テーブル6−2までの動作ついて説明
する。なお、図5にここで説明する一連の動作フローチ
ャートを示す。
【0022】バスモニタ6−1は、プライマリPCIバ
ス5上のメインメモリ4への転送リクエスト(自PCI
/PCIブリッジ回路6配下の入出力装置9−1、9−
2、9−3、…と、プライマリPCIバス5下の他の入
出力装置7を含めて)を監視し、プライマリPCIバス
5に転送リクエストが発生したか判定する(ステップS
1)。
ス5上のメインメモリ4への転送リクエスト(自PCI
/PCIブリッジ回路6配下の入出力装置9−1、9−
2、9−3、…と、プライマリPCIバス5下の他の入
出力装置7を含めて)を監視し、プライマリPCIバス
5に転送リクエストが発生したか判定する(ステップS
1)。
【0023】ステップS1において、プライマリPCI
バス5に転送リクエストが発生した場合、その転送アド
レスをデコードし、この転送リクエストがPCIホスト
ブリッジ回路3を経由したメインメモリ4へのDMAア
クセスであるか判定する(ステップS2)。そして、こ
の転送リクエストがPCIホストブリッジ回路3を経由
したメインメモリ4へのDMAアクセスの場合、その転
送アドレスを取り込む。そして、第1の比較器6−3に
対して、バスモニタ6−1が取り込んだ転送アドレス
と、この転送アドレスと履歴テーブル6−2が保持して
いる登録アドレスとを比較させるための比較命令を発行
する。
バス5に転送リクエストが発生した場合、その転送アド
レスをデコードし、この転送リクエストがPCIホスト
ブリッジ回路3を経由したメインメモリ4へのDMAア
クセスであるか判定する(ステップS2)。そして、こ
の転送リクエストがPCIホストブリッジ回路3を経由
したメインメモリ4へのDMAアクセスの場合、その転
送アドレスを取り込む。そして、第1の比較器6−3に
対して、バスモニタ6−1が取り込んだ転送アドレス
と、この転送アドレスと履歴テーブル6−2が保持して
いる登録アドレスとを比較させるための比較命令を発行
する。
【0024】第1の比較器6−3は、バスモニタ6−1
からの比較命令により、履歴テーブル6−2に、上記転
送アドレスと同一の登録アドレスが存在するか否かの判
定を行う(ステップS3)。そして、履歴テーブル6−
2に対し、比較結果を発行する。このとき、一致したア
ドレスが存在したならばそのアドレスまたはエントリ
を、一致するアドレスが存在しなければ、上記転送アド
レスを送信する。
からの比較命令により、履歴テーブル6−2に、上記転
送アドレスと同一の登録アドレスが存在するか否かの判
定を行う(ステップS3)。そして、履歴テーブル6−
2に対し、比較結果を発行する。このとき、一致したア
ドレスが存在したならばそのアドレスまたはエントリ
を、一致するアドレスが存在しなければ、上記転送アド
レスを送信する。
【0025】履歴テーブル6−2は、上記転送アドレス
と履歴テーブル6−2の登録アドレスが一致した場合、
すなわち履歴テーブル6−2にヒットした場合、既に履
歴テーブル6−2に同一アドレスをもつエントリが存在
するのであるから、履歴テーブル6−2のアドレスは変
更せず、ヒットしたエントリの優先度のみを最優先の状
態に変更する(ステップS4)。
と履歴テーブル6−2の登録アドレスが一致した場合、
すなわち履歴テーブル6−2にヒットした場合、既に履
歴テーブル6−2に同一アドレスをもつエントリが存在
するのであるから、履歴テーブル6−2のアドレスは変
更せず、ヒットしたエントリの優先度のみを最優先の状
態に変更する(ステップS4)。
【0026】上記転送アドレスと履歴テーブル6−2の
登録アドレスが一致しない場合は、LRU方式で、履歴
テーブル6−2のエントリを更新する(ステップS
5)。なお、本実施形態では、履歴テーブル6−2をI
/Oキャッシュ3−1に合わせて、リプレース方式は3
2バイト8エントリ構成のLRU方式とする。
登録アドレスが一致しない場合は、LRU方式で、履歴
テーブル6−2のエントリを更新する(ステップS
5)。なお、本実施形態では、履歴テーブル6−2をI
/Oキャッシュ3−1に合わせて、リプレース方式は3
2バイト8エントリ構成のLRU方式とする。
【0027】次に、セカンダリPCIバス8からのDM
Aリクエストが発生した場合の、DMAリクエストキュ
ー6−5、第2の比較器6−4、および履歴テーブル6
−2の動作について説明する。
Aリクエストが発生した場合の、DMAリクエストキュ
ー6−5、第2の比較器6−4、および履歴テーブル6
−2の動作について説明する。
【0028】セカンダリPCIバス8からのDMAリク
エストが発生した場合、PCIバスコントローラは、一
旦DMAリクエストキュー6−5にリクエストの情報を
格納し、プライマリPCIバス5の使用権を要求する。
プライマリPCIバス5の使用権を獲得した後、順次プ
ライマリPCIバス5に発行する。
エストが発生した場合、PCIバスコントローラは、一
旦DMAリクエストキュー6−5にリクエストの情報を
格納し、プライマリPCIバス5の使用権を要求する。
プライマリPCIバス5の使用権を獲得した後、順次プ
ライマリPCIバス5に発行する。
【0029】さらにDMAリクエストキュー6−5内
で、PCIバス規格に基づくオーダリングルールの範囲
内で、順序を入れ替えることが可能な未処理のリードリ
クエストが複数待たされている状態が生じた場合の動作
を説明する。
で、PCIバス規格に基づくオーダリングルールの範囲
内で、順序を入れ替えることが可能な未処理のリードリ
クエストが複数待たされている状態が生じた場合の動作
を説明する。
【0030】なお、上記PCIバス規格に基づくオーダ
リングルールは、データの整合性を保つためのルールで
あり、メモリへのアクセスの場合、リードリクエストが
先に発行されたライトリクエストを追い越すことが禁じ
られ、また、ライトリクエストが先に発行されたライト
リクエストを追い越すことも禁じられている。
リングルールは、データの整合性を保つためのルールで
あり、メモリへのアクセスの場合、リードリクエストが
先に発行されたライトリクエストを追い越すことが禁じ
られ、また、ライトリクエストが先に発行されたライト
リクエストを追い越すことも禁じられている。
【0031】一例として、リードリクエストA・ライト
リクエストB・リードリクエストCという順序でDMA
リクエストキュー6−5に格納されたとする。リードリ
クエストCが格納された時点で、DMAリクエストキュ
ー6−5は、第2の比較器6−4に対し、DMAリクエ
ストキュー6−5に保持されているリードリクエストA
・ライトリクエストB・リードリクエストCの転送アド
レスと比較命令を発行する。
リクエストB・リードリクエストCという順序でDMA
リクエストキュー6−5に格納されたとする。リードリ
クエストCが格納された時点で、DMAリクエストキュ
ー6−5は、第2の比較器6−4に対し、DMAリクエ
ストキュー6−5に保持されているリードリクエストA
・ライトリクエストB・リードリクエストCの転送アド
レスと比較命令を発行する。
【0032】第2の比較器6−4は、DMAリクエスト
キュー6−5からの比較命令を受け、各リクエストA、
B、Cの転送アドレスと履歴テーブル6−2の登録アド
レスとを比較し、ヒットチェックを行なう。そして、各
リクエストA、B、Cの転送アドレスと履歴テーブル6
−2の登録アドレスとで一致したアドレスが存在した場
合、どの転送アドレスがヒットしたかをDMAリクエス
トキュー6−5に応答する。
キュー6−5からの比較命令を受け、各リクエストA、
B、Cの転送アドレスと履歴テーブル6−2の登録アド
レスとを比較し、ヒットチェックを行なう。そして、各
リクエストA、B、Cの転送アドレスと履歴テーブル6
−2の登録アドレスとで一致したアドレスが存在した場
合、どの転送アドレスがヒットしたかをDMAリクエス
トキュー6−5に応答する。
【0033】DMAリクエストキュー6−5は、第2の
比較器6−4からの応答により、保持しているDMAリ
クエストの順序入れ替えを行なう。
比較器6−4からの応答により、保持しているDMAリ
クエストの順序入れ替えを行なう。
【0034】ここで、例えば、リードリクエストAはヒ
ットせず、リードリクエストCはヒットしたとする。こ
の場合、ライトリクエストB、リードリクエストC、リ
ードリクエストAの順にDMAリクエストキュー6−5
内のリクエストの順序を変更し、この順序でリクエスト
をプライマリPCIバス5に発行する。なお、リクエス
トの順序は、PCIバス規格のオーダリングルールに従
うため、リードリクエストCがライトリクエストBを追
い越すことは出来ない。従って、リードリクエストCを
最初にPCIバス5に対して発行することは不可能であ
り、上記オーダにのみ順序変更が可能となる。
ットせず、リードリクエストCはヒットしたとする。こ
の場合、ライトリクエストB、リードリクエストC、リ
ードリクエストAの順にDMAリクエストキュー6−5
内のリクエストの順序を変更し、この順序でリクエスト
をプライマリPCIバス5に発行する。なお、リクエス
トの順序は、PCIバス規格のオーダリングルールに従
うため、リードリクエストCがライトリクエストBを追
い越すことは出来ない。従って、リードリクエストCを
最初にPCIバス5に対して発行することは不可能であ
り、上記オーダにのみ順序変更が可能となる。
【0035】なお、I/Oキャッシュ3−1の方式は、
32バイト8エントリ構成のLRU方式だけではない。
例えば、1エントリ内のバイト数やエントリ数はどのよ
うな数であっても、履歴テーブル6−2のエントリ数と
比較器6−3,比較器6−4の比較ビット数をI/Oキ
ャッシュ3−1に合わせることによって対応できる。
32バイト8エントリ構成のLRU方式だけではない。
例えば、1エントリ内のバイト数やエントリ数はどのよ
うな数であっても、履歴テーブル6−2のエントリ数と
比較器6−3,比較器6−4の比較ビット数をI/Oキ
ャッシュ3−1に合わせることによって対応できる。
【0036】また、リプレース方式についても同様に、
どのような方法であっても履歴テーブル6−2のリプレ
ース方式をI/Oキャッシュ3−1と同じ方式にするこ
とによって対応できる。
どのような方法であっても履歴テーブル6−2のリプレ
ース方式をI/Oキャッシュ3−1と同じ方式にするこ
とによって対応できる。
【0037】なお、I/Oキャッシュ3−1の構成や方
式が不明の場合、または、プライマリPCIバス5を監
視するだけではI/Oキャッシュ3−1のリプレースを
監視しきれない場合がある。後者の例は、PCIホスト
ブリッジ回路3の上位のCPU・1などからのアクセス
によりI/Oキャッシュ3−1がプライマリPCIバス
5に関係なくリプレースされる場合である。これらのよ
うな場合、履歴テーブル6−2をI/Oキャッシュ3−
1に完全に追随させることは不可能であるが、どのよう
な方式であっても性能を追求した場合に基本的にはLR
U方式が取られており、また、プライマリPCIバス5
以外からI/Oキャッシュ3−1の各エントリの状態に
影響を与えることはまれであるので、本実施形態の方式
で履歴テーブル6−2を更新すればある程度正確な履歴
テーブル6−2が作成でき、効果を望むことができる。
式が不明の場合、または、プライマリPCIバス5を監
視するだけではI/Oキャッシュ3−1のリプレースを
監視しきれない場合がある。後者の例は、PCIホスト
ブリッジ回路3の上位のCPU・1などからのアクセス
によりI/Oキャッシュ3−1がプライマリPCIバス
5に関係なくリプレースされる場合である。これらのよ
うな場合、履歴テーブル6−2をI/Oキャッシュ3−
1に完全に追随させることは不可能であるが、どのよう
な方式であっても性能を追求した場合に基本的にはLR
U方式が取られており、また、プライマリPCIバス5
以外からI/Oキャッシュ3−1の各エントリの状態に
影響を与えることはまれであるので、本実施形態の方式
で履歴テーブル6−2を更新すればある程度正確な履歴
テーブル6−2が作成でき、効果を望むことができる。
【0038】このように、常にPCIホストブリッジ回
路3のI/Oキャッシュ3−1の状態を監視しておくた
め、I/Oキャッシュ3−1にヒットするリクエストを
優先して発行することができる。これにより、先行する
リクエストによるI/Oキャッシュ3−1のエントリリ
プレースによって、ヒットするはずだった後続のリクエ
ストがヒットしなくなるといった無駄なリプレースを防
ぐことができる。したがって、エントリ数が小さい場合
でも、I/Oキャッシュ3−1の効果が上がる。
路3のI/Oキャッシュ3−1の状態を監視しておくた
め、I/Oキャッシュ3−1にヒットするリクエストを
優先して発行することができる。これにより、先行する
リクエストによるI/Oキャッシュ3−1のエントリリ
プレースによって、ヒットするはずだった後続のリクエ
ストがヒットしなくなるといった無駄なリプレースを防
ぐことができる。したがって、エントリ数が小さい場合
でも、I/Oキャッシュ3−1の効果が上がる。
【0039】また、I/Oキャッシュ3−1のエントリ
が十分にあり、エントリの取り合いが発生しない場合で
も、I/Oキャッシュ3−1のエントリリプレースが発
生するリクエストを後に回すことにより、I/Oキャッ
シュ3−1のエントリリプレースによるレイテンシ増加
による、後に続くリクエストのレイテンシ増加の削減を
期待できる。
が十分にあり、エントリの取り合いが発生しない場合で
も、I/Oキャッシュ3−1のエントリリプレースが発
生するリクエストを後に回すことにより、I/Oキャッ
シュ3−1のエントリリプレースによるレイテンシ増加
による、後に続くリクエストのレイテンシ増加の削減を
期待できる。
【0040】
【発明の効果】発明の実施の形態で説明したように、本
発明のPCI/PCIブリッジ回路では、PCIホスト
ブリッジに備わるI/Oキャッシュの状態を履歴テーブ
ルに再現させ、この履歴テーブルを利用してDMAリク
エストキューに蓄えられたDMAリクエストの発行順序
を変更するようにしたので、本発明のPCI/PCIブ
リッジ回路を経由したDMAリクエストは、PCIホス
トブリッジ回路内のI/Oキャッシュにヒットする確率
が高くなるとともに、ミスヒットによるリプレースが発
生しにくくなるため、プライマリPCIバスおよびセカ
ンダリPCIバスのスループットを高めることができ
る。
発明のPCI/PCIブリッジ回路では、PCIホスト
ブリッジに備わるI/Oキャッシュの状態を履歴テーブ
ルに再現させ、この履歴テーブルを利用してDMAリク
エストキューに蓄えられたDMAリクエストの発行順序
を変更するようにしたので、本発明のPCI/PCIブ
リッジ回路を経由したDMAリクエストは、PCIホス
トブリッジ回路内のI/Oキャッシュにヒットする確率
が高くなるとともに、ミスヒットによるリプレースが発
生しにくくなるため、プライマリPCIバスおよびセカ
ンダリPCIバスのスループットを高めることができ
る。
【図1】 本発明の一実施形態であるPCI/PCIブ
リッジ回路を含む情報処理装置の構成を示すブロック図
である。
リッジ回路を含む情報処理装置の構成を示すブロック図
である。
【図2】 本発明の一実施形態であるPCI/PCIブ
リッジ回路の内部構成及びPCIホストブリッジ回路の
一部を示すブロック図である。
リッジ回路の内部構成及びPCIホストブリッジ回路の
一部を示すブロック図である。
【図3】 一実施形態である履歴テーブルのエントリの
構成を示す図である。
構成を示す図である。
【図4】 一実施形態であるDMAリクエストキューの
エントリの構成を示す図である。
エントリの構成を示す図である。
【図5】 本実施形態の履歴テーブルの作成と更新動作
を示すフローチャートである。
を示すフローチャートである。
1 CPU 2 CPUバス 3 PCIホストブリッジ回路 3−1 I/Oキャッシュ 4 メインメモリ 5 プライマリPCIバス 6 PCI/PCIブリッジ回路 6−1バスモニタ 6−2履歴テーブル 6−3 第1の比較器 6−4 第2の比較器 6−5 DMAリクエストキュー 7 入出力装置 8 セカンダリPCIバス 9−1、9−2、9−3 入出力装置
Claims (6)
- 【請求項1】 情報処理装置に用いられる、プライマリ
PCI(Peripheral Component I
nterconnect)バスとセカンダリPCIバス
を相互接続するPCI/PCIブリッジ回路であって、 前記プライマリPCIバスの状態を監視するバス監視部
と、 前記プライマリPCIバスにおけるDMA(Direc
t Memory Access)アクセスのリクエスト
の履歴情報を保持する履歴テーブルと、 前記セカンダリPCIバスに接続される入出力装置から
のDMAリクエストを保持するDMAリクエスト保持部
と、 前記バス監視部と前記履歴テーブルの間に接続される第
1の比較器と、 前記DMAリクエスト保持部と前記履歴テーブルの間に
接続される第2の比較器とを備え、 前記バス監視部は、前記プライマリPCIバスにおける
転送リクエストを監視し、該転送リクエストが前記情報
処理装置のメインメモリへのDMAアクセスである場
合、該DMAアクセスのアドレスと比較命令を前記第1
の比較器に発行し、 前記第1の比較器は、前記比較命令により、前記DMA
アクセスのアドレスと前記履歴テーブルの各エントリの
登録アドレスを比較し、比較結果を前記履歴テーブルに
発行し、 前記履歴テーブルは、前記比較結果により、各エントリ
の内容を更新するとともに、 前記DMAリクエスト保持部は、該DMAリクエスト保
持部内で複数の転送リクエストが待ち状態となった場
合、前記第2の比較器に前記転送リクエストのアドレス
と比較命令を発行し、 前記第2の比較器は、前記DMAリクエスト保持部から
の比較命令により、前記転送リクエストのアドレスと前
記履歴テーブルの登録アドレスを比較し、該履歴テーブ
ルに同一のアドレスが存在する場合、前記DMAリクエ
スト保持部に比較結果を応答し、 前記DMAリクエスト保持部は、前記第2の比較器から
の応答により、前記アドレスに対応するリクエストを優
先するように各エントリの順序を入れ替え、前記プライ
マリPCIバスへリクエストを発行することを特徴とす
るPCI/PCIブリッジ回路。 - 【請求項2】 前記履歴テーブルは、該履歴テーブルの
エントリのリプレース方式として、CPUバスと前記プ
ライマリPCIバスを相互接続するPCIホストブリッ
ジ回路に備わるI/Oキャッシュのリプレース方式と同
一のリプレース方式を用いて各エントリの内容を更新す
ることを特徴とする請求項1記載のPCI/PCIブリ
ッジ回路。 - 【請求項3】 前記履歴テーブルは、該履歴テーブルの
エントリのリプレース方式として、LRU(Least
Recently Used)方式を用いて各エント
リの内容を更新することを特徴とする請求項1記載のP
CI/PCIブリッジ回路。 - 【請求項4】 前記履歴テーブルは、 前記プライマリPCIバスにおけるDMAアクセスの転
送リクエスト・アドレスを保持するアドレス・フィール
ドと、 当該エントリをリプレースする際の優先順位を示す優先
度番号フィールドとからなる複数のエントリを備えると
ともに、 前記複数のエントリを更新処理する制御部を備えること
を特徴とする請求項1ないし請求項3のいずれかに記載
のPCI/PCIブリッジ回路。 - 【請求項5】 前記履歴テーブルの各エントリは、さら
に、 当該エントリが有効か無効かを示すバリッドビット・フ
ィールドを備えることを特徴とする請求項4記載のPC
I/PCIブリッジ回路。 - 【請求項6】 前記DMAリクエスト保持部は、 前記セカンダリPCIバスにおける、該セカンダリPC
Iバスに接続された入出力装置からの転送リクエストの
アドレスを保持するアドレス・フィールドと、 前記転送リクエストのリクエスト・コマンドを保持する
コマンド・フィールドと、 前記転送リクエストがリード・リクエストの場合に、前
記第2の比較器で比較した結果を保持するヒット・フィ
ールドと、 前記DMAリクエスト保持部に保持された転送リクエス
トの実行順序を示す順序フィールドとからなる複数のエ
ントリと、 前記順序フィールドを書き換えることにより実行順序を
入れ替える制御と、前記第2の比較器への比較命令の発
行を行なう制御部とを備えることを特徴とする請求項1
ないし請求項5のいずれかに記載のPCI/PCIブリ
ッジ回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10168889A JP2938040B1 (ja) | 1998-06-16 | 1998-06-16 | Pci/pciブリッジ回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10168889A JP2938040B1 (ja) | 1998-06-16 | 1998-06-16 | Pci/pciブリッジ回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2938040B1 true JP2938040B1 (ja) | 1999-08-23 |
JP2000003331A JP2000003331A (ja) | 2000-01-07 |
Family
ID=15876456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10168889A Expired - Fee Related JP2938040B1 (ja) | 1998-06-16 | 1998-06-16 | Pci/pciブリッジ回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2938040B1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001142844A (ja) | 1999-11-11 | 2001-05-25 | Nec Kofu Ltd | ライブロック防止方式 |
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 |
JP4724494B2 (ja) * | 2005-08-26 | 2011-07-13 | キヤノン株式会社 | Pciブリッジ及pciブリッジを搭載するシステム |
JP4369467B2 (ja) | 2006-12-12 | 2009-11-18 | 富士通株式会社 | データ中継装置、ストレージ装置、およびデータ中継方法 |
JP4408126B2 (ja) | 2006-12-13 | 2010-02-03 | 富士通株式会社 | 監視装置、半導体集積回路、および監視方法 |
-
1998
- 1998-06-16 JP JP10168889A patent/JP2938040B1/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000003331A (ja) | 2000-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111221476B (zh) | 提升ssd性能的前端命令处理方法、装置、计算机设备及存储介质 | |
US5893153A (en) | Method and apparatus for preventing a race condition and maintaining cache coherency in a processor with integrated cache memory and input/output control | |
US7308539B2 (en) | Concurrent read access and exclusive write access to data in shared memory architecture | |
US6961820B2 (en) | System and method for identifying and accessing streaming data in a locked portion of a cache | |
JP3802061B2 (ja) | アドレス変換速度アップのための並列アクセスマイクロ−tlb | |
US7496699B2 (en) | DMA descriptor queue read and cache write pointer arrangement | |
US8521962B2 (en) | Managing counter saturation in a filter | |
US5398325A (en) | Methods and apparatus for improving cache consistency using a single copy of a cache tag memory in multiple processor computer systems | |
JP3857661B2 (ja) | 情報処理装置、プログラム、及び記録媒体 | |
JP2008009982A (ja) | メモリ・アドレスの変換およびピン止めのための方法およびシステム | |
KR19980079433A (ko) | 비포함 캐쉬 메모리 계층 구조에서 사용하기 위한 캐쉬 일관성 메카니즘 구현 방법 및 시스템 | |
US7200719B2 (en) | Prefetch control in a data processing system | |
CN115292214A (zh) | 页表预测方法、存储访问操作方法、电子装置和电子设备 | |
US20070174508A1 (en) | Non-fenced list dma command mechanism | |
US20030061452A1 (en) | Processor and method of arithmetic processing thereof | |
US7051181B2 (en) | Caching for context switching applications | |
KR20090102603A (ko) | 캐쉬 제어 장치, 정보 처리 장치 | |
US6952761B2 (en) | Bus interface selection by page table attributes | |
JP2938040B1 (ja) | Pci/pciブリッジ回路 | |
JPWO2005066796A1 (ja) | キャッシュメモリ及びその制御方法 | |
US10061698B2 (en) | Reducing or avoiding buffering of evicted cache data from an uncompressed cache memory in a compression memory system when stalled write operations occur | |
US6678800B1 (en) | Cache apparatus and control method having writable modified state | |
US20210397560A1 (en) | Cache stashing system | |
US7805572B2 (en) | Cache pollution avoidance | |
JP2003348184A (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: 19990511 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |