米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 日本電気株式会社

発明の名称 情報処理装置
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開平9−16541
公開日 平成9年(1997)1月17日
出願番号 特願平7−188303
出願日 平成7年(1995)6月30日
代理人 【弁理士】
【氏名又は名称】加藤 朝道
発明者 小口 和人
要約 目的
二重化バスで構成されたDMA転送と割り込みの同期をハードウエアで行ないソフトウェアの同期処理を不要とする情報処理装置の提供。

構成
演算処理部、記憶部、第1、第2の入出力制御部、デバイス制御部、入出力デバイスからなる情報処理装置において、第1の入出力制御部が、DMAライトを保有したことを認識し、保有中であることを第2の入出力制御部に通知するライト実行検出部を備え、第2の入出力制御部が、DMAライト中認識部からDMAライト中になったことを通知され、その後に割り込みをデバイス制御部より受信した場合、DMAライト中は第2のシステムバスの獲得要求を抑止して割り込みを保留し、DMAライト中でなくなった場合に第2のシステムバスの獲得要求を行い、システムバス2を獲得した際に割り込みを発行する割り込み抑止部を有する。
特許請求の範囲
【請求項1】演算処理手段と、記憶手段と、第1及び第2の入出力制御手段と、デバイス制御手段と、を含み、二重化されたバス構成を有する情報処理装置において、前記第1の入出力制御手段が、前記デバイス制御手段から入力されたトランザクションをデコードして前記デバイス制御手段から前記記憶手段へのDMAデータ転送(「DMAライト」という)であることを検出した際に、前記第2の入出力制御手段に前記DMAライトのトランザクションを保持中である旨を通知するためのライト実行信号をアクティブ状態とするように制御する回路手段を備え、前記第2の入出力制御手段が、前記第1の入出力制御手段から出力される前記ライト実行信号を入力し、前記デバイス制御手段から入力されたトランザクションをデコードして割り込み要求であることを検出した際に、前記ライト実行信号がアクティブ状態にある間前記割り込み要求を保留し、前記ライト実行信号がインアクティブ状態になった時点で前記保留された割り込み要求を発行するように制御する回路手段を備えたことを特徴とする情報処理装置。
【請求項2】前記第1及び第2の入出力制御手段が、データを保持し前記記憶手段とのデータの一致性(「コヒーレンシ」という)を保つための入出力キャッシュ手段を備え、前記第1の入出力制御手段が、前記トランザクションをデコードした結果前記DMAライトである場合に前記ライト実行線をアクティブ状態にセットすると共に、前記トランザクションが前記入出力キャッシュ手段に対してヒットした場合には、前記トランザクションを前記入出力キャッシュ手段に格納した後に前記ライト実行線をインアクティブ状態とすることを特徴とする請求項1記載の情報処理装置。
【請求項3】前記トランザクションが前記入出力キャッシュ手段に対してミスした場合には、キャッシュを無効化する排他型のコヒーレントリード要求が第1のシステムバス上に発行され、該排他型のコヒーレントリード要求に対する応答データを前記第1のシステムバスから前記入出力キャッシュに書き込むと共に、保持中の前記トランザクションを前記入出力キャッシュに書き込み、前記ライト実行線をインアクティブ状態とすることを特徴とする請求項2記載の情報処理装置。
【請求項4】第1、第2のシステムバスと、前記第1、第2のシステムバスにそれぞれ接続される第1、第2の入出力制御手段と、第1、第2の入出力バスと、前記第1、第2の入出力バスを介して前記第1、第2の入出力手段にそれぞれ接続されるデバイス制御手段と、記憶手段と、演算処理手段と、を含む情報処理装置において、前記第1の入出力制御手段が、DMAライトを保有したことを認識した場合に、該DMAライトを保有中である旨の情報を前記第2の入出力制御手段に通知し、保有中の該DMAライトを前記第1のシステムバスに出力するように制御するDMAライト実行検出手段を備え、前記第2の入出力制御手段が、前記第1の入出力制御手段の前記DMAライト実行検出手段からの通知情報に基づき、前記デバイス制御手段から割り込みを受信した場合に、DMAライトの実行中は前記第2のシステムバスの獲得要求を抑止して前記割り込みを保留し、DMAライト実行中でなくなった場合に前記第2のシステムバスの獲得要求を行い、前記第2のシステムバスを獲得した際に保留されていた前記割り込みを発行する割り込み抑止手段を、備えたことを特徴とする情報処理装置。
【請求項5】前記第1及び第2の入出力制御手段が、データを保持し記憶手段とのデータの一致性(「コヒーレンシ」という)を保つための入出力キャッシュ手段を備え、前記第1及び第2のシステムバスがコヒーレンシ機能を有し、前記第1の入出力制御手段が、DMAライトを保有したことを認識し、DMAライトを保有中である旨の情報を前記第2の入出力制御手段に通知し、保有中のDMAライトのアドレスが前記入出力キャッシュ手段で保持しているアドレスと一致した場合に、データを前記入出力キャッシュ手段にライトしてDMAライトを保有しなくなったことを認識し、保有中のDMAライトアドレスが前記入出力キャッシュ手段で保持しているアドレスと不一致の場合、前記第1のシステムバスの獲得要求を行い、前記第1のシステムバスを獲得した後に、コヒーレンシ機能を持ち、同一アドレスのデータブロックを持っていた場合、キャッシュを無効化するリード(「排他型コヒーレントリード」という)を前記第1のシステムバスに出力し、該リードの応答データを受け取った後、該データを前記入出力キャッシュに書き込み、保留中のDMAライト処理が終了したことを認識して前記第2の入出力制御手段に通知する手段、を備えたことを特徴とする請求項3記載の情報処理装置。
【請求項6】前記第1の入出力制御手段が、第1のI/Oバスを介して前記デバイス制御手段から送出されたトランザクションを入力する入力バッファレジスタと、該入力バッファレジスタに格納されたトランザクションをデコードするデコーダと、該トランザクションの有効/無効を示す第1のフラグと、DMAリード/ライトを示す第2のフラグと、割り込み要求の有無を示す第3のフラグと、前記トランザクションを保持するフィールドと、を少なくとも含むレジスタと、第1のシステムバスに該トランザクションを出力するための出力バッファレジスタを備え、前記第1のフラグは、前記デバイス制御手段からのトランザクション送信合図信号がアクティブ状態とされ、該トランザクションが有効である時にオン状態とされ、前記第1のフラグがオン状態を示し、前記第2のフラグがDMAライトを示す時に前記ライト実行信号をアクティブとすることを特徴とする請求項1記載の情報処理装置。
【請求項7】前記第2の入出力制御手段が、第2のI/Oバスを介して前記デバイス制御手段から送出されたトランザクションを入力する入力バッファレジスタと、該入力バッファレジスタに格納されたトランザクションをデコードするデコーダと、該トランザクションの有効/無効を示す第1のフラグと、DMAリード/ライトを示す第2のフラグと、割り込み要求の有無を示す第3のフラグと、前記トランザクションを保持するフィールドと、を少なくとも含むレジスタと、第2のシステムバスに該トランザクションを出力する出力バッファレジスタを備え、前記第1のフラグは、前記デバイス制御手段からのトランザクション送信合図信号がアクティブ状態とされ、該トランザクションが有効である時にオン状態とされ、前記第1のフラグがオン状態を示す場合において、前記第3のフラグが前記デバイス制御手段からの割り込み要求を示すと共に前記ライト信号線がアクティブ状態の時に、前記デバイス制御手段からの前記割り込み要求を前記演算処理装置に伝達しないように制御することを特徴とする請求項1記載の情報処理装置。
発明の詳細な説明
【0001】
【産業上の利用分野】本発明は情報処理装置に関し、特に情報処理装置のデータ転送/割り込み同期方式に関する。より詳細には、本発明は、二重化バスで構成され、入出力制御部から記憶部へデータ転送を行い、データ転送の終了を割り込みによってソフトウェアに通知する方式の従来の情報処理装置において、性能向上の必要性から採用された二重化バスの構造のためにデータブロックを割り込みが追い越す可能性をハードウェアで制御するようにした情報処理装置に関する。
【0002】
【従来の技術】従来、演算処理部、記憶部、入出力制御部、それらを接続する一本のバスからなる情報処理装置においては、入出力制御部から記憶部へデータ転送(例えばデバイスから記憶部へのDMA(Direct Memory Access)転送)を行い、データ転送の終了を入出力制御部から演算処理部への割り込みによってソフトウェア(割り込みハンドラ)に通知する場合、転送されるデータブロックを割り込みが追い越すという問題はおこらない。
【0003】また、演算処理部、記憶部、入出力制御部、それらを接続する二重化バスで構成され、入出力制御部から記憶部へデータ転送を行い、データ転送の終了を入出力制御部から演算処理部への割り込みによって演算処理部のソフトウェア(割り込みハンドラ)に通知する情報処理装置では、この追い越し制御をソフトウェアで行っていた。
【0004】なお、二重化バスは、例えば本発明の一実施例を説明するための図1に示すように、入出力制御部とデバイス制御部とを接続する入出力バス(I/Oバス等)と、入出力制御部、記憶部、演算処理部等が接続されるシステムバス(SYSBUS等)を二重化して実質的にバスのビット(バイト)幅を増大し、バス転送のバンド幅を拡大し高速転送の実現等性能向上を図るものである。
【0005】そして、二重化バスにおける割り込みの追い越し制御をソフトウェアで実現する方法の一例として、演算処理部がデバイス制御部へのI/Oリード要求(デバイス制御部から記憶部へのDMA転送)を発行し、データ転送終了の割り込みハンドラが起動された際に該デバイス制御部に対して引き続きダミーなアクセス(データの読み出し転送を行なわないダミーなI/Oリード等)を行ない、このダミーなI/Oリードに対するデバイス制御部からの応答(レスポンス)を演算処理部が入手した後に、前記したI/Oリード要求によって記憶部に転送されたデータの処理を行なうようにする方法がある。
【0006】この制御方法によれば、デバイス制御部から読み出され、一の入出力制御部でシステムバスへの出力が待ち状態とされていたデータブロックも、ダミーなI/Oリードのデバイス制御部からの応答に対して時系列的に先行しているため、デバイス制御部からのダミーなI/Oリードに対する応答が演算処理部に到達した時点では、該データブロックは既に記憶部に転送済みであり、割り込みの追い越しによる「データ化け」(旧データを新データとして扱う事)が回避される。
【0007】
【発明が解決しようとする課題】上述した情報処理装置で、ソフトウェアが追い越し制御を行わない場合、入出力制御部から記憶部へ二重化バスを用いて交互に所定のバイト長からなるブロック単位のデータ転送を行い、データ転送終了時に入出力制御部から演算処理部へ割り込みを行うが、二重化バスであるため、最後のデータブロックと割り込みがそれぞれ別の入出力制御部に上がり、最後のデータブロックが一側の入出力制御部においてバスビジーのため一側のバスへ発行されるのを待っている間、後続の割り込みが待ち状態のデータブロックを追い越して、他側のバスから演算処理部のソフトウェア(割り込みハンドラ)に通知されるという事態が生じる。
【0008】割り込みの追い越しが発生し、割り込みを通知されたソフトウェアは、記憶部にデータブロックが書き込まれる前の古いデータブロックを用いてしまうことになり、「データ化け」が生じてしまう。
【0009】一方、ソフトウェアがこの追い越しを制御する場合には、貴重な演算処理部の能力を浪費することになり、結果的に二重化バスによるシステムの性能向上を阻害することにもなる。
【0010】従って、本発明の目的は、上記問題点を解消し、古いデータブロックの誤用によるデータ化けを確実に回避し性能改善を達成する情報処理装置を提供することにある。
【0011】
【課題を解決するための手段】前記目的を達成するため、本発明は、演算処理手段と、記憶手段と、第1及び第2の入出力制御手段と、デバイス制御手段と、を含み、二重化されたバス構成を有する情報処理装置において、前記第1の入出力制御手段が、前記デバイス制御手段から入力されたトランザクションをデコードして前記デバイス制御手段から前記記憶手段へのDMAデータ転送(「DMAライト」という)であることを検出した際に、前記第2の入出力制御手段に前記DMAライトのトランザクションを保持中である旨を通知するためのライト実行信号をアクティブ状態とするように制御する回路手段を備え、前記第2の入出力制御手段が、前記第1の入出力制御手段から出力される前記ライト実行信号を入力し、前記デバイス制御手段から入力されたトランザクションをデコードして割り込み要求であることを検出した際に、前記ライト実行信号がアクティブ状態にある間前記割り込み要求を保留し、前記ライト実行信号がインアクティブ状態になった時点で前記保留された割り込み要求を発行するように制御する回路手段を備えたことを特徴とする情報処理装置を提供する。
【0012】本発明は、好ましくは、前記第1及び第2の入出力制御手段が、データを保持し前記記憶手段とのデータの一致性(「コヒーレンシ」という)を保つための入出力キャッシュ手段を備え、前記第1の入出力制御手段が、前記トランザクションをデコードした結果前記DMAライトである場合に前記ライト実行線をアクティブ状態にセットすると共に、前記トランザクションが前記入出力キャッシュ手段に対してヒットした場合には、前記トランザクションを前記入出力キャッシュ手段に格納した後に前記ライト実行線をインアクティブ状態とすることを特徴とする。
【0013】また、本発明は、好ましくは、前記トランザクションが前記入出力キャッシュ手段に対してミスした場合には、キャッシュを無効化する排他型のコヒーレントリード要求が第1のシステムバス上に発行され、該排他型のコヒーレントリード要求に対する応答データを前記第1のシステムバスから前記入出力キャッシュに書き込むと共に、保持中の前記トランザクションを前記入出力キャッシュに書き込み、前記ライト実行線をインアクティブ状態とすることを特徴とする。
【0014】本発明は、第1、第2のシステムバスと、前記第1、第2のシステムバスにそれぞれ接続される第1、第2の入出力制御手段と、第1、第2の入出力バスと、前記第1、第2の入出力バスを介して前記第1、第2の入出力手段にそれぞれ接続されるデバイス制御手段と、記憶手段と、演算処理手段と、を含む情報処理装置において、前記第1の入出力制御手段が、DMAライトを保有したことを認識した場合に、該DMAライトを保有中である旨の情報を前記第2の入出力制御手段に通知し、保有中の該DMAライトを前記第1のシステムバスに出力するように制御するDMAライト実行検出手段を備え、前記第2の入出力制御手段が、前記第1の入出力制御手段の前記DMAライト実行検出手段からの通知情報に基づき、前記デバイス制御手段から割り込みを受信した場合に、DMAライトの実行中は前記第2のシステムバスの獲得要求を抑止して前記割り込みを保留し、DMAライト実行中でなくなった場合に前記第2のシステムバスの獲得要求を行い、前記第2のシステムバスを獲得した際に保留されていた前記割り込みを発行する割り込み抑止手段を、備えたことを特徴とする情報処理装置を提供する。
【0015】本発明は、好ましくは、前記第1及び第2の入出力制御手段が、データを保持し記憶手段とのデータの一致性(「コヒーレンシ」という)を保つための入出力キャッシュ手段を備え、前記第1及び第2のシステムバスがコヒーレンシ機能を有し、前記第1の入出力制御手段が、DMAライトを保有したことを認識し、DMAライトを保有中である旨の情報を前記第2の入出力制御手段に通知し、保有中のDMAライトのアドレスが前記入出力キャッシュ手段で保持しているアドレスと一致した場合に、データを前記入出力キャッシュ手段にライトしてDMAライトを保有しなくなったことを認識し、保有中のDMAライトアドレスが前記入出力キャッシュ手段で保持しているアドレスと不一致の場合、前記第1のシステムバスの獲得要求を行い、前記第1のシステムバスを獲得した後に、コヒーレンシ機能を持ち、同一アドレスのデータブロックを持っていた場合、キャッシュを無効化するリード(「排他型コヒーレントリード」という)を前記第1のシステムバスに出力し、該リードの応答データを受け取った後、該データを前記入出力キャッシュに書き込み、保留中のDMAライト処理が終了したことを認識して前記第2の入出力制御手段に通知する手段、を備えたことを特徴とする。
【0016】また、本発明は、好ましくは、前記第1の入出力制御手段が、第1のI/Oバスを介して前記デバイス制御手段から送出されたトランザクションを入力する入力バッファレジスタと、該入力バッファレジスタに格納されたトランザクションをデコードするデコーダと、該トランザクションの有効/無効を示す第1のフラグと、DMAリード/ライトを示す第2のフラグと、割り込み要求の有無を示す第3のフラグと、前記トランザクションを保持するフィールドと、を少なくとも含むレジスタと、第1のシステムバスに該トランザクションを出力するための出力バッファレジスタを備え、前記第1のフラグは、前記デバイス制御手段からのトランザクション送信合図信号がアクティブ状態とされ、該トランザクションが有効である時にオン状態とされ、前記第1のフラグがオン状態を示し、前記第2のフラグがDMAライトを示す時に前記ライト実行信号をアクティブとすることを特徴とする。
【0017】さらに、本発明は、好ましくは、前記第2の入出力制御手段が、第2のI/Oバスを介して前記デバイス制御手段から送出されたトランザクションを入力する入力バッファレジスタと、該入力バッファレジスタに格納されたトランザクションをデコードするデコーダと、該トランザクションの有効/無効を示す第1のフラグと、DMAリード/ライトを示す第2のフラグと、割り込み要求の有無を示す第3のフラグと、前記トランザクションを保持するフィールドと、を少なくとも含むレジスタと、第2のシステムバスに該トランザクションを出力する出力バッファレジスタを備え、前記第1のフラグは、前記デバイス制御手段からのトランザクション送信合図信号がアクティブ状態とされ、該トランザクションが有効である時にオン状態とされ、前記第1のフラグがオン状態を示す場合において、前記第3のフラグが前記デバイス制御手段からの割り込み要求を示すと共に前記ライト信号線がアクティブ状態の時に、前記デバイス制御手段からの前記割り込み要求を前記演算処理装置に伝達しないように制御することを特徴とする。
【0018】
【作用】本発明によれば、デバイスから記憶装置へのDMA転送におけるデータブロックの割り込みによる追い越しをハードウエアで抑止するように構成したことにより、ソフトウェアによるデータ転送と割り込みの同期制御を不要とし、データ転送と割り込みの順序を確実に保証することができるため、高速で、データ・インテグリティの高い二重化バスで構成される情報処理装置を実現することが可能とされ、例えば高速データ転送が要求されるファイルサーバ等の情報処理装置に好適に適用される。
【0019】
【実施例】図面を参照して、本発明の実施例を以下に説明する。
【0020】
【実施例1】図1は、本発明の一実施例の構成を示すブロック図である。
【0021】図1を参照して、本実施例に係る二重化バス方式の情報処理装置は、第1の入出力制御部101、第2の入出力制御部201、およびデバイス制御部301を備えている。
【0022】第1の入出力制御部101(=入出力制御部1)は、第1のシステムバスのSYSBUS1、REQ1、GNT1を介していずれも不図示のCPU(演算処理装置)とメモリとに接続されると共に、第1のI/OバスのIOBUS1、ADS1、RDY1を介してデバイス制御部301に接続される。
【0023】第2の入出力制御部201(=入出力制御部2)は、第2のシステムバスのSYSBUS2、REQ2、GNT2を介して不図示のCPUとメモリと接続されると共に、第2のI/OバスのIOBUS2、ADS2、RDY2を介してデバイス制御部301に接続される。
【0024】デバイス制御部301側からみた場合、第1のI/OバスのIOBUS1、ADS1、RDY1を介して入出力制御部1に接続されると共に、第2のI/OバスのIOBUS2、ADS2、RDY2を介して入出力制御部2に接続される。
【0025】なお、図1において、信号、構成要素の名称の最後に付加される「1」または「2」(例えば、REQ1、REQ2あるいはBUF1、BUF2等における「1」、「2」)は、二重化されたバス及び入出力制御部における「第1」又は「第2」を示すものであり、以下では主としてこの記法を用いる。また、「第1」と「第2」をそれぞれ指示する際には、例えば「REQ1/2」等のような記法を用いる。
【0026】システムバスは二重化され、SYSBUS1/2、REQ1/2、GNT1/2から成り、SYSBUS1/2は、トランザクションのアドレス/データ/コマンドを転送し、REQ1/2はシステムバスに接続されている不図示のバスエージェント(「バスアービタ」ともいう)に対するバス使用要求線、GNT1/2はバスエージェントからのバス使用許可線である。また、SYSBUS1、REQ1、GNT1からなる第1のシステムバスと、SYSBUS2、REQ2、GNT2からなる第2のシステムバスは独立に動作する。
【0027】I/Oバスは二重化され、IOBUS1/2、ADS1/2、RDY1/2から成り、IOBUS1/2はトランザクションのアドレス/データ/コマンドを転送し、ADS1/2はデバイス制御部301からのトランザクション送信合図(アドレスストローブ信号)、RDY1/2は、入出力制御部1/2のトランザクション受信レスポンス(レディ信号)である。
【0028】図1に示すように、入出力制御部1は、入力バッファレジスタ(INBUF1)108、バッファレジスタ(BUF1)113、出力バッファレジスタ(OUTBUF1)114、デコーダ(DEC1)112、ライト実行検出部115、レジスタ(RADS1)109、レジスタ(RRDY1)110を備えている。
【0029】入出力制御部2は、入力バッファレジスタ(INBUF2)208、バッファレジスタ(BUF2)213、出力バッファレジスタ(OUTBUF2)214、デコーダ(DEC2)212、割り込み抑止部215、レジスタ(RADS2)209、レジスタ(RRDY2)210を備え、入出力制御部1のライト実行検出部115から出力されるライト実行線111が入出力制御部2の割り込み抑止部215に入力されている。
【0030】INBUF1/2は、デバイス制御部301が、IOBUS1/2に出力するトランザクション(アドレス、コマンド、データ)を1クロック分保持するレジスタである。
【0031】RADS1/2は、デバイス制御部301が出力するアドレスストローブ(ADS)1/2を1クロック分保持し、ADS1/2が有効になった1クロック後に論理“1”を出力するレジスタである。
【0032】RRDY1/2は、RADS1/2の出力が論理“1”で、かつINBUF1/2に格納されているアドレス/コマンドを、DEC1/2がデコードし、そのデコード結果、受信したトランザクションが有効である場合、RADS1/2が論理“1”になった1クロック後に論理“1”を示すレジスタである。
【0033】DEC1/2は、INBUF1/2に格納されているアドレス/コマンドをデコードし、受信したトランザクションの有効/無効を判定し、トランザクションのタイプ(割り込み、DMAライト、あるいはDMAリード)を認識するデコーダである。なお、「DMAライト(DMA write)」は、デバイス制御部301からI/Oバス、システムバスを介して記憶部へデータを書込むためのDMA転送をいい、「DMAリード(DMA read)」は記憶部側からシステムバス、I/Oバスを介してデバイス側へデータを読込むためのDMA転送をいう。
【0034】BUF1/2は、V(Valid:有効/無効フラグ、「バリッドフラグ」ともいう)、割り込みフラグ(割り込みフラグはデバイス制御部301からの割り込みの有無を示すフラグ)、DMAリード/DMAライトフラグ、トランザクションを保持するトランザクション・フィールド(アドレス、データ)から成る。
【0035】バリッドフラグVは、DEC1/2がINBUF1/2に格納されているトランザクションをデコードした結果、受信したトランザクションが有効である場合、RADS1/2が論理“1”になった1クロック後に論理“1”になり、BUF1/2のトランザクションがSYSBUS1/2に出力された後に論理“0”になる。
【0036】割り込みフラグと、DMAリード/DMAライトフラグとは、バリッドフラグVが論理“1”になるタイミングと同一のタイミングで更新され、割り込みフラグとDMAリード/DMAライトフラグとの論理値(組み合わせ)は、DEC1/2がINBUF1/2に格納されているトランザクション(コマンド)をデコードした結果、トランザクションが、割り込みの場合には“1,0”、DMAリードの場合には“0,0”、DMAライトの場合には“0,1”になる。
【0037】BUF1/2のトランザクション・フィールドは、バリッドフラグVが論理“1”になるタイミングと同一のタイミングで更新され、INBUF1/2からトランザクションのアドレス、コマンド、データが格納される。
【0038】REQ1は、BUF1のバリッドフラグVが論理“1”になったとき、論理“1”になることで、SYSBUS1のバス使用要求を行なう。
【0039】REQ2は、BUF2のバリッドフラグVにANDゲートを介して接続され、ANDゲートの他の入力(後に説明するNANDゲート出力)が論理“1”の状態で、バリッドフラグVが論理“1”になったとき、論理“1”になることで、SYSBUS2のバス使用要求を行なう。
【0040】GNT1/2は、REQ1/2が論理“1”(入出力制御部1/2がバスの使用を要求時)で、かつ入出力制御部1/2にバスの使用権を与える時に論理“1”になる。
【0041】OUTBUF1/2は、トランザクションがBUF1/2に格納された1クロック後にトランザクションのアドレス、コマンド、データを格納する。そして、GNT1/2が‘1’になると、OUTBUF1/2からトランザクションがSYSBUS1/2に出力される。
【0042】ライト実行検出部115は、バリッドフラグVとDMAリード/ライト・フラグとを入力とするANDゲートを備え、ANDゲートの出力をライト実行線111としている。バリッドフラグVが論理“1”で、かつDMAリード/ライト・フラグが論理“1”の場合(DMAライトの場合)、ライト実行線111を論理“1”として、入出力制御部1がDMAライトを実行中であることを入出力制御部2に通知する。
【0043】入出力制御部2の割り込み抑止部215は、ライト実行線111と入出力制御部2のBUF2の割り込みフラグを入力とするNANDゲートと、NANDゲートの出力とBUF2のバリッドフラグVを入力とするANDゲートからなり、ANDゲートの出力をREQ2として第2のシステムバスに出力するように構成されている。
【0044】バリッドフラグVが論理“1”である場合において、BUF2の割り込みフラグが論理“1”で、かつライト実行線111が論理“1”の時には、割り込み抑止部215のNANDゲートの出力は論理“0”となるため、バリッドフラグVはマスクされてANDゲートの出力は常に“0”とされ、REQ2は論理“0”の状態に保持され、入出力制御部2はSYSBUS2への割り込み発行を抑止する。
【0045】また、割り込みフラグが論理“0”、あるいは、ライト実行線111が論理“0”の場合、割り込み抑止部215のNANDゲートの出力は論理“1”となり、入出力制御部2で実行中のトランザクションの発行は、割り込み抑止部215で抑止されない。すなわち、BUF2のバリッドフラグVはANDゲートをそのまま導通し、バリッドフラグVが論理“1”と時に、REQ2は論理“1”となる。
【0046】図2は、本発明の一実施例の動作タイミングを示すタイミングチャートである。図2では、IOBUS1側から、DMAライト1(デバイス側から記憶部へデータを書き込むDMA転送)が入出力制御部1に入力され、そのDMAライト1の終了後に、IOBUS2から割り込みが入出力制御部2に入力される。
【0047】割り込みが入出力制御2に入力される前に、ライト実行線111が論理“1”になった場合、割り込み抑止部215はその状態を検出し、入出力制御部2に割り込みが入力された際に(IOBUF2に割り込みのトランザクションが入力されデコーダ2でデコードされBUF2の割り込みフラグが論理“1”とされた際)、割り込み要求の抑止を行う。すなわち、ライト実行線111が論理“1”である期間、BUF2のバリッドフラグVが論理“1”、割り込みフラグが論理“1”の時、REQ2は論理“0”の状態を保持している。
【0048】入出力制御部1で処理中のDMAライト1をSYSBUS1へ出力すると、ライト実行線を論理“0”に戻す。
【0049】これを受けて、割り込み抑止部215は抑止していた割り込みの要求をSYSBUS2に出力し、バスの使用許可をもらったところで(GNT2が論理“1”となった時点で)、保留中の割り込みを発行する。
【0050】
【実施例2】図3は、本発明の第2の実施例の構成を示すブロック図である。
【0051】図3を参照して、本実施例は、図1に示した前記第1の実施例における入出力制御部1に、I/Oキャッシュ401、ヒット判定回路402、入力バッファ(INBUF3)403が追加されている。
【0052】以下では、本実施例と前記第1の実施例との相違点のみを説明する。I/Oキャッシュ401は、データを保持し記憶手段とのデータの一致性(coherency、「コヒーレンシ」という)を保つための入出力キャッシュメモリである(コヒーレンシ保持のために所定のキャッシュコヒーレンシ・プロトコルが実装されている。なお、キャッシュコヒーレンシ・プロトコルについては、例えば文献:「J.L.Hennessy、D.A.Patterson、“COMPUTER ARCHTECTURE: A QUANTATIVE APPROACH”、MORGAN KAUFFMANN PUBLISHERS, INC. 1990年、第466〜473頁」、あるいは文献:「J.L.Hennessy、D.A.Patterson、“COMPUTER ORGANIZATION AND DESIGN: THE HARDWARE/SOFTWARE INTERFACE”、MORGAN KAUFFMANN PUBLISHERS, INC. 1994年、第575頁」等参照)。
【0053】I/Oキャッシュ401は、Vフラグ、キャッシュステータス、データフィールド、アドレスフィールドからなるラインを複数ライン含んでいる。
【0054】Vフラグは、その値が論理“1”の時、対応するI/Oキャッシュラインに有効なトランザクションが格納されていることを示し、論理“0”のとき、対応するI/Oキャッシュラインが無効であることを示す。
【0055】I/Oキャッシュ401のキャッシュステータスは、対応するI/Oキャッシュラインのステータスが、クリーン・エクスクルーシブ、ダーティ・エクスクルーシブ、あるいはシェアードのいずれかであることを示す。なお、「ダーティ」とはキャッシュラインが汚れている、すなわち一致性が保たれていない状態(ステータス)を示す。
【0056】I/Oキャッシュ401のデータフィールドはトランザクションのデータを格納し、アドレスフィールドは、トランザクションのアドレス(より詳細には、アドレス信号の所定の上位側ビットフィールドからなるアドレスタグ)を格納する。
【0057】BUF1に格納されたトランザクションがI/Oキャッシュ401においてミスと判定されると、OUTBUF1からSYSBUS1に発行する。OUTBUF1からSYSBUS1に発行されたトランザクションのレスポンスは、SYSBUS1からINBUF3を介してI/Oキャッシュ401に格納される。
【0058】そして、格納されたトランザクションがDMAライトであるとき、対応するI/Oキャッシュラインのステータス、データフィールド、アドレスフィールドの更新が行われる。
【0059】ヒット判定回路402は、BUF1に格納されたトランザクションが、I/Oキャッシュ401のいずれかのラインにヒットしているか、あるいはミスをしているか否かを判定する。
【0060】トランザクションがヒットとなるのは、I/Oキャッシュ401のVフラグが論理“1”で、かつ、I/Oキャッシュ401にそのアドレスフィールドの内容(アドレスタグ)がトランザクションのアドレスタグと一致するラインが存在した場合である。一方、ミスとなるのは、I/Oキャッシュ401のVフラグが論理“0”あるいはアドレスが不一致になった場合である。
【0061】ライト実行線111は、トランザクション「DMAライト」がBUF1に格納された時点で、論理“1”になり(BUF1のバリッドフラグVとDMAリード/ライトフラグが共に論理“1”)、もし該トランザクションがI/Oキャッシュ401のあるラインに対してヒットした場合には、I/Oキャッシュ401に格納される。
【0062】そして、該トランザクションが格納された後に、ライト実行線411は論理“0”とされる。
【0063】一方、トランザクションがミスした場合、トランザクション「DMAライト」は、キャッシュを無効化(invalidate)するリードすなわちエクスクルーシブ(排他型)コヒーレントリードに変更され、OUTBUF1からSYSBUS1に発行される(なお、SYSBUS1に発行されたエクスクルーシブコヒーレントリードはSYSBUS1に接続される例えばCPU等のキャッシュを無効化する)。
【0064】そして、エクスクルーシブ・コヒーレントリードのデータレスポンスはSYSBUS1からINBUF3を介してI/Oキャッシュ401に格納されるが、この動作が終了した時点でライト実行線111が論理“0”になる。
【0065】そして、ライト実行線111が論理“0”になった時点で、入出力制御部2は、割り込み要求を保留している場合には、該割り込み要求をSYSBUS2に発行する。
【0066】図4は、本発明の第2の実施例の動作タイミングを示すタイミングチャートである。
【0067】IOBUS1からDMAライト2のトランザクションが入出力制御部1に入力される。
【0068】DMAライト2がBUF1に格納された時点で、ライト実行線が論理“1”になる。
【0069】BUF1のバリッドフラグVが論理“1”になった時、ヒット判定回路402でヒット判定が行われ、この場合、ミスであることが判定される。
【0070】キャッシュのミスになると、SYSBUS1に対してREQ1を論理“1”にすることでバス使用要求を行う。
【0071】第1のシステムバスの使用許可信号であるGNT1が論理“1”になると、エクスクルーシブ・コヒーレントリードをSYSBUS1に発行する。
【0072】図2に示すように、例えば9バスサイクル後にSYSBUS1からデータレスポンスが来ると、そのトランザクションをINBUF3からI/Oキャッシュ401のキャッシュラインのデータフィールドに格納する。
【0073】その1サイクル(1T)後に、BUF1に格納されているデータ(BUFデータ)を、対応するI/Oキャッシュラインに格納し(部分マージ)、ライト実行線111を論理“0”とする。
【0074】以上、本発明を上記実施例に即して説明したが、本発明は上記態様にのみ限定されず、本発明の原理に準ずる各種態様を含むことは勿論である。
【0075】
【発明の効果】以上説明したように、本発明によれば、ソフトウェア制御によるデータ転送と割り込みの同期が不要とされ、同期処理用に費やされるCPU処理時間を浪費しないで済み、かつデータ転送と割り込みの順序を保証することができるため、高速で、データ・インテグリティの高い二重化バスで構成される情報処理装置を実現することができるという効果を有する。また、本発明によれば、I/Oキャッシュを備えたことにより、データのコヒーレンシを保持し、データ転送処理性能を一層向上するものである。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013