JPH05265950A - バス動作の動作速度を制御するようにしたバス・インターフェースを有するコンピュータ・システム - Google Patents

バス動作の動作速度を制御するようにしたバス・インターフェースを有するコンピュータ・システム

Info

Publication number
JPH05265950A
JPH05265950A JP4323229A JP32322992A JPH05265950A JP H05265950 A JPH05265950 A JP H05265950A JP 4323229 A JP4323229 A JP 4323229A JP 32322992 A JP32322992 A JP 32322992A JP H05265950 A JPH05265950 A JP H05265950A
Authority
JP
Japan
Prior art keywords
bus
control mechanism
memory
interface device
system bus
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.)
Granted
Application number
JP4323229A
Other languages
English (en)
Other versions
JPH07122865B2 (ja
Inventor
Aldereguia Alfred
アルフレード・アルデレギア
Amini Nader
ナダー・アミニ
Daryl C Cromer
ダリル・カーヴィス・クローマー
Richard Louis Horne
リチャード・ルイス・ホーン
Koori Ashu
アシュ・コーリ
Kibu Sendorein Kimberly
キンバリー・キブ・センドレイン
Ngokku Toran Kang
カング・ンゴック・トラン
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 JPH05265950A publication Critical patent/JPH05265950A/ja
Publication of JPH07122865B2 publication Critical patent/JPH07122865B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/1689Synchronisation and timing concerns

Landscapes

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

Abstract

(57)【要約】 【目的】 コンピュータ・システムにおいて、異なった
クロック周波数で動作する複数のシステム・デバイス
を、高速で動作するデバイスの性能を損なうことなくシ
ステム・バス上に共存させ得るようにする。 【構成】 コンピュータ・システム10は、システム・
メモリ24、26と、システム・バス76上にあってシ
ステム・メモリへのアクセスを制御しているメモリ制御
機構58と、同じくシステム・バス上のバスインターフ
ェース装置64及びDMA制御機構60と、メモリ制御
機構に接続され、このメモリ制御機構を介してシステム
・メモリへのデータの読み書きを行なえるようにしたC
PU38とを備える。メモリ制御機構とバス・インター
フェース装置とは、それらのいずれかがシステム・バス
を制御しているときには、DMA制御機構の動作のクロ
ック周波数の整数倍のクロック周波数で動作し、一方、
DMA制御機構がシステムバスを制御しているときに
は、DMA制御機構と同じクロック周波数で動作する。
メモリ制御機構、バス・インターフェース装置、及びD
MA制御機構のクロック周波数は互いに同期している。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータ・システ
ムにおけるバス−バス・インターフェースに関するもの
であり、より詳しくは、コンピュータ・システムの中の
バスの動作を同期させ、しかも、複数のデバイスが互い
の間で通信をする際の転送速度とデータ転送バンド幅と
が様々であっても、それによって不都合が生じることの
ないようにする、バス−バス・インターフェースに関す
るものである。
【0002】
【従来の技術】一般にコンピュータ・システムにおいて
は、また特にパーソナル・コンピュータ・システムにお
いては、中央処理装置(CPU)、メモリ・デバイス、
それにダイレクト・メモリ・アクセス制御機構(DMA
制御機構)等の、様々なシステム・デバイスどうしの間
でデータ転送が行なわれる。データ転送は更に、入出力
デバイス(I/Oデバイス)等の、拡張要素どうしの間
でも行なわれ、また、I/Oデバイスと様々なシステム
・デバイスとの間でも行なわれる。I/Oデバイスやシ
ステム・デバイスが互いの間で通信をするときに、その
通信はコンピュータのバスを介して行なわれる。コンピ
ュータのバスは、一連の複数本の導線から成り、それら
複数本の導線を介して、任意の情報送信元から任意の情
報送信先への情報転送を行なうことができる。システム
・デバイスやI/Oデバイスの多くは、バス・コントロ
ーラ(即ち、コンピュータ・システムの制御を許可され
たデバイス)として機能する能力と、バス・スレイブ
(即ち、バス・コントローラによって制御される要素)
として機能する能力とを備えている。
【0003】パーソナル・コンピュータ・システムであ
って2つ以上のバスを備えたものが公知となっている。
典型的な例としては、先ず第1に、ローカル・バスを備
えており、このローカル・バスは、例えば、CPUがキ
ャッシュ・メモリやメモリ制御機構と通信する場合等に
使用するバスである。第2には、システムI/Oバスを
備えており、このシステムI/Oバスは、例えば、シス
テム・バス・デバイス(DMA制御機構等)やI/Oデ
バイスが、メモリ制御機構を介してシステム・メモリと
通信する場合等に使用するバスである。システムI/O
バスは、システム・バスとI/Oバスとから成り、それ
ら双方のバスはバス・インターフェース装置を介して互
いに接続されている。I/Oデバイスどうしが互いの間
で通信をするときには、I/Oバスを使用してその通信
が行なわれる。また、一般的に、I/Oデバイスがシス
テム・メモリ等のシステム・バス・デバイスとの間で通
信を行なうことも必要になる。このような、I/Oデバ
イスとシステム・バス・デバイスとの間の通信は、バス
・インターフェース装置を介して、I/Oバスとシステ
ム・バスとの両方を使用して行なわれることになる。
【0004】
【発明が解決しようとする課題】システム・デバイス
が、システム・バスを介して通信をする際の速度は、必
ずしも同一ではない。例えば、CPUの動作速度の方が
DMA制御機構の動作速度よりも高速であることがあ
り、その原因は、CPUの製作工程とDMA制御機構の
製作工程とでは、使用しているシリコン技法が異なるこ
とや、それらの製作工程に関する複雑さのレベルが異な
ることにある。ところで、システム・バスを同期式バス
とした場合に、そのシステム・バス上のデバイスのうち
で最も低速で動作するシステム・デバイスの動作周波数
をもって、そのシステム・バスの動作周波数の上限とし
たならば、高速で動作するシステム・デバイスがバス・
コントローラとなったときには、そのシステム・バスの
性能が充分に発揮されないことになる。なぜならば、そ
のようにシステム・バスの動作周波数に上限を設けた場
合には、例えばCPU等の高速で動作するシステム・デ
バイスであっても、そのシステム・バスを介して有効な
通信をするためには、その最も低速のシステム・デバイ
スの動作速度で動作しなければならなくなるからであ
る。
【0005】
【発明の目的】従って本発明の目的は、デュアル・バス
・アーキテクチャを採用したコンピュータ・システムの
ためのバス・インターフェース装置であって、動作速度
の異なる複数のシステム・デバイスを、それらのうちで
高速で動作するシステム・デバイスの性能を損なうこと
なく、システム・バス上に共存させることを可能にする
バス・インターフェース装置を提供することにある。
【0006】
【課題を解決するための手段】本発明は、コンピュータ
・システムの中のシステム・バス上に存在している複数
のデバイスが、互いに同期して動作することができるよ
うにするメカニズムを提供するものである。そのため
に、それら複数のシステム・デバイスの各々の動作周波
数を、それらシステム・デバイスの動作周波数のうちの
最低周波数の、整数倍の周波数にしている。そして、シ
ステム・バスの動作周波数を、その最低周波数の複数通
りの整数倍の周波数に定めると共に、それら複数通りの
システム・バス周波数の夫々に対応した、複数通りのシ
ステム・バス・クロックを持続的に発生し続けるように
することにより、高速のシステム・デバイスの動作速度
の整数分の1の動作速度で動作している低速のシステム
・デバイスが、高速のシステム・デバイスの性能を損な
うことなく、システム・バス上に共存できるようにして
いる。
【0007】システム・バス上に存在している複数のデ
バイスの夫々の動作速度は、個々のデバイスの複雑度
や、そのデバイスを製作するために使用されている技法
に応じた動作速度となっている。そのため、データ処理
用コンピュータ・システムにおいて、システム・バス上
に存在している複数のデバイスの夫々の動作周波数が、
互いに異なっていることがある。そのようなシステムに
おいては、同期式動作が行なわれるようにしておくこと
が好ましく、その理由は、同期式動作が行なわれるよう
にしておけば、バス・ハンドシェイキング信号を個別に
同期させる必要がないため、システムの性能を最適化で
きるからである。
【0008】本発明の好適実施例に係るコンピュータ・
システムでは、複数のシステム・デバイスのうちには、
システム・バス上において、より高速のシステム・デバ
イスの動作速度の2分の1の速度で動作する、比較的低
速のシステム・デバイスが含まれている。この比較的低
速のシステム・デバイスのプログラマビリティを確保す
るために、先ず、比較的低速のシステム・デバイスの入
出力アドレスを、システム・バス上において最低の周波
数でランさせるためのアドレス範囲の中のアドレスに割
当てるようにしている。そして、このアドレス範囲の外
側では、システム・バス上に存在しているデバイス(即
ちシステム・デバイス)の各々が、みずからがシステム
・バスを制御しているときに、システム・バス上の制御
線を駆動して、システム・バスを制御しているそのシス
テム・デバイスが、比較的低速で制御を行なうデバイス
であるのか、それとも全速(高速)で制御を行なうデバ
イスであるのかを表示するようにしている。即ち、ある
比較的低速のシステム・デバイスがシステム・バスを制
御しているときには、その比較的低速のシステム・デバ
イスが制御線を駆動して、比較的低速のデバイスがシス
テム・バスを制御しているということを表示しており、
これによって、その他のシステム・デバイスが、その比
較的低速のデバイスに対して、低速でインターフェース
するようになるようにしている。一方、ある全速(高
速)のシステム・デバイスが、その全速のデバイスがシ
ステム・バスを制御しているということを制御線を介し
て表示しているときには、その全速のシステム・デバイ
スは、その他の全速のシステム・デバイスと、システム
・バスを介して全速で通信を行なうことができる。これ
によって、より高速のシステム・デバイスの性能を犠牲
にすることなく、2分の1の速度のシステム・デバイス
が、より高速のシステム・デバイスと、システム・バス
上に共存できるようにしている。
【0009】
【実施例】先ず第1図について説明すると、その全体を
引用符号10で表わしたコンピュータ・システムは、シ
ステム・ボード12とプロセッサ複合体14とを含んで
いる。プロセッサ複合体14はプロセッサ部分16とベ
ース部分18とを含んでおり、それらの部分16と18
とは、ローカル・バス・コネクタ22を介して、プロセ
ッサのローカル・バス20によって互いに接続されてい
る。プロセッサ部分16は50メガヘルツで動作し、ベ
ース部分18は40メガヘルツで動作する。
【0010】システム・ボード12は、インターリーブ
型のシステム・メモリ24及び26と、複数の入出力デ
バイス(I/Oデバイス)28とを含んでいる。メモリ
24ないし26とプロセッサ複合体14との間の通信は
メモリ・バス30を介して行なわれ、一方、複数のI/
Oデバイス28とプロセッサ複合体14との間の通信は
I/Oバス32を介して行なわれる。また、I/Oデバ
イス28とメモリ24ないし26との間の通信は、I/
Oバス32と、システム・バス76と、メモリ・バス3
0とを介して行なわれる。I/Oバス32は、例えば
「マイクロ・チャネル(MICRO CHANNEL:これは登録商標
である)」という名のコンピュータ・アーキテクチャに
即した構成のものとすることができる。メモリ・バス3
0及びI/Oバス32は、プロセッサ複合体14のコネ
クタ34を介して、プロセッサ複合体14のベース部分
18に接続されている。複数のI/Oデバイス28は、
例えばメモリ拡張デバイス等であり、それらは、I/O
バス32を介してコンピュータ・システム10に接続す
ることができるようにしてある。システム・ボード12
は更に、このコンピュータ・システム10が通常の動作
を実行する際に使用する、例えばビデオ回路、タイミン
グ回路、キーボード制御回路、及び割込み回路等の、様
々な一般的な回路も含んでいるが、ただしそれらの回路
はいずれも図には示していない。
【0011】プロセッサ複合体14のプロセッサ部分1
6は、中央処理装置(CPU)38を含んでいる。この
CPU38には、この好適実施例では、インテル社(In
tel,Inc. )が商品番号「i486」として供給してい
る、32ビットのマイクロプロセッサを使用している。
プロセッサ部分16には更に、スタティック・ランダム
・アクセス・メモリ(SRAM)40と、キャッシュ制
御モジュール42と、周波数制御モジュール44と、ア
ドレス・バッファ46と、データ・バッファ48とが含
まれている。ローカル・バス20は、データ情報経路5
0とアドレス情報経路52と制御情報経路54とを含ん
でいる。データ情報経路50は、CPU38と、SRA
M40と、データ・バッファ48との間に設けられてい
る。アドレス情報経路52は、CPU38と、キャッシ
ュ制御モジュール42と、アドレス・バッファ46との
間に設けられている。制御情報経路54は、CPU38
と、キャッシュ制御モジュール42と、周波数制御モジ
ュール44との間に設けられている。また更に、アドレ
ス情報経路52と制御情報経路54とはキャッシュ制御
モジュール42とSRAM40との間にも設けられてい
る。
【0012】SRAM40は、システム・メモリ24な
いし26から読み出されたメモリ情報や、I/Oデバイ
ス28に備えられている拡張メモリから読み出されたメ
モリ情報を、短期間記憶することによって、キャッシュ
機能を提供する。キャッシュ制御モジュール42にはラ
ンダム・アクセス・メモリ(RAM)56が組み込まれ
ており、このRAM56は、メモリ24ないし26のア
ドレス・ロケーションを記憶させておくメモリである。
CPU38は、SRAM40の中にキャッシュされてい
る情報には、ローカル・バス20を介して、直接にアク
セスすることができる。周波数制御モジュール44は、
50メガヘルツのプロセッサ部分16の動作と、40メ
ガヘルツのベース部分18の動作とを、同期させると共
に、バッファ46及び48の動作を制御している。従っ
てこの周波数制御モジュール44は、バッファ46及び
48に情報を取り込むタイミングや、それらバッファに
既に記憶されている情報の上に上書きするタイミングを
決定するものである。バッファ46及び48は、メモリ
24と26とからの2つの書込み動作によるデータを、
同時にそれらバッファに記憶させることができるように
構成してある。バッファ46及び48は両方向性バッフ
ァであり、即ち、それらバッファは、CPU38から送
られてくる情報と、CPU38へ向けて送り出す情報と
の、いずれの情報をもラッチすることのできる機能を備
えている。このように、バッファ46及び48を両方向
性バッファとしてあるため、このプロセッサ複合体14
においては、そのベース部分18には標準的な同じ構成
のものを使用したままで、そのプロセッサ部16だけを
交換してアップグレードすることが可能となっている。
【0013】ベース部分18には、メモリ制御機構58
と、ダイレクト・メモリ・アクセス(DMA)制御機構
60と、集中調停制御ポイント(CACP)回路62
と、バス・インターフェース装置64と、バッファ/誤
り訂正コード(バッファ/ECC)回路66とが含まれ
ている。更にまた、このベース部分18には、ドライバ
回路68と、リード・オンリ・メモリ(ROM)70
と、セルフ・テスト回路72と、バッファ74とが含ま
れている。システム・バス76は、データ情報経路78
と、アドレス情報経路80と、制御情報経路82とを含
んでいる。データ情報経路78は、バッファ74をバス
・インターフェース装置64に接続すると共に、このバ
ス・インターフェース装置64をDMA制御機構60と
バッファ/ECC回路66とに接続し、更に、バッファ
/ECC回路66をシステム・メモリ24及び26に接
続している。アドレス情報経路80と制御情報経路82
とは、その各々が、メモリ制御機構58をDMA制御機
構60とバス・インターフェース装置64とに接続する
と共に、このバス・インターフェース装置64をバッフ
ァ74に接続している。
【0014】メモリ制御機構58は、CPU38のロー
カル・バス20と、システム・バス76との、双方のバ
スの上に位置しており、このメモリ制御機構58は、C
PU38と、DMA制御機構60と、(I/Oデバイス
28の代理として機能している)バス・インターフェー
ス装置64とのいずれかに対して、メモリ・バス30を
介してシステム・メモリ24ないし26へアクセスする
場合のアクセス権を付与する機能を果たすものである。
このメモリ制御機構58は、メモリ・バス30を使用し
て行なうシステム・メモリ24及び26へのシステム・
メモリ・サイクルを開始する。1回のシステム・メモリ
・サイクルの間に、CPU38と、DMA制御機構60
と、(I/Oデバイス28の代理として機能している)
バス・インターフェース装置64とのうちの、いずれか
1つだけが、このメモリ制御機構58を介してシステム
・メモリ24ないし26にアクセスすることができる。
そして、CPU38がシステム・メモリとの間で通信を
行なうときには、そのアクセスは、ローカル・バス20
と、メモリ制御機構58と、メモリ・バス30とを介し
て行なわれ、一方、DMA制御機構60、または(I/
Oデバイス28の代理として機能している)バス・イン
ターフェース装置64が、システム・メモリにアクセス
する場合には、そのアクセスは、システム・バス76
と、メモリ制御機構58と、メモリ・バス30とを介し
て行なわれる。
【0015】CPU38からI/Oバス32への読取り
サイクルないし書込みサイクルが実行されるときには、
そのためのアドレス情報が、システム・メモリのアドレ
ス境界と比較対照される。それによって、そのアドレス
情報が、I/O拡張メモリのアドレスとI/Oポートの
アドレスとの、いずれかに該当していることが判明した
ならば、メモリ制御機構58は、I/Oバス32を使用
して(従ってバス・インターフェース装置64を介し
て)、I/Oデバイス28との間での、I/Oメモリ・
サイクルないしI/Oポート・サイクルを開始する。こ
のように、CPU38からI/OメモリへのI/Oメモ
リ・サイクル、またはCPU38からI/Oポートへの
I/Oポート・サイクルが実行されるときには、先ず、
メモリ制御機構58へ供給されているアドレスが、シス
テム・バス76からI/Oバス32へ、それら2つのバ
スの間に位置しているバス・インターフェース装置64
を介して転送される。そして、そのアドレスに対応して
いる拡張メモリを含んでいるI/Oデバイス28が、I
/Oバス32からそのメモリ・アドレスを受け取る。更
に、DMA制御機構60とバス・インターフェース装置
64とが、システム・メモリ24ないし26と、I/O
デバイス28の中に組み込まれている拡張メモリとの間
の、情報交換を制御する。DMA制御機構60は更に、
プロセッサ複合体14の代理としての、3つの機能を提
供している。即ち、第1に、DMA制御機構60は、小
型コンピュータ用のサブシステム制御ブロック(subsys
tem control block:SCB)アーキテクチャを用いて、
DMAチャネルの構成(コンフィギュレーション)を行
なう機能を提供している。これによって、プログラム式
I/Oを使用することなくDMAチャネルの構成を行な
うことが可能にされている。第2に、DMA制御機構6
0は、低速で動作しているメモリ拡張デバイスと、通常
それよりも高速で動作しているシステム・メモリとの間
の転送を最適化する、バッファとして機能を提供してい
る。第3に、DMA制御機構60は、システム・メモリ
に対する、8チャネルで32ビットの、ダイレクト・ア
クセス機能を提供している。更に、DMA制御機構60
は、この、システム・メモリに対するダイレクト・アク
セス機能を提供する際には、2通りのモードで機能する
ことができるようになっている。そのうちの第1のモー
ドは、DMA制御機構60が、プログラム式I/Oモー
ドで機能するというものであり、この第1のモードにお
いては、このDMA制御機構60が、機能上、CPU3
8のスレイブとなる。第2のモードは、このDMA制御
機構60そのものが、システム・バス76のバス・マス
ターとして機能するというものであり、このときには、
DMA制御機構60は、I/Oバス32のための調停を
行なっており、このI/Oバス32を制御している。ま
た、この第2のモードにあるときには、このDMA制御
機構60は、先入れ先出し式(FIFO)レジスタ回路
を使用している。
【0016】CACP回路62は、DMA制御機構60
と、複数のI/Oデバイスの夫々のバス制御機構と、C
PU38(ただし、CPU38がI/Oデバイスをアク
セスしようとしている場合)との間の、調停機構として
機能する回路である。このCACP回路62は、DMA
制御機構60と、メモリ制御機構58と、I/Oデバイ
スとから、夫々の調停制御信号を受け取った上で、それ
らのうちのいずれのデバイスにI/Oバス32の制御を
渡すかということと、その特定のデバイスがI/Oバス
32の制御を保持し続ける時間の長さとを決定するもの
である。
【0017】ドライバ回路68は、メモリ制御機構58
からシステム・メモリ24及び26へ、制御情報とアド
レス情報とを供給する回路である。このドライバ回路6
8は、システム・メモリ24及び26を構成するのに使
用しているシングル・インライン・メモリ・モジュール
(single in-line memory module:SIMM)の個数に
合わせて、それら情報をドライブする。従って、このド
ライバ回路68は、システム・メモリ24及び26へ供
給する制御情報及びアドレス情報の信号強度をそれらメ
モリのサイズに合わせて変化させている。
【0018】バッファ回路74は、プロセッサ複合体1
4のベース部分18とシステム・ボード12との間での
増幅の機能を提供すると共に、それらを互いに絶縁する
機能をも提供している。このバッファ回路74は、複数
のバッファで構成してあり、それらバッファによって、
I/Oバス32とバス・インターフェース装置64との
間の境界情報をリアルタイムで取り込むことができるよ
うにしてある。そのため、コンピュータ・システム10
に障害状況が発生した場合には、コンピュータ修理要員
は、このバッファ回路74にアクセスすれば、コンピュ
ータ・システム10にその障害状況が発生した時点でコ
ネクタ34に存在していた情報を知ることができる。
【0019】ROM70は、このコンピュータ・システ
ム10の電源投入時に、拡張メモリからシステム・メモ
リへのデータの初期転送を行なうことによって、このコ
ンピュータ・システム10の構成(コンフィギュレーシ
ョン)を行なう。セルフ・テスト回路72は、ベース部
分18の中の様々なロケーションに接続されており、様
々なセルフ・テスト機能を提供している。このセルフ・
テスト回路72は、コンピュータ・システム10の電源
投入時に、バッファ回路74にアクセスして障害状況が
発生しているか否かを判断すると共に、ベース部分18
の中のその他の主要構成要素のテストも行ない、それら
によって、コンピュータ・システム10が動作可能な状
態にあるか否かを判断する。
【0020】続いて図2について説明すると、この図2
に示したのは、図1のコンピュータ・システム10の中
の、バス・インターフェース装置64のブロック図であ
る。バス・インターフェース装置64は、システム・バ
ス76とI/Oバス32との間の、両方向高速インター
フェースの機能を提供している装置であり、本発明を実
現する上での基礎を成している装置である。
【0021】バス・インターフェース装置64には、シ
ステム・バス・ドライバ/レシーバ回路102と、I/
Oバス・ドライバ/レシーバ回路104と、それら2つ
のドライバ/レシーバ回路の間に接続された複数の制御
ロジック回路とが含まれている。システム・バス・ドラ
イバ/レシーバ回路102はステアリング・ロジックを
含んでおり、このステアリング・ロジックは、システム
・バス76から受け取った信号を、バス・インターフェ
ース装置64の中の複数の制御ロジック回路のうちの該
当する制御ロジック回路へ配送すると共に、バス・イン
ターフェース装置64の中の複数の制御ロジック回路か
ら信号を受け取って、その受け取った信号をシステム・
バス76へ送出するためのロジックである。I/Oバス
・ドライバ/レシーバ回路104もまたステアリング・
ロジックを含んでおり、このステアリング・ロジック
は、I/Oバス32から受け取った信号を、バス・イン
ターフェース装置64の中の複数の制御ロジック回路の
うちの該当する制御ロジック回路へ配送すると共に、バ
ス・インターフェース装置64の中の複数の制御ロジッ
ク回路から信号を受け取って、その受け取った信号をI
/Oバス32へ送出するためのロジックである。
【0022】バス・インターフェース装置64の中の複
数の制御ロジック回路としては、システム・バス−I/
Oバス変換ロジック106と、I/Oバス−システム・
バス変換ロジック108と、メモリ・アドレス比較ロジ
ック110と、誤り回復支援ロジック112と、キャッ
シュ・スヌープ・ロジック114とがある。また、シス
テム・バス・ドライバ/レシーバ回路102には更に、
プログラム式I/O回路116が接続されている。
【0023】システム・バス−I/Oバス変換ロジック
106について説明すると、先ず、DMA制御機構60
や、(CPU38の代理として機能している)メモリ制
御機構58が、I/Oバス32上のスレイブ・デバイス
として動作しているI/Oデバイス28と通信をするた
めには、それらDMA制御機構60ないしメモリ制御機
構58は、システム・バス76のバス・コントローラと
して動作してI/Oバス32にアクセスする必要があ
る。このシステム・バス−I/Oバス変換ロジック10
6は、それらDMA制御機構60ないしメモリ制御機構
58がその動作を実行する上で必要な手段を提供するも
のである。即ち、この変換ロジック106は、システム
・バス76の、複数本の制御ライン、複数本のアドレス
・ライン、及び複数本のデータ・ラインを、それらの合
計本数よりも少ない本数のI/Oバス32の複数本のラ
インへ変換する。この変換に際しては、制御信号はその
大部分が、またアドレス信号はその全てが、システム・
バス76からI/Oバス32へ流れるようにしており、
一方、データ情報は、両方向性としており、即ち、いず
れのバスから、いずれのバスへも流れるようにしてい
る。また、この変換ロジック106は、システム・バス
76のバス・スレイブとして動作し、システム・バス7
6をモニタして、I/Oバス32を対象としたサイクル
が発生したときにそのサイクルを検出する。システム・
バス76のバス・スレイブとして動作しているこの変換
ロジック106は、その種のサイクルを検出したなら
ば、システム・バス76上の信号のタイミングをI/O
バス32のタイミングへ変換し、I/Oバス32上のサ
イクルを開始し、その開始したI/Oバス32上のサイ
クルが完了するのを待ち、そしてそのI/Oバス32上
のサイクルが完了したならば、システム・バス76上の
サイクルを終了させる。
【0024】I/Oバス−システム・バス変換ロジック
108には、システム・バス・アドレス発生回路118
と、I/Oバス予期アドレス発生回路120と、システ
ム・バス・コントローラ・インターフェース122と、
FIFOバッファ124と、I/Oバス・スレイブ・イ
ンターフェース126と、バス−バス歩調合せ制御ロジ
ック128とが含まれている。システム・バス・コント
ローラ・インターフェース122は、40メガヘルツで
動作する、高性能の32ビット(4バイト)の「i48
6」のバースト・プロトコルをサポートしている。デー
タの転送方式としては、4バイト、8バイト、及び16
バイトのデータをバースト・モードで転送する方式と、
1バイトないし4バイトのデータを非バースト・モード
で転送する方式とが可能である。I/Oバス・スレイブ
・インターフェース126は、I/Oバス32をモニタ
して、システム・バス76上のスレイブ・デバイスを対
象とした動作(サイクル)がI/Oバス32上に発生し
たときに、それを検出するためのものであり、I/Oバ
ス32を対象とした(即ち、I/Oバスに接続されてい
るデバイスを対象とした)動作(サイクル)は無視する
ようにしている。このI/Oバス・スレイブ・インター
フェース126によって検出されたサイクルは全て、F
IFOバッファ124へ受け渡され、そこから更にシス
テム・バス・コントローラ・インターフェース122へ
受け渡される。
【0025】あるI/Oデバイス28が、システム・メ
モリ24ないし26に対する読取りないし書込みを実行
するためには、そのI/Oデバイス28は、I/Oバス
32のバス・コントローラとして動作してシステム・バ
ス76へアクセスする必要がある。I/Oバス−システ
ム・バス変換ロジック108は、I/Oバス28がその
動作を行なうために必要な手段を提供するものである。
その種の読取り動作と書込み動作とのいずれが行なわれ
ている場合にも、I/Oバス32は、いずれかのI/O
デバイス28によって制御されている。このとき、非同
期式の装置であるI/Oバス・スレイブ・インターフェ
ース126が、I/Oバス32を制御しているそのI/
Oデバイスの動作速度で動作しており、このI/Oバス
・スレイブ・インターフェース126の働きによって、
バス・インターフェース装置64は、I/Oバス32の
コントローラとして動作しているそのI/Oデバイスに
対するスレイブとして動作して、メモリ・アドレスの復
号化と、そのときの読取りサイクルないし書込みサイク
ルがシステム・メモリ24ないし26を対象としたもの
であるか否かの判断とを行なうことができるのである。
更にこれと同時に、バス・インターフェース装置64
は、システム・バス・コントローラ・インターフェース
122の働きによって、システム・バス76のバス・コ
ントローラとしての動作も行なうことができるようにな
っている。それによって、メモリ制御機構58(図1)
が、このバス・インターフェース装置64に対するスレ
イブとして動作して、システム・メモリ24ないし26
から読み取ったデータをバス・インターフェース装置6
4へ供給する動作と、システム・メモリ24ないし26
へデータを書き込む動作とのいずれかを行なっている。
システム・メモリに対する読取りないし書込みはFIF
Oバッファ124を介して行なわれ、このFIFOバッ
ファ124のブロック図を示したのが、図3である。
【0026】図3に示したように、FIFOバッファ1
24は、デュアル・ポートで、両方向性で、しかも非同
期式装置として構成した記憶装置である。FIFOバッ
ファ124は、システムバス76とI/Oバス32との
間でやり取りされるデータ情報を一時的に記憶する、一
時記憶装置としての機能を提供している。FIFOバッ
ファ124は、4つの16バイトのバッファ125A〜
125Dと、FIFO制御回路123とを含んでいる。
4つのバッファ125A〜125Dは、I/Oバス32
のバス・コントローラ並びにシステム・バス76のバス
・スレイブとの間でやり取りするデータをバッファし、
それによって、I/Oバス32の動作とシステム・バス
76の動作とが同時に行われることを可能にしている。
FIFOバッファ124は、物理的には、2つの32バ
イトのバッファ(125A/125B、125C/12
5D)で構成してある。そして、システム・バス・コン
トローラ・インターフェース122と、I/Oバス・ス
レイブ・インターフェース126との各々が、それら3
2バイトのバッファの1つずつを制御しており、しか
も、それらインターフェース122、126の各々は、
みずからが制御しているのではない方の32バイトのバ
ッファの動作によって、みずからの動作が影響を受ける
ことはない。また、いずれの32バイトのバッファも、
読取り動作と書込み動作との両方に使用される。
【0027】FIFO125A、125B、125C、
125Dの各々にはアドレス・レジスタ・セクションを
設けてあり、このアドレス・レジスタ・セクションは、
夫々のFIFOに物理的に付随させたセクションとして
も良く、また、論理的に付随させたセクションとしても
良い。I/Oバス32からFIFO125Aへ、データ
が次々と転送されてきているときには、それらデータの
アドレスが連続しているならば、16バイトのバッファ
であるこのFIFO125Aに16バイト分のデータが
入れられてこのFIFO125Aが満杯になるまで、デ
ータの蓄積を行なうようにしている。一方、アドレス検
出動作によって、非連続なアドレスが検出されたなら
ば、FIFO125Aは、それまでに記憶した分のデー
タをFIFO125Cへ転送し、またそれと同時にFI
FO125Bが、その新たな非連続アドレスから先のデ
ータの受け取りを開始する。FIFO125Bは、FI
FO125Aがそれまで行なっていたのと同じように動
作し、即ち、16バイト分のデータで満杯になるか、或
いは更に別の非連続アドレスが検出されるまで、そのデ
ータの蓄積を続行する。それらのいずれかの事象が発生
した時点で、FIFO125Bは、それまでに記憶した
データをFIFO125Dへ転送し、これ以後再びFI
FO125Aがデータの記憶動作を開始する。従って全
体としては、最大で、16バイト分の連続アドレスのデ
ータから成るデータ・ブロックの4個分に相当する量の
データを記憶することができる。
【0028】更には、2つの32バイトのバッファを並
列にしてあるため、データの読取りにせよ書込みにせ
よ、それら2つのバッファの間で交互に切り替えること
ができることから、実質的に連続的な、読取りないし書
込みの機能が得られるようになっている。
【0029】更には、1つの32バイトのバッファを2
つの16バイトのバッファ・セクションに分割し、分割
したそれらバッファ・セクションを、I/Oバス32
と、システム・バス76とに、即ち互いに別々のバスに
接続してあるため、記憶用のバッファの個数を増やす場
合にも、データをクロッキングして記憶用レジスタに出
し入れする信号の容量負荷に関するFIFOの性能に、
非常に僅かな影響しか及ばないようになっている。この
ことは、2つのバッファを(並列に)追加するごとに増
加する、各々のバス上のクロック信号の容量負荷の増加
分が、2分の1で済むことによって達成されている。
【0030】更には、各々の枝部を、2つの16バイト
のバッファを直列に接続した構成としてあるため、例え
ば読取り動作の実行中に、ある枝部の、2つの16バイ
トのバッファのうちの一方にデータが満杯に蓄積された
ならば、その蓄積したデータを、そのバッファに対して
直列に接続されている、その枝部の他方の16バイトの
バッファへ転送しつつ、それと同時に、その枝部に対し
て並列な他方の枝部において、データの蓄積を続行する
ことができる。そのため、データの蓄積にも、また一方
のバスから他方のバスへのデータの転送にも、タイム・
ロスが生じることがない。
【0031】FIFO124の動作を制御するためのロ
ジックは、FIFO制御回路123から供給されてい
る。
【0032】複数のI/Oデバイスのうちのある1つの
I/Oデバイス28が、I/Oバス32を介してシステ
ム・メモリ24ないし26へ書込みを行なう際のバンド
幅は、1バイト、2バイト、ないしは4バイト(即ち、
8ビット、16ビット、ないしは32ビット)のうちの
いずれかである。あるI/Oデバイス28がシステム・
メモリへの書込みを行なうときには、先ず最初に、第1
回目の転送分の書込みデータがFIFOバッファ125
Aまたは125Bに記憶される。すると、I/Oバス予
期アドレス発生回路120が、予期される次のアドレ
ス、即ち連続する次のアドレスを算出する。そして、こ
うして算出された連続する次のアドレスを、後続の転送
のI/Oアドレスと比較対照することによって、その後
続の転送が、連続したアドレスからの転送か否かを検証
している。もしそれが実際に、連続したアドレスからの
転送であったならば、第2回目の転送分の1バイト分な
いし複数バイト分のデータを、第1回目の転送分のデー
タを記憶したものと同じFIFOバッファ125Aまた
は125Bへ供給する。尚、FIFOバッファは、I/
Oバス32からデータを受け取る際には、最高で40メ
ガバイト/秒までの速度で非同期的にそのデータを受け
取ることができる。
【0033】以上のプロセスは、バッファ125Aまた
は125Bが、16バイトのパケット1つ分の情報で満
杯になるか、或いは、非連続のアドレスが検出されるま
で続けられる。そして、バッファ125Aが満杯になっ
た場合には、それに続く次のクロック・サイクルにおい
て、このバッファ125Aの中のデータが、バッファ1
25Cへ転送される。同様に、バッファ125Bが満杯
になったときには、このバッファ125Bの内容の全て
が、1回のクロック・サイクルの間にバッファ125D
へ転送される。こうしてバッファ125Cやバッファ1
25Dに記憶されたデータは、次に、「i486」のバ
ースト転送によって、システム・バスの動作速度でシス
テム・メモリの中へ書き込まれる。I/Oデバイスによ
るシステム・メモリへの書込みが行なわれている間中、
FIFOバッファ124のこの動作は連続して行なわれ
ており、その際にバッファ125Aと125Bとは交互
に動作して、それらバッファの一方が、みずからの内容
をみずからに接続しているバッファ125Cまたは12
5Dに転送して再び空の状態になるときに、他方のバッ
ファが、システム・メモリへ書き込むべきデータを受け
取るようになる。更にこのとき、FIFOバッファ12
4は、システム・メモリへのデータ書込み速度を最適化
している。この書込み速度の最適化は、(1)システム
・メモリへ次に書き込まれる可能性の大きいデータのバ
イトのアドレスを、FIFOバッファ124が予測する
ようにしていることと、(2)FIFOバッファ124
からシステム・バス76を介してシステム・メモリへデ
ータを書き込むときの可能最大のデータ書込み速度に、
FIFOバッファ124が対応し得るようにしてあるこ
ととによって達成されている。
【0034】一方、システム・メモリからI/Oデバイ
ス28へのデータ読取りが行なわれるときのFIFOバ
ッファ124の動作は、書込みのときの動作とは異なっ
た、次のような動作となる。先ず、システム・バス・ア
ドレス発生回路118が、最初の読取りアドレスに基づ
いて後続の読取りデータの読取りアドレスを発生し、そ
れに従って、バッファ125Cないし125Dの中にデ
ータを蓄積して行く。システム・バス76がサポートし
ているデータ転送動作は、そのバンド幅が16バイトの
転送動作であるため、システム・バス・コントローラ・
インターフェース122は、連続したデータを、16バ
イトのパケットの形でシステム・メモリから事前取出し
してバッファ125Cないし125Dに記憶させること
ができ、この事前取出しはI/Oバス32から実際に後
続のアドレスが送られてこなくても行なえるため、これ
によって転送と転送との間の待ち時間が短縮される。こ
うして事前取出しをしたデータによって、例えばバッフ
ァ125Cが満杯になったときには、バッファ125C
は、みずからの内容を1回のクロック・サイクルの間に
バッファ125Aへ転送する。バッファ125Dの場合
も同様であって、データで満杯になったときには、みず
からの内容をバッファ125Bへ転送して空の状態に戻
る。この後、こうして転送されたバッファ125Aない
し125Bの中のデータは、そのデータを読み取るべき
特定のI/Oデバイスのバス制御機構によって読み取ら
れ、この読取りの際のバンド幅は、1バイト、2バイ
ト、または4バイトである。以上のようにして、システ
ム・バス・アドレス発生回路118は、その特定のI/
Oデバイスのバス制御機構から、データの事前取出しを
停止することを命じる命令を受け取るまで、増加カウン
タとして機能し続ける。
【0035】バス−バス歩調合せ制御ロジック128
は、高速で動作するI/Oデバイスのために、システム
・メモリへの、より高速のアクセスを可能にするロジッ
クである。即ち、バス−バス歩調合せ制御ロジック12
8は、このコンピュータ・システム10の通常の調停方
式である、メモリ制御機構58による調停をオーバーラ
イドして、高速のI/Oデバイスが複数のサイクルを必
要とするデータ転送を行なっている間は、そのI/Oデ
バイスとCPU38とが交互にメモリ制御機構58にア
クセスするのではなくて、I/Oバス32の制御を保持
しているそのI/Oデバイスに、システム・メモリへの
連続的なアクセスを許可するというものである。この調
停方式によれば、あるI/Oデバイスが複数のサイクル
に亙る転送を行なっている間、例えばCPU38等のロ
ーカル・デバイスがメモリ・バスの制御の要求を出し続
けていたとしても、このバス−バス歩調合せ制御ロジッ
ク128の働きによって、そのI/Oデバイスに対し
て、メモリ・バスの制御が連続して付与され続けるよう
になる。
【0036】プログラム式I/O回路116は、バス・
インターフェース装置64のうちの一部分であって、こ
のバス・インターフェース装置64の中のレジスタのう
ち、プログラム可能なレジスタを全てを包含している部
分である。それらプログラム可能なレジスタには、個々
のレジスタが、活動状態にあるかそれとも非活動状態に
あるかを判定するためのビットを付随させてある。ま
た、それらプログラム可能なレジスタは、特に以下の諸
々の事項を規定するためのレジスタである。それら事項
とは、システム・メモリのアドレス範囲及び拡張メモリ
のアドレス範囲のうちバス・インターフェース装置64
が応答すべきアドレス範囲、キャッシュ可能であったり
キャッシュ不可能であったりする拡張メモリのアドレ
ス、システム・メモリないしキャッシュのアドレス範
囲、それに、バス・インターフェース装置64がパリテ
ィ・チェック即ち誤り検査をサポートするか否かという
こと等である。従って、プログラム式I/O回路116
は、バス・インターフェース装置64のために、このバ
ス・インターフェース装置64が存在している環境と、
このバス・インターフェース装置64の構成(コンフィ
ギュレーション)を設定しているオプションとを特定し
ている。このプログラム式I/O回路116に包含され
ているレジスタは、I/Oバス32を介して直接プログ
ラムすることができないようにしてある。従って、CP
Uレベルでシステム・バス76を介してこのプログラム
式I/O回路116と通信することのできるI/Oデバ
イスへの、アクセス権を有するユーザでなければ、この
コンピュータ・システム10をプログラムすることはで
きない。
【0037】メモリ・アドレス比較ロジック110は、
あるメモリ・アドレスが、システム・メモリに該当する
メモリ・アドレスであるのか、それともI/Oバス32
に接続されているいずれかのI/Oデバイス28に設け
られている拡張メモリに該当するメモリ・アドレスであ
るのかを判定するロジックである。システム・メモリに
しても、また拡張メモリにしても、連続していない複数
のアドレス・ブロックから構成されていることがあり得
るため、このメモリ・アドレス比較ロジック110は、
複数の比較器を含んでいる構成としてあり、それら複数
の比較器に、プログラム式I/O回路116の中の複数
のレジスタから得られる、どの境界がどのメモリに対応
しているのかを示す境界情報をロードしてある。このメ
モリ・アドレス比較ロジック110によって、あるメモ
リ・アドレスが境界情報と比較されたならば、その後に
は、バス・インターフェース装置64は、その比較結果
に応じた動作を行なえるようになる。例えば、そのとき
I/Oバス32を制御しているI/Oデバイスが読取り
ないし書込みを実行しており、その読取りないし書込み
の対象が拡張メモリであるならば、バス・インターフェ
ース装置64は、その読取りないし書込みに伴うアドレ
スをメモリ制御機構58へ受け渡す必要はないのである
から、それをしないことによって時間とメモリのバンド
幅とを節約することができる。
【0038】誤り回復支援ロジック112は、データの
パリティ誤りが検出された場合であっても、コンピュー
タ・システム10が動作を続行できるようにするための
ロジックである。いずれかのI/Oデバイス28がシス
テム・メモリ24ないし26に対して読取りないし書込
みのアクセスを行なうときには、常に、そのデータのパ
リティをチェックするようにしている。この誤り回復支
援ロジック112は、そのチェックによってパリティ誤
りが検出されたならば、プログラム式I/O回路116
の中の1つのレジスタと対話して、その検出されたパリ
ティ誤りに関するアドレスと時刻とをそのレジスタに取
り込ませる。続いて、そのレジスタの内容に対して、適
当なシステム・ソフトウェアを作用させる。例えば、C
PU38を適宜プログラムして、パリティ誤りが検出さ
れたときにはいつでもハイレベルの割込みがかかるよう
にし、また、その割込みに応答して、そのレジスタから
そのアドレスを引き出してくるようにしておく。その上
で、CPU38が、そのシステム・ソフトウェアの命令
に基づいて、コンピュータ・システムの動作をそのまま
続行すべきか、或いは、既に特定されているそのパリテ
ィ誤りの発生源の動作だけを停止すべきか等の、判断を
するようにしておけば良い。
【0039】次にキャッシュ・スヌープ・ロジック11
4について説明する。バス・インターフェース装置64
は、このキャッシュ・スヌープ・ロジック114を備え
ているために、I/Oバス32をモニタして、いずれか
のI/Oデバイスが拡張メモリへの書込みを行なうとい
う種類の書込み動作がこのI/Oバス32上に発生した
ときには、それを検出することができる。このキャッシ
ュ・スヌープ・ロジック114は、拡張メモリへの書込
み動作がI/Oバス32上に発生したならば、先ず、書
込みが行なわれているその拡張メモリが、SRAM40
へキャッシュすることのできるキャッシュ可能な拡張メ
モリであるか否かを判定する。もしその拡張メモリが、
キャッシュ可能な拡張メモリではなかったならば、破壊
されたデータがキャッシュされているという事態が発生
するおそれはない。一方、それを判定するための比較の
結果、比較肯定信号が発生して、書込みが行なわれてい
るその拡張メモリが、キャッシュ可能な拡張メモリであ
るということが表示されたならば、システム・バス76
上においてキャッシュ無効化サイクルを開始する。この
サイクルを開始したならば、CPU38に対して、SR
AM40の中の対応するアドレスを無効化することを命
じる命令を発する。更に、このキャッシュ・スヌープ・
ロジック114は、その比較肯定信号の発生原因となっ
た書込み動作に関するアドレスを記憶するための手段を
提供しており、そのアドレスを記憶することによって、
I/Oバス32に対するスヌープの動作を、最初の比較
肯定信号が検出された直後から間を置かずに続行できる
ようにしており、更にそれによって、I/Oバス32を
連続的にモニタし続けられるようにしている。
【0040】本発明は、広くは、以上に説明したコンピ
ュータ・システム10におけるシステム・バス76に関
するものであり、より詳しくは、そのシステム・バス7
6を介して行なわれるデータ転送の、データ転送速度を
変化させるメカニズムに関するものである。即ち、本発
明のメカニズムは、システム・バス76上のデータ転送
速度を変化させることによって、動作速度の異なる複数
のシステム・デバイス(システム・バス・デバイスとも
いう)を、それらのうちで他より高速で動作するシステ
ム・デバイスの性能を損なうことなく、システム・バス
上に共存させ得るようにするものである。
【0041】更に詳しくは、先ず、比較的低速で動作す
るシステム・デバイスのプログラマビリティを確保する
ために、比較的低速で動作するシステム・デバイスの入
出力アドレスを、システム・バス上において最も低い周
波数でランさせるためのアドレス範囲の中のアドレスに
割当てるようにしている。そして、このアドレス範囲の
外側では、システム・バス76上のデータ転送速度を、
そのときシステム・バス76を制御している特定のシス
テム・デバイスの動作クロック周波数に従って決定する
ようにしている。特に、上述のコンピュータ・システム
10に即していえば、システム・デバイスに該当するデ
バイスは、メモリ制御機構58(これはシステム・バス
76を制御しているときには、CPU38の代理として
機能している)と、バス・インターフェース装置64
(これはシステム・バス76を制御しているときには、
いずれかのI/Oデバイス28の代理として機能してい
る)と、DMA制御機構60との、3つのデバイスであ
る。これら3つのシステム・デバイスは、そのいずれも
が、1つのシステム・クロック発生回路(この回路は図
1では図示省略した)が発生するクロック周波数で動作
している。
【0042】更に上述のコンピュータ・システム10に
即していえば、DMA制御機構60は、20メガヘルツ
のクロック周波数で動作している。一方、バス・インタ
ーフェース装置64とメモリ制御機構58とは、40メ
ガヘルツのクロック周波数で動作している。これら20
メガヘルツのクロック周波数と40メガヘルツのクロッ
ク周波数とは、いずれもシステム・クロック発生回路か
ら供給されており、また、互いに同期して供給されてい
る。従って、DMA制御機構60は、メモリ制御機構5
8ないしバス・インターフェース装置64が動作してい
るクロック周波数の2分の1のクロック周波数で動作し
ている。ただし、本発明の適用対象は、あるシステム・
デバイスが、他のシステム・デバイスのクロック周波数
の2分の1のクロック周波数で動作するという場合に限
定されるものではない。即ち、本発明の提供対象は、よ
り高速のシステム・デバイスがシステム・バス上で動作
する際のクロック周波数と、より低速のシステム・デバ
イスがシステム・バス上で動作する際のクロック周波数
とが互いに同期しており、しかも、前者のクロック周波
数が後者のクロック周波数のちょうど整数倍であるよう
な、任意のシステムに亙るものである。
【0043】図4と図5とは、本発明に係るシステム・
バス76の動作のタイミング・チャートであり、図4は
全速度動作に関するもの、図5は2分の1速度動作に関
するものである。図4と図5とにおいて、夫々の最上段
のラインは全速度クロック周波数130(40メガヘル
ツ)を表わしており、この全速度クロック周波数は、メ
モリ制御機構58ないしバス・インターフェース装置6
4のいずれかがシステム・バス76を制御しているとき
に、それらメモリ制御機構58及びバス・インターフェ
ース装置64が動作するクロック周波数である、また、
図4と図5とにおいて、夫々の第2段目のラインは2分
の1速度クロック周波数132(20メガヘルツ)を表
わしており、この2分の1速度クロック周波数は、DM
A制御機構60がシステム・バス76を制御していると
きに、メモリ制御機構58及びバス・インターフェース
装置64が動作するクロック周波数である、既述の如
く、これら2通りのクロック周波数130と132と
は、1つのシステム・クロック発生回路から供給されて
いる。
【0044】図4と図5とにおいて、夫々の最下段のラ
インは、2分の1速度コントローラ信号134を表わし
ている。この2分の1速度コントローラ信号134は、
システム・バス76の制御情報経路82上に送出される
ネガティブ・アクティブ信号であって、そのときシステ
ム・バス76を制御しているシステム・デバイスが、全
速度(40メガヘルツ)のシステム・デバイスであるの
か、それとも2分の1速度(20メガヘルツ)のシステ
ム・デバイスであるのかを、夫々のシステム・デバイス
に対して表示する信号である。従って、そのときシステ
ム・バス76を制御しているのが、DMA制御機構60
であるならば、そのDMA制御機構60が、この2分の
1速度コントローラ信号134をロー状態(活動状態)
へ駆動しており、それによって、メモリ制御機構58と
バス・インターフェース装置64とに対して、2分の1
速度のシステム・デバイスがシステム・バス76を制御
しているということを表示している。メモリ制御機構5
8とバス・インターフェース装置64とは、この信号を
受け取ったならば、それに応答して、2分の1速度のク
ロック周波数132で動作するようになる。同様に、シ
ステム・バス76を制御しているのが、メモリ制御機構
58とバス・インターフェース装置64とのいずれかの
デバイスであるときには、システム・バス76を制御し
ているそのデバイスが、この2分の1速度コントローラ
信号134をハイ状態(非活動状態)へ駆動しており、
それによって、その他のシステム・デバイスに対して、
全速度のシステム・デバイスがシステム・バス76を制
御しているということを表示している。その他のシステ
ム・デバイスは、この信号を受け取ったならば、それに
応答して、全速度のクロック周波数130で動作するよ
うになる。
【0045】図4と図5とにおいて、夫々の第3段目の
ラインは、アドレス・ストローブ信号136を表わして
いる。このアドレス・ストローブ信号136は、システ
ム・バス・サイクルの開始を表示するネガティブ・アク
ティブ信号であり、全速度モード(図4)においては、
全速度クロック信号の1周期分(1サイクル分)の長さ
に亙って活動状態になり、また、2分の1速度モード
(図5)においては、2分の1速度クロック信号の1サ
イクル分(即ち、全速度クロック信号の2サイクル分)
の長さに亙って活動状態になる。従って、全速度サイク
ルが実行されているときには、システム・デバイスが、
その他のシステム・デバイスとの間で認識ないし通信を
するために費消する時間は、2分の1速度サイクルが実
行されているときと比べて、2分の1の時間で済む。
【0046】図4と図5とにおいて、夫々の第4段目の
ラインは、バースト動作可能信号138を表わしてい
る。このバースト動作可能信号138はネガティブ・ア
クティブ信号である。このバースト動作可能信号138
が活動状態にある期間中は、システム・バス76を介し
てデータのバースト転送を行なうことができる。既述の
如く、システム・バス・コントローラ・インターフェー
ス122(図2)は、システム・バス76上で行なう、
高性能の32ビット(4バイト)の「i486」バース
ト・プロトコルをサポートしており、このバースト転送
は、そのときのシステム・バス76の動作速度で行なわ
れる。データのバースト転送がいかなる場合に行なわれ
るのか、その一例を挙げるならば、例えばデータを、F
IFOバッファ124からシステム・バス76を介し
て、システム・メモリ24ないし26へ書き込む場合等
に行なわれる。そして、この場合には、FIFO124
の中のバッファ125Cないし125Dに記憶されてい
るデータが、そのときのシステム・バス76の動作速度
で実行される「i486」バースト転送によって、シス
テム・メモリの中へ書き込まれる。
【0047】図4に示すように、全速度モードにおいて
は、バースト動作可能信号138はアドレス・ストロー
ブ信号136が活動状態にある間、非活動状態にある。
更にバースト動作可能信号138は、アドレス・ストロ
ーブ信号136が活動状態から非活動状態へ遷移した後
も、全速度クロック信号の2サイクル分の長さに亙っ
て、その非活動状態を持続し、その後に活動状態へ遷移
して、この活動状態を全速度クロック信号の2サイクル
分に亙って持続する。そして、バースト動作可能信号1
38が、全速度クロック信号の2サイクル分に亙るこの
活動状態にある間(即ち、図4の全速度クロック信号の
第4周期及び第5周期)に、システム・メモリ24ない
し26へ、1回のデータ転送につき32ビットずつ、転
送2回分のデータを書き込むことができる。また、バー
スト動作可能信号138の、続く次の活動状態の期間
(即ち、図4の全速度クロック信号の第8周期及び第9
周期)にも、再びそれと同じだけのデータ量のバースト
・データ転送を行なうことができる。
【0048】一方、図5に示すように、2分の1速度モ
ードにおいては、バースト動作可能信号138はアドレ
ス・ストローブ信号136が活動状態にある間、非活動
状態にある。更にバースト動作可能信号138は、アド
レス・ストローブ信号136が活動状態から非活動状態
へ遷移した後も、2分の1速度クロック信号の2サイク
ル分(即ち、全速度のクロック信号の4サイクル分)の
長さに亙って、その非活動状態を持続する。その後、バ
ースト動作可能信号138は、活動状態へ遷移して、こ
の活動状態を2分の1速度クロック信号の2サイクル分
に亙って持続する。そして、バースト動作可能信号13
8が、2分の1速度クロック信号の2サイクル分に亙る
この活動状態にある間(即ち、図5の全速度クロック信
号の第7周期〜第10周期)に、システム・メモリ24
ないし26へ、1回のデータ転送につき32ビットず
つ、転送2回分のデータを書き込むことができる。ま
た、バースト動作可能信号138の、次の活動状態の期
間にも、再び同じだけのデータ量のバースト・データ転
送を行なうことができる。従って、図4に示したデータ
転送動作は、その動作の完了までに、全速度クロック信
号の9サイクル分の長さの時間を費消しており、一方、
図5のデータ転送動作では、同じ転送動作を実行するの
に、全速度クロック信号の18サイクル分(2分の1速
度クロック信号の9サイクル分)の長さの時間を費消し
ている。以上の方式とすることによって、全速度で動作
するバス・マスター(即ち、システム・バス76を制御
しているデバイスであり、バス・コントローラともい
う)のバンド幅を最適化しつつ、しかも同一のシステム
・バス上に、2分の1速度で動作するバス・コントロー
ラも同期状態で共存できるようにしているのである。
【0049】
【発明の効果】以上に説明したような構成とすることに
よって、本願発明はデュアル・バス・アーキテクチャを
採用したコンピュータ・システムのためのバス・インタ
ーフェース装置であって、動作速度の異なる複数のシス
テム・デバイスを、それらのうちで高速で動作するシス
テム・デバイスの性能を損なうことなく、システム・バ
ス上に共存させることを可能にするバス・インターフェ
ース装置を提供することができた。
【0050】以上、デュアル・バス・アーキテクチャを
採用しているコンピュータのためのバス制御ロジック・
システムの好適実施例について説明した。ただし、以上
の好適実施例の説明に関しては、その説明があくまでも
具体例を例示することを目的としたものであるというこ
と、従って本発明がその特定の実施例に限定されるもの
ではないということ、そして、本発明の概念から逸脱す
ることなく、様々な構成上の変更や改変、それに置換等
を行なえるということに注意されたい。
【図面の簡単な説明】
【図1】本発明の基本概念に従って構成したバス・イン
ターフェース装置を組み込んだコンピュータ・システム
のブロック図である。
【図2】図1のコンピュータ・システムのバス・インタ
ーフェース装置のブロック図である。
【図3】図2のバス・インターフェース装置のFIFO
バッファのブロック図である。
【図4】図1のシステム・バスの、全速度での動作を表
わしたタイミング・チャートである。
【図5】図1のシステム・バスの、2分の1速度での動
作を表わしたタイミング・チャートである。
【符号の説明】
10 コンピュータ・システム 14 CPU複合体 24、26 システム・メモリ 28 入出力(I/O)デバイス 30 メモリ・バス 32 入出力(I/O)バス 38 中央処理装置(CPU) 44 周波数制御モジュール 58 メモリ制御機構 60 ダイレクト・メモリ・アクセス(DMA)制御機
構 64 バス・インターフェース装置 76 システム・バス 78 システム・バスのデータ情報経路 80 システム・バスのアドレス情報経路 82 システム・バスの制御情報経路 130 全速度クロック信号 132 2分の1速度クロック信号 134 2分の1速度コントローラ信号 136 アドレス・ストローブ信号 138 バースト動作可能信号
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ナダー・アミニ アメリカ合衆国33434、フロリダ州 ボ カ・ラトン、ノース・ウエスト・サーティ ース・ストリート 2878番地 (72)発明者 ダリル・カーヴィス・クローマー アメリカ合衆国33433、フロリダ州 ボ カ・ラトン、パシフィック・ブールヴァー ド 5581番地、ナンバー3708 (72)発明者 リチャード・ルイス・ホーン アメリカ合衆国33437、フロリダ州 ボー イントン・ビーチ、シダー・レイク・ロー ド 5289番地、アパートメント・ナンバー 8−23 (72)発明者 アシュ・コーリ アメリカ合衆国05495、バーモント州 ウ ィリストン、カントリー・クロッシング 8番地 (72)発明者 キンバリー・キブ・センドレイン アメリカ合衆国33431、フロリダ州 ボ カ・ラトン、グリーンウッド・テラス 2600番地、ジー207 (72)発明者 カング・ンゴック・トラン アメリカ合衆国33486、フロリダ州 ボ カ・ラトン、ノース・ウエスト・サーティ ーンス・ストリート 624番地、ナンバー 34

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータ・システムにおいて、 システム・メモリと、 システム・バス上に存在しておりメモリ・バスを介して
    接続されている、前記システム・メモリへのアクセスを
    制御するメモリ制御機構と、 前記システム・バス上に存在しているバス・インターフ
    ェース装置と、 入出力バスを介して前記バス・インターフェース装置に
    接続されている入出力デバイスと、 前記メモリ制御機構に接続されており、該メモリ制御機
    構と前記メモリ・バスとを介して前記システム・メモリ
    への読み書きを行なうことができ、更に、該メモリ制御
    機構と、前記システム・バスと、前記バス・インターフ
    ェース装置と、前記入出力バスとを介して、前記入出力
    デバイスへの読み書きを行なうことができるようにして
    ある、中央処理装置と、 前記システム・バス上に存在しているダイレクト・メモ
    リ・アクセス制御機構と、を備えており、 前記メモリ制御機構と前記バス・インターフェース装置
    とは、それらのいずれかが前記システム・バスを制御し
    ているときに、それらメモリ制御機構とバス・インター
    フェース装置との各々が、前記ダイレクト・メモリ・ア
    クセス制御機構が前記システム・バス上で動作する際の
    クロック周波数の整数倍のクロック周波数で動作するよ
    うにしてあり、また、前記メモリ制御機構と前記バス・
    インターフェース装置とは、前記ダイレクト・メモリ・
    アクセス制御機構が前記システム・バスを制御している
    ときに、それらメモリ制御機構とバス・インターフェー
    ス装置との各々が、該ダイレクト・メモリ・アクセス制
    御機構の動作のクロック周波数と同一のクロック周波数
    で動作するようにしてあり、更に、前記メモリ制御機
    構、前記バス・インターフェース装置、及び前記ダイレ
    クト・メモリ・アクセス制御機構の夫々のクロック周波
    数が互いに同期するようにしてある、ことを特徴とする
    コンピュータ・システム。
  2. 【請求項2】 前記メモリ制御機構、前記バス・インタ
    ーフェース装置、及び前記ダイレクト・メモリ・アクセ
    ス制御機構は、その各々が、前記システム・バスを制御
    しているときに、該システム・バス上の制御線を駆動し
    て、該メモリ制御機構、該バス・インターフェース装
    置、及び該ダイレクト・メモリ・アクセス制御機構が該
    システム・バスを介して通信する際の周波数を、表示す
    るようにしてあることを特徴とする請求項1記載のコン
    ピュータ・システム。
  3. 【請求項3】 前記ダイレクト・メモリ・アクセス制御
    機構は、みずからが前記システム・バスを制御している
    ときに、前記メモリ制御機構ないし前記バス・インター
    フェース装置が該システム・バスを制御しているときに
    該メモリ制御機構ないし該バス・インターフェース装置
    が動作するクロック周波数の、略々2分の1のクロック
    周波数で動作するようにしてあることを特徴とする請求
    項2記載のコンピュータ・システム。
  4. 【請求項4】 前記ダイレクト・メモリ・アクセス制御
    機構は、みずからが前記システム・バスを制御している
    ときに、約20メガヘルツのクロック周波数で動作する
    ようにしてあり、前記メモリ制御機構及び前記バス・イ
    ンターフェース装置は、それらのいずれかが該システム
    ・バスを制御しているときに、約40メガヘルツのクロ
    ック周波数で動作するようにしてあることを特徴とする
    請求項3記載のコンピュータ・システム。
  5. 【請求項5】 前記メモリ制御機構は前記中央処理装置
    の代理として前記システム・バスを制御することができ
    るようにしてあり、前記バス・インターフェース装置は
    前記入出力デバイスの代理として前記システム・バスを
    制御することができるようにしてあることを特徴とする
    請求項2記載のコンピュータ・システム。
  6. 【請求項6】 前記メモリ制御機構が書込みを行なおう
    としているアドレスが所定のアドレス範囲の中にある場
    合に、該メモリ制御機構を該メモリ制御機構の最低速度
    の周波数で動作させる手段を備えていることを特徴とす
    る請求項1記載のコンピュータ・システム。
  7. 【請求項7】 異なったクロック周波数で動作する複数
    のシステム・デバイスを備えたコンピュータ・システム
    の中で、バスを介してデータを転送する際のデータ転送
    速度を制御する方法において、 システム・メモリと、システム・バス上に存在しており
    該システム・メモリへのアクセスを制御するメモリ制御
    機構とを、装備するステップと、 バス・インターフェース装置とダイレクト・メモリ・ア
    クセス制御機構とを、前記システム・バスに接続するス
    テップと、 中央処理装置を前記メモリ制御機構に接続して、該中央
    処理装置が、該メモリ制御機構を介して前記システム・
    メモリへのデータの読み書きを行なうことができるよう
    にするステップと、 前記メモリ制御機構と前記バス・インターフェース装置
    との各々を、それらのいずれかが前記システム・バスを
    制御しているときに、前記ダイレクト・メモリ・アクセ
    ス制御機構が該システム・バス上で動作する際のクロッ
    ク周波数の整数倍のクロック周波数で動作させるステッ
    プと、 前記メモリ制御機構と前記バス・インターフェース装置
    との各々を、前記ダイレクト・メモリ・アクセス制御機
    構が前記システム・バスを制御しているときに、該ダイ
    レクト・メモリ・アクセス制御機構の動作のクロック周
    波数と同一のクロック周波数で動作させるステップと、 前記メモリ制御機構、前記バス・インターフェース装
    置、及び前記ダイレクト・メモリ・アクセス制御機構の
    夫々のクロック周期を互いに同期させるステップと、を
    含んでいることを特徴とする方法。
JP4323229A 1992-01-02 1992-12-02 バス動作の動作速度を制御するようにしたバス・インターフェースを有するコンピュータ・システム Expired - Lifetime JPH07122865B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US81669392A 1992-01-02 1992-01-02
US816693 1992-01-02

Publications (2)

Publication Number Publication Date
JPH05265950A true JPH05265950A (ja) 1993-10-15
JPH07122865B2 JPH07122865B2 (ja) 1995-12-25

Family

ID=25221360

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4323229A Expired - Lifetime JPH07122865B2 (ja) 1992-01-02 1992-12-02 バス動作の動作速度を制御するようにしたバス・インターフェースを有するコンピュータ・システム

Country Status (2)

Country Link
US (1) US5761533A (ja)
JP (1) JPH07122865B2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933623A (en) * 1995-10-26 1999-08-03 Hitachi, Ltd. Synchronous data transfer system
WO1998038571A1 (fr) * 1997-02-27 1998-09-03 Mitsubishi Denki Kabushiki Kaisha Processeur de donnees
US6058439A (en) * 1997-03-31 2000-05-02 Arm Limited Asynchronous first-in-first-out buffer circuit burst mode control
EP0887740A1 (en) * 1997-06-19 1998-12-30 Canon Kabushiki Kaisha Device and method for communication between computer buses
TW406229B (en) 1997-11-06 2000-09-21 Hitachi Ltd Data process system and microcomputer
US6055584A (en) * 1997-11-20 2000-04-25 International Business Machines Corporation Processor local bus posted DMA FlyBy burst transfers
US6240480B1 (en) * 1998-05-07 2001-05-29 Advanced Micro Devices, Inc. Bus bridge that provides selection of optimum timing speed for transactions
US6539443B1 (en) * 1998-08-12 2003-03-25 Intel Corporation Bus communication and transfer rate negotiation system
US6532506B1 (en) * 1998-08-12 2003-03-11 Intel Corporation Communicating with devices over a bus and negotiating the transfer rate over the same
US7046625B1 (en) * 1998-09-30 2006-05-16 Stmicroelectronics, Inc. Method and system for routing network-based data using frame address notification
KR100578112B1 (ko) 1998-10-16 2006-07-25 삼성전자주식회사 메모리 클럭 신호를 제어하는 컴퓨터 시스템 및그 방법
US20040003164A1 (en) * 2002-06-27 2004-01-01 Patrick Boily PCI bridge and data transfer methods
WO2004008328A1 (en) * 2002-07-12 2004-01-22 Telefonaktiebolaget Lm Ericsson (Publ) Memory access from different clock domains
EP1380960B1 (en) * 2002-07-12 2010-02-24 Telefonaktiebolaget LM Ericsson (publ) Memory access from different clock domains
US7669190B2 (en) * 2004-05-18 2010-02-23 Qlogic, Corporation Method and system for efficiently recording processor events in host bus adapters
FR2875026A1 (fr) * 2004-09-03 2006-03-10 St Microelectronics Sa Dispositif programmable d'interface de commande
US7577772B2 (en) 2004-09-08 2009-08-18 Qlogic, Corporation Method and system for optimizing DMA channel selection
US20060064531A1 (en) * 2004-09-23 2006-03-23 Alston Jerald K Method and system for optimizing data transfer in networks
US7532218B1 (en) * 2005-02-01 2009-05-12 Nvidia Corporation Method and apparatus for memory training concurrent with data transfer operations
US8015428B2 (en) * 2007-06-12 2011-09-06 Renesas Electronics Corporation Processing device and clock control method
JP2010097311A (ja) * 2008-10-15 2010-04-30 Panasonic Corp 半導体装置及び半導体集積回路
US9251111B2 (en) * 2013-12-20 2016-02-02 International Business Machines Corporation Command rate configuration in data processing system

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4954951A (en) * 1970-12-28 1990-09-04 Hyatt Gilbert P System and method for increasing memory performance
JPS54128634A (en) * 1978-03-30 1979-10-05 Toshiba Corp Cash memory control system
US4245307A (en) * 1979-09-14 1981-01-13 Formation, Inc. Controller for data processing system
JPS5772465A (en) * 1980-10-23 1982-05-06 Canon Inc Digital signal converting device
JPS57101957A (en) * 1980-12-17 1982-06-24 Hitachi Ltd Storage control device
GB2132050B (en) * 1982-10-18 1986-10-22 Canon Kk Facsimile system
US4542454A (en) * 1983-03-30 1985-09-17 Advanced Micro Devices, Inc. Apparatus for controlling access to a memory
CA1228677A (en) * 1984-06-21 1987-10-27 Cray Research, Inc. Peripheral interface system
US4851990A (en) * 1987-02-09 1989-07-25 Advanced Micro Devices, Inc. High performance processor interface between a single chip processor and off chip memory means having a dedicated and shared bus structure
US5329471A (en) * 1987-06-02 1994-07-12 Texas Instruments Incorporated Emulation devices, systems and methods utilizing state machines
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
US5142672A (en) * 1987-12-15 1992-08-25 Advanced Micro Devices, Inc. Data transfer controller incorporating direct memory access channels and address mapped input/output windows
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
US5179667A (en) * 1988-09-14 1993-01-12 Silicon Graphics, Inc. Synchronized DRAM control apparatus using two different clock rates
US5193193A (en) * 1988-09-14 1993-03-09 Silicon Graphics, Inc. Bus control system for arbitrating requests with predetermined on/off time limitations
EP0398523A3 (en) * 1989-05-19 1991-08-21 Hitachi, Ltd. A device for data i/o and execution support in digital processors
EP0416331B1 (en) * 1989-08-31 1995-05-17 Yokogawa Electric Corporation Line computer
US5280486A (en) * 1990-03-16 1994-01-18 Teradyne, Inc. High speed fail processor
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

Also Published As

Publication number Publication date
JPH07122865B2 (ja) 1995-12-25
US5761533A (en) 1998-06-02

Similar Documents

Publication Publication Date Title
JPH05265950A (ja) バス動作の動作速度を制御するようにしたバス・インターフェースを有するコンピュータ・システム
JP2988501B2 (ja) パリティエラーを検出するコンピュータシステム及びその動作方法
US5255374A (en) Bus interface logic for computer system having dual bus architecture
JP2642027B2 (ja) コンピュータ・システム、アービトレーション方法及びアービトレーション装置
JPH0789340B2 (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
US7644253B2 (en) Memory hub with internal cache and/or memory access prediction
KR970000274B1 (ko) 컴퓨터 시스템 및 그의 데이타 전송을 제어하는 방법
US5826093A (en) Dual function disk drive integrated circuit for master mode and slave mode operations
US5966728A (en) Computer system and method for snooping date writes to cacheable memory locations in an expansion memory device
JPH0727493B2 (ja) ライトスルーキャッシュおよびパイプラインスヌープサイクルを備えたメモリシステムを有するパーソナルコンピュータ
JPH0727494B2 (ja) キャッシュ・スヌープ/データ無効化機能を有するコンピュータ・システム
JPH0271344A (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