JPH05242010A - 双方向データ記憶機能付きのバスインターフェースユニットを備えたコンピュータシステム及びその方法 - Google Patents

双方向データ記憶機能付きのバスインターフェースユニットを備えたコンピュータシステム及びその方法

Info

Publication number
JPH05242010A
JPH05242010A JP4317485A JP31748592A JPH05242010A JP H05242010 A JPH05242010 A JP H05242010A JP 4317485 A JP4317485 A JP 4317485A JP 31748592 A JP31748592 A JP 31748592A JP H05242010 A JPH05242010 A JP H05242010A
Authority
JP
Japan
Prior art keywords
bus
data
memory
interface unit
buffer
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
Application number
JP4317485A
Other languages
English (en)
Inventor
Amini Nader
ナダー・アミニ
Bechara Fouad Boury
ベチャラ・ファウアッド・ボウリー
Sherwood Brannon
シャーウッド・ブラノン
Richard Louis Horne
リチャード・ルイス・ホーン
Terence J Lohman
テレンス・ジョセフ・ローマン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH05242010A publication Critical patent/JPH05242010A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4059Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 【目的】 異なる転送速度及び異なるモードでデータを
転送する、システムバスとI/Oバスとの間の効率的な
データバッファを提供すること。 【構成】 バスインターフェースユニット64は、シス
テムバス76及びI/Oバス32とこれら2つのバスの
各々に結合された装置との間で転送されるデータのため
の非同期双方向一時データ記憶機能を備えている。好ま
しくは、この記憶機能は、データの個別転送、データス
トリーミング及びデータバースト転送を受け入れること
ができるモードで動作し、各アドレスに新たな要求を発
することなく、連続したアドレスからの情報の転送を受
け入れることができる。本発明は、システムバスとI/
Oバスのようなデュアルバスアーキテクチャを有するコ
ンピュータシステムに好適である。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデュアルバスインターフ
ェースユニットを有するコンピュータシステムにおける
バス対バスインターフェースに関し、特に、バス対バス
インターフェースユニットと、システムの2つのバス間
で転送するデータを一時記憶する方法とに関するもので
ある。
【0002】
【従来の技術】一般的にコンピュータシステムでは、そ
して特にパーソナルコンピュータシステムでは、中央処
理装置(CPU)、メモリ装置、直接メモリアクセス
(DMA)制御器等、種々のシステム装置の間でデータ
を転送している。加えて、入出力(I/O)装置のよう
な拡張要素間、及びこれらのI/O装置と種々のシステ
ム装置との間でも、データを転送している。I/O装置
とシステム装置とは、互いにコンピュータバスを介して
通信し合い、コンピュータバスは、一連の導体を備えて
おり、それに沿って任意のデータ源から任意の目的地に
情報を伝送するようにしている。多くのシステム装置及
びI/O装置は、バス制御器(即ち、コンピュータシス
テムを制御することができる装置)及びバススレーブ
(即ち、バス制御器によって制御される要素)として機
能できるようになっている。
【0003】2つ以上のバスを有するパーソナルコンピ
ュータシステムは公知である。典型的には、CPUがキ
ャッシュメモリ又はメモリ制御器と通信するためのロー
カルバスが設けられ、更に、DMA制御器のようなシス
テムバス装置、或はI/O装置がメモリ制御器を介して
システムメモリと通信するために、システムI/Oバス
が設けられている。システムI/Oバスは、バスインタ
ーフェースユニットによって接続されたシステムバスと
I/Oバスとを備えている。I/O装置はこのI/Oバ
スを介して互いに通信し合う。また、I/O装置は、典
型的にはシステムメモリのようなシステムバス装置とも
通信しなくてはならない。このような通信は、バスイン
ターフェースユニットを通じ、I/Oバス及びシステム
バスを介して行なわれなければならない。
【0004】システムバスとI/Oバスとの間でデータ
を受け渡す際に、これらバスの一方或いは両方に、かな
り異なる速度及び異なるデータ転送モードで動作する装
置を結合できるようにする必要がある場合が多い。例え
ば、1、2及び4バイトの帯域で書き込む装置をI/O
バスに結合することがある。一方、システムバスは、か
なり高速なバースト伝送として知られている16バイト
のパケット情報を転送できるものもある。更に、連続す
るアドレスの比較的大量のデータ転送を望むことがしば
しばある。このような転送を、各アドレス位置に特定の
要求を発する必要なく達成できるならば、望ましいもの
であり、時間を節約することになる。
【0005】したがって、システムバスとI/Oバスと
の間のいかなる相互接続も、異なる速度且つ異なるモー
ドでのデータ転送を処理できることが必要となる。更
に、各位置に対して転送要求を発することなく、連続す
るアドレスに又はそこからデータを効率的に転送するこ
とが望ましい。
【0006】
【発明が解決しようとする課題】したがって、本発明の
目的は、異なる転送速度及び異なるモードで効果的かつ
効率的にデータを転送する、システムバスとI/Oバス
との間の効率的なデータバッファを提供することであ
る。
【0007】
【課題を解決するための手段】本発明は、システムバス
及びI/Oバスのようなデュアルバスアーキテクチャを
有するコンピュータシステムのためのバス対バスインタ
ーフェースユニットを提供する。バスインターフェース
ユニットは、2つのバスの各々に結合された装置へ及び
そこから2つのバス間で転送されるデータのための非同
期双方向一時データ記憶機能を備えている。好ましく
は、該記憶機能は、個々のデータ転送、データストリー
ミング(streaming)及びデータバースト転送
を受け入れるモードで動作し、各アドレスに対して新た
に要求を発することなく連続するアドレスからの情報の
転送を可能にするものである。
【0008】
【実施例】まず図1を参照すると、全体的に10で示し
たコンピュータシステムは、システムボード12とプロ
セッサ複合体14とを備えている。プロセッサ複合体
は、プロセッサ部16と、ローカルバス接続器22を介
してプロセッサローカルバス20に接続されたベース部
18とを含んでいる。プロセッサ部16は50MHzで
動作し、一方ベース部18は40MHzで動作する。
【0009】システムボード12は、インターリーブ型
のシステムメモリ24及び26と入出力(I/O)装置
28とを備えている。システムメモリ24及び26とプ
ロセッサ複合体14との間の通信はメモリバス30によ
って処理され、I/O装置28とプロセッサ複合体14
との通信はI/Oバス32によって行われる。I/O装
置とメモリ24及び26との間の通信は、I/Oバス3
2、システムバス76及びメモリバス30によって処理
される。I/Oバス32は、マイクロチャンネル(MI
CRO CHANNEL、商標)コンピュータアーキテ
クチャに準拠するものでよい。メモリバス30及びI/
Oバス32はプロセッサ複合体接続器34を介してプロ
セッサ複合体のベース部18に接続される。メモリ拡張
装置のようなI/O装置はI/Oバス32を介してコン
ピュータシステム10に接続される。システムボード1
2は従来のビデオ回路、タイミング回路、キーボード制
御回路及び割り込み回路(いずれも図示せず)を含むこ
ともでき、コンピュータシステム10はこれらを通常動
作中に使用する。
【0010】プロセッサ複合体14のプロセッサ部16
は中央処理ユニット(CPU)38を含んでおり、これ
は、好適実施例では、i486という商品名でインテル
社から入手可能な32ビットマイクロプロセッサであ
る。プロセッサ部16は、スタティックランダムアクセ
スメモリ(SRAM)40、キャッシュ制御モジュール
42、周波数制御モジュール44、アドレスバッファ4
6及びデータバッファ48をも備えている。ローカルバ
ス20は、データ情報路50、アドレス情報路52及び
制御情報路54を備えている。データ情報路50は、C
PU38、SRAM40及びデータバッファ48の間に
設けられ、アドレス情報路52は、CPU38、キャッ
シュ制御モジュール42及びアドレスバッファ46の間
に設けられ、制御情報路54は、CPU38、キャッシ
ュ制御モジュール42及び周波数制御モジュール44の
間に設けられている。加えて、キャッシュ制御モジュー
ル42とSRAM40との間にアドレス及び制御情報路
が設けられる。
【0011】SRAM40は、システムメモリ24又は
26からの、或はI/O装置28上に配置された拡張メ
モリからのメモリ情報を短期間記憶することによって、
キャッシュ機能を提供する。キャッシュ制御モジュール
42は、システムメモリ24及び26のアドレス位置を
記憶するランダムアクセスメモリ(RAM)56を組み
込んでいる。CPU38は、ローカルバス20を介して
SRAM40内にキャッシュした情報に直接アクセスす
ることができる。周波数制御モジュール44は、50M
Hzのプロセッサ部16の動作を40MHzのベース部
18と同期させると共に、バッファ46及び48の動作
をも制御する。したがって、周波数制御モジュール44
は、バッファ46又は48が情報を獲得する時間、或は
これらのバッファに記憶されている情報に重ね書きする
時間を決定する。バッファ46及び48は、システムメ
モリ24及び26からの2回の書き込みを同時に記憶で
きるように構成されている。バッファ46及び48は双
方向型、即ち、CPU38が供給する情報及びCPUに
供給される情報をラッチすることができる。バッファ4
6及び48が双方向型なので、標準のベース部18を維
持しつつ、プロセッサ複合体14のプロセッサ部16を
置き換え、或はアップグレードすることもできる。
【0012】ベース部18は、メモリ制御器58、直接
メモリアクセス(DMA)制御器60、バス裁定(ar
bitration)制御点(CACP)回路62、バ
スインターフェースユニット64、及びバッファ/エラ
ー訂正コード(ECC)回路66を備えている。ベース
部18はまた、ドライバ回路68、リードオンリメモリ
(ROM)70、自己試験回路72及びバッファ74を
備えている。システムバス76は、データ情報路78と
アドレス情報路80及び制御情報路82を備えている。
データ情報路はバッファ74をバスインターフェースユ
ニット64と接続し、バスインターフェースユニット6
4をDMA制御器60及びバッファ/ECC回路66と
接続し、バッファ/ECC回路66をシステムメモリ2
4及び26と接続する。アドレス情報路及び制御情報路
は各々、メモリ制御器58をDMA制御器60及びバス
インターフェースユニット64と接続し、バスインター
フェースユニット64をバッファ74と接続する。
【0013】メモリ制御器58は、CPUローカルバス
20上及びシステムバス76上に常駐し、CPU38、
DMA制御器60又はバスインターフェースユニット6
4(I/O装置28に代って)に、メモリバス30を介
してのシステムメモリ24及び26へのアクセスを提供
する。メモリ制御器58は、メモリバス30を介してシ
ステムメモリ24及び26に対するシステムメモリサイ
クルを開始する。システムメモリサイクルの間、CPU
38、DMA制御器60又はバスインターフェースユニ
ット64(I/O装置28に代って)のいずれかが、メ
モリ制御器58を介してシステムメモリ24及び26へ
のアクセスを得る。CPU38は、ローカルバス20、
メモリ制御器58及びメモリバス30を介してシステム
メモリと通信を行ない、DMA制御器60又はバスイン
ターフェースユニット64(I/O装置28に代って)
は、システムバス76、メモリ制御器58及びメモリバ
ス30を介してシステムメモリへのアクセスを得る。
【0014】CPU38からI/Oバス22への読み出
し又は書き込みサイクルの間、アドレス情報はシステム
メモリアドレスの境界と突き合わされる。アドレス情報
がI/O拡張メモリアドレス又はI/Oポートアドレス
と対応する場合、メモリ制御器58は、I/Oバス32
を介してI/O装置28と(バスインターフェースユニ
ット64を介して)I/Oメモリサイクル又はI/Oポ
ートサイクルを開始する。CPUからI/Oメモリへの
又はI/Oポートへのサイクルの間、メモリ制御器58
に与えられたアドレスは、システムバス76からI/O
バス32に、これら2つのバスの中間に常駐するバスイ
ンターフェースユニット64を介して伝送される。当該
アドレスに対応する拡張メモリを含むI/O装置28
は、そのメモリアドレスをI/Oバス32から受け取
る。DMA制御器60及びバスインターフェースユニッ
ト64は、システムメモリ24及び26とI/O装置2
8に組み込まれた拡張メモリとの間の情報交換を制御す
る。DMA制御器60は、プロセッサ複合体14のため
に3つの機能を提供する。まず、DMA制御器60は、
小型コンピュータサブシステム制御ブロック(SCB)
アーキテクチャを利用してDMAチャンネルを構成す
る。これにより、プログラムされたI/Oを用いてDM
Aチャンネルを構成する必要性を回避している。第2
に、DMA制御器は、低速メモリ拡張装置と典型的には
これより高速のシステムメモリとの間の転送を最適化す
るためのバッファ機能を備えている。第3に、DMA制
御器60は8チャンネルの32ビット直接システムメモ
リアクセス機能を備えている。直接システムメモリアク
セス機能を備えているので、DMA制御器60は2つの
モードのうちのいずれかで機能することができる。第1
のモードでは、DMA制御器60はプログラムされたI
/Oのモードで機能し、DMA制御器は機能的にCPU
38のスレーブとなる。第2のモードでは、DMA制御
器60自体がシステムバスマスタとして機能し、この場
合はDMA制御器60はI/Oバス32を裁定しかつ制
御する。この第2のモードの期間には、DMA制御器6
0は先入れ先出し(FIFO)レジスタ回路を用いる。
【0015】CACP回路62はDMA制御器、I/O
装置バス制御器及びCPU(I/O装置にアクセスした
場合)に対してアービタ(arbiter)として機能
する。CACP回路62は、DMA制御器60、メモリ
制御器58並びにI/O装置から裁定制御信号を受け取
り、I/Oバス32を制御することができる装置とその
特定の装置がI/Oバスの制御を保持できる時間長とを
決定する。
【0016】ドライバ回路68は、メモリ制御器58か
らシステムメモリ24及び26への制御情報及びアドレ
ス情報を与える。ドライバ回路68はこの情報を、シス
テムメモリ24及び26を構成するのに用いられるシン
グルインラインメモリモジュール(SIMM)の数に基
づいて駆動する。したがって、ドライバ回路68は、シ
ステムメモリ24及び26に供給する制御及びアドレス
情報の信号強度をこれらのメモリサイズに基づいて変更
する。
【0017】バッファ回路74は、プロセッサ複合体の
ベース部18とシステムボード12との間で増幅及び絶
縁機能を果たす。バッファ回路74は、I/Oバス32
とバスインターフェースユニット64との間の境界情報
(boundary information)のリア
ルタイムの獲得を可能にするバッファを利用する。した
がって、コンピュータシステム10が故障状態となる
と、コンピュータ保守要員はバッファ回路74をアクセ
スし、システムの故障時に接続器34に存在した情報を
決定することができる。
【0018】ROM70は、初めに拡張メモリからのデ
ータをシステムメモリに配置することによって、電源投
入時に、システム10を構成する。自己試験回路72は
ベース部18内の複数の場所と接続され、複数の自己試
験機能を提供する。自己試験回路72はバッファ回路7
4にアクセスし、故障状態が存在するかどうかを決定す
ると共に、システム10の電源投入時にベース部18の
別の主要構成要素を試験して、システムが動作する用意
ができているかどうかを決定する。
【0019】図2は、図1のシステムのバスインターフ
ェースユニット64の概略ブロック図を示している。バ
スインターフェースユニット64は、システムバス76
とI/Oバス32との間で双方向高速バッファとなるこ
とによって、本発明を実施する基礎となる。
【0020】バスインターフェースユニット64は、シ
ステムバス駆動/受信回路102、I/Oバス駆動/受
信回路104及びそれらの間を電気的に接続する制御論
理回路を含んでいる。システムバス駆動/受信回路10
2は、システムバス76から受け取った信号を適切なバ
スインターフェースユニット制御論理回路に送出し、バ
スインターフェースユニット制御論理回路からの信号を
受け取ってその信号をシステムバス76に送出する操舵
機構(steering)論理を含んでいる。I/Oバ
ス駆動/受信回路104は、I/Oバス32から受け取
った信号を適切なバスインターフェースユニット制御論
理回路に送出し、バスインターフェースユニット制御論
理回路から信号を受け取ってその信号をI/Oバス32
に送出する操舵機構論理を含んでいる。
【0021】バスインターフェースユニット制御論理回
路は、システムバス−I/Oバス変換論理106、I/
Oバス−システムバス変換論理108、メモリアドレス
比較論理110、エラー回復支援論理112及びキャッ
シュ監視(snooping)論理114を含んでい
る。プログラムされたI/O回路116もシステム駆動
/受信回路102に電気的に結合される。
【0022】システムバス−I/Oバス変換論理106
は、DMA制御器60又はメモリ制御器58(CPU3
8のために)がシステムバス制御器として動作してI/
Oバス32にアクセスし、I/Oバス上でスレーブ装置
として動作するI/O装置28と通信するために必要な
手段を提供する。変換論理106は、システムバス76
の制御線、アドレス線及びデータ線をI/Oバス32上
の同様の線に変換する。多くの制御信号と全てのアドレ
ス信号はシステムバス76からI/Oバス32に流れる
が、データ情報の流れは双方向性である。システムバス
スレーブとして動作する論理はシステムバス76を監視
し、I/Oバス32のためのサイクルを検出する。この
ようなサイクルを検出すると、システムバススレーブ
は、システムバス上の信号のタイミングをI/Oバスの
タイミングに変換し、I/Oバス32上でそのサイクル
を開始し、そのサイクルが完了するのを待ち、システム
バス76上でそのサイクルを終了させる。
【0023】I/Oバス−システムバス変換論理108
は、システムバスアドレス発生回路118、I/Oバス
予測アドレス発生回路120、システムバス制御器イン
ターフェース122、FIFOバッファ124、I/O
バススレーブインターフェース126及びバス−バスペ
ーシング(bus pacing)制御論理128を備
えている。システムバス制御器インターフェース122
は、40MHzで動作する高性能32ビット(4バイ
ト)i486バーストプロトコルを支援する。バースト
モードでの4、8及び16バイトのデータ転送及び非バ
ーストモードでの1〜4バイトのデータが転送される。
I/Oバススレーブインターフェース126は、システ
ムバス76上のスレーブ装置に向けられた動作のために
I/Oバス32を監視し、I/Oバス32に向けられた
それらの動作を無視する。I/Oバススレーブインター
フェース126が取り上げた全てのサイクルは、FIF
Oバッファ124及びシステムバス制御器インターフェ
ース122に伝えられる。
【0024】I/Oバス−システムバス変換論理108
は、I/O装置28がI/Oバス制御器として動作して
システムバス76をアクセスし、それによってシステム
メモリ24及び26に読み出し又は書き込みを行なうの
に必要な手段となる。これらの動作のいずれの場合も、
I/O装置がI/Oバスを制御する。I/O装置の速度
で動作する非同期I/Oバスインターフェース126
は、バスインターフェースユニット64がI/Oバス3
2上でI/O装置制御器へのスレーブとして動作するこ
とができるようにしてメモリアドレスを復号し、読み出
し又は書き込みサイクルがシステムメモリ24又は26
に向けられているものと決定する。同時に、システムバ
ス制御器インターフェース122はバスインターフェー
スユニット64がシステムバス74上で制御器として動
作することができるようにする。メモリ制御器58(図
2)はバスインターフェースユニット64に対してスレ
ーブとして動作すると共に、インターフェース64にシ
ステムメモリから読み出したデータを供給するか、或は
データをシステムメモリに書き込む。システムメモリへ
の読み出し及び書き込みは、図3に示すブロック図のF
IFOバッファ124を介して行われる。
【0025】図3に示すように、FIFOバッファ12
4は、デュアルポート型の非同期双方向記憶ユニットで
あり、システムバス76とI/Oバス32との間のデー
タ情報の一時記憶装置を提供する。FIFOバッファ1
24は4つの16バイトバッファ125A〜125Dと
FIFO制御回路123とを備えている。4つのバッフ
ァ125A〜125Dは、I/Oバス制御器及びシステ
ムバススレーブへの及びそこからのデータをバッファ
し、それによって、I/Oバス32とシステムバス76
との同時動作を可能にする。FIFOバッファ124
は、物理的には2つの32バイトバッファ(125A/
125B及び125C/125D)として組織化され
る。システムバス制御器インターフェース122及びI
/Oバススレーブインターフェース126は、各々一方
の32バイトバッファを制御し、他方の32バイトバッ
ファはそれらに対して透明に(transparen
t)動作する。32バイトバッファは双方とも、読み出
し及び書き込み動作に利用される。
【0026】各FIFO125A、125B、125
C、125DはそれぞれのFIFOと物理的に或は論理
的に関連するアドレスレジスタ部を有している。データ
をI/Oバス32からFIFO125Aに転送すると、
アドレスが連続であれば、16バイトバッファが16バ
イトデータで満杯になるまでデータは蓄積される。非連
続なアドレスがアドレス動作によって検出された場合、
FIFO125Aは記憶されたデータをFIFO125
Cに転送し、同時にFIFO125Bは新たな非連続ア
ドレスからこのデータを受けとり始める。FIFO12
5Bの動作は、FIFO125Aが行なったように、1
6バイトデータで満杯になるまで、又は別の非連続アド
レスを検出するまで継続する。次に、FIFO125B
は、記憶されたデータをFIFO125Dに転送し、F
IFO125Aは再びデータを記憶し始める。このよう
にして、4つまでの16バイトブロックの非連続アドレ
スのデータを記憶することができる。
【0027】更に、2つの32バイトバッファを並列に
設けることによって、データの読み出し及び書き込み動
作をそれらの間で切り換えることができ、したがって本
質的に連続した読み出し及び書き込み機能を与えること
になる。
【0028】更にまた、32バイトバッファを2つの1
6バイトバッファ部に分割し、それらを別のI/Oバス
32又はシステムバス26に結合することによって、記
憶レジスタにデータをクロックイン又はクロックアウト
する(clocking in or out)信号に
対する容量性ローディング(loading)に関係す
るFIFOの性能への影響を最少にとどめながら、記憶
バッファの数を増加させることができる。これが達成で
きるのは、2つのバッファが並列に追加される毎に容量
性ローディングの半分のみが各バス上のクロック信号の
ローディングに加えられるにすぎないからである。
【0029】加えて、各レグ(leg)に2つの16バ
イトバッファを直列に設けることによって、読み出し動
作等で16バイトバッファの一方がデータで満杯になる
と、そのデータをそれと直列の別の16バイトバッファ
に転送することができ、その間に他方の並列レグはデー
タを蓄積することができる。したがって、データの蓄積
又は一方のバスから他方のバスへのデータの転送に、時
間の無駄はない。
【0030】FIFO124の動作を制御するための論
理は、FIFO制御回路123によって提供される。
【0031】特定のI/O装置28が、1、2又は4バ
イト(即ち、8、16又は32ビット)の帯域でI/O
バスを介してシステムメモリ24又は26に書き込みを
行うことができる。I/O装置28によるシステムメモ
リへの書き込みの間、最初に転送される書き込みデータ
はFIFOバッファ125A又は125B内に最初に記
憶される。I/Oバス予測アドレス発生回路120は、
次の予測アドレス即ち連続のアドレスを計算する。次の
連続アドレスは後続のI/Oアドレスと突き合わされ、
後続の転送が連続か否かが検査される。連続であれば、
書き込みデータの2番目のバイトが同じFIFOバッフ
ァ125A又は125Bに送出される。FIFOはI/
Oバス32から毎秒40メガバイトまでの非同期速度で
データを受け取る。
【0032】このプロセスは、バッファ125A又は1
25Bが16バイトの情報パケットで満杯になるか或い
は非連続アドレスが検出されるまで続けられる。次のク
ロックサイクルにおいて、バッファ125Aが満杯にな
るとすると、バッファ125A内のデータはバッファ1
25Cに転送される。同様に、バッファ125Bが満杯
になる時は、その内容全ては一回のクロックサイクルで
バッファ125Dに転送される。バッファ125C及び
125Dに記憶されたデータは、次に、システムバスの
動作速度でi486バースト転送によってシステムメモ
リに書込まれる。I/O装置によるシステムメモリへの
書き込みの間のFIFOバッファ124の動作はこのよ
うに連続的であって、バッファ125Aと125Bとの
間で交互に行われ、隣接するバッファ125C又は12
5Dにデータを移し、他方のバッファはシステムメモリ
に書込むべきデータを受け取る。FIFOバッファ12
4は、(i)次にメモリに書込む可能性のあるデータバ
イトのアドレスを予測し、(ii)システムバス76を
介してFIFOバッファからシステムメモリへデータを
書き込む最高速度に適応することによって、システムメ
モリへのデータ書き込み速度を最適化する。
【0033】システムメモリからI/O装置28への読
み出しの間、FIFOバッファ124は異なる動作を行
なう。システムバスアドレス発生回路118は、最初の
読み出しアドレスを用いて、読み出しデータの後続の読
み出しアドレスを発生し、バッファ125C又は125
Dにデータを蓄積する。システムバスは16バイト幅の
帯域での転送を支援しているので、システムバス制御器
インターフェース122は隣接するデータの16バイト
のパケットを事前に取り出し、これを実際に後続のアド
レスを与えるI/Oバス32なしにバッファ125C又
は125Dに記憶する。このようにして、転送中の待ち
時間(latency)を減少させる。バッファ125
Cが事前に取り出されたデータで満杯になった時、バッ
ファ125Cはその内容を1回のクロックサイクルでバ
ッファ125Aに転送する。同様に、バッファ125D
も、満杯になった時、バッファ125Bにその内容を移
す。そこで、バッファ125A及び125B内のデータ
は、1、2又は4バイトの帯域の特定のI/O装置制御
器により読み出される。このようにして、システムバス
アドレス発生回路118は、データの事前取り出しを停
止するようにI/O制御器装置によって命令されるま
で、増分カウンタとして機能する。
【0034】バス−バスペーシング制御論理128は、
高速I/O装置に対してシステムメモリへの一層高速の
アクセスを作り出す。バス−バスペーシング制御理論1
28は、I/O装置とCPUとの間でメモリ制御器58
へのアクセスを交互に行なうのではなく、複数のサイク
ルを必要とする一層高速の装置によるデータの転送の間
に、I/Oバス32を制御するI/O装置にシステムメ
モリへの無中断アクセスを許すことによって、システム
10の通常のメモリ制御器裁定体系を無効にする。した
がって、I/O装置による複数サイクル伝送の間にCP
Uのようなローカル装置がメモリバス制御のための保留
要求があっても、バス−バスペーシング制御理論は12
8はそのI/O装置にメモリバスの継続制御を付与す
る。
【0035】プログラムされたI/O回路116はバス
インターフェースユニット64の一部分であり、バスイ
ンターフェースユニット64内でのプログラム可能なレ
ジスタ全てを含む。これらのレジスタは、特定のレジス
タがアクティブかインアクティブかを決定するために、
それに関連したビットを有している。これらのレジスタ
は、特に、バスインターフェースユニット64が応答す
るシステムメモリ及び拡張メモリのアドレス範囲、キャ
ッシュ可能な及びキャッシュ不可能な拡張メモリアドレ
ス、システムメモリ又はキャッシュアドレス範囲、及
び、パリティ又はエラーチェック動作をバスインターフ
ェースユニットが支援しているか否かを規定する。した
がって、プログラムされたI/O回路116は、バスイ
ンターフェースユニット64に対して、その常駐する環
境とそれを構成するオプションとを識別する。プログラ
ムされたI/O回路116内のレジスタを、I/Oバス
32を介して直接プログラムすることはできない。した
がって、システム10をプログラムするためには、ユー
ザーは、プログラム型I/O回路116とCPUレベル
でシステムバスを介して通信することができるI/O装
置にアクセスしなくてはならない。
【0036】メモリアドレス比較論理110は、メモリ
アドレスがシステムメモリに対応するのか、或いは、I
/Oバス32に結合されたI/O装置28上に配置され
た拡張メモリに対応するのかを決定する。拡張メモリ及
びシステムメモリは、非連続アドレスブロック内にあり
得るので、メモリアドレス比較論理110は、プログラ
ムされたI/O回路116内のレジスタからの境界情報
をロードされた複数の比較器を備えており、どの境界が
どのメモリに対応するかを指示する。メモリアドレス比
較論理によって特定のメモリアドレスが境界情報と比較
された後、バスインターフェースユニットがそれにした
がって応答するように準備される。例えば、I/Oバス
32を制御しているI/O装置が拡張メモリに対して読
み出し又は書き込みを行なっている場合、バスインター
フェース回路はそのアドレスをメモリ制御器58に伝え
る必要はなく、このようにして時間とメモリ帯域とを節
約する。
【0037】エラー回復支援論理112は、データパリ
ティエラーが検出されてもシステム10に動作を続けさ
せるようにする。I/O装置28によるシステムメモリ
24又は26への任意の読み出しアクセス時又は書き込
みアクセス時に、データのパリティがチェックされる。
エラー回復支援論理112は、検出されたパリティエラ
ーのアドレスと時刻を獲得するために、プログラムされ
たI/O回路116内のレジスタと相互作用を行なう。
次いで、このレジスタの内容を、適切なシステムソフト
ウエアによって処理してもよい。例えば、CPU38を
高レベルの割込みに対してプログラムし、パリティエラ
ーが検出された時は常にそのレジスタからアドレスを引
き出せるようにしてもよい。そこで、CPUは、システ
ムソフトウエアの命令を基に、システム動作を継続する
か、或いは識別されたパリティエラー源の動作を単に終
了させるのみにするかを決定することができる。
【0038】キャッシュ監視論理114は、I/Oバス
32を介してI/O装置によって行なわれる拡張メモリ
への任意の書き込みを検出するために、バスインターフ
ェースユニット64がI/Oバス32を監視できるよう
にする。キャッシュ監視論理は、まず、拡張メモリへの
書き込みがSRAM40内のキャッシュ可能な拡張メモ
リ内で起こったかどうかを決定する。キャッシュ可能な
拡張メモリではない場合、キャッシュされているデータ
の破損の恐れはない。しかし、肯定比較(positi
ve compare)が、キャッシュ可能な拡張メモ
リに書き込みが起こったことを示した場合、システムバ
ス76を介してキャッシュ無効サイクルが開始される。
このようにして、CPUはSRAM40内の対応するア
ドレスを無効化するように命令される。キャッシュ監視
論理114は肯定比較のアドレスを記憶する手段を備
え、I/Oバスの監視を最初の肯定比較の検出直後に継
続できるようにしてI/Oバス32の継続的監視を可能
にする。
【0039】バスペーシング制御論理128は、I/O
装置のシステムメモリへのアクセスを動的に制御するこ
とによりシステムメモリ24及び26に及びそこからデ
ータを移動させるためのI/Oバス32の能力を向上さ
せるために用いられる。I/Oバス32を制御するI/
O装置28のシステムメモリへのアクセスをある所定の
状態の下に固定することによって、システムの性能は改
善される。
【0040】バス−バスペーシング制御論理128は、
FIFOバッファ124と共に、I/Oバス制御器のデ
ータ転送速度をシステムメモリのデータ転送能力に最適
に適合させる。例えば、システムメモリが書き込みデー
タを受け取ることができるよりも速く、高速I/O制御
器がシステムメモリに書き込みを行うことができれば、
バッファされた書き込みデータは、システムメモリに書
き込まれる前にFIFOメモリ125A〜125Dを完
全に満杯にすることになる。また、システムメモリが読
み出しデータを提供するよりも速く、同じ高速I/O制
御器の方がシステムメモリからデータを読み取ることが
できれば、事前に取り出されたデータをFIFOメモリ
125C及び125Dにおいて得ることはできなくな
る。いずれの場合でも、結果として、I/Oバス32か
ら見ると、データ転送において待ち時間が増加し、した
がって性能が低下することになる。
【0041】典型的には、I/O装置制御器は読み出し
又は書き込み動作を開始し、I/Oバス32を通じてバ
スインターフェースユニット64にメモリアドレスを提
供する。バスインターフェースユニットのメモリアドレ
ス比較論理110は、このアドレスをI/O回路116
内にプログラムされているアドレス範囲と比較して、そ
の動作が拡張メモリに向けられたものか、或はシステム
メモリに向けられたものかを決定する。当該動作が拡張
メモリに向けられたものと決定された場合、この状態で
システムメモリへのアクセスを優先させる必要がないの
で、バス−バスペーシング制御論理128は何も行なわ
ない。しかしながら、読み出し又は書き込み動作がシス
テムメモリ24又は26に向けられたものと決定され、
更に所定の条件に合致した場合、ペーシング制御論理1
28はI/Oバス32を制御しているI/O装置28
に、システムメモリへの連続した優先アクセスを付与す
る信号を発する。この信号は、通常の裁定手順中には、
メモリ制御器58による裁定付与信号出力を無効化する
ように作用する。
【0042】I/O装置にシステムメモリへの優先アク
セスを付与する所定状態は以下のとおりである。(1)
I/Oバス32を制御するI/O装置による読み出し要
求(事前取り出し)が、システムメモリ内の予め規定さ
れた16バイトアドレスの境界と整列しない場合、
(2)I/Oバス32を制御しているI/O装置が、書
き込みサイクルに続いて直ちに読み出しサイクルに入る
場合、(3)I/Oバス32を制御しているI/O装置
がデータ転送サイクルを完了した時、(4)I/Oバス
32を制御しているI/O装置が、ストリーミングモー
ド(毎秒40メガバイト)でデータの読み出し又は書き
込みを行なっている時、及び、(5)FIFOバッファ
124内の4つの16バイトバッファの2つ以上が、シ
ステムメモリに書き込むデータで既に満杯の時、或は、
4つの16バイトバッファの2つ以下が、システムメモ
リから読み出されるべき先取りデータで未だ満杯にされ
ていない時。
【0043】本発明の好適実施例では、バス−バスペー
シング制御論理128は3つのモードで動作する。これ
らのモードの第1のものは、デフォルト(defaul
t)モードであり、これは先に上げた状態の最初の3つ
に対して、バス制御のペーシングを決定するものであ
る。これらのモードの第2のもの(オプション1)は、
4番目にあげた状態に対するペーシングを決定し、これ
らのモードの第3のもの(オプション2)は、5番目に
あげた状態に対するペーシングを決定するものである。
本システムのユーザは、システムが自動的に与えるデフ
ォルトペーシングモードの他に、いずれかのペーシング
モード(オプション1又はオプション2)を選択するこ
とができる。この選択は、プログラムされたI/O回路
116内の3ビットレジスタ130(図示せず)の内容
をプログラムすることによって行なわれる。デフォルト
ペーシングモードは0−0−0の、、オプション1は0
−0−1の、オプション2は1−0−0のレジスタ内容
でそれぞれ定義される。
【0044】先に説明したように、デフォルトペーシン
グ論理は、最初の3つのペーシング状態のペーシングを
処理するものである。第1の状態の下では、I/O装置
28は、特定の16バイトパケット境界と整列していな
いシステムメモリ24又は26の読み出しを要求する。
これは、読み出しド要求が16バイトパケットの境界内
のどこかから始まるデータアドレスに対するものである
ことを意味する。読み出しデータが特定の16バイトパ
ケットの境界と整列していたなら、システムバスアドレ
ス発生回路118は、バッファ125C又は125Dに
対する標準16バイトのバーストデータ転送を行っただ
けであろう。しかしながら、読み出しデータがパケット
と整列していない場合、多数の1、2、3、4バイトサ
イクルを用いて、データを事前に取り出さなくてはなら
ない。このデータを最も効率的に事前に取り出すことを
保証するために、十分なデータを自動的に事前に取り出
して16バイトの境界に到達するまで、I/O装置28
によるシステムメモリへのアクセスはロック(loc
k)される。次に、この16バイト未満の読み出しデー
タはI/Oバス32のタイミングに同期させられ、I/
O装置制御器はデータを読み出し始める。I/O装置制
御器のデータリードと並行して、システムバスアドレス
発生回路118は、システムメモリへのロック信号を解
除する前に、次の隣接する16バイトパケットを事前に
取り出す。この16バイトパケットは予め規定された境
界において始まるので、バースト転送が可能である。こ
のようにして、2つのデータ転送を中断なしに行なうこ
とができる。この状態で図4のロック信号140を用い
ることによって、I/Oバス32上の装置がデータを要
求した時とバスインターフェースユニット64がデータ
をプレライド(preride)する時との間の最少の
待ち時間を保証し、ページ状のシステムメモリの最も効
率的な使用を保証する。
【0045】第2の状態の下では、I/O装置28が書
き込み転送から読み出し要求に変わる時、バッファされ
たバイトデータの残りがFIFOバッファ125A〜1
25Dに存在することがある。I/O装置バス制御器が
書き込みから読み出しに変わると、ペーシング制御論理
128は、サイクルの終りが来たこと、FIFOバッフ
ァ124にはこれ以上記憶すべき書き込みデータがない
こと、そして読み出しデータがシステムメモリ24又は
26から要求されていることを決定する。連続する書き
込みデータがこれ以上は直ちに到来しないことが解るの
で、バッファ125A〜125Dにバッファされたデー
タはシステムメモリに書き込まれ、1原子動作(one
atomic operation)後に、読み出し
要求がシステムメモリから事前に取り出される。
【0046】第3の状態の下では、I/O制御器装置が
I/Oバス32の制御を放棄した時に、バッファされた
データの残りがFIFOバッファ125A〜125Dに
未だ存在する。この場合、このような残留データを、シ
ステムバス76を解放する前に、システムメモリに書き
込まなくてはならない。2つ以上のFIFOバッファ1
25A〜125Dがこのような残留データを含む場合、
I/O装置制御器がI/Oバス32の制御を放棄すると
直ちに、ペーシング論理128はメモリ制御器に信号を
発生し、FIFOバッファ124内のデータが転送1回
分の長さを超過しており(即ち、16バイトより大き
い)、システムメモリ24又は26に書き込む必要があ
ることを指示する。この状態でロック信号140を用い
ることによって、I/O制御器によるI/Oバス32の
制御の解放とバスインターフェースユニット64による
システムバス76の制御の解放との間の待ち時間の量を
最少にすることができる。
【0047】最初の3つの状態に対応するデフォルト論
理を実現するのには、バスインターフェースユニット6
4のハードウエアに組み込まれたアルゴリズムを用い
る。典型的には、当該技術で公知のように、状態機械を
用いて必要な論理を実施することもできる。第4及び第
5の状態に対応するペーシング論理も、バスインターフ
ェースユニットのハードウエアに組み込まれたアルゴリ
ズムで実現することができる。図4及び5は、それぞれ
オプション1及びオプション2に対するバス−バスペー
シング制御論理28の特定の実施例を実施するのに用い
る回路図を示したものである。
【0048】図4を参照すると、オプション1を実施す
るためのバス−バスペーシング制御論理(上述の第4の
状態に関連する)は、クロック駆動型S−Rラッチ13
2、アンドゲート134及び136及びオアゲート13
8を備えている。ラッチ132をセットした時(S−入
力がアクティブ)は何時でも、このラッチはロック信号
140を出力する。ロック信号140は、I/Oバス3
2を制御しているI/O装置28がストリーミングモー
ドでシステムメモリ24及び26とデータの読み出し又
は書き込みを行なっている時、このI/O装置28にシ
ステムメモリへの継続的なアクセスを提供する。ストリ
ーミングとは同じアドレスへのデータ転送のことであ
り、異なるアドレスへのデータ転送よりも高速に達成す
ることができる。
【0049】図4の論理がストリーミングデータ動作を
行なっていることを検出し、FIFOバッファ125C
又は125Dが16バイトのバッファされた書き込みデ
ータパケットで満杯になると、ロック信号が活性化さ
れ、バースト書き込みシーケンスがシステムバス76を
介してシステムメモリに対して開始される。このシーケ
ンスは、I/O装置28がストリーミングシーケンスを
終了するまで、又はFIFOバッファにデータが残って
いない状態になるまで、アクティブに保持される。同様
に、ストリーミングデータ読み出しシーケンスの検出時
に、ロック信号は活性化され、バースト読み出しシーケ
ンスをシステムメモリに対して開始して、FIFOに余
裕がある限り、又はI/O装置28がストリーミングシ
ーケンスを終了するまで、アクティブの状態に保持され
る。ストリーミング読み出し又は書き込みに応答したバ
ス制御論理128は、3ビットレジスタ130内の0−
0−1レジスタ内容をプログラムすることによって規定
される。したがって、3ビットレジスタを0−0−1に
プログラムすると、アンドゲート134はこのレジスタ
の内容を復号し、オプション1イネーブル線142をハ
イ(HIGH)にする。I/Oバス32を制御する特定
のI/O装置28がストリーミングモードでデータの書
き込み又は読み出しを行なっていることをバスインター
フェースユニット64が検出する時は常に、線144も
ハイとなる。線142及び144は、この期間ハイなの
で、オアゲート138の出力146がハイの時は常に、
アンドゲート136はラッチ132をセットしてロック
信号140を出力する。
【0050】オアゲート138の出力146がハイにな
るのは、(i)I/Oバス32を制御しているI/O装
置28がストリーミングデータ読み出し要求(読み出し
動作)を発した時、又は(ii)FIFO124の16
バイトバッファ125C又は125Dのいずれかが満杯
の時(書き込み動作)である。これらの場合のいずれか
において、そして、先に説明したように線142及び1
44がハイの時、ラッチ132はメモリ制御器にロック
信号140を供給することによって、システム制御器5
8の裁定体系を無効化する。I/O装置28がストリー
ミングモードでの読み出し又は書き込みデータをもはや
送信していないことを示したときはいつでも、線148
はハイとなり、これによってラッチ132をリセット
し、効果的に図4の論理をディスエーブルする。
【0051】図5を参照すると、オプション2(上述の
第5の状態に関連する)を実施するためのバス−バス制
御論理は、各々読み出し及び書き込みサイクルに対して
別個の論理経路によって独立に制御されるクロック駆動
型S−Rラッチ150及び152を備えている。これら
クロック駆動型ラッチ150、152のいずれかがセッ
トされている時は常に、ロック信号140はイネーブル
され、メモリ制御器58へ出力される。これらのラッチ
はR−入力を活性化することによってリセットされ、こ
れによってこれらのラッチがロック信号を出力できない
ようにする。
【0052】先に掲げた第5の状態では、(i)システ
ムバス76を介してシステムメモリに書き込まれるより
も高速に、データがI/O制御器28によって、I/O
バスを介してバスインターフェースユニット64に書き
込まれているか、又は(ii)バスインターフェースユ
ニットがシステムメモリからデータを事前に取り出すこ
とができるよりも高速に、データがI/O制御器28に
よってバスインターフェースユニット64から読み取ら
れている。I/O制御器がデータをあまりに高速に書き
込んでいると、残留データがFIFOバッファ125A
−125Dに蓄積し始める。FIFOバッファの空間の
半分以上がこのような残留データを含むことになると、
ロック信号140がラッチ152によって発せられ、シ
ステムメモリへの原子的転送(atomic tran
sfer)を行なせる。I/O制御器28がI/Oバス
32を介してバスインターフェースユニット64から余
りに速くデータを読み取っていると、FIFOバッファ
125A又は125Bは空らになる。これは、バッファ
125C及び125Dには、使用可能な事前に取り出さ
れた連続データが枯渇していることを意味する。こうし
て、ロック信号140はラッチ150によって出力さ
れ、バスインターフェースユニットはバッファ125
C、125Dにデータを事前に取り出す。したがって、
少なくともFIFOバッファ124の半分は事前に取り
出されたデータで満杯の状態で保持される。
【0053】第5の状態に応答したバス制御論理は、3
ビットレジスタ310の1−0−0レジスタ内容をプロ
グラムすることによって規定される。したがって、この
3ビットレジスタを1−0−0にプログラムすると、ノ
アゲート154は、このレジスタの内容を復号し、オプ
ション2イネーブル線156をハイにする。オプション
2イネーブル線156は、制御論理がデータ読み出し動
作(図5の論理の上半分)及びデータ書き込み動作(図
5の論理の下半分)の両方に応答することを可能にする
のに用いられる。
【0054】書き込み動作の間、バッファ125A〜1
25Dの少なくとも2つが満杯である限り、オアゲート
158の出力156もハイとなる。典型的には、これ
は、バッファ125A又は125Bのいずれかが既に満
杯であって、データをバッファ125C又は125Dへ
それぞれ転送してあり、他のバッファ125A又は12
5Bが満杯になりつつあることを意味する。この場合、
データはバッファ125C又は125Dのいずれか或は
両方にあり、直ちにシステムメモリに書き込むことがで
きる。線156及び158がハイの時、アンドゲート1
62はラッチ152をセットし、ラッチ152はメモリ
制御器58ロックに信号140を出力する。ロック信号
は、アンドゲート164の出力によってラッチ152の
R−入力がハイに駆動されるまでアクティブ状態を維持
する。両方のバッファ125C及び125Dが空らの場
合、アンドゲート164の出力はハイとなり、これによ
って、これらのバッファからシステムメモリにデータを
直ちに書き込む必要はないことが示される。
【0055】読み出し動作の期間には、ラッチ150が
アンドゲート166のハイ出力によってセットされる
と、ラッチ150はロック信号をメモリ制御器158に
出力する。アンドゲート166の出力がハイに駆動され
るのは、(i)オプション2がアクティブであるため
に、線156がハイとなっている時、(ii)バスイン
ターフェースユニット64がシステムメモリからの読み
出しを検出したことによって、線168がハイとなって
いる時、及び(iii)バッファ125A又は125B
のいずれかが空らとなった時にナンドゲート172によ
って線170がロー(LOW)に駆動された時である。
この場合、ロック信号が発生される。これは、バッファ
125A又は125Bのいずれかが空らになると、バッ
ファ125C又は125Dの内容も空らになり、バッフ
ァ125C又は125Dのいずれかにシステムメモリか
らの先取りされた連続データのための余裕を残しておく
からである。
【0056】読み出し動作におけるロック信号は、ラッ
チ150のR−入力がオアゲート174によって活性化
されるまでアクティブ状態に維持される。オアゲート1
74は、(i)バスインターフェースユニット64がシ
ステムメモリからの読み出しがないことを検出した時、
或は(ii)バッファ125C又は125Dのいずれか
が満杯で、バッファ125A及び125Bのいずれも空
らでない時には常に、ハイに駆動される。これら2つの
いずれの場合でも、ロック信号は不要であり、したがっ
て、ラッチ150がリセットされる。システムメモリ2
4及び26へのアクセスはメモリ制御器58によって実
施される通常の裁定体系の下で制御される。
【0057】
【発明の効果】以上、実施例を参照して詳細に説明した
ところから明らかなとおり、この発明によれば、異なる
転送速度及び異なるモーで効果的且つ効率的にデータを
転送する、システムバスとI/Oバスとの間の効率的な
データバッファが提供され、こうしたデータバッファは
デュアルバスアーキテクチャを有するコンピュータに好
適である。
【図面の簡単な説明】
【図1】本発明の原理にしたがって構成されたバスイン
ターフェースユニットを組み込んだコンピュータシステ
ムの概略ブロック図。
【図2】図1のコンピュータシステムのバスインターフ
ェースユニットの概略ブロック図。
【図3】図2のバスインターフェースユニットのFIF
Oバッファの概略ブロック図。
【図4】図3のバス−バスペーシング論理の実施例の1
つを実施するために用いられる制御論理の回路図。
【図5】図3のバス−バスペーシング論理の別の実施例
を実施するために用いられる制御論理の回路図。
【符号の説明】
10 コンピュータシステム 12 システムボード 14 プロセッサ複合体 16 プロセッサ部 18 ベース部 24、26 インターリーブ型システムメモリ 28 入出力(I/O)装置 30 メモリバス 32 I/Oバス 40 スタティックランダムアクセスメモリ(SRA
M) 42 キャッシュ制御モジュール 44 周波数制御モジュール 46 双方向アドレスバッファ 48 双方向データバッファ 60 直接メモリアクセス(DMA)制御器 62 バス裁定制御点(CACP)回路 64 バスインターフェースユニット 66 バッファ/エラー訂正コード(ECC)回路 68 ドライバ回路 74 バッファ回路 76 システムバス 106 システムバス−I/Oバス変換論理 108 I/Oバス−システムバス変換論理 122 システムバス制御器インターフェース 124 FIFOバッファ 126 I/Oバススレーブインターフェース 128 バス制御論理
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ベチャラ・ファウアッド・ボウリー アメリカ合衆国33434、フロリダ州 ボ カ・ラトン、ノース・ウエスト・トゥエン ティーエイス・アベニュー 3008番地 (72)発明者 シャーウッド・ブラノン アメリカ合衆国33487、フロリダ州 ボ カ・ラトン、ウエスト・カントリー・クラ ブ・ブールヴァード 7360番地 (72)発明者 リチャード・ルイス・ホーン アメリカ合衆国33437、フロリダ州 ボー イントン・ビーチ、シダー・レイク・ロー ド 5289番地、アパートメント・ナンバー 8−23 (72)発明者 テレンス・ジョセフ・ローマン アメリカ合衆国33486、フロリダ州 ボ カ・ラトン、サウスウエスト・フィフス・ ストリート 1069番地

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 (a)システムメモリと、 (b)システムメモリへのアクセスを制御するためのメ
    モリ制御器であって、前記システムメモリ制御器とメモ
    リバスで接続されたメモリ制御器と、 (c)前記メモリ制御器に結合された中央処理ユニット
    であって、前記メモリバスを介して前記システムメモリ
    と、データの読み出し及び書き込みを行なうことができ
    る中央処理ユニットと、 (d)システムバスによって前記メモリ制御器と接続さ
    れたバスインターフェースユニットと、 (e)入出力バスによって前記バスインターフェースユ
    ニットに接続された少なくとも1つの入出力装置と、を
    具備し、前記バスインターフェースユニットが双方向デ
    ータ記憶ユニットを備えており、読み出し及び書き込み
    動作の間、前記システムバスと前記入出力バスとの間で
    転送されるデータの一時記憶を行うことを特徴とするコ
    ンピュータシステム。
  2. 【請求項2】 請求項1に記載のコンピュータシステム
    であって、前記データ記憶ユニットは、データ転送の異
    なる帯域で動作し且つ入出力バス又はシステムバスに結
    合された装置に応答することを特徴とするコンピュータ
    システム。
  3. 【請求項3】 請求項1に記載のコンピュータシステム
    であって、前記データ記憶ユニットは、少なくとも2対
    のバッファを備えており、前記バッファの双方を読み出
    し及び書き込み動作の双方に用いることを特徴とするコ
    ンピュータシステム。
  4. 【請求項4】 コンピュータシステムにおいてシステム
    メモリへのアクセスを制御する方法であって、 (a)システムバスに結合されていて中央処理ユニット
    と入出力バスに結合された入出力装置との間で裁定を行
    なうメモリ制御器を設け、前記中央処理ユニットと前記
    入出力装置のどちらにシステムメモリへのアクセスを付
    与して前記システムメモリに対して読み出し及び書き込
    み動作を行なわせるかを決定するステップと、 (b)前記システムバスと前記入出力バスとの間にバス
    インターフェースユニットを設けて、それらの間でデー
    タを伝えるステップと、 (c)前記データが一方のバスから転送されている時、
    及び、他方のバスにそのデータが転送される前に、前記
    システムバスと前記入出力バスとの間で転送されている
    データを一時記憶するステップと、を備えることを特徴
    とする方法。
  5. 【請求項5】 請求項4に記載の方法であって、前記バ
    スインターフェースユニットは、前記システムバスと前
    記入出力バスとの間で転送されているデータを一時記憶
    する双方向記憶ユニットを備えていることを特徴とする
    方法。
JP4317485A 1992-01-02 1992-11-26 双方向データ記憶機能付きのバスインターフェースユニットを備えたコンピュータシステム及びその方法 Pending JPH05242010A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US81669192A 1992-01-02 1992-01-02
US816691 1992-01-02

Publications (1)

Publication Number Publication Date
JPH05242010A true JPH05242010A (ja) 1993-09-21

Family

ID=25221356

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4317485A Pending JPH05242010A (ja) 1992-01-02 1992-11-26 双方向データ記憶機能付きのバスインターフェースユニットを備えたコンピュータシステム及びその方法

Country Status (12)

Country Link
US (1) US5644729A (ja)
EP (1) EP0550241A1 (ja)
JP (1) JPH05242010A (ja)
KR (1) KR970000274B1 (ja)
CN (1) CN1048102C (ja)
AU (1) AU663537B2 (ja)
BR (1) BR9205015A (ja)
CA (1) CA2080210C (ja)
MY (1) MY114231A (ja)
NZ (1) NZ245347A (ja)
SG (1) SG44446A1 (ja)
TW (1) TW225594B (ja)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5448703A (en) * 1993-05-28 1995-09-05 International Business Machines Corporation Method and apparatus for providing back-to-back data transfers in an information handling system having a multiplexed bus
US5787265A (en) * 1995-09-28 1998-07-28 Emc Corporation Bus arbitration system having a pair of logic networks to control data transfer between a memory and a pair of buses
US5987590A (en) * 1996-04-02 1999-11-16 Texas Instruments Incorporated PC circuits, systems and methods
US5838631A (en) 1996-04-19 1998-11-17 Integrated Device Technology, Inc. Fully synchronous pipelined ram
US5898889A (en) * 1996-04-30 1999-04-27 3Com Corporation Qualified burst cache for transfer of data between disparate clock domains
US6055590A (en) * 1996-06-05 2000-04-25 Compaq Computer Corporation Bridge circuit comprising independent transaction buffers with control logic adapted to store overflow data in second buffer when transaction size exceeds the first buffer size
US5872941A (en) * 1996-06-05 1999-02-16 Compaq Computer Corp. Providing data from a bridge to a requesting device while the bridge is receiving the data
US5903906A (en) * 1996-06-05 1999-05-11 Compaq Computer Corporation Receiving a write request that allows less than one cache line of data to be written and issuing a subsequent write request that requires at least one cache line of data to be written
US6075929A (en) * 1996-06-05 2000-06-13 Compaq Computer Corporation Prefetching data in response to a read transaction for which the requesting device relinquishes control of the data bus while awaiting data requested in the transaction
US6021480A (en) * 1996-06-05 2000-02-01 Compaq Computer Corporation Aligning a memory read request with a cache line boundary when the request is for data beginning at a location in the middle of the cache line
US5872939A (en) * 1996-06-05 1999-02-16 Compaq Computer Corporation Bus arbitration
US6052513A (en) * 1996-06-05 2000-04-18 Compaq Computer Corporation Multi-threaded bus master
US6108741A (en) * 1996-06-05 2000-08-22 Maclaren; John M. Ordering transactions
US5987539A (en) * 1996-06-05 1999-11-16 Compaq Computer Corporation Method and apparatus for flushing a bridge device read buffer
US6035362A (en) * 1996-06-05 2000-03-07 Goodrum; Alan L. Storing data associated with one request while continuing to store data associated with a previous request from the same device
US5815675A (en) * 1996-06-13 1998-09-29 Vlsi Technology, Inc. Method and apparatus for direct access to main memory by an I/O bus
US5832245A (en) * 1996-10-21 1998-11-03 Advanced Micro Devices, Inc. Method for isochronous flow control across an inter-chip bus
US6138192A (en) * 1996-12-31 2000-10-24 Compaq Computer Corporation Delivering a request to write or read data before delivering an earlier write request
US6044207A (en) * 1997-03-21 2000-03-28 Adaptec, Inc. Enhanced dual port I/O bus bridge
US6073190A (en) * 1997-07-18 2000-06-06 Micron Electronics, Inc. System for dynamic buffer allocation comprising control logic for controlling a first address buffer and a first data buffer as a matched pair
EP0908827B8 (en) * 1997-10-03 2007-05-09 Matsushita Electric Industrial Co., Ltd. Memory interface device and memory address generation device
US6115320A (en) * 1998-02-23 2000-09-05 Integrated Device Technology, Inc. Separate byte control on fully synchronous pipelined SRAM
US6161153A (en) * 1998-07-30 2000-12-12 Micron Technology, Inc. Method for sharing data buffers from a buffer pool
US6282589B1 (en) 1998-07-30 2001-08-28 Micron Technology, Inc. System for sharing data buffers from a buffer pool
US6363445B1 (en) 1998-10-15 2002-03-26 Micron Technology, Inc. Method of bus arbitration using requesting device bandwidth and priority ranking
US6154803A (en) * 1998-12-18 2000-11-28 Philips Semiconductors, Inc. Method and arrangement for passing data between a reference chip and an external bus
US6675243B1 (en) * 1999-03-17 2004-01-06 Adaptec, Inc. Methods and apparatus for implementing a device side advanced serial protocol
US6286074B1 (en) 1999-03-24 2001-09-04 International Business Machines Corporation Method and system for reading prefetched data across a bridge system
US6425023B1 (en) 1999-03-24 2002-07-23 International Business Machines Corporation Method and system for gathering and buffering sequential data for a transaction comprising multiple data access requests
US6449678B1 (en) 1999-03-24 2002-09-10 International Business Machines Corporation Method and system for multiple read/write transactions across a bridge system
US6502157B1 (en) 1999-03-24 2002-12-31 International Business Machines Corporation Method and system for perfetching data in a bridge system
US6381684B1 (en) 1999-04-26 2002-04-30 Integrated Device Technology, Inc. Quad data rate RAM
US7069406B2 (en) * 1999-07-02 2006-06-27 Integrated Device Technology, Inc. Double data rate synchronous SRAM with 100% bus utilization
EP1069512A3 (en) * 1999-07-12 2004-12-15 Matsushita Electric Industrial Co., Ltd. Data processing apparatus with buffering between buses
US6757762B1 (en) * 1999-10-29 2004-06-29 Unisys Corporation Multi-mode processor bus bridge
US6515672B1 (en) * 1999-12-23 2003-02-04 Intel Corporation Managing prefetching from a data buffer
US20060123152A1 (en) * 2002-07-23 2006-06-08 Koch Stefan M Inter-processor communication system for communication between processors
US7143264B2 (en) * 2002-10-10 2006-11-28 Intel Corporation Apparatus and method for performing data access in accordance with memory access patterns
US6957317B2 (en) * 2002-10-10 2005-10-18 Intel Corporation Apparatus and method for facilitating memory data access with generic read/write patterns
US7340553B2 (en) * 2003-03-12 2008-03-04 Nxp B.V. Data processing device and method for transferring data
CN100341297C (zh) * 2003-08-08 2007-10-03 华为技术有限公司 总线交换方法以及总线交换器
US20050198361A1 (en) * 2003-12-29 2005-09-08 Chandra Prashant R. Method and apparatus for meeting a given content throughput using at least one memory channel
DE102004058528B3 (de) 2004-12-04 2006-05-04 Hyperstone Ag Speichersystem mit Sektorbuffern
US7788430B2 (en) * 2007-09-14 2010-08-31 Microchip Technology Incorporated Enhanced single-node protocol for data, address and control operations
CN101202557B (zh) * 2007-11-14 2012-02-01 青岛海信移动通信技术股份有限公司 无线通信模块及可具有所述模块的终端设备
US7737727B2 (en) * 2007-12-17 2010-06-15 Intersil Americas Inc. Bi-directional buffer for open-drain or open-collector bus
US7692450B2 (en) * 2007-12-17 2010-04-06 Intersil Americas Inc. Bi-directional buffer with level shifting
US7639045B2 (en) * 2008-05-23 2009-12-29 Intersil Americas Inc. Bi-directional buffer and method for bi-directional buffering that reduce glitches due to feedback
US9183713B2 (en) 2011-02-22 2015-11-10 Kelly Research Corp. Perimeter security system
US9170942B1 (en) * 2013-12-31 2015-10-27 Emc Corporation System, apparatus, and method of automatic data padding
KR102307409B1 (ko) * 2014-02-05 2021-09-29 코핀 코포레이션 마이크로 디스플레이 디바이스를 위한 컬럼 버스 구동 방법
CN105550145B (zh) * 2015-12-09 2018-05-08 天津国芯科技有限公司 一种用于单芯片系统内双总线间的传输同步器
TWI778363B (zh) 2020-05-29 2022-09-21 慧榮科技股份有限公司 採多級架構控制器的資料儲存裝置
CN114328311B (zh) * 2021-12-15 2024-09-06 珠海一微半导体股份有限公司 一种存储控制器架构、数据处理电路及数据处理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60186956A (ja) * 1983-11-07 1985-09-24 デイジタル イクイプメント コ−ポレ−シヨン デジタルデ−タ処理システムの入/出力部のためのバツフア装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4218740A (en) * 1974-10-30 1980-08-19 Motorola, Inc. Interface adaptor architecture
AU519205B2 (en) * 1978-12-05 1981-11-19 General Automation, Inc Multiprocessor system memory access
US4258418A (en) * 1978-12-28 1981-03-24 International Business Machines Corporation Variable capacity data buffer system
US4298954A (en) * 1979-04-30 1981-11-03 International Business Machines Corporation Alternating data buffers when one buffer is empty and another buffer is variably full of data
JPS5833770A (ja) * 1981-08-24 1983-02-28 Sony Corp デジタルデ−タのプログラム転送方法
US4571671A (en) * 1983-05-13 1986-02-18 International Business Machines Corporation Data processor having multiple-buffer adapter between a system channel and an input/output bus
US4703420A (en) * 1985-02-28 1987-10-27 International Business Machines Corporation System for arbitrating use of I/O bus by co-processor and higher priority I/O units in which co-processor automatically request bus access in anticipation of need
US4821177A (en) * 1986-09-02 1989-04-11 Honeywell Bull Inc. Apparatus for controlling system accesses having multiple command level conditional rotational multiple port servicing priority hierarchy
US4831520A (en) * 1987-02-24 1989-05-16 Digital Equipment Corporation Bus interface circuit for digital data processor
US4979097A (en) * 1987-09-04 1990-12-18 Digital Equipment Corporation Method and apparatus for interconnecting busses in a multibus computer system
US4982321A (en) * 1987-10-23 1991-01-01 Honeywell Inc. Dual bus system
US4878166A (en) * 1987-12-15 1989-10-31 Advanced Micro Devices, Inc. Direct memory access apparatus and methods for transferring data between buses having different performance characteristics
US5179663A (en) * 1988-02-19 1993-01-12 Hitachi, Ltd. Data transfer controller
US5327545A (en) * 1988-05-26 1994-07-05 International Business Machines Corporation Data processing apparatus for selectively posting write cycles using the 82385 cache controller
US5003465A (en) * 1988-06-27 1991-03-26 International Business Machines Corp. Method and apparatus for increasing system throughput via an input/output bus and enhancing address capability of a computer system during DMA read/write operations between a common memory and an input/output device
US5097437A (en) * 1988-07-17 1992-03-17 Larson Ronald J Controller with clocking device controlling first and second state machine controller which generate different control signals for different set of devices
GB8824373D0 (en) * 1988-10-18 1988-11-23 Hewlett Packard Ltd Buffer memory arrangement
US5202969A (en) * 1988-11-01 1993-04-13 Hitachi, Ltd. Single-chip-cache-buffer for selectively writing write-back and exclusively writing data-block portions to main-memory based upon indication of bits and bit-strings respectively
US5097410A (en) * 1988-12-30 1992-03-17 International Business Machines Corporation Multimode data system for transferring control and data information in an i/o subsystem
US5155810A (en) * 1989-01-10 1992-10-13 Bull Hn Information Systems Inc. Dual FIFO peripheral with combinatorial logic circuitry
CA1324679C (en) * 1989-02-03 1993-11-23 Michael A. Gagliardo Method and means for interfacing a system control unit for a multi-processor system with the system main memory
US5117486A (en) * 1989-04-21 1992-05-26 International Business Machines Corp. Buffer for packetizing block of data with different sizes and rates received from first processor before transferring to second processor
US5224213A (en) * 1989-09-05 1993-06-29 International Business Machines Corporation Ping-pong data buffer for transferring data from one data bus to another data bus
JP2776390B2 (ja) * 1989-11-30 1998-07-16 富士通株式会社 送信系及び受信系バスインタフェース
US5301343A (en) * 1990-12-31 1994-04-05 International Business Machines Corp. System having microprocessor local memory expansion capability through removable coupling of local memory expansion boards directly to the high speed microprocessor local bus
US5283883A (en) * 1991-10-17 1994-02-01 Sun Microsystems, Inc. Method and direct memory access controller for asynchronously reading/writing data from/to a memory with improved throughput

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60186956A (ja) * 1983-11-07 1985-09-24 デイジタル イクイプメント コ−ポレ−シヨン デジタルデ−タ処理システムの入/出力部のためのバツフア装置

Also Published As

Publication number Publication date
CN1074052A (zh) 1993-07-07
CN1048102C (zh) 2000-01-05
CA2080210A1 (en) 1993-07-03
SG44446A1 (en) 1997-12-19
AU663537B2 (en) 1995-10-12
CA2080210C (en) 1998-10-27
AU2979392A (en) 1993-07-08
BR9205015A (pt) 1993-07-06
KR930016888A (ko) 1993-08-30
TW225594B (ja) 1994-06-21
EP0550241A1 (en) 1993-07-07
KR970000274B1 (ko) 1997-01-08
MY114231A (en) 2002-09-30
NZ245347A (en) 1995-09-26
US5644729A (en) 1997-07-01

Similar Documents

Publication Publication Date Title
JPH05242010A (ja) 双方向データ記憶機能付きのバスインターフェースユニットを備えたコンピュータシステム及びその方法
US5544346A (en) System having a bus interface unit for overriding a normal arbitration scheme after a system resource device has already gained control of a bus
JP2642027B2 (ja) コンピュータ・システム、アービトレーション方法及びアービトレーション装置
JP2988501B2 (ja) パリティエラーを検出するコンピュータシステム及びその動作方法
US5255374A (en) Bus interface logic for computer system having dual bus architecture
US5659696A (en) Method and apparatus for determining address location and taking one of two actions depending on the type of read/write data transfer required
US5003463A (en) Interface controller with first and second buffer storage area for receiving and transmitting data between I/O bus and high speed system bus
US6202107B1 (en) Host controller interface descriptor fetching unit
US6453388B1 (en) Computer system having a bus interface unit for prefetching data from system memory
US5261057A (en) I/O bus to system interface
US5966728A (en) Computer system and method for snooping date writes to cacheable memory locations in an expansion memory device
US5761533A (en) Computer system with varied data transfer speeds between system components and memory
JPH05241961A (ja) キャッシュ・スヌープ/データ無効化機能を有するコンピュータ・システム
JP2001147854A (ja) 処理システム、書き込みバッファユニット内の格納の最適化方法、並びに、データの格納及び分配方法
US5809534A (en) Performing a write cycle to memory in a multi-processor system
US5752265A (en) Memory accessing in a multi-processor system using snooping
JPH07504050A (ja) コンピュータ化データ採取用周辺i/oバス及びプログラム可能バスインターフェース