JPH05242014A - コンピュータシステムおよびそのシステムメモリへのアクセスを制御する方法 - Google Patents
コンピュータシステムおよびそのシステムメモリへのアクセスを制御する方法Info
- Publication number
- JPH05242014A JPH05242014A JP4317364A JP31736492A JPH05242014A JP H05242014 A JPH05242014 A JP H05242014A JP 4317364 A JP4317364 A JP 4317364A JP 31736492 A JP31736492 A JP 31736492A JP H05242014 A JPH05242014 A JP H05242014A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- memory
- system memory
- data
- interface unit
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
(57)【要約】
【目的】 I/Oデバイスとローカルデバイス間のメモ
リバス制御を最適化する調停ロジックを設けた、二重バ
ス・コンピュータシステムのバスインタフェースユニッ
トを提供する。 【構成】 メモリバス30によるシステムメモリ24,
26へのアクセスを制御するメモリ制御装置58に設け
られた調停ロジックはCPU38とI/Oデバイス28
のいずれかがメモリバスを介してシステムメモリへのア
クセスを許可されるべきかを決めるためにCPUとI/
Oデバイスの間を調停する。バスインタフェースユニッ
ト64に設けられたロジックは、一連の所定の動作条件
に応答してメモリ制御装置の調停ロジックをオーバライ
ドし、システムメモリへの専用アクセスをI/Oデバイ
スに許可する。
リバス制御を最適化する調停ロジックを設けた、二重バ
ス・コンピュータシステムのバスインタフェースユニッ
トを提供する。 【構成】 メモリバス30によるシステムメモリ24,
26へのアクセスを制御するメモリ制御装置58に設け
られた調停ロジックはCPU38とI/Oデバイス28
のいずれかがメモリバスを介してシステムメモリへのア
クセスを許可されるべきかを決めるためにCPUとI/
Oデバイスの間を調停する。バスインタフェースユニッ
ト64に設けられたロジックは、一連の所定の動作条件
に応答してメモリ制御装置の調停ロジックをオーバライ
ドし、システムメモリへの専用アクセスをI/Oデバイ
スに許可する。
Description
【0001】
【産業上の利用分野】本発明は二重バスアーキテクチャ
・コンピュータシステムにおけるバス対バスインタフェ
ースに関し、特に、それぞれがシステムメモリにアクセ
スしようと競合している中央処理装置と入力/出力デバ
イスとの間を調停するバス対バスインタフェースデバイ
スとその方法とに関する。
・コンピュータシステムにおけるバス対バスインタフェ
ースに関し、特に、それぞれがシステムメモリにアクセ
スしようと競合している中央処理装置と入力/出力デバ
イスとの間を調停するバス対バスインタフェースデバイ
スとその方法とに関する。
【0002】
【従来の技術】一般的にコンピュータシステムにおいて
は、特にパーソナルコンピュータシステムにおいては、
データは、例えば中央処理装置(CPU)、メモリデバ
イスおよび直接メモリアクセス(DMA)制御装置との
間で転送される。さらに、データは例えば入力/出力
(I/O)デバイスのような拡張要素の間や、これらI
/Oデバイスと各種のシステムデバイスとの間で転送さ
れる。I/Oデバイスとシステムデバイスとは、数個の
ソースのいずれかから数個の宛先のいずれかまで情報が
それに沿って伝送される一連の導体を備えるコンピュー
タバスを介して相互に通信する。システムデバイスやI
/Oデバイスの多くは、バス制御装置(即ちコンピュー
タシステムを制御しうるデバイス)やバススレーブ(即
ちバス制御装置によって制御される要素)として使用す
ることができる。
は、特にパーソナルコンピュータシステムにおいては、
データは、例えば中央処理装置(CPU)、メモリデバ
イスおよび直接メモリアクセス(DMA)制御装置との
間で転送される。さらに、データは例えば入力/出力
(I/O)デバイスのような拡張要素の間や、これらI
/Oデバイスと各種のシステムデバイスとの間で転送さ
れる。I/Oデバイスとシステムデバイスとは、数個の
ソースのいずれかから数個の宛先のいずれかまで情報が
それに沿って伝送される一連の導体を備えるコンピュー
タバスを介して相互に通信する。システムデバイスやI
/Oデバイスの多くは、バス制御装置(即ちコンピュー
タシステムを制御しうるデバイス)やバススレーブ(即
ちバス制御装置によって制御される要素)として使用す
ることができる。
【0003】1個以上のバスを有するパーソナルコンピ
ュータシステムは公知である。典型的には、CPUがキ
ャッシュメモリあるいはメモリ制御装置と通信するロー
カルバスが設けられている。また、例えばDMA制御装
置のようなシステムデバイスあるいはI/Oデバイスが
メモリ制御装置を介してシステムメモリと通信するシス
テムI/Oバスが設けられている。システムI/Oバス
は、システムバスと、バスインタフェースユニットによ
り接続されたI/Oバスとを備える。I/Oデバイスは
I/Oバスを介して相互に通信する。I/Oデバイスは
システムメモリのようなシステムバスデバイスとの通信
を典型的に要求される。そのような通信は、バスインタ
フェースユニットを経てI/Oバスとシステムバスの双
方を介して行われる必要がある。
ュータシステムは公知である。典型的には、CPUがキ
ャッシュメモリあるいはメモリ制御装置と通信するロー
カルバスが設けられている。また、例えばDMA制御装
置のようなシステムデバイスあるいはI/Oデバイスが
メモリ制御装置を介してシステムメモリと通信するシス
テムI/Oバスが設けられている。システムI/Oバス
は、システムバスと、バスインタフェースユニットによ
り接続されたI/Oバスとを備える。I/Oデバイスは
I/Oバスを介して相互に通信する。I/Oデバイスは
システムメモリのようなシステムバスデバイスとの通信
を典型的に要求される。そのような通信は、バスインタ
フェースユニットを経てI/Oバスとシステムバスの双
方を介して行われる必要がある。
【0004】二重バスアーキテクチャ・コンピュータシ
ステムにおけるCPUのようなローカルバスデバイスと
システムI/Oデバイスとはメモリ制御装置を介してシ
ステムメモリへのアクセスについて競合する。システム
バスデバイスとI/Oデバイスとはシステムバスを介し
てメモリ制御装置にアクセスする。CPUはローカルバ
スを介してメモリ制御装置にアクセスする。メモリバス
を介してシステムメモリにアクセスする前に、これらの
競合しているデバイスはまずメモリ制御装置の制御を獲
得する必要がある。高速データ転送においては、システ
ムI/Oバスデバイスとローカルバスデバイスとがメモ
リバス制御装置の制御を同時に要求することがしばしば
ありうる。高速I/Oデバイスとマイクロプロセッサと
はシステムメモリに高い要求を課し、相互間の競合が生
じ、これによりシステムの性能を低下させる。このよう
に、コンピュータシステムは、ローカルバスデバイスま
たはシステムI/Oバスデバイスがシステムメモリにア
クセスすべきか否かを決めるスキーム即ち調停を行う必
要がある。
ステムにおけるCPUのようなローカルバスデバイスと
システムI/Oデバイスとはメモリ制御装置を介してシ
ステムメモリへのアクセスについて競合する。システム
バスデバイスとI/Oデバイスとはシステムバスを介し
てメモリ制御装置にアクセスする。CPUはローカルバ
スを介してメモリ制御装置にアクセスする。メモリバス
を介してシステムメモリにアクセスする前に、これらの
競合しているデバイスはまずメモリ制御装置の制御を獲
得する必要がある。高速データ転送においては、システ
ムI/Oバスデバイスとローカルバスデバイスとがメモ
リバス制御装置の制御を同時に要求することがしばしば
ありうる。高速I/Oデバイスとマイクロプロセッサと
はシステムメモリに高い要求を課し、相互間の競合が生
じ、これによりシステムの性能を低下させる。このよう
に、コンピュータシステムは、ローカルバスデバイスま
たはシステムI/Oバスデバイスがシステムメモリにア
クセスすべきか否かを決めるスキーム即ち調停を行う必
要がある。
【0005】典型的な調停スキームは先入れ先出しベー
ス(first come, first served basis)でシステムバス
の制御を許可するアービタを含む。このように、I/O
バスデバイスとローカルデバイスの双方がシステムメモ
リにアクセスを要求する場合、制御リクエストを伝送す
る最初のデバイスがデバイスメモリ制御装置の制御を許
可される。メモリバス制御装置として作用している特定
の装置がメモリバスを介してシステムメモリにデータシ
ーケンスを読み出したり、あるいは書込みを終った後、
待機しているデバイスがメモリ制御装置の制御を許可さ
れる。このプロセスは、例えばCPUやシステムのよう
なローカルバスである限り無限に継続する。I/Oデバ
イスは、メモリ制御装置の制御に対する保留のリクエス
トを有している。
ス(first come, first served basis)でシステムバス
の制御を許可するアービタを含む。このように、I/O
バスデバイスとローカルデバイスの双方がシステムメモ
リにアクセスを要求する場合、制御リクエストを伝送す
る最初のデバイスがデバイスメモリ制御装置の制御を許
可される。メモリバス制御装置として作用している特定
の装置がメモリバスを介してシステムメモリにデータシ
ーケンスを読み出したり、あるいは書込みを終った後、
待機しているデバイスがメモリ制御装置の制御を許可さ
れる。このプロセスは、例えばCPUやシステムのよう
なローカルバスである限り無限に継続する。I/Oデバ
イスは、メモリ制御装置の制御に対する保留のリクエス
トを有している。
【0006】種々のI/Oデバイスバス制御装置が種々
速度でのシステムメモリからの読出しや、それへの書込
みを管理する。ある高速I/Oデバイスは、バスインタ
フェースユニットがシステムバスを介してデータを再伝
送するのと同じ速さでデータをI/Oバスを介してバス
インタフェースユニットに伝送することができる。これ
らの高速デバイスは、システムメモリにおいて隣接する
アドレスを有する一連のデータシーケンスあるいはパケ
ットによるデータをしばしば伝送する。前述した典型的
な調停スキームでは、もしローカルバスがこれらの多数
のパケット伝送の中の1つの伝送の間システムバスの制
御に対する保留のリクエストを有しているとすれば、I
/Oデバイスにより最初のパケットが伝送されると直ち
にアービタはローカルデバイスに対するメモリバスの制
御を許可する。ローカルバスデバイスがその動作を終了
した後、メモリバスの制御は再びI/Oデバイスに許可
される。
速度でのシステムメモリからの読出しや、それへの書込
みを管理する。ある高速I/Oデバイスは、バスインタ
フェースユニットがシステムバスを介してデータを再伝
送するのと同じ速さでデータをI/Oバスを介してバス
インタフェースユニットに伝送することができる。これ
らの高速デバイスは、システムメモリにおいて隣接する
アドレスを有する一連のデータシーケンスあるいはパケ
ットによるデータをしばしば伝送する。前述した典型的
な調停スキームでは、もしローカルバスがこれらの多数
のパケット伝送の中の1つの伝送の間システムバスの制
御に対する保留のリクエストを有しているとすれば、I
/Oデバイスにより最初のパケットが伝送されると直ち
にアービタはローカルデバイスに対するメモリバスの制
御を許可する。ローカルバスデバイスがその動作を終了
した後、メモリバスの制御は再びI/Oデバイスに許可
される。
【0007】このタイプのスキーム動作は、典型的に
は、例えばCPUやI/Oデバイスのようなローカルバ
スデバイスがシステムメモリの種々の領域において動作
するので非効率的である。このように、CPUとI/O
デバイスとの間で、典型的には各一連の動作に伴い、メ
モリバスの制御を前後に許可する場合、メモリアドレス
はメモリの異なるページに当てられており、より長いメ
モリアクセス時間を要する。もし前述のように、I/O
デバイスがシステムメモリに対して、そのメモリに隣接
するアドレスを有する大きいブロックのデータを読取っ
たり、あるいは書込んでいるとすれば、メモリバスの制
御をCPUに対して解放する前にI/Oデバイスがその
データの多数のパケット転送を完了できれば有利であ
る。
は、例えばCPUやI/Oデバイスのようなローカルバ
スデバイスがシステムメモリの種々の領域において動作
するので非効率的である。このように、CPUとI/O
デバイスとの間で、典型的には各一連の動作に伴い、メ
モリバスの制御を前後に許可する場合、メモリアドレス
はメモリの異なるページに当てられており、より長いメ
モリアクセス時間を要する。もし前述のように、I/O
デバイスがシステムメモリに対して、そのメモリに隣接
するアドレスを有する大きいブロックのデータを読取っ
たり、あるいは書込んでいるとすれば、メモリバスの制
御をCPUに対して解放する前にI/Oデバイスがその
データの多数のパケット転送を完了できれば有利であ
る。
【0008】このように、メモリ制御装置は、メモリへ
のアクセスがCPUに許可される前に、隣接する位置に
おいて(即ち、情報の同じ「ページ」において)システ
ムメモリへの多数転送を読取り、あるいは書込むことが
できる。システムメモリとI/Oデバイスとの間におけ
る第2、およびその後のデータ転送に要する時間は、シ
ステムメモリの同じページにアドレスされるとメモリア
クセスが適正化されるため最小とされる。システムメモ
リとI/Oデバイスとの間の最後のデータ転送が完了す
ると、CPUは、その読取り、あるいは書込み動作を完
了するためメモリバスの制御が許可される。全体的にそ
のようなシステム動作によりデータ転送時間が節約され
る。
のアクセスがCPUに許可される前に、隣接する位置に
おいて(即ち、情報の同じ「ページ」において)システ
ムメモリへの多数転送を読取り、あるいは書込むことが
できる。システムメモリとI/Oデバイスとの間におけ
る第2、およびその後のデータ転送に要する時間は、シ
ステムメモリの同じページにアドレスされるとメモリア
クセスが適正化されるため最小とされる。システムメモ
リとI/Oデバイスとの間の最後のデータ転送が完了す
ると、CPUは、その読取り、あるいは書込み動作を完
了するためメモリバスの制御が許可される。全体的にそ
のようなシステム動作によりデータ転送時間が節約され
る。
【0009】
【発明が解決しようとする課題】従って、本発明の目的
は、I/Oバスに位置するI/Oデバイスと、ローカル
バスに位置するローカルデバイスとの間のメモリバスの
制御を最適化するに要する調停ロジックを設けた二重バ
スアーキテクチャ・コンピュータシステムにおけるバス
インタフェースユニットを提供することである。
は、I/Oバスに位置するI/Oデバイスと、ローカル
バスに位置するローカルデバイスとの間のメモリバスの
制御を最適化するに要する調停ロジックを設けた二重バ
スアーキテクチャ・コンピュータシステムにおけるバス
インタフェースユニットを提供することである。
【0010】
【課題を解決するための手段】本発明によれば、二重バ
スアーキテクチャを有するコンピュータに対するバス対
バス制御ロジックシステムと方法とが提供される。ロジ
ックはコンピュータにおいてI/Oバスとシステムバス
との中間に位置するバスインタフェースユニットに組み
込まれたアルゴリズムによって実行される。ロジック
は、中央処理装置とI/Oデバイスとの間で調停し、い
ずれに対してシステムメモリへのアクセスの優先度を与
えるべきかを決定する。ロジックは、システムメモリへ
のI/Oデバイスのアクセスを優先させるため通常のメ
モリ制御装置調停スキームに対するオーバライドとして
作用する制御信号を出力する。
スアーキテクチャを有するコンピュータに対するバス対
バス制御ロジックシステムと方法とが提供される。ロジ
ックはコンピュータにおいてI/Oバスとシステムバス
との中間に位置するバスインタフェースユニットに組み
込まれたアルゴリズムによって実行される。ロジック
は、中央処理装置とI/Oデバイスとの間で調停し、い
ずれに対してシステムメモリへのアクセスの優先度を与
えるべきかを決定する。ロジックは、システムメモリへ
のI/Oデバイスのアクセスを優先させるため通常のメ
モリ制御装置調停スキームに対するオーバライドとして
作用する制御信号を出力する。
【0011】制御ロジックは、システムメモリへのI/
Oデバイスのアクセスを動的に制御することによりシス
テムメモリへデータを出入りさせるI/Oバスの能力を
向上させるために使用される。I/Oバスを制御するI
/Oデバイスのシステムメモリに対するアクセスをある
所定条件下にロックすることによりシステム性能が向上
する。このように、バス制御ロジックは、I/O制御装
置の速度をシステムメモリのデータ転送能力に最適に適
合させる。システムバスは、データが16バイトの情報
パケットで転送されるバーストプロトコルを支援する。
I/Oバスは、I/Oバスを制御するI/Oデバイスの
タイプに応じて、1,2あるいは4バイト帯域幅でのデ
ータ転送を扱う。
Oデバイスのアクセスを動的に制御することによりシス
テムメモリへデータを出入りさせるI/Oバスの能力を
向上させるために使用される。I/Oバスを制御するI
/Oデバイスのシステムメモリに対するアクセスをある
所定条件下にロックすることによりシステム性能が向上
する。このように、バス制御ロジックは、I/O制御装
置の速度をシステムメモリのデータ転送能力に最適に適
合させる。システムバスは、データが16バイトの情報
パケットで転送されるバーストプロトコルを支援する。
I/Oバスは、I/Oバスを制御するI/Oデバイスの
タイプに応じて、1,2あるいは4バイト帯域幅でのデ
ータ転送を扱う。
【0012】システムメモリへの優先アクセスがI/O
デバイスに許可される所定の条件は以下の通りである。
(1)I/Oバスを制御するI/Oデバイスによる読取
りリクエストがシステムメモリにおける事前定義の16
バイトアドレス境界と整合していない。(2)I/Oバ
スを制御しているI/Oデバイスが読取りサイクルと共
に書込みサイクルに直ちに続く。(3)I/Oバスを制
御するI/Oデバイスがデータ転送サイクルを完了す
る。(4)I/Oバスを制御するI/Oデバイスがスト
リーミングモードでデータを読取り、あるいは書き取
る。あるいは、(5)バスインタフェースユニットにお
けるバッファスペースの半分以上がすでに、システムメ
モリに書込むべきデータで一杯か、あるいはバッファス
ペースの半分以下が、システムメモリから読み出すべき
先取りされたデータで未だ一杯になっていない。
デバイスに許可される所定の条件は以下の通りである。
(1)I/Oバスを制御するI/Oデバイスによる読取
りリクエストがシステムメモリにおける事前定義の16
バイトアドレス境界と整合していない。(2)I/Oバ
スを制御しているI/Oデバイスが読取りサイクルと共
に書込みサイクルに直ちに続く。(3)I/Oバスを制
御するI/Oデバイスがデータ転送サイクルを完了す
る。(4)I/Oバスを制御するI/Oデバイスがスト
リーミングモードでデータを読取り、あるいは書き取
る。あるいは、(5)バスインタフェースユニットにお
けるバッファスペースの半分以上がすでに、システムメ
モリに書込むべきデータで一杯か、あるいはバッファス
ペースの半分以下が、システムメモリから読み出すべき
先取りされたデータで未だ一杯になっていない。
【0013】本発明の好適実施例においては、バス対バ
ス制御ロジックは3種類のモードで動作する。これら3
つのモードのうちの第1のモードは省略時モードであっ
て、上記の最初の3条件に対するバス制御のペーシング
を決定する。第2のモード(オプション1)は前記の第
4の条件に対するペーシングを決定する。第3のモード
(オプション2)は前述の第5の条件に対するペーシン
グを決定する。本システムのユーザは、システムが自動
的に提供する省略時ペーシングモードに加えていずれか
のペーシングモード(オプション1またはオプション
2)を選択することができる。この選択はバスインタフ
ェースユニットにおけるプログラム可能レジスタの中味
をプログラムすることにより行われる。
ス制御ロジックは3種類のモードで動作する。これら3
つのモードのうちの第1のモードは省略時モードであっ
て、上記の最初の3条件に対するバス制御のペーシング
を決定する。第2のモード(オプション1)は前記の第
4の条件に対するペーシングを決定する。第3のモード
(オプション2)は前述の第5の条件に対するペーシン
グを決定する。本システムのユーザは、システムが自動
的に提供する省略時ペーシングモードに加えていずれか
のペーシングモード(オプション1またはオプション
2)を選択することができる。この選択はバスインタフ
ェースユニットにおけるプログラム可能レジスタの中味
をプログラムすることにより行われる。
【0014】省略時条件の中の第1の条件の下では、I
/Oデバイスは、特定の16バイトのパケット境界と整
合していないシステムメモリの読取りをリクエストす
る。この不整合を補償するために、システムメモリに対
するI/Oデバイスのアクセスは、16バイトの境界に
達するよう十分なデータが自動的に先取りされるまでロ
ックされる。16バイト以下のこの読取りデータは次に
I/Oバスのタイミングに対して同期化され、I/Oデ
バイス制御装置がデータを読取り始める。次に、バスイ
ンタフェースユニットが次の隣接する16バイトのパケ
ットを先取りする。この16バイトのパケットは事前定
義の境界において始まるので、16バイトのバースト転
送は可能である。
/Oデバイスは、特定の16バイトのパケット境界と整
合していないシステムメモリの読取りをリクエストす
る。この不整合を補償するために、システムメモリに対
するI/Oデバイスのアクセスは、16バイトの境界に
達するよう十分なデータが自動的に先取りされるまでロ
ックされる。16バイト以下のこの読取りデータは次に
I/Oバスのタイミングに対して同期化され、I/Oデ
バイス制御装置がデータを読取り始める。次に、バスイ
ンタフェースユニットが次の隣接する16バイトのパケ
ットを先取りする。この16バイトのパケットは事前定
義の境界において始まるので、16バイトのバースト転
送は可能である。
【0015】第2の条件下では、I/Oデバイスが書込
み転送から読取りリクエストに変更されるとき、バスイ
ンタフェースユニットのバッファスペースに残留バッフ
ァ済み書込みデータが存在しうる。一旦、I/Oデバイ
スバス制御装置が書込みから読取りに変わると、バス制
御ロジックはサイクルの終りが発生したこと、バッファ
スペースに記憶すべき書込みデータがもはや無いこと、
および読取りデータがシステムメモリからリクエストさ
れつつあることを検出する。それ以上の隣接した書込み
データが直ちに来ていないことが既知であるので、バッ
ファされたデータはシステムメモリに書込まれ、読取り
データは1アトミック・オペレーション(atomic opera
tion)においてシステムメモリから先取りされる。
み転送から読取りリクエストに変更されるとき、バスイ
ンタフェースユニットのバッファスペースに残留バッフ
ァ済み書込みデータが存在しうる。一旦、I/Oデバイ
スバス制御装置が書込みから読取りに変わると、バス制
御ロジックはサイクルの終りが発生したこと、バッファ
スペースに記憶すべき書込みデータがもはや無いこと、
および読取りデータがシステムメモリからリクエストさ
れつつあることを検出する。それ以上の隣接した書込み
データが直ちに来ていないことが既知であるので、バッ
ファされたデータはシステムメモリに書込まれ、読取り
データは1アトミック・オペレーション(atomic opera
tion)においてシステムメモリから先取りされる。
【0016】第3の条件下では、データ転送サイクルの
後I/O制御装置がI/Oバスの制御を放棄すると、バ
スインタフェースユニットのバッファスペースには残留
バッファ済みデータも存在しうる。この場合、そのよう
な残留データは自動的にシステムメモリに書込まれる。
バッファスペースの半分以上がそのような残留データを
含む場合、I/Oデバイス制御装置がI/Oバスの制御
を放棄するや否や、バス制御ロジックはメモリ制御装置
に対して信号を発生し、長さが1転送を上回る(即ち1
6バイトより大きい)バッファ中のデータはシステムメ
モリに書込む必要のあることを示す。従って、バッファ
されたデータはシステムバスを介してシステムメモリへ
のアクセスが提供される。
後I/O制御装置がI/Oバスの制御を放棄すると、バ
スインタフェースユニットのバッファスペースには残留
バッファ済みデータも存在しうる。この場合、そのよう
な残留データは自動的にシステムメモリに書込まれる。
バッファスペースの半分以上がそのような残留データを
含む場合、I/Oデバイス制御装置がI/Oバスの制御
を放棄するや否や、バス制御ロジックはメモリ制御装置
に対して信号を発生し、長さが1転送を上回る(即ち1
6バイトより大きい)バッファ中のデータはシステムメ
モリに書込む必要のあることを示す。従って、バッファ
されたデータはシステムバスを介してシステムメモリへ
のアクセスが提供される。
【0017】(前述の第4の条件に係わる)オプション
1を実行するバス制御ロジックはクロックされたS−R
ラッチを含み、そのクロックされたS−Rラッチはメモ
リ制御装置に対してロック信号を提供する。I/Oデバ
イスがストリーミングモードにおいてシステムメモリに
データを読取り、あるいは書込みをしているとき、ロッ
ク信号は、システムメモリに対する継続したアクセス
を、I/Oバスを制御しているI/Oデバイスに提供す
る。ストリーミングデータ書込み動作を検出し、かつバ
スインタフェースユニットのバッファの1個がバッファ
されたデータで一杯であると、ロックされたバースト書
込みシーケンスが、システムバスを介してシステムメモ
リに対して開始され、I/Oデバイスがストリーミング
シーケンスを終了するまで、あるいはバッファスペース
にデータが何ら残っていないようになるまで活動状態の
ままである。同様にストリーミングデータ読取り動作を
検出すると、ロックされたバースト読取りシーケンス
は、システムメモリに対して開始され、バッファスペー
スに余地がある限り、あるいはI/Oデバイスがストリ
ーミングシーケンスを終了するまで活動状態のままであ
る。
1を実行するバス制御ロジックはクロックされたS−R
ラッチを含み、そのクロックされたS−Rラッチはメモ
リ制御装置に対してロック信号を提供する。I/Oデバ
イスがストリーミングモードにおいてシステムメモリに
データを読取り、あるいは書込みをしているとき、ロッ
ク信号は、システムメモリに対する継続したアクセス
を、I/Oバスを制御しているI/Oデバイスに提供す
る。ストリーミングデータ書込み動作を検出し、かつバ
スインタフェースユニットのバッファの1個がバッファ
されたデータで一杯であると、ロックされたバースト書
込みシーケンスが、システムバスを介してシステムメモ
リに対して開始され、I/Oデバイスがストリーミング
シーケンスを終了するまで、あるいはバッファスペース
にデータが何ら残っていないようになるまで活動状態の
ままである。同様にストリーミングデータ読取り動作を
検出すると、ロックされたバースト読取りシーケンス
は、システムメモリに対して開始され、バッファスペー
スに余地がある限り、あるいはI/Oデバイスがストリ
ーミングシーケンスを終了するまで活動状態のままであ
る。
【0018】(前述した第5の条件に係わる)オプショ
ン2を実行するバス制御ロジックは、それぞれメモリ制
御装置にロック信号を出力するラッチを備える個別のロ
ジック回路を含む。バスインタフェースユニットのバッ
ファスペースの半分以上がシステムメモリに書込むべき
データですでに一杯である場合、あるいはシステムメモ
リから読取るべき先取りしたデータでバッファスペース
の半分以下をまだ一杯にすべき場合、ロック信号は、I
/Oバスを制御しているI/Oデバイスに、システムメ
モリに対する継続したアクセスを提供する。
ン2を実行するバス制御ロジックは、それぞれメモリ制
御装置にロック信号を出力するラッチを備える個別のロ
ジック回路を含む。バスインタフェースユニットのバッ
ファスペースの半分以上がシステムメモリに書込むべき
データですでに一杯である場合、あるいはシステムメモ
リから読取るべき先取りしたデータでバッファスペース
の半分以下をまだ一杯にすべき場合、ロック信号は、I
/Oバスを制御しているI/Oデバイスに、システムメ
モリに対する継続したアクセスを提供する。
【0019】
【実施例】図1において、全体的に10で示すコンピュ
ータシステムはシステムボード12とプロセッサ複合体
14とを含む。プロセッサ複合体14は、プロセッサ部
分16と、ローカルバスコネクタ22を介してプロセッ
サローカルバス20に接続されたベース部分18とを含
む。プロセッサ部分16は50MHzで動作し、ベース
部分18は40MHzで動作する。
ータシステムはシステムボード12とプロセッサ複合体
14とを含む。プロセッサ複合体14は、プロセッサ部
分16と、ローカルバスコネクタ22を介してプロセッ
サローカルバス20に接続されたベース部分18とを含
む。プロセッサ部分16は50MHzで動作し、ベース
部分18は40MHzで動作する。
【0020】システムボード12は、インタリーブした
システムメモリ24,26と入力/出力(I/O)デバ
イス28とを含む。メモリ24,26とプロセッサ複合
体14との間の通信はメモリバス30によって扱われ、
I/Oデバイス28とプロセッサ複合体14との間の通
信はI/Oバス32によってなされる。I/Oデバイス
28とメモリ24,26との間の通信はI/Oバス3
2、システムバス76およびメモリバス30によって扱
われる。I/Oバス32はMICRO CHANNEL
(登録商標)コンピュータアーキテクチャに適合すれば
よい。メモリバス30とI/Oバス32とはプロセッサ
複合体のコネクタ34を介してプロセッサ複合体のベー
ス部分18に接続されている。メモリ拡張デバイスのよ
うなI/Oデバイスは、I/Oバス32を介してコンピ
ュータシステム10に接続することができる。システム
ボード12も、通常の動作の間コンピュータシステム1
0によって用いることのできる従来のビデオ回路、タイ
ミング回路、キーボード制御回路および割込み回路(そ
れらはいずれも図示していない)を含んでもよい。
システムメモリ24,26と入力/出力(I/O)デバ
イス28とを含む。メモリ24,26とプロセッサ複合
体14との間の通信はメモリバス30によって扱われ、
I/Oデバイス28とプロセッサ複合体14との間の通
信はI/Oバス32によってなされる。I/Oデバイス
28とメモリ24,26との間の通信はI/Oバス3
2、システムバス76およびメモリバス30によって扱
われる。I/Oバス32はMICRO CHANNEL
(登録商標)コンピュータアーキテクチャに適合すれば
よい。メモリバス30とI/Oバス32とはプロセッサ
複合体のコネクタ34を介してプロセッサ複合体のベー
ス部分18に接続されている。メモリ拡張デバイスのよ
うなI/Oデバイスは、I/Oバス32を介してコンピ
ュータシステム10に接続することができる。システム
ボード12も、通常の動作の間コンピュータシステム1
0によって用いることのできる従来のビデオ回路、タイ
ミング回路、キーボード制御回路および割込み回路(そ
れらはいずれも図示していない)を含んでもよい。
【0021】プロセッサ複合体14のプロセッサ部分1
6は、好適実施例においては商品番号i486としてイ
ンテル社(Intel,Inc.)から市販されている
32ビットのマイクロプロセッサである中央処理装置
(CPU)38を含む。プロセッサ部分16はまた、ス
タテイックランダムアクセスメモリ(SRAM)40、
キャッシュ制御モジュール42、周波数制御モジュール
44、アドレスバッファ46およびデータバッファ48
を含む。ローカルバス20は、データ情報パス50、ア
ドレス情報パス52および制御情報パス54を含む。デ
ータ情報パス50は、CPU 38、SRAM 40お
よびデータバッファ48の間に設けられている。アドレ
ス情報パス52は、CPU 38、キャッシュ制御モジ
ュール42およびアドレスバッファ46の間に設けられ
ている。制御情報パス54は、CPU 38、キャッシ
ュ制御モジュール42、および周波数制御モジュール4
4の間に設けられている。さらに、アドレス情報パス5
2および制御情報パス54はキャッシュ制御モジュール
42とSRAM 40との間に設けられている。
6は、好適実施例においては商品番号i486としてイ
ンテル社(Intel,Inc.)から市販されている
32ビットのマイクロプロセッサである中央処理装置
(CPU)38を含む。プロセッサ部分16はまた、ス
タテイックランダムアクセスメモリ(SRAM)40、
キャッシュ制御モジュール42、周波数制御モジュール
44、アドレスバッファ46およびデータバッファ48
を含む。ローカルバス20は、データ情報パス50、ア
ドレス情報パス52および制御情報パス54を含む。デ
ータ情報パス50は、CPU 38、SRAM 40お
よびデータバッファ48の間に設けられている。アドレ
ス情報パス52は、CPU 38、キャッシュ制御モジ
ュール42およびアドレスバッファ46の間に設けられ
ている。制御情報パス54は、CPU 38、キャッシ
ュ制御モジュール42、および周波数制御モジュール4
4の間に設けられている。さらに、アドレス情報パス5
2および制御情報パス54はキャッシュ制御モジュール
42とSRAM 40との間に設けられている。
【0022】SRAM 40は、システムメモリ24あ
るいは26のいずれかから、あるいはI/Oデバイス2
8に位置した拡張メモリからのメモリ情報を短時間記憶
することによりキャッシュ機能を提供する。キャッシュ
制御モジュール42は、メモリ24,26のアドレス位
置を記憶するランダムアクセスメモリ(RAM)56を
組み入れている。CPU 38は、SRAM 40にキ
ャッシュされた情報をローカルバス20を介して直接ア
クセスすることができる。周波数制御モジュール44
は、50MHzプロセッサ部分16の動作を40MHz
ベース部分18のそれと同期化し、またバッファ46,
48の動作を制御する。したがって、周波数制御モジュ
ール44は、バッファ46,48によって情報が捕捉さ
れるとき、あるいはこれらのバッファに記憶された情報
が重ね書きされるときを検出する。バッファ46,48
は、メモリ24,26からの2個の書込みが同時にそこ
に記憶されるように構成されている。バッファ46,4
8は、双方向性、即ち、CPU 38によって提供され
る情報やCPUに提供される情報をラッチすることがで
きる。バッファ46,48が双方向性であるので、プロ
セッサ複合体14のプロセッサ部分16は標準的なベー
ス部分18を保ちながら交換あるいはアップグレードす
ることができる。
るいは26のいずれかから、あるいはI/Oデバイス2
8に位置した拡張メモリからのメモリ情報を短時間記憶
することによりキャッシュ機能を提供する。キャッシュ
制御モジュール42は、メモリ24,26のアドレス位
置を記憶するランダムアクセスメモリ(RAM)56を
組み入れている。CPU 38は、SRAM 40にキ
ャッシュされた情報をローカルバス20を介して直接ア
クセスすることができる。周波数制御モジュール44
は、50MHzプロセッサ部分16の動作を40MHz
ベース部分18のそれと同期化し、またバッファ46,
48の動作を制御する。したがって、周波数制御モジュ
ール44は、バッファ46,48によって情報が捕捉さ
れるとき、あるいはこれらのバッファに記憶された情報
が重ね書きされるときを検出する。バッファ46,48
は、メモリ24,26からの2個の書込みが同時にそこ
に記憶されるように構成されている。バッファ46,4
8は、双方向性、即ち、CPU 38によって提供され
る情報やCPUに提供される情報をラッチすることがで
きる。バッファ46,48が双方向性であるので、プロ
セッサ複合体14のプロセッサ部分16は標準的なベー
ス部分18を保ちながら交換あるいはアップグレードす
ることができる。
【0023】ベース部分18は、メモリ制御装置58、
直接メモリアクセス(DMA)制御装置60、中央調停
制御点(CACP)回路62、バスインタフェースユニ
ット64、およびバッファ/エラー修正コード(EC
C)回路66を含む。ベース部分18はまた、ドライバ
回路68、読出し専用メモリ(ROM)70、自己検査
回路72およびバッファ74を含む。システムバス76
は、データ情報パス78、アドレス情報パス80および
制御情報パス82を含む。データ情報パスは、バッファ
74をバスインタフェースユニット64と、バスインタ
フェースユニット64をDMA制御装置60並びにバッ
ファ/ECC回路66と、バッファ/ECC回路66を
システムメモリ24,26に接続する。アドレス情報パ
スと制御情報パスとは、それぞれメモリ制御装置58を
DMA制御装置60およびバスインタフェースユニット
64に、バスインタフェースユニット64をバッファ7
4に接続する。
直接メモリアクセス(DMA)制御装置60、中央調停
制御点(CACP)回路62、バスインタフェースユニ
ット64、およびバッファ/エラー修正コード(EC
C)回路66を含む。ベース部分18はまた、ドライバ
回路68、読出し専用メモリ(ROM)70、自己検査
回路72およびバッファ74を含む。システムバス76
は、データ情報パス78、アドレス情報パス80および
制御情報パス82を含む。データ情報パスは、バッファ
74をバスインタフェースユニット64と、バスインタ
フェースユニット64をDMA制御装置60並びにバッ
ファ/ECC回路66と、バッファ/ECC回路66を
システムメモリ24,26に接続する。アドレス情報パ
スと制御情報パスとは、それぞれメモリ制御装置58を
DMA制御装置60およびバスインタフェースユニット
64に、バスインタフェースユニット64をバッファ7
4に接続する。
【0024】メモリ制御装置58は、CPUローカルバ
ス20とシステムバス76の双方に位置し、CPU 3
8、DMA制御装置60あるいは(I/Oデバイス28
の代りに)バスインタフェースユニット64に、メモリ
バス30を介してシステムメモリ24,26へのアクセ
スを提供する。メモリ制御装置58はメモリバス30を
介してシステムメモリサイクルをシステムメモリ24,
26へ開始させる。システムメモリサイクルの間、CP
U 38、DMA制御装置60および(I/Oデバイス
28の代りに)バスインタフェースユニット64のいず
れかはメモリ制御装置58を介してシステムメモリ2
4,26へのアクセスを有する。CPU38は、ローカ
ルバス20、メモリ制御装置58およびメモリバス30
を介してシステムメモリと通信し、一方DMA制御装置
60あるいは(I/Oデバイス28の代りに)バスイン
タフェースユニット64はシステムバス76、メモリ制
御装置58およびメモリバス30を介してシステムメモ
リにアクセスする。
ス20とシステムバス76の双方に位置し、CPU 3
8、DMA制御装置60あるいは(I/Oデバイス28
の代りに)バスインタフェースユニット64に、メモリ
バス30を介してシステムメモリ24,26へのアクセ
スを提供する。メモリ制御装置58はメモリバス30を
介してシステムメモリサイクルをシステムメモリ24,
26へ開始させる。システムメモリサイクルの間、CP
U 38、DMA制御装置60および(I/Oデバイス
28の代りに)バスインタフェースユニット64のいず
れかはメモリ制御装置58を介してシステムメモリ2
4,26へのアクセスを有する。CPU38は、ローカ
ルバス20、メモリ制御装置58およびメモリバス30
を介してシステムメモリと通信し、一方DMA制御装置
60あるいは(I/Oデバイス28の代りに)バスイン
タフェースユニット64はシステムバス76、メモリ制
御装置58およびメモリバス30を介してシステムメモ
リにアクセスする。
【0025】CPU 38からI/Oバス32への読出
し、あるいは書込みサイクルに対して、アドレス情報は
システムメモリアドレス境界に対してチェックされる。
もしアドレス情報がI/O拡張メモリアドレスあるいは
I/Oポートアドレスに対応するとすれば、メモリ制御
装置58は、I/Oバス32にわたって(バスインタフ
ェースユニット64を介して)I/Oデバイス28によ
りI/OメモリサイクルあるいはI/Oポートサイクル
を開始する。CPUからI/Oメモリサイクルあるいは
I/Oポートサイクルの間、メモリ制御装置58に提供
されたアドレスが、システムバス76からI/Oバス3
2まで、これら2個のバスの中間に位置するバスインタ
フェースユニット64を介して伝送される。アドレスが
対応する拡張メモリを含むI/Oデバイス28がメモリ
アドレスをI/Oバス32から受け取る。DMA制御装
置60とバスインタフェースユニット64とが、システ
ムメモリ24,26と、I/Oデバイス28に組み込ま
れた拡張メモリとの間の情報の交換を制御する。DMA
制御装置60はまた、プロセッサ複合体14の代りに3
種類の機能を提供する。まず、DMA制御装置60は、
DMAチャンネルを構成するために小さいコンピュータ
サブシステムの制御ブロック(SCB)アーキテクチャ
を用いることにより、DMAチャンネルを構成するため
のプログラム化されたI/Oの使用の必要性を回避す
る。第2に、DMA制御装置は、遅いメモリ拡張装置と
典型的に高速のシステムメモリとの間の転送を最適化す
るためのバッファリング機能を提供する。第3に、DM
A制御装置60は、8チャンネル、32ビットの直接シ
ステムメモリアクセス機能を提供する。直接システムメ
モリアクセス機能を提供する場合、DMA制御装置60
は2モードのいずれかで機能しうる。第1のモードにお
いて、DMA制御装置60は、それが機能的にCPU
38に対するスレーブであるプログラム化されたI/O
モードにおいて機能する。第2のモードにおいて、DM
A制御装置60自体は、それがI/Oバス32を調停
し、かつ制御するシステムバスマスタとして機能する。
この第2モードの間、DMA制御装置60は先入れ先出
し(FIFO)レジスタ回路を用いている。
し、あるいは書込みサイクルに対して、アドレス情報は
システムメモリアドレス境界に対してチェックされる。
もしアドレス情報がI/O拡張メモリアドレスあるいは
I/Oポートアドレスに対応するとすれば、メモリ制御
装置58は、I/Oバス32にわたって(バスインタフ
ェースユニット64を介して)I/Oデバイス28によ
りI/OメモリサイクルあるいはI/Oポートサイクル
を開始する。CPUからI/Oメモリサイクルあるいは
I/Oポートサイクルの間、メモリ制御装置58に提供
されたアドレスが、システムバス76からI/Oバス3
2まで、これら2個のバスの中間に位置するバスインタ
フェースユニット64を介して伝送される。アドレスが
対応する拡張メモリを含むI/Oデバイス28がメモリ
アドレスをI/Oバス32から受け取る。DMA制御装
置60とバスインタフェースユニット64とが、システ
ムメモリ24,26と、I/Oデバイス28に組み込ま
れた拡張メモリとの間の情報の交換を制御する。DMA
制御装置60はまた、プロセッサ複合体14の代りに3
種類の機能を提供する。まず、DMA制御装置60は、
DMAチャンネルを構成するために小さいコンピュータ
サブシステムの制御ブロック(SCB)アーキテクチャ
を用いることにより、DMAチャンネルを構成するため
のプログラム化されたI/Oの使用の必要性を回避す
る。第2に、DMA制御装置は、遅いメモリ拡張装置と
典型的に高速のシステムメモリとの間の転送を最適化す
るためのバッファリング機能を提供する。第3に、DM
A制御装置60は、8チャンネル、32ビットの直接シ
ステムメモリアクセス機能を提供する。直接システムメ
モリアクセス機能を提供する場合、DMA制御装置60
は2モードのいずれかで機能しうる。第1のモードにお
いて、DMA制御装置60は、それが機能的にCPU
38に対するスレーブであるプログラム化されたI/O
モードにおいて機能する。第2のモードにおいて、DM
A制御装置60自体は、それがI/Oバス32を調停
し、かつ制御するシステムバスマスタとして機能する。
この第2モードの間、DMA制御装置60は先入れ先出
し(FIFO)レジスタ回路を用いている。
【0026】CACP回路62は、DMA制御装置、I
/Oデバイス制御装置および(もしI/Oデバイスをア
クセスするのであれば)CPUのアービタとして機能す
る。CACP回路62は、DMA制御装置60、メモリ
制御装置58並びにI/Oデバイスから調停制御信号を
受け取り、どのデバイスがI/Oバス32を制御しうる
か、および特定のデバイスがI/Oバスの制御し続ける
時間の長さを決定する。
/Oデバイス制御装置および(もしI/Oデバイスをア
クセスするのであれば)CPUのアービタとして機能す
る。CACP回路62は、DMA制御装置60、メモリ
制御装置58並びにI/Oデバイスから調停制御信号を
受け取り、どのデバイスがI/Oバス32を制御しうる
か、および特定のデバイスがI/Oバスの制御し続ける
時間の長さを決定する。
【0027】ドライバ回路68は、メモリ制御装置58
からシステムメモリ24,26へ制御情報およびアドレ
ス情報を提供する。ドライバ回路68は、システムメモ
リ24,26を構築するために使用されるシングルイン
ライン・メモリモジュール(SIMM)の数に基きこの
情報をドライブする。このように、ドライバ回路68
は、システムメモリ24,26のサイズに基きこれらの
システムメモリ24,26に提供される制御情報とアド
レス情報との信号強度を変える。
からシステムメモリ24,26へ制御情報およびアドレ
ス情報を提供する。ドライバ回路68は、システムメモ
リ24,26を構築するために使用されるシングルイン
ライン・メモリモジュール(SIMM)の数に基きこの
情報をドライブする。このように、ドライバ回路68
は、システムメモリ24,26のサイズに基きこれらの
システムメモリ24,26に提供される制御情報とアド
レス情報との信号強度を変える。
【0028】バッファ回路74は、プロセッサ複合体の
ベース部分18とシステムボード12との間の増幅と分
離とを行う。バッファ回路74は、I/Oバス24とバ
スインタフェースユニット64との間の境界情報をリア
ルタイムで捕捉できるようにするバッファを用いてい
る。従って、もしコンピュータシステム10が故障する
と、バッファ回路74は、コンピュータの補修作業員に
よりアクセスされて、システムが故障していたときコネ
クタ34に存在していた情報を決定することができる。
ベース部分18とシステムボード12との間の増幅と分
離とを行う。バッファ回路74は、I/Oバス24とバ
スインタフェースユニット64との間の境界情報をリア
ルタイムで捕捉できるようにするバッファを用いてい
る。従って、もしコンピュータシステム10が故障する
と、バッファ回路74は、コンピュータの補修作業員に
よりアクセスされて、システムが故障していたときコネ
クタ34に存在していた情報を決定することができる。
【0029】ROM70は、パワーアップの際、拡張メ
モリからのデータをシステムにまず位置させることによ
りシステム10を形成させる。ベース部分18内の複数
の位置に接続された自己検査回路72が複数の自己検査
の特徴を提供する。自己検査回路72はバッファ回路7
4にアクセスして、故障状態が存在しているか否か決定
し、また、システム10のパワーアップ時ベース部分1
8のその他の主要な要素を検査してシステムが動作しう
る状態になっているか決定する。
モリからのデータをシステムにまず位置させることによ
りシステム10を形成させる。ベース部分18内の複数
の位置に接続された自己検査回路72が複数の自己検査
の特徴を提供する。自己検査回路72はバッファ回路7
4にアクセスして、故障状態が存在しているか否か決定
し、また、システム10のパワーアップ時ベース部分1
8のその他の主要な要素を検査してシステムが動作しう
る状態になっているか決定する。
【0030】図2には、図1に示すシステムのバスイン
タフェースユニット64の概略ブロック図が示されてい
る。バスインタフェースユニット64は、システムバス
76とI/Oバス32との間で双方向の高速インタフェ
ースを提供することにより本発明実行のための基盤を提
供する。
タフェースユニット64の概略ブロック図が示されてい
る。バスインタフェースユニット64は、システムバス
76とI/Oバス32との間で双方向の高速インタフェ
ースを提供することにより本発明実行のための基盤を提
供する。
【0031】バスインタフェースユニット64は、シス
テムバスドライバ/レシーバ回路102、I/Oバスド
ライバ/レシーバ回路104、およびそれらの間で電気
的に接続された複数の制御ロジック回路を含んでいる。
ドライバ/レシーバ回路102は、システムバス76か
ら受け取った信号を適当なバスインタフェースユニット
制御ロジック回路まで導き、かつバスインタフェースユ
ニット制御ロジック回路から信号を受け取り、その信号
をシステムバス76まで導くステアリングロジックを含
む。I/Oバスドライバ/レシーバ回路104は、I/
Oバス32から受け取った信号を適当なバスインタフェ
ースユニット制御ロジック回路まで導き、かつバスイン
タフェースユニット制御ロジック回路から信号を受け取
り、その信号をI/Oバス32まで導くステアリングロ
ジックを含む。
テムバスドライバ/レシーバ回路102、I/Oバスド
ライバ/レシーバ回路104、およびそれらの間で電気
的に接続された複数の制御ロジック回路を含んでいる。
ドライバ/レシーバ回路102は、システムバス76か
ら受け取った信号を適当なバスインタフェースユニット
制御ロジック回路まで導き、かつバスインタフェースユ
ニット制御ロジック回路から信号を受け取り、その信号
をシステムバス76まで導くステアリングロジックを含
む。I/Oバスドライバ/レシーバ回路104は、I/
Oバス32から受け取った信号を適当なバスインタフェ
ースユニット制御ロジック回路まで導き、かつバスイン
タフェースユニット制御ロジック回路から信号を受け取
り、その信号をI/Oバス32まで導くステアリングロ
ジックを含む。
【0032】バスインタフェースユニット制御ロジック
回路はシステムバスからI/Oバスへの変換ロジック1
06、I/Oバスからシステムバスへの変換ロジック1
08、メモリアドレス比較ロジック110、エラー回復
支援ロジック112、およびキャッシュ・スヌーピング
(snooping)ロジック114を含む。プログラ
ム化されたI/O回路116はまた、システムドライバ
/レシーバ回路102に電気的に結合されている。
回路はシステムバスからI/Oバスへの変換ロジック1
06、I/Oバスからシステムバスへの変換ロジック1
08、メモリアドレス比較ロジック110、エラー回復
支援ロジック112、およびキャッシュ・スヌーピング
(snooping)ロジック114を含む。プログラ
ム化されたI/O回路116はまた、システムドライバ
/レシーバ回路102に電気的に結合されている。
【0033】システムバスからI/Oバスへの変換ロジ
ック106は、DMA制御装置60あるいは(CPU
38の代りの)メモリ制御装置58が、システムバスと
して作用して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でのサイクルを終了する。
ック106は、DMA制御装置60あるいは(CPU
38の代りの)メモリ制御装置58が、システムバスと
して作用して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でのサイクルを終了する。
【0034】I/Oバスからシステムバスへの変換ロジ
ック108は、システムバスアドレス発生回路118、
I/Oバス予期アドレス発生回路120、システムバス
制御装置インタフェース122、FIFOバッファ12
4、I/Oバススレーブインタフェース126およびバ
ス対バス・ペーシング制御ロジック128を含む。シス
テムバス制御装置インタフェース122は、40MHz
で動作する高性能の32ビット(4バイト)i486バ
ーストプロトコルを支援する。バーストモードにおいて
4,8および16バイトのデータ転送と、非バーストモ
ードにおいて1から4バイトまでのデータ転送とが行わ
れる。I/Oバススレーブインタフェース126は、シ
ステムバス76のスレーブデバイス向けの動作について
I/Oバス32をモニタし、I/Oバス32向けの動作
を無視する。I/Oバススレーブインタフェース126
がピックアップした全てのサイクルは、FIFOバッフ
ァ124およびシステムバス制御装置インタフェース1
22まで通される。
ック108は、システムバスアドレス発生回路118、
I/Oバス予期アドレス発生回路120、システムバス
制御装置インタフェース122、FIFOバッファ12
4、I/Oバススレーブインタフェース126およびバ
ス対バス・ペーシング制御ロジック128を含む。シス
テムバス制御装置インタフェース122は、40MHz
で動作する高性能の32ビット(4バイト)i486バ
ーストプロトコルを支援する。バーストモードにおいて
4,8および16バイトのデータ転送と、非バーストモ
ードにおいて1から4バイトまでのデータ転送とが行わ
れる。I/Oバススレーブインタフェース126は、シ
ステムバス76のスレーブデバイス向けの動作について
I/Oバス32をモニタし、I/Oバス32向けの動作
を無視する。I/Oバススレーブインタフェース126
がピックアップした全てのサイクルは、FIFOバッフ
ァ124およびシステムバス制御装置インタフェース1
22まで通される。
【0035】I/Oバスからシステムバスへの変換ロジ
ック108はI/Oデバイス28が、システムバス76
をアクセスすることによりシステムメモリ24,26か
ら読み出したり、あるいはそれらへ書込むI/Oバス制
御装置として作用するに要する手段を提供する。これら
の動作のいずれかにおいて、I/OデバイスがI/Oバ
スを制御する。I/Oデバイスの速度で動作している非
同期I/Oバスインタフェース126により、バスイン
タフェースユニット64は、メモリアドレスを復号化す
るため、かつ読取りあるいは書込みサイクルがシステム
メモリ24あるいは26用のものであることを決定する
ため、I/Oバス32上のI/Oデバイス制御装置に対
するスレーブとして作用しうるようにされる。同時に、
システムバス制御装置インタフェース122は、バスイ
ンタフェースユニット64がシステムバス74での制御
装置として作用しうるようにする。メモリ制御装置58
(図2)は、バスインタフェースユニット64に対する
スレーブとして作用し、インタフェース64にシステム
メモリから読み出したデータを提供するか、あるいはデ
ータをシステムメモリに書込む。システムメモリからの
読取り、あるいはそこへの書込みは、FIFOバッファ
124を介して達成される。そのFIFOバッファ12
4のブロック図を図3に示す。
ック108はI/Oデバイス28が、システムバス76
をアクセスすることによりシステムメモリ24,26か
ら読み出したり、あるいはそれらへ書込むI/Oバス制
御装置として作用するに要する手段を提供する。これら
の動作のいずれかにおいて、I/OデバイスがI/Oバ
スを制御する。I/Oデバイスの速度で動作している非
同期I/Oバスインタフェース126により、バスイン
タフェースユニット64は、メモリアドレスを復号化す
るため、かつ読取りあるいは書込みサイクルがシステム
メモリ24あるいは26用のものであることを決定する
ため、I/Oバス32上のI/Oデバイス制御装置に対
するスレーブとして作用しうるようにされる。同時に、
システムバス制御装置インタフェース122は、バスイ
ンタフェースユニット64がシステムバス74での制御
装置として作用しうるようにする。メモリ制御装置58
(図2)は、バスインタフェースユニット64に対する
スレーブとして作用し、インタフェース64にシステム
メモリから読み出したデータを提供するか、あるいはデ
ータをシステムメモリに書込む。システムメモリからの
読取り、あるいはそこへの書込みは、FIFOバッファ
124を介して達成される。そのFIFOバッファ12
4のブロック図を図3に示す。
【0036】図3に示すように、FIFOバッファ12
4は、二重ポートを備える非同期性の双方向記憶装置で
あって、システムと、I/Oバス76および32との間
でデータ情報を一時的に記憶する。FIFOバッファ1
24は、4個の16バイトバッファ125A〜125D
と、FIFO制御回路123とを有する。4個のバッフ
ァ125A〜125Dは、データをI/Oバス制御装置
およびシステムバススレーブへ、かつそこからバッファ
することによりI/Oバス32とシステムバス76とを
同時に動作させることができるようにする。FIFOバ
ッファ124は、2個の32バイトのバッファ(125
A/125Bと125C/125D)として物理的に構
成されている。システムバス制御装置インタフェース1
22とI/Oバススレーブインタフェース126とはそ
れぞれ一方の32バイトのバッファを制御し、一方他方
の32バイトのバッファはそれらに対してトランスペア
レントに動作する。32バイトのバッファの双方共読取
り、および書込み動作に使用される。
4は、二重ポートを備える非同期性の双方向記憶装置で
あって、システムと、I/Oバス76および32との間
でデータ情報を一時的に記憶する。FIFOバッファ1
24は、4個の16バイトバッファ125A〜125D
と、FIFO制御回路123とを有する。4個のバッフ
ァ125A〜125Dは、データをI/Oバス制御装置
およびシステムバススレーブへ、かつそこからバッファ
することによりI/Oバス32とシステムバス76とを
同時に動作させることができるようにする。FIFOバ
ッファ124は、2個の32バイトのバッファ(125
A/125Bと125C/125D)として物理的に構
成されている。システムバス制御装置インタフェース1
22とI/Oバススレーブインタフェース126とはそ
れぞれ一方の32バイトのバッファを制御し、一方他方
の32バイトのバッファはそれらに対してトランスペア
レントに動作する。32バイトのバッファの双方共読取
り、および書込み動作に使用される。
【0037】各FIFO 124A,125B,125
C,125Dは、各FIFOに物理的に関連している
か、あるいは論理的に関連しているアドレスレジスタ・
セクションを有する。データがI/Oバス32からFI
FO 125Aまで転送されるにつれて、アドレスが隣
接しているとして、16バイトのバッファが16バイト
のデータで一杯になるまでデータは累積される。もし非
隣接アドレスがアドレス動作により検出されるとすれ
ば、FIFO 125Aは記憶されたデータをFIFO
125Cまで転送し、同時にFIFO 125Bは新
しい非隣接アドレスからこのデータを受け取り始める。
FIFO 125Bは、16バイトのデータで一杯とな
るか、あるいは別の非隣接アドレスが検出されるまで丁
度FIFO125Aのように継続する。次に、FIFO
125Bは記憶されたデータをFIFO 125Dま
で転送し、FIFO 125Aは再びデータを記憶し始
める。このように、非隣接アドレスデータの4個の16
バイトブロックまで記憶することができる。
C,125Dは、各FIFOに物理的に関連している
か、あるいは論理的に関連しているアドレスレジスタ・
セクションを有する。データがI/Oバス32からFI
FO 125Aまで転送されるにつれて、アドレスが隣
接しているとして、16バイトのバッファが16バイト
のデータで一杯になるまでデータは累積される。もし非
隣接アドレスがアドレス動作により検出されるとすれ
ば、FIFO 125Aは記憶されたデータをFIFO
125Cまで転送し、同時にFIFO 125Bは新
しい非隣接アドレスからこのデータを受け取り始める。
FIFO 125Bは、16バイトのデータで一杯とな
るか、あるいは別の非隣接アドレスが検出されるまで丁
度FIFO125Aのように継続する。次に、FIFO
125Bは記憶されたデータをFIFO 125Dま
で転送し、FIFO 125Aは再びデータを記憶し始
める。このように、非隣接アドレスデータの4個の16
バイトブロックまで記憶することができる。
【0038】さらに、2個の32バイトのバッファを並
列に置くことにより、それらの間でデータの読取り、書
込みがトグルでき、そのため基本的に連続した読取り、
あるいは書込み機能を提供する。
列に置くことにより、それらの間でデータの読取り、書
込みがトグルでき、そのため基本的に連続した読取り、
あるいは書込み機能を提供する。
【0039】さらに、32バイトのバッファを、他のI
/Oバス32あるいはシステムバス26に結合された2
個の16バイトのバッファセクションに分割することに
より、クロッキングして記憶レジスタに出し入れする信
号に対する容量性ローディングに関連したFIFOの性
能に対するインパクトを最小にして記憶バッファの数を
増すことができる。このことが可能なのは、(並列に)
追加した2個のバッファ毎に容量性ローディングの半分
のみを各バスのクロック信号のローディングに追加する
からである。
/Oバス32あるいはシステムバス26に結合された2
個の16バイトのバッファセクションに分割することに
より、クロッキングして記憶レジスタに出し入れする信
号に対する容量性ローディングに関連したFIFOの性
能に対するインパクトを最小にして記憶バッファの数を
増すことができる。このことが可能なのは、(並列に)
追加した2個のバッファ毎に容量性ローディングの半分
のみを各バスのクロック信号のローディングに追加する
からである。
【0040】さらに、各レッグ(leg)において2個の
16バイトのバッファを直列に置くことにより、例えば
読取り動作において16バイトのバッファの一方がデー
タで一杯になると、他の平行のレッグがデータを累積し
ている間にデータをシリーズに他方の16バイトのバッ
ファまで転送できる。従って、データの累積、あるいは
一方のバスから他方のバスまでのデータの転送のいずれ
においても時間の損失がない。
16バイトのバッファを直列に置くことにより、例えば
読取り動作において16バイトのバッファの一方がデー
タで一杯になると、他の平行のレッグがデータを累積し
ている間にデータをシリーズに他方の16バイトのバッ
ファまで転送できる。従って、データの累積、あるいは
一方のバスから他方のバスまでのデータの転送のいずれ
においても時間の損失がない。
【0041】FIFO 124の動作を制御するための
ロジックはFIFO制御回路123によって供給され
る。
ロジックはFIFO制御回路123によって供給され
る。
【0042】特定のI/Oデバイス28は、1,2ある
いは4バイト(即ち、8,16あるいは32ビット)の
いずれかの帯域幅においてI/Oバスを介してシステム
メモリ24または26へ書込むことができる。I/Oデ
バイス28によるシステムメモリへの書込みの間、書込
みデータの最初の転送分はまずFIFOバッファ125
Aあるいは125Bに記憶される。I/Oバス予期アド
レス発生回路120は次に予期される、即ち隣接するア
ドレスを計算する。次の隣接するアドレスは後続のI/
Oアドレスに対してチェックされ、後続の転送分が隣接
しているか否か確認する。もし隣接しているとすれば、
第2のバイトの書込みデータが同じFIFOバッファ1
25Aあるいは125Bまで送られる。FIFOはI/
Oバス32から毎秒40メガバイトまでの非同期速度で
データを受け取る。
いは4バイト(即ち、8,16あるいは32ビット)の
いずれかの帯域幅においてI/Oバスを介してシステム
メモリ24または26へ書込むことができる。I/Oデ
バイス28によるシステムメモリへの書込みの間、書込
みデータの最初の転送分はまずFIFOバッファ125
Aあるいは125Bに記憶される。I/Oバス予期アド
レス発生回路120は次に予期される、即ち隣接するア
ドレスを計算する。次の隣接するアドレスは後続のI/
Oアドレスに対してチェックされ、後続の転送分が隣接
しているか否か確認する。もし隣接しているとすれば、
第2のバイトの書込みデータが同じFIFOバッファ1
25Aあるいは125Bまで送られる。FIFOはI/
Oバス32から毎秒40メガバイトまでの非同期速度で
データを受け取る。
【0043】このプロセスは、バッファ125Aあるい
は125Bのいずれかが16バイトの情報パケットで一
杯になるか、あるいは非隣接アドレスが検出されるまで
継続する。次のクロックサイクルにおいて、バッファ1
25Aが一杯であると想定すれば、バッファ125Aの
データはバッファ125Aまで転送される。同様に、バ
ッファ125Bが一杯である場合、その中味の全ては単
一のクロックサイクルでバッファ125Dまで転送され
る。次に、バッファ125Cおよび125Dに記憶され
たデータは、システムバスの動作速度でi486バース
ト転送を介してシステムメモリに書込まれる。I/Oデ
バイスによるシステムメモリへの書込みの間FIFOバ
ッファ124の動作はこのように連続的であり、バッフ
ァ125Aと125Bとの間で交番し、一方がシステム
メモリに書込むべきデータを受け取っている間にバッフ
ァ125Aと125Bの各々は、それぞれデータを隣接
するバッファ125Cあるいは125Dに移し空にされ
る。次に、FIFOバッファ124は、(i)メモリに
書込まれる次にありうるバイトのデータのアドレスを予
測し、(ii)システムバス76を介するFIFOバッフ
ァからシステムメモリまでの書込みデータの最大速度に
適合することによりシステムメモリへのデータ書込み速
度を最適化する。
は125Bのいずれかが16バイトの情報パケットで一
杯になるか、あるいは非隣接アドレスが検出されるまで
継続する。次のクロックサイクルにおいて、バッファ1
25Aが一杯であると想定すれば、バッファ125Aの
データはバッファ125Aまで転送される。同様に、バ
ッファ125Bが一杯である場合、その中味の全ては単
一のクロックサイクルでバッファ125Dまで転送され
る。次に、バッファ125Cおよび125Dに記憶され
たデータは、システムバスの動作速度でi486バース
ト転送を介してシステムメモリに書込まれる。I/Oデ
バイスによるシステムメモリへの書込みの間FIFOバ
ッファ124の動作はこのように連続的であり、バッフ
ァ125Aと125Bとの間で交番し、一方がシステム
メモリに書込むべきデータを受け取っている間にバッフ
ァ125Aと125Bの各々は、それぞれデータを隣接
するバッファ125Cあるいは125Dに移し空にされ
る。次に、FIFOバッファ124は、(i)メモリに
書込まれる次にありうるバイトのデータのアドレスを予
測し、(ii)システムバス76を介するFIFOバッフ
ァからシステムメモリまでの書込みデータの最大速度に
適合することによりシステムメモリへのデータ書込み速
度を最適化する。
【0044】システムメモリからI/Oデバイス28へ
のデータの読取りの間、FIFOバッファ124は差動
的に動作する。システムバスアドレス発生回路118
は、初期の読取りアドレスを使用して読取りデータの後
続の読取りアドレスを発生させ、バッファ125Cまた
は125Dにおいてデータを累積する。システムバスが
16バイトの帯域幅での転送を支援するので、システム
制御インタフェース122は16バイトパケットの隣接
データを先取りし、I/Oバス32が実際に後続のアド
レスを提供しなくともバッファ125Cまたは125D
にデータを記憶することにより転送間の待ち時間を低減
させる。バッファ125Cが先取りしたデータで一杯と
なると、その中味を1クロックサイクルでバッファ12
5Aへ転送する。同様に、バッファ125Dは一杯とな
るとバッファ125Bにデータを移し空となる。次に、
バッファ125Aおよび125B内のデータは、1,2
または4バイトの帯域幅で特定のI/Oデバイス制御装
置により読取ることができる。このように、システムバ
スアドレス発生回路118は、I/O制御装置によりデ
ータの先取りを停止するよう命令されるまで増分カウン
タとして機能する。
のデータの読取りの間、FIFOバッファ124は差動
的に動作する。システムバスアドレス発生回路118
は、初期の読取りアドレスを使用して読取りデータの後
続の読取りアドレスを発生させ、バッファ125Cまた
は125Dにおいてデータを累積する。システムバスが
16バイトの帯域幅での転送を支援するので、システム
制御インタフェース122は16バイトパケットの隣接
データを先取りし、I/Oバス32が実際に後続のアド
レスを提供しなくともバッファ125Cまたは125D
にデータを記憶することにより転送間の待ち時間を低減
させる。バッファ125Cが先取りしたデータで一杯と
なると、その中味を1クロックサイクルでバッファ12
5Aへ転送する。同様に、バッファ125Dは一杯とな
るとバッファ125Bにデータを移し空となる。次に、
バッファ125Aおよび125B内のデータは、1,2
または4バイトの帯域幅で特定のI/Oデバイス制御装
置により読取ることができる。このように、システムバ
スアドレス発生回路118は、I/O制御装置によりデ
ータの先取りを停止するよう命令されるまで増分カウン
タとして機能する。
【0045】バス対バス・ペーシング制御ロジック12
8は、高速I/Oデバイスに対してシステムメモリへの
より速いアクセスを生じる。I/OデバイスとCPUと
の間のメモリ制御装置58へのアクセスを交番するより
もむしろ、多数回のサイクルを要するより速いデバイス
によるデータの転送の間、I/Oバス32を制御してい
るI/Oデバイスにシステムメモリへの割込みのないア
クセスを許容することにより、バス対バス・ペーシング
制御ロジック128はシステム10の通常のメモリ制御
装置調停スキームをオーバライドする。このように、例
えばCPUのようなローカルデバイスが、I/Oデバイ
スによる多数回サイクル伝送の間メモリバスの制御に対
して保留のリクエストを有しているとしても、バス対バ
ス・ペーシング制御ロジック128は、I/Oデバイス
に対してメモリバスを引続き制御することを許容する。
8は、高速I/Oデバイスに対してシステムメモリへの
より速いアクセスを生じる。I/OデバイスとCPUと
の間のメモリ制御装置58へのアクセスを交番するより
もむしろ、多数回のサイクルを要するより速いデバイス
によるデータの転送の間、I/Oバス32を制御してい
るI/Oデバイスにシステムメモリへの割込みのないア
クセスを許容することにより、バス対バス・ペーシング
制御ロジック128はシステム10の通常のメモリ制御
装置調停スキームをオーバライドする。このように、例
えばCPUのようなローカルデバイスが、I/Oデバイ
スによる多数回サイクル伝送の間メモリバスの制御に対
して保留のリクエストを有しているとしても、バス対バ
ス・ペーシング制御ロジック128は、I/Oデバイス
に対してメモリバスを引続き制御することを許容する。
【0046】プログラム化I/O回路116は、バスイ
ンタフェースユニット64内でプログラム可能であるレ
ジスタの全てを包含しているバスインタフェースユニッ
ト64の一部である。レジスタは、特定のレジスタが活
動状態か非活動状態かを決定するのに関連したビットを
有している。とりわけ、これらのレジスタは、バスイン
タフェースユニット64が応答するシステムメモリおよ
び拡張メモリアドレス範囲、キャシュ可能か、あるいは
キャシュ不可能かのいずれかである拡張メモリアドレ
ス、システムメモリあるいはキャシュメモリ範囲、およ
びパリティあるいはエラーチェックがバスインタフェー
スユニットにより支援されているか否かを定義する。し
たがって、プログラム化I/O回路116はバスインタ
フェースユニット64に対して、それが位置している環
境や、それが形成されているオプションを識別する。プ
ログラム化I/O回路116におけるレジスタは、I/
Oバス32を介して直接プログラム化できない。したが
って、システム10をプログラムするために、ユーザ
は、CPUレベルでプログラム化I/O回路116へシ
ステムバスを介して通信しうるI/Oデバイスへのアク
セスを有する必要がある。
ンタフェースユニット64内でプログラム可能であるレ
ジスタの全てを包含しているバスインタフェースユニッ
ト64の一部である。レジスタは、特定のレジスタが活
動状態か非活動状態かを決定するのに関連したビットを
有している。とりわけ、これらのレジスタは、バスイン
タフェースユニット64が応答するシステムメモリおよ
び拡張メモリアドレス範囲、キャシュ可能か、あるいは
キャシュ不可能かのいずれかである拡張メモリアドレ
ス、システムメモリあるいはキャシュメモリ範囲、およ
びパリティあるいはエラーチェックがバスインタフェー
スユニットにより支援されているか否かを定義する。し
たがって、プログラム化I/O回路116はバスインタ
フェースユニット64に対して、それが位置している環
境や、それが形成されているオプションを識別する。プ
ログラム化I/O回路116におけるレジスタは、I/
Oバス32を介して直接プログラム化できない。したが
って、システム10をプログラムするために、ユーザ
は、CPUレベルでプログラム化I/O回路116へシ
ステムバスを介して通信しうるI/Oデバイスへのアク
セスを有する必要がある。
【0047】メモリアドレス比較ロジック110は、メ
モリアドレスがシステムメモリに対応するか、あるいは
I/Oバス32に結合されたI/Oデバイス28に位置
している拡張メモリに対応するか否かを決定する。シス
テムメモリ並びに拡張メモリはアドレスの非隣接ブロッ
クに存在しうるので、メモリアドレス比較ロジック11
0は、プログラム化I/O回路116のレジスタからの
境界情報をロードされた複数の比較器を含み、いずれの
境界がいずれのメモリに対応するかを指示する。メモリ
アドレス比較ロジックにより特定のメモリアドレスが境
界情報と比較された後、バスインタフェースユニットは
そのように再活動状態(react)となる。例えば、もし
I/Oバス32を制御しているI/Oデバイス32が拡
張メモリからデータを読み出したり、あるいはそこへ書
込んでいるとすれば、バスインタフェース回路はそのア
ドレスをメモリ制御装置58へ通す必要はなく、そのた
め時間とメモリ帯域幅とを節約する。
モリアドレスがシステムメモリに対応するか、あるいは
I/Oバス32に結合されたI/Oデバイス28に位置
している拡張メモリに対応するか否かを決定する。シス
テムメモリ並びに拡張メモリはアドレスの非隣接ブロッ
クに存在しうるので、メモリアドレス比較ロジック11
0は、プログラム化I/O回路116のレジスタからの
境界情報をロードされた複数の比較器を含み、いずれの
境界がいずれのメモリに対応するかを指示する。メモリ
アドレス比較ロジックにより特定のメモリアドレスが境
界情報と比較された後、バスインタフェースユニットは
そのように再活動状態(react)となる。例えば、もし
I/Oバス32を制御しているI/Oデバイス32が拡
張メモリからデータを読み出したり、あるいはそこへ書
込んでいるとすれば、バスインタフェース回路はそのア
ドレスをメモリ制御装置58へ通す必要はなく、そのた
め時間とメモリ帯域幅とを節約する。
【0048】エラー回復支援ロジック116は、たとえ
データパリティエラーが検出されたとしてもシステム1
0が動作を続行できるようにする。I/Oデバイス28
のシステムメモリ24または26へのいずれかの読取
り、あるいは書込みアクセス時データのパリティがチェ
ックされる。支援ロジック112は、プログラム化I/
O回路112のレジスタと対活し、検出されたパリティ
エラーのアドレスと時間とを捕捉する。次いで、このレ
ジスタの中味は、適当なシステムソフトウェアにより活
用することができる。例えば、CPU 38を高レベル
割込みに対してプログラム化して、パリティエラーが検
出されるといつでもレジスタからアドレスを引き出すこ
とができる。その場合、CPUは、システムソフトウェ
アの命令に基き、システム動作を継続するか、あるいは
パリティエラーの識別されたソースの動作を単に終了さ
せるべきか判断しうる。
データパリティエラーが検出されたとしてもシステム1
0が動作を続行できるようにする。I/Oデバイス28
のシステムメモリ24または26へのいずれかの読取
り、あるいは書込みアクセス時データのパリティがチェ
ックされる。支援ロジック112は、プログラム化I/
O回路112のレジスタと対活し、検出されたパリティ
エラーのアドレスと時間とを捕捉する。次いで、このレ
ジスタの中味は、適当なシステムソフトウェアにより活
用することができる。例えば、CPU 38を高レベル
割込みに対してプログラム化して、パリティエラーが検
出されるといつでもレジスタからアドレスを引き出すこ
とができる。その場合、CPUは、システムソフトウェ
アの命令に基き、システム動作を継続するか、あるいは
パリティエラーの識別されたソースの動作を単に終了さ
せるべきか判断しうる。
【0049】キャッシュ・スヌーピングロジック114
は、I/Oバス32にI/Oデバイスを位置させること
により拡張メモリへのいずれかの書込みにつきバスイン
タフェースユニット64がI/Oバス32をモニタする
ことができるようにする。スヌーピングロジックはま
ず、拡張メモリへの書込みが、SRAM 40において
キャッシュ可能である拡張メモリにおいて発生したかを
まず決定する。もしそれがキャッシュ可能の拡張メモリ
でないとすれば、確認されたデータがキャッシュされる
危険性はない。しかしながら、もし、肯定的な比較結果
が、書込みがキャッシュ可能拡張メモリにおいて発生し
たことを示すとすれば、システムバス76にわたってキ
ャッシュ無効サイクルが開始される。このようにCPU
は、SRAM 40における対応するアドレスを無効に
するように命令される。キャッシュ・スヌーピングロジ
ック114は、肯定的比較結果のアドレスを記憶する手
段を提供する。そのため、I/Oバスのスヌーピングが
最初の肯定的比較結果の検出の直後に続行し、それによ
りI/Oバス32の連続的なモニタ作業を許容する。
は、I/Oバス32にI/Oデバイスを位置させること
により拡張メモリへのいずれかの書込みにつきバスイン
タフェースユニット64がI/Oバス32をモニタする
ことができるようにする。スヌーピングロジックはま
ず、拡張メモリへの書込みが、SRAM 40において
キャッシュ可能である拡張メモリにおいて発生したかを
まず決定する。もしそれがキャッシュ可能の拡張メモリ
でないとすれば、確認されたデータがキャッシュされる
危険性はない。しかしながら、もし、肯定的な比較結果
が、書込みがキャッシュ可能拡張メモリにおいて発生し
たことを示すとすれば、システムバス76にわたってキ
ャッシュ無効サイクルが開始される。このようにCPU
は、SRAM 40における対応するアドレスを無効に
するように命令される。キャッシュ・スヌーピングロジ
ック114は、肯定的比較結果のアドレスを記憶する手
段を提供する。そのため、I/Oバスのスヌーピングが
最初の肯定的比較結果の検出の直後に続行し、それによ
りI/Oバス32の連続的なモニタ作業を許容する。
【0050】本発明は一般的には前述のバスインタフェ
ースユニット64に関し、特にバスインタフェースユニ
ットのバス対バス・ペーシング制御ロジック128に関
する。ペーシング制御ロジック128は、システムメモ
リへのI/Oデバイスのアクセスを動的に制御すること
によりデータをシステムメモリ24,26に出入りさせ
るようI/Oバス32の能力を向上するために使用され
る。システム性能は、I/Oバス32を制御するI/O
デバイス28のシステムメモリへのアクセスをある所定
の条件下にロックすることにより向上する。
ースユニット64に関し、特にバスインタフェースユニ
ットのバス対バス・ペーシング制御ロジック128に関
する。ペーシング制御ロジック128は、システムメモ
リへのI/Oデバイスのアクセスを動的に制御すること
によりデータをシステムメモリ24,26に出入りさせ
るようI/Oバス32の能力を向上するために使用され
る。システム性能は、I/Oバス32を制御するI/O
デバイス28のシステムメモリへのアクセスをある所定
の条件下にロックすることにより向上する。
【0051】FIFOバッファ124に関連して、バス
対バス・ペーシング制御ロジック128は、I/Oバス
制御装置のデータ転送速度をシステムメモリのデータ転
送能力に最適に適合させるために使用される。もし例え
ば、高速I/O制御装置が、システムメモリが書込みデ
ータを受け入れるよりも速くシステムメモリに書込むこ
とができるとすれば、データがシステムメモリに書込ま
れる前にバッファされた書込みデータはFIFOバッフ
ァ125A〜125Bを完全に一杯にする。もし、また
同じ高速I/O制御装置が、システムメモリが読取りデ
ータを提供しうる以上に速くシステムメモリからデータ
を読取ることができるとすれば、先取りされたデータは
FIFOバッファ125Cおよび125Dにおいて得ら
れない。いずれの場合においても、その結果待ち時間が
増え、従ってI/Oバス32から判るようにデータ転送
性能が低下する。
対バス・ペーシング制御ロジック128は、I/Oバス
制御装置のデータ転送速度をシステムメモリのデータ転
送能力に最適に適合させるために使用される。もし例え
ば、高速I/O制御装置が、システムメモリが書込みデ
ータを受け入れるよりも速くシステムメモリに書込むこ
とができるとすれば、データがシステムメモリに書込ま
れる前にバッファされた書込みデータはFIFOバッフ
ァ125A〜125Bを完全に一杯にする。もし、また
同じ高速I/O制御装置が、システムメモリが読取りデ
ータを提供しうる以上に速くシステムメモリからデータ
を読取ることができるとすれば、先取りされたデータは
FIFOバッファ125Cおよび125Dにおいて得ら
れない。いずれの場合においても、その結果待ち時間が
増え、従ってI/Oバス32から判るようにデータ転送
性能が低下する。
【0052】典型的には、I/Oデバイス制御装置は、
読取り、あるいは書込み動作を開始し、I/Oバス32
を介してメモリアドレスをバスインタフェースユニット
64に提供する。バスインタフェースユニットの回路1
10は、このアドレスを、回路116においてプログラ
ムされたある範囲のアドレスと比較し、拡張メモリある
いはシステムメモリに対して動作が向けられているか否
かを決定する。もし動作が拡張メモリ向けであることが
決定されるとすれば、この条件ではシステムメモリへの
アクセスを優先する必要がないので、バス対バス・ペー
シング制御ロジック128は何もしない。しかしなが
ら、もし、読取り、あるいは書込み動作がシステムメモ
リ24または26に対するものであることが決定され、
かつ所定の条件が合致するとペーシング制御ロジック1
28は、I/Oバスを制御するI/Oデバイス28にシ
ステムメモリに対する継続した優先的アクセスを許可す
る信号を出し始める。この信号は、通常の調停過程中メ
モリ制御装置58により出力された調停許可信号に対す
るオーバライドとして作用する。
読取り、あるいは書込み動作を開始し、I/Oバス32
を介してメモリアドレスをバスインタフェースユニット
64に提供する。バスインタフェースユニットの回路1
10は、このアドレスを、回路116においてプログラ
ムされたある範囲のアドレスと比較し、拡張メモリある
いはシステムメモリに対して動作が向けられているか否
かを決定する。もし動作が拡張メモリ向けであることが
決定されるとすれば、この条件ではシステムメモリへの
アクセスを優先する必要がないので、バス対バス・ペー
シング制御ロジック128は何もしない。しかしなが
ら、もし、読取り、あるいは書込み動作がシステムメモ
リ24または26に対するものであることが決定され、
かつ所定の条件が合致するとペーシング制御ロジック1
28は、I/Oバスを制御するI/Oデバイス28にシ
ステムメモリに対する継続した優先的アクセスを許可す
る信号を出し始める。この信号は、通常の調停過程中メ
モリ制御装置58により出力された調停許可信号に対す
るオーバライドとして作用する。
【0053】システムメモリに対する優先的なアクセス
が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個以下がシステムメモリから読取るべき先取り
データで依然として一杯にされている。
が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個以下がシステムメモリから読取るべき先取り
データで依然として一杯にされている。
【0054】本発明の好適実施例においては、バス対バ
ス・ペーシング制御ロジック128は3つのモードで動
作する。これら3つのモードの中の第1のモードは、省
略時モードであって、前述した最初の三条件に対するバ
ス制御のペーシングを決める。これらのモードの第2の
もの(オプション1)は、第4に列挙した条件に対する
ペーシングを決定する。これらのモードの第3のもの
(オプション2)は第5に列挙した条件に対するペーシ
ングを決定する。システムのユーザは、当該システムが
自動的に提供する省略時ペーシングモードに加え、ペー
シングモードのいずれか(オプション1またはオプショ
ン2)を選択すればよい。この選択は、プログラム化I
/O回路116における3ビットのレジスタ130の中
味(図示せず)をプログラムすることにより行われる。
省略時ペーシングモードは0−0−0レジスタ中味とし
て定義され、オプション1は0−0−1レジスタの中味
として定義される。オプション2は1−0−0レジスタ
の中味として定義される。
ス・ペーシング制御ロジック128は3つのモードで動
作する。これら3つのモードの中の第1のモードは、省
略時モードであって、前述した最初の三条件に対するバ
ス制御のペーシングを決める。これらのモードの第2の
もの(オプション1)は、第4に列挙した条件に対する
ペーシングを決定する。これらのモードの第3のもの
(オプション2)は第5に列挙した条件に対するペーシ
ングを決定する。システムのユーザは、当該システムが
自動的に提供する省略時ペーシングモードに加え、ペー
シングモードのいずれか(オプション1またはオプショ
ン2)を選択すればよい。この選択は、プログラム化I
/O回路116における3ビットのレジスタ130の中
味(図示せず)をプログラムすることにより行われる。
省略時ペーシングモードは0−0−0レジスタ中味とし
て定義され、オプション1は0−0−1レジスタの中味
として定義される。オプション2は1−0−0レジスタ
の中味として定義される。
【0055】前述のように、省略時ペーシングロジック
は最初の三種類のペーシング条件に対するペーシングを
扱う。最初の条件下においては、I/Oデバイス28
は、特定の16バイトのパケットの境界と整合していな
いシステムメモリ24または26の読取りをリクエスト
し、これは、読取りリクエストが16バイトのパケット
の境界内のどこかで始まるデータアドレスに対するもの
であることを意味する。もし読取りデータが特定の16
バイトのパケットの境界と整合していたとすれば、シス
テムバスアドレス発生回路118は単に、バッファ12
5Cまたは125Dのいずれかのデータの標準的な16
バイトバースト転送を行うであろう。しかしながら、も
し読取りデータがパケット整合していないとすれば、デ
ータは多数の、1,2,3,4バイトサイクルを用いて
先取りする必要がある。このデータが最も効率的な要領
で確実に先取りされるために、I/Oデバイス28によ
るシステムメモリへのアクセスはロックされ、一方十分
なデータが自動的に先取りされて16バイトの境界に達
する。16バイト以下のこの読取りデータは次に、I/
Oバス32のタイミングに同期化され、I/Oデバイス
制御装置はデータを読み始める。I/Oデバイス制御装
置の読取りデータと平行して、システムバスアドレス発
生回路118は、ロック信号をシステムメモリに解放す
る前に次の隣接した16バイトのパケットを先取りす
る。この16バイトのパケットは事前定義の境界におい
て始まるので、バースト転送が可能とされる。このよう
に、データの2つの転送は何ら割込みなく実行される。
この条件下で図4に示すロック信号140を用いること
によりI/Oバス32のデバイスがデータをリクエスト
するときと、バスインタフェースユニット64がデータ
をプリライド(preride)するときとの間の最小の待ち
時間と、ページモードシステムメモリの最も効率的な使
用を保証する。
は最初の三種類のペーシング条件に対するペーシングを
扱う。最初の条件下においては、I/Oデバイス28
は、特定の16バイトのパケットの境界と整合していな
いシステムメモリ24または26の読取りをリクエスト
し、これは、読取りリクエストが16バイトのパケット
の境界内のどこかで始まるデータアドレスに対するもの
であることを意味する。もし読取りデータが特定の16
バイトのパケットの境界と整合していたとすれば、シス
テムバスアドレス発生回路118は単に、バッファ12
5Cまたは125Dのいずれかのデータの標準的な16
バイトバースト転送を行うであろう。しかしながら、も
し読取りデータがパケット整合していないとすれば、デ
ータは多数の、1,2,3,4バイトサイクルを用いて
先取りする必要がある。このデータが最も効率的な要領
で確実に先取りされるために、I/Oデバイス28によ
るシステムメモリへのアクセスはロックされ、一方十分
なデータが自動的に先取りされて16バイトの境界に達
する。16バイト以下のこの読取りデータは次に、I/
Oバス32のタイミングに同期化され、I/Oデバイス
制御装置はデータを読み始める。I/Oデバイス制御装
置の読取りデータと平行して、システムバスアドレス発
生回路118は、ロック信号をシステムメモリに解放す
る前に次の隣接した16バイトのパケットを先取りす
る。この16バイトのパケットは事前定義の境界におい
て始まるので、バースト転送が可能とされる。このよう
に、データの2つの転送は何ら割込みなく実行される。
この条件下で図4に示すロック信号140を用いること
によりI/Oバス32のデバイスがデータをリクエスト
するときと、バスインタフェースユニット64がデータ
をプリライド(preride)するときとの間の最小の待ち
時間と、ページモードシステムメモリの最も効率的な使
用を保証する。
【0056】第2の条件下においては、残留バッファ済
み書込みデータは、I/Oデバイス28が書込み転送か
ら読取りリクエストへ変るときFIFOバッファ125
A〜125Dに存在しうる。一旦I/Oデバイスバス制
御装置が書込みから読取りへ変ると、ペーシング制御ロ
ジック128は、サイクルの終りが発生し、FIFOバ
ッファ124に記憶すべき書込みデータがもはや無く、
読取りデータがシステムメモリ24または26からリク
エストされていることを決定する。隣接する書込みデー
タがもはやすぐに来ないことが判っているので、バッフ
ァ125A〜125D内にバッファされたデータはシス
テムメモリに書込まれ、読取りリクエストが一回のアト
ミック・オペレーションにおいてシステムメモリから先
取りされる。
み書込みデータは、I/Oデバイス28が書込み転送か
ら読取りリクエストへ変るときFIFOバッファ125
A〜125Dに存在しうる。一旦I/Oデバイスバス制
御装置が書込みから読取りへ変ると、ペーシング制御ロ
ジック128は、サイクルの終りが発生し、FIFOバ
ッファ124に記憶すべき書込みデータがもはや無く、
読取りデータがシステムメモリ24または26からリク
エストされていることを決定する。隣接する書込みデー
タがもはやすぐに来ないことが判っているので、バッフ
ァ125A〜125D内にバッファされたデータはシス
テムメモリに書込まれ、読取りリクエストが一回のアト
ミック・オペレーションにおいてシステムメモリから先
取りされる。
【0057】第3の条件下においては、I/O制御装置
がI/Oバス32の制御を放棄するとき、残留バッファ
済みデータがFIFOバッファ125A〜125Dに存
在しうる。この場合、そのような残留データはシステム
バス76を解放する前にシステムメモリに書込む必要が
ある。もしFIFOバッファ125A〜125Dの中の
2個以上がそのような残留データを含んでいる場合に
は、I/Oデバイス制御装置がI/Oバスの制御を放棄
すれば直ちにペーシングロジック128がメモリ制御装
置に対して信号を発生し、FIFOバッファ124にお
けるデータが1回の転送長さ(即ち16バイトより大き
く)を上回り、システムメモリ24または26に書込む
必要のあることを指示する。この状態においてロック信
号140を用いることによって、I/Oバス32の制御
を解放するI/O制御装置と、システムバス76の制御
を解放するバスインタフェースユニット64との間の最
小量の待ち時間を保証する。
がI/Oバス32の制御を放棄するとき、残留バッファ
済みデータがFIFOバッファ125A〜125Dに存
在しうる。この場合、そのような残留データはシステム
バス76を解放する前にシステムメモリに書込む必要が
ある。もしFIFOバッファ125A〜125Dの中の
2個以上がそのような残留データを含んでいる場合に
は、I/Oデバイス制御装置がI/Oバスの制御を放棄
すれば直ちにペーシングロジック128がメモリ制御装
置に対して信号を発生し、FIFOバッファ124にお
けるデータが1回の転送長さ(即ち16バイトより大き
く)を上回り、システムメモリ24または26に書込む
必要のあることを指示する。この状態においてロック信
号140を用いることによって、I/Oバス32の制御
を解放するI/O制御装置と、システムバス76の制御
を解放するバスインタフェースユニット64との間の最
小量の待ち時間を保証する。
【0058】最初の三条件に応答する省略時ロジック
は、バスインタフェースユニット64のハードウェアに
組み込まれたアルゴリズムによって実現される。典型的
には当該技術分野において周知のように、状態マシーン
を用いて要求されたロジックを実行することができる。
第4と第5に列挙した条件に応答するペーシングロジッ
クも、バスインタフェースユニットのハードウェアに組
み込まれたアルゴリズムによって実現される。図4と図
5とはそれぞれオプション1とオプション2のためのバ
ス対バス・ペーシング制御ロジック128の特定実施例
を実行するために使用される回路図を示す。
は、バスインタフェースユニット64のハードウェアに
組み込まれたアルゴリズムによって実現される。典型的
には当該技術分野において周知のように、状態マシーン
を用いて要求されたロジックを実行することができる。
第4と第5に列挙した条件に応答するペーシングロジッ
クも、バスインタフェースユニットのハードウェアに組
み込まれたアルゴリズムによって実現される。図4と図
5とはそれぞれオプション1とオプション2のためのバ
ス対バス・ペーシング制御ロジック128の特定実施例
を実行するために使用される回路図を示す。
【0059】図4を参照すれば、(前述した第4の条件
に係わる)オプション1を実行するためのバス対バス・
ペーシング制御ロジックは、クロックされるS−Rラッ
チ132と、ANDゲート134,136と、ORゲー
ト138とを含む。ラッチ132はセットされる(S入
力活動状態)といつでも、ラッチはロック信号140を
出力する。ロック信号140は、I/Oデバイスがスト
リーミングモードにおいてシステムメモリ24,26に
データを読み出し、あるいは書込みをしているとき、I
/Oバス32を制御しているI/Oデバイス28にシス
テムメモリへの継続したアクセスを提供する。ストリー
ミングとは、最初のアドレスのみ復号する必要があり、
次のアドレスが隣接していると考えられる、隣接アドレ
スを有するデータのストリームのデータ転送を意味す
る。
に係わる)オプション1を実行するためのバス対バス・
ペーシング制御ロジックは、クロックされるS−Rラッ
チ132と、ANDゲート134,136と、ORゲー
ト138とを含む。ラッチ132はセットされる(S入
力活動状態)といつでも、ラッチはロック信号140を
出力する。ロック信号140は、I/Oデバイスがスト
リーミングモードにおいてシステムメモリ24,26に
データを読み出し、あるいは書込みをしているとき、I
/Oバス32を制御しているI/Oデバイス28にシス
テムメモリへの継続したアクセスを提供する。ストリー
ミングとは、最初のアドレスのみ復号する必要があり、
次のアドレスが隣接していると考えられる、隣接アドレ
スを有するデータのストリームのデータ転送を意味す
る。
【0060】図4のロジックによりストリーミングデー
タの書込み動作が検出され、FIFOバッファ125C
または125Dのいずれかが16バイトのパケットのバ
ッファされた書込みデータで一杯であると、ロック信号
が起動され、バースト書込みシーケンスがシステムバス
76を介してシステムメモリに対して開始され、I/O
デバイス28がストリーミングシーケンスを終了させる
か、あるいはFIFOバッファに何らデータが残ってい
ないようになるまで活動状態のままである。同様に、ス
トリーミングデータ読取り動作を検出すると、ロック信
号が起動され、バースト読取りシーケンスがシステムメ
モリに対して開始され、FIFOに余地がある限り、あ
るいはI/Oデバイス28がストリーミングシーケンス
を終了するまで活動状態のままとなる。ストリーミング
読取り、あるいは書込みに応答するバス制御ロジック2
8が、3ビットのレジスタ130において0−0−1レ
ジスタの中味をプログラムすることにより定義される。
したがって3ビットレジスタが0−0−1にプログラム
されるとすれば、ANDゲート134がレジスタの中味
の復号化し、オプション1使用可能ライン142をハイ
にする。バスインタフェースユニット64がI/Oバス
32を制御している特定のI/Oデバイス28がストリ
ーミングモードでデータを書込み、あるいは読取ってい
ることを検出する限り、ライン144もまたハイであ
る。この間ライン142と144とはハイであるので、
ANDゲート136は、ORゲート138の出力146
がハイであるときはいつでもラッチ132をセットして
ロック信号140を出力する。
タの書込み動作が検出され、FIFOバッファ125C
または125Dのいずれかが16バイトのパケットのバ
ッファされた書込みデータで一杯であると、ロック信号
が起動され、バースト書込みシーケンスがシステムバス
76を介してシステムメモリに対して開始され、I/O
デバイス28がストリーミングシーケンスを終了させる
か、あるいはFIFOバッファに何らデータが残ってい
ないようになるまで活動状態のままである。同様に、ス
トリーミングデータ読取り動作を検出すると、ロック信
号が起動され、バースト読取りシーケンスがシステムメ
モリに対して開始され、FIFOに余地がある限り、あ
るいはI/Oデバイス28がストリーミングシーケンス
を終了するまで活動状態のままとなる。ストリーミング
読取り、あるいは書込みに応答するバス制御ロジック2
8が、3ビットのレジスタ130において0−0−1レ
ジスタの中味をプログラムすることにより定義される。
したがって3ビットレジスタが0−0−1にプログラム
されるとすれば、ANDゲート134がレジスタの中味
の復号化し、オプション1使用可能ライン142をハイ
にする。バスインタフェースユニット64がI/Oバス
32を制御している特定のI/Oデバイス28がストリ
ーミングモードでデータを書込み、あるいは読取ってい
ることを検出する限り、ライン144もまたハイであ
る。この間ライン142と144とはハイであるので、
ANDゲート136は、ORゲート138の出力146
がハイであるときはいつでもラッチ132をセットして
ロック信号140を出力する。
【0061】(i)I/Oバス132を制御しているI
/Oデバイスがストリーミングデータ読取りリクエスト
(読取り動作)を発するときか、あるいは(ii)FIF
O124における16バイトのバッファ125Cと12
5Dとのいずれかが一杯である(書込み動作)ときかの
いずれかのときに、ORゲート138の出力側146は
ハイである。これらの場合のいずれかにおいて、かつラ
イン142,144が前述のようにハイであると、ラッ
チ132はメモリ制御装置58にロック信号140を提
供することによりメモリ制御装置58の調停スキームを
オーバライドする。I/Oデバイス28が、それがスト
リーミングモードでもはや読取りデータ、あるいは書込
みデータを伝送していないことを示すと、ライン148
はハイとなり、これによりラッチ132をリセットし、
図4のロジックを実効的に使用不能とする。
/Oデバイスがストリーミングデータ読取りリクエスト
(読取り動作)を発するときか、あるいは(ii)FIF
O124における16バイトのバッファ125Cと12
5Dとのいずれかが一杯である(書込み動作)ときかの
いずれかのときに、ORゲート138の出力側146は
ハイである。これらの場合のいずれかにおいて、かつラ
イン142,144が前述のようにハイであると、ラッ
チ132はメモリ制御装置58にロック信号140を提
供することによりメモリ制御装置58の調停スキームを
オーバライドする。I/Oデバイス28が、それがスト
リーミングモードでもはや読取りデータ、あるいは書込
みデータを伝送していないことを示すと、ライン148
はハイとなり、これによりラッチ132をリセットし、
図4のロジックを実効的に使用不能とする。
【0062】図5において、(前述の第5の条件に係わ
る)オプション2を実行するためのバス対バス制御ロジ
ックは、クロックされるS−Rラッチ150および15
2を含み、それぞれは、読取りサイクルおよび書込みサ
イクルに対して個別のロジックパスにより独立して制御
される。これらのロックされるラッチ150,152の
いずれかがセットされるといつでも、ロック信号140
が使用可能とされ、メモリ制御装置58に出力される。
ラッチはR入力を起動させることによりリセットされ、
これによりラッチがロック信号を出力しないように使用
不能とされる。
る)オプション2を実行するためのバス対バス制御ロジ
ックは、クロックされるS−Rラッチ150および15
2を含み、それぞれは、読取りサイクルおよび書込みサ
イクルに対して個別のロジックパスにより独立して制御
される。これらのロックされるラッチ150,152の
いずれかがセットされるといつでも、ロック信号140
が使用可能とされ、メモリ制御装置58に出力される。
ラッチはR入力を起動させることによりリセットされ、
これによりラッチがロック信号を出力しないように使用
不能とされる。
【0063】前述の第5の条件下においては、(i)デ
ータはシステムバス76を介してシステムメモリに書込
みうるより速くI/Oバス32を介してI/O制御装置
28によりバスインタフェースユニット64に書込まれ
ているか、あるいは(ii)データは、バスインタフェー
スユニットがシステムメモリからデータを先取りしうる
よりも速くI/O制御装置28によってインタフェース
ユニット64から読取られているかのいずれかである。
もしデータが、I/O制御装置により余りにも速く書込
まれているとすれば、残留データはFIFOバッファ1
25A〜125Dにおいて蓄積し始める。もしFIFO
バッファのスペースの半分以上がそのような残留データ
を含んでいるとすれば、ラッチ152によってロック信
号140が開始され、システムメモリへアトミックの即
ち最小単位の転送を許容する。もしデータがI/Oバス
32を介してI/O制御装置28により余りにも速くバ
スインタフェースユニット64から読み出されていると
すれば、FIFOバッファ125Aまたは125Bは空
となり、バッファ125Cと125Dとが利用可能な先
取りした隣接データが欠除していることを意味する。こ
のようにロック信号140がラッチ150によって出力
され、そのためバスインタフェースユニットはデータを
バッファ125Cと125Dとに先取りしうる。従っ
て、FIFOバッファ124の少なくとも半分は先取り
したデータで一杯の状態が保たれる。
ータはシステムバス76を介してシステムメモリに書込
みうるより速くI/Oバス32を介してI/O制御装置
28によりバスインタフェースユニット64に書込まれ
ているか、あるいは(ii)データは、バスインタフェー
スユニットがシステムメモリからデータを先取りしうる
よりも速くI/O制御装置28によってインタフェース
ユニット64から読取られているかのいずれかである。
もしデータが、I/O制御装置により余りにも速く書込
まれているとすれば、残留データはFIFOバッファ1
25A〜125Dにおいて蓄積し始める。もしFIFO
バッファのスペースの半分以上がそのような残留データ
を含んでいるとすれば、ラッチ152によってロック信
号140が開始され、システムメモリへアトミックの即
ち最小単位の転送を許容する。もしデータがI/Oバス
32を介してI/O制御装置28により余りにも速くバ
スインタフェースユニット64から読み出されていると
すれば、FIFOバッファ125Aまたは125Bは空
となり、バッファ125Cと125Dとが利用可能な先
取りした隣接データが欠除していることを意味する。こ
のようにロック信号140がラッチ150によって出力
され、そのためバスインタフェースユニットはデータを
バッファ125Cと125Dとに先取りしうる。従っ
て、FIFOバッファ124の少なくとも半分は先取り
したデータで一杯の状態が保たれる。
【0064】第5の条件に応答するバス制御ロジック
は、3ビットレジスタ130において1−0−0レジス
タの中味をプログラムすることにより定義される。した
がって、もし3ビットレジスタが、1−0−0にプログ
ラムされるとすれば、NORゲート154はレジスタの
中味を復号化し、オプション2使用可能ライン156を
ハイにする。オプション2使用可能ライン156はデー
タ読取り動作(図5に示すロジックの上半分)と、デー
タ書込み動作(図5のロジックの下半分)との双方に応
答する制御ロジックを使用可能とするために使用され
る。
は、3ビットレジスタ130において1−0−0レジス
タの中味をプログラムすることにより定義される。した
がって、もし3ビットレジスタが、1−0−0にプログ
ラムされるとすれば、NORゲート154はレジスタの
中味を復号化し、オプション2使用可能ライン156を
ハイにする。オプション2使用可能ライン156はデー
タ読取り動作(図5に示すロジックの上半分)と、デー
タ書込み動作(図5のロジックの下半分)との双方に応
答する制御ロジックを使用可能とするために使用され
る。
【0065】書込み動作の間、ORゲート160の出力
158はまた、バッファ125A〜125Dの中の少な
くとも2個が一杯である限りハイである。典型的には、
このことはバッファ125Aまたは125Bのいずれか
が一杯であり、データをそれぞれ125Cあるいは12
5Dへ転送し、バッファ125Aまたは125Bの他方
が一杯にされつつあることを意味する。この場合、デー
タはバッファ125Cあるいは125Dのいずれか、あ
るいはその双方にあり、システムメモリに直ちに書込む
ことができる。ライン156,158がハイであれば、
ANDゲート162はラッチ152をセットし、ラッチ
152は次いでロック信号140をメモリ制御装置58
に出力する。ロック信号140は、ラッチ152のR入
力がANDゲート164の出力によりハイにドライブさ
れるまで活動状態のままである。もしバッファ125C
および125Dの双方が空であるとすれば、ANDゲー
ト164の出力はハイとなり、これによりこれらのバッ
ファからシステムメモリにデータを直ちに書込む必要の
ないことを示す。
158はまた、バッファ125A〜125Dの中の少な
くとも2個が一杯である限りハイである。典型的には、
このことはバッファ125Aまたは125Bのいずれか
が一杯であり、データをそれぞれ125Cあるいは12
5Dへ転送し、バッファ125Aまたは125Bの他方
が一杯にされつつあることを意味する。この場合、デー
タはバッファ125Cあるいは125Dのいずれか、あ
るいはその双方にあり、システムメモリに直ちに書込む
ことができる。ライン156,158がハイであれば、
ANDゲート162はラッチ152をセットし、ラッチ
152は次いでロック信号140をメモリ制御装置58
に出力する。ロック信号140は、ラッチ152のR入
力がANDゲート164の出力によりハイにドライブさ
れるまで活動状態のままである。もしバッファ125C
および125Dの双方が空であるとすれば、ANDゲー
ト164の出力はハイとなり、これによりこれらのバッ
ファからシステムメモリにデータを直ちに書込む必要の
ないことを示す。
【0066】読取り動作の間、ラッチ150はANDゲ
ート166のハイ出力によりセットされるとメモリ制御
装置58にロック信号を出力する。(i)ライン156
が、オプション2が活動状態であるためハイであり、
(ii)バスインタフェースユニット64がシステムメモ
リからの読取りを検出しているためライン168がハイ
であり、(iii)バッファ125Aまたは125Bのい
ずれかが空であるときいつでもライン170がNORゲ
ート172によりローにドライブされると、ANDゲー
ト166の出力はハイにドライブされる。バッファ12
5Aまたは125Bのいずれかが空であると、バッファ
125Cまたは125Dの中味が空とされ、システムメ
モリからの先取りした隣接データのための余地をバッフ
ァ125Cまたは125Dのいずれかにおいて残すの
で、ロック信号がこの場合開始される。
ート166のハイ出力によりセットされるとメモリ制御
装置58にロック信号を出力する。(i)ライン156
が、オプション2が活動状態であるためハイであり、
(ii)バスインタフェースユニット64がシステムメモ
リからの読取りを検出しているためライン168がハイ
であり、(iii)バッファ125Aまたは125Bのい
ずれかが空であるときいつでもライン170がNORゲ
ート172によりローにドライブされると、ANDゲー
ト166の出力はハイにドライブされる。バッファ12
5Aまたは125Bのいずれかが空であると、バッファ
125Cまたは125Dの中味が空とされ、システムメ
モリからの先取りした隣接データのための余地をバッフ
ァ125Cまたは125Dのいずれかにおいて残すの
で、ロック信号がこの場合開始される。
【0067】読取り動作におけるロック信号は、ラッチ
150のR入力がORゲート174により起動されるま
で活動状態のままである。(i)バスインタフェースユ
ニット64が、システムメモリから何ら読取りの無いこ
とを検出するか、あるいは(ii)バッファ125Cおよ
び125Dのいずれかが一杯であり、バッファ125A
および125Bのいずれも空でないときはいつでもOR
ゲート176、NORゲート172およびANDゲート
178を介してORゲート174はハイにドライブされ
る。これらの2つのケースのいずれかにおいて、ロック
信号は必要でなく、従ってラッチ150はリセットされ
る。次に、システムメモリ24,26へのアクセスはメ
モリ制御装置58によって実行される通常の調停スキー
ムにより制御される。
150のR入力がORゲート174により起動されるま
で活動状態のままである。(i)バスインタフェースユ
ニット64が、システムメモリから何ら読取りの無いこ
とを検出するか、あるいは(ii)バッファ125Cおよ
び125Dのいずれかが一杯であり、バッファ125A
および125Bのいずれも空でないときはいつでもOR
ゲート176、NORゲート172およびANDゲート
178を介してORゲート174はハイにドライブされ
る。これらの2つのケースのいずれかにおいて、ロック
信号は必要でなく、従ってラッチ150はリセットされ
る。次に、システムメモリ24,26へのアクセスはメ
モリ制御装置58によって実行される通常の調停スキー
ムにより制御される。
【0068】
【発明の効果】本発明は、以上説明したように構成され
ているので、制御ロジックがシステムメモリへのI/O
デバイスのアクセスを動的に制御することによりシステ
ムメモリへデータを出入りさせるI/Oバスの能力が向
上し、またI/Oバスを制御するI/Oデバイスのシス
テムメモリに対するアクセスをある所定条件下にロック
することによりシステム性能が向上し、さらに、I/O
制御装置の速度をシステムメモリのデータ転送能力に最
適に適合させることができる。
ているので、制御ロジックがシステムメモリへのI/O
デバイスのアクセスを動的に制御することによりシステ
ムメモリへデータを出入りさせるI/Oバスの能力が向
上し、またI/Oバスを制御するI/Oデバイスのシス
テムメモリに対するアクセスをある所定条件下にロック
することによりシステム性能が向上し、さらに、I/O
制御装置の速度をシステムメモリのデータ転送能力に最
適に適合させることができる。
【図1】本発明の原理によって構成したバスインタフェ
ースユニットを組み入れたコンピュータシステムの概略
ブロック図。
ースユニットを組み入れたコンピュータシステムの概略
ブロック図。
【図2】図1に示すコンピュータシステムのバスインタ
フェースユニットの概略ブロック図。
フェースユニットの概略ブロック図。
【図3】図2に示すバスインタフェースユニットのFI
FOバッファの概略ブロック図。
FOバッファの概略ブロック図。
【図4】図3に示すバス対バス・ペーシングロジックの
実施例の1つを実行するために使用する制御ロジックの
回路図。
実施例の1つを実行するために使用する制御ロジックの
回路図。
【図5】図3に示すバス対バス・ペーシングロジックの
別の実施例を実行するために使用する制御ロジックの回
路図。
別の実施例を実行するために使用する制御ロジックの回
路図。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ベチャラ・ファウアッド・ボウリー アメリカ合衆国33434、フロリダ州 ボ カ・ラトン、ノース・ウエスト・トゥエン ティーエイス・アベニュー 3008番地 (72)発明者 シャーウッド・ブラノン アメリカ合衆国33487、フロリダ州 ボ カ・ラトン、ウエスト・カントリー・クラ ブ・ブールヴァード 7360番地 (72)発明者 リチャード・ルイス・ホーン アメリカ合衆国33437、フロリダ州 ボー イントン・ビーチ、シダー・レイク・ロー ド 5289番地、アパートメント・ナンバー 8−23 (72)発明者 テレンス・ジョセフ・ローマン アメリカ合衆国33486、フロリダ州 ボ カ・ラトン、サウスウエスト・フィフス・ ストリート 1069番地
Claims (9)
- 【請求項1】 システムメモリと、 前記システムメモリへのアクセスを制御するメモリ制御
装置であって、メモリバスによって前記システムメモリ
に接続されているメモリ制御装置と、 前記メモリ制御装置に電気的に接続され、前記メモリバ
スを介して前記システムメモリにデータを読取ったり、
書込んだりできる中央処理装置と、 前記システムバスにより前記メモリ制御装置に電気的に
接続されたバスインタフェースユニットと、 入力/出力バスにより前記バスインタフェースユニット
に電気的に接続された入力/出力デバイスとを備え、 前記メモリ制御装置は、前記メモリバスを介しての前記
システムメモリへのアクセスを前記中央処理装置と前記
入力/出力デバイスのいずれに許可すべきか決定するた
めに前記中央処理装置と前記入力/出力デバイスとの間
を調停するロジックを組み入れており、 前記バスインタフェースユニットは前記メモリ制御装置
の調停ロジックをオーバライドするロジックを組み入れ
ており、前記バスインタフェースユニットのロジックは
一連の所定の動作条件に応答して前記メモリ制御装置の
調停ロジックをオーバライドし、かつ前記システムメモ
リへの専用的アクセスを前記入力/出力デバイスに許可
することを特徴とするコンピュータシステム。 - 【請求項2】 前記バスインタフェースユニットのロジ
ックが、前記バスインタフェースユニットにおいてハー
ドウェアに組み入れられたアルゴリズムにより実行され
ることを特徴とする請求項1記載のコンピュータシステ
ム。 - 【請求項3】 前記所定の一連の動作条件の中の1つ
は、前記入力/出力デバイスによる前記システムメモリ
への読取りリクエストが前記システムメモリにおける事
前定義の16バイトのアドレス境界と整合しないときに
発生することを特徴とする請求項1記載のコンピュータ
システム。 - 【請求項4】 前記所定の一連の動作条件の中の1つ
は、前記入力/出力デバイスが、前記システムメモリへ
の書込み動作を前記システムメモリへの読取り動作に続
かせるときに発生することを特徴とする請求項1記載の
コンピュータシステム。 - 【請求項5】 前記所定の一連の動作条件の1つが、前
記入力/出力デバイスがデータ転送動作を完了したとき
に発生することを特徴とする請求項1記載のコンピュー
タシステム。 - 【請求項6】 前記所定の一連の動作条件の1つが、前
記入力/出力デバイスがストリーミングモードにおいて
前記システムメモリに対して読取り、あるいは書込みを
しているときに発生することを特徴とする請求項1記載
のコンピュータシステム。 - 【請求項7】 コンピュータシステムにおいてシステム
メモリへのアクセスを制御する方法において、 前記システムメモリへの読取りおよび書込み動作を実行
するために中央処理装置と入力/出力デバイスのいずれ
に対して前記システムメモリへのアクセスを許可するか
決定するために前記中央処理装置と前記入力/出力デバ
イスとの間で調停をするメモリ制御装置を設けるステッ
プと、 前記メモリ制御装置をオーバライドするロジックを組み
入れた前記メモリ制御装置と電気的に接続されたバスイ
ンタフェースユニットであって、前記バスインタフェー
スのロジックが一連の所定の動作条件に応答して前記メ
モリ制御装置のロジックをオーバライドし、前記システ
ムメモリへの専用的アクセスを前記入力/出力デバイス
に許可するバスインタフェースユニットを設けるステッ
プとを備えることを特徴とする前記システムメモリへの
アクセスを制御する方法。 - 【請求項8】 前記バスインターフェースユニットは、
読取り動作あるいは書込み動作に対応するアドレスが前
記システムメモリ内の位置、あるいは前記入力/出力バ
ス上に位置する入力/出力デバイスに配置された拡張メ
モリ内の位置に対応するか否かを決定することを特徴と
する請求項7記載のシステムメモリへのアクセスを制御
する方法。 - 【請求項9】 前記バスインターフェースユニットは、
前記システムバスと前記入力/出力バスとの間を転送さ
れるデータ情報を一時的に記憶する二重ポートで非同期
の双方向記憶ユニットを組み入れていることを特徴とす
る請求項7記載のシステムメモリへのアクセスを制御す
る方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US81599292A | 1992-01-02 | 1992-01-02 | |
| US815992 | 1992-01-02 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05242014A true JPH05242014A (ja) | 1993-09-21 |
Family
ID=25219387
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4317364A Pending JPH05242014A (ja) | 1992-01-02 | 1992-11-26 | コンピュータシステムおよびそのシステムメモリへのアクセスを制御する方法 |
Country Status (10)
| Country | Link |
|---|---|
| US (1) | US5544346A (ja) |
| EP (1) | EP0550224A1 (ja) |
| JP (1) | JPH05242014A (ja) |
| KR (1) | KR950014183B1 (ja) |
| CN (1) | CN1029168C (ja) |
| AU (1) | AU663536B2 (ja) |
| CA (1) | CA2080608A1 (ja) |
| NZ (1) | NZ245344A (ja) |
| SG (1) | SG44430A1 (ja) |
| TW (1) | TW318224B (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007501477A (ja) * | 2003-05-29 | 2007-01-25 | フリースケール セミコンダクター インコーポレイテッド | アクセス許可を決定するための方法および装置 |
Families Citing this family (41)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5708794A (en) * | 1993-08-10 | 1998-01-13 | Dell Usa, L.P. | Multi-purpose usage of transaction backoff and bus architecture supporting same |
| DE4332609A1 (de) * | 1993-09-24 | 1995-03-30 | Esselte Meto Int Gmbh | Schaltungsanordnung zur Dateneingabe und Datenausgabe für einen Drucker |
| KR0154840B1 (ko) * | 1995-12-05 | 1998-11-16 | 김광호 | 피씨아이-피씨아이 브리지의 버퍼 플러쉬 제어 장치 |
| 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 |
| US5881248A (en) * | 1997-03-06 | 1999-03-09 | Advanced Micro Devices, Inc. | System and method for optimizing system bus bandwidth in an embedded communication system |
| US5974497A (en) * | 1997-05-22 | 1999-10-26 | Dell Computer Corporation | Computer with cache-line buffers for storing prefetched data for a misaligned memory access |
| JP2000010910A (ja) * | 1998-06-22 | 2000-01-14 | Nec Corp | データ転送制御装置およびデータ転送制御方法ならびに記録媒体 |
| US6530000B1 (en) | 1999-03-24 | 2003-03-04 | Qlogic Corporation | Methods and systems for arbitrating access to a disk controller buffer memory by allocating various amounts of times to different accessing units |
| CA2299550A1 (en) * | 1999-03-31 | 2000-09-30 | International Business Machines Corporation | Dynamic i/o allocation in a partitioned computer system |
| US7546305B2 (en) * | 2001-04-13 | 2009-06-09 | Oracle International Corporation | File archival |
| US7111228B1 (en) | 2002-05-07 | 2006-09-19 | Marvell International Ltd. | System and method for performing parity checks in disk storage system |
| US7287102B1 (en) | 2003-01-31 | 2007-10-23 | Marvell International Ltd. | System and method for concatenating data |
| US7007114B1 (en) | 2003-01-31 | 2006-02-28 | Qlogic Corporation | System and method for padding data blocks and/or removing padding from data blocks in storage controllers |
| US7219182B2 (en) | 2003-03-10 | 2007-05-15 | Marvell International Ltd. | Method and system for using an external bus controller in embedded disk controllers |
| US7039771B1 (en) | 2003-03-10 | 2006-05-02 | Marvell International Ltd. | Method and system for supporting multiple external serial port devices using a serial port controller in embedded disk controllers |
| US7492545B1 (en) | 2003-03-10 | 2009-02-17 | Marvell International Ltd. | Method and system for automatic time base adjustment for disk drive servo controllers |
| US7064915B1 (en) | 2003-03-10 | 2006-06-20 | Marvell International Ltd. | Method and system for collecting servo field data from programmable devices in embedded disk controllers |
| US7870346B2 (en) | 2003-03-10 | 2011-01-11 | Marvell International Ltd. | Servo controller interface module for embedded disk controllers |
| EP1482412B1 (en) * | 2003-05-30 | 2006-08-23 | Agilent Technologies Inc | Shared storage arbitration |
| US7526691B1 (en) | 2003-10-15 | 2009-04-28 | Marvell International Ltd. | System and method for using TAP controllers |
| US7139150B2 (en) | 2004-02-10 | 2006-11-21 | Marvell International Ltd. | Method and system for head position control in embedded disk drive controllers |
| US7120084B2 (en) | 2004-06-14 | 2006-10-10 | Marvell International Ltd. | Integrated memory controller |
| US8166217B2 (en) | 2004-06-28 | 2012-04-24 | Marvell International Ltd. | System and method for reading and writing data using storage controllers |
| US9201599B2 (en) | 2004-07-19 | 2015-12-01 | Marvell International Ltd. | System and method for transmitting data in storage controllers |
| US8032674B2 (en) | 2004-07-19 | 2011-10-04 | Marvell International Ltd. | System and method for controlling buffer memory overflow and underflow conditions in storage controllers |
| US7757009B2 (en) | 2004-07-19 | 2010-07-13 | Marvell International Ltd. | Storage controllers with dynamic WWN storage modules and methods for managing data and connections between a host and a storage device |
| US7386661B2 (en) | 2004-10-13 | 2008-06-10 | Marvell International Ltd. | Power save module for storage controllers |
| US7240267B2 (en) | 2004-11-08 | 2007-07-03 | Marvell International Ltd. | System and method for conducting BIST operations |
| US7802026B2 (en) | 2004-11-15 | 2010-09-21 | Marvell International Ltd. | Method and system for processing frames in storage controllers |
| US7609468B2 (en) | 2005-04-06 | 2009-10-27 | Marvell International Ltd. | Method and system for read gate timing control for storage controllers |
| US9838784B2 (en) | 2009-12-02 | 2017-12-05 | Knowles Electronics, Llc | Directional audio capture |
| US8798290B1 (en) | 2010-04-21 | 2014-08-05 | Audience, Inc. | Systems and methods for adaptive signal equalization |
| US20140082307A1 (en) * | 2012-09-17 | 2014-03-20 | Mobileye Technologies Limited | System and method to arbitrate access to memory |
| US9536540B2 (en) | 2013-07-19 | 2017-01-03 | Knowles Electronics, Llc | Speech signal separation and synthesis based on auditory scene analysis and speech modeling |
| US9170942B1 (en) * | 2013-12-31 | 2015-10-27 | Emc Corporation | System, apparatus, and method of automatic data padding |
| WO2016040885A1 (en) | 2014-09-12 | 2016-03-17 | Audience, Inc. | Systems and methods for restoration of speech components |
| US20160093307A1 (en) * | 2014-09-25 | 2016-03-31 | Audience, Inc. | Latency Reduction |
| CN107210824A (zh) | 2015-01-30 | 2017-09-26 | 美商楼氏电子有限公司 | 麦克风的环境切换 |
| US9820042B1 (en) | 2016-05-02 | 2017-11-14 | Knowles Electronics, Llc | Stereo separation and directional suppression with omni-directional microphones |
| US10871921B2 (en) * | 2018-07-30 | 2020-12-22 | Alibaba Group Holding Limited | Method and system for facilitating atomicity assurance on metadata and data bundled storage |
| US11455248B2 (en) * | 2020-05-06 | 2022-09-27 | Renesas Electronics Corporation | Semiconductor device capable of performing software lock-step |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0228744A (ja) * | 1988-07-18 | 1990-01-30 | Nec Corp | バスインターフェースユニット |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4442502A (en) * | 1981-03-30 | 1984-04-10 | Datapoint Corporation | Digital information switching system |
| IT1206331B (it) * | 1983-10-25 | 1989-04-14 | Honeywell Inf Systems | Architettura di sistema di elaborazione dati. |
| US4967344A (en) * | 1985-03-26 | 1990-10-30 | Codex Corporation | Interconnection network for multiple processors |
| US4788640A (en) * | 1986-01-17 | 1988-11-29 | Intel Corporation | Priority logic system |
| 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 |
| US4785394A (en) * | 1986-09-19 | 1988-11-15 | Datapoint Corporation | Fair arbitration technique for a split transaction bus in a multiprocessor computer system |
| EP0288649B1 (en) * | 1987-04-22 | 1992-10-21 | International Business Machines Corporation | Memory control subsystem |
| US4980854A (en) * | 1987-05-01 | 1990-12-25 | Digital Equipment Corporation | Lookahead bus arbitration system with override of conditional access grants by bus cycle extensions for multicycle data transfers |
| US4947368A (en) * | 1987-05-01 | 1990-08-07 | Digital Equipment Corporation | Lookahead bus arbitration system with override of conditional access grants by bus cycle extensions for multicycle data transfers |
| US4982321A (en) * | 1987-10-23 | 1991-01-01 | Honeywell Inc. | Dual bus system |
| US5003463A (en) * | 1988-06-30 | 1991-03-26 | Wang Laboratories, Inc. | Interface controller with first and second buffer storage area for receiving and transmitting data between I/O bus and high speed system bus |
| US5239631A (en) * | 1991-10-15 | 1993-08-24 | International Business Machines Corporation | Cpu bus allocation control |
-
1992
- 1992-10-15 CA CA002080608A patent/CA2080608A1/en not_active Abandoned
- 1992-11-05 TW TW081108847A patent/TW318224B/zh active
- 1992-11-26 JP JP4317364A patent/JPH05242014A/ja active Pending
- 1992-12-02 NZ NZ245344A patent/NZ245344A/en unknown
- 1992-12-02 AU AU29792/92A patent/AU663536B2/en not_active Ceased
- 1992-12-17 KR KR1019920024698A patent/KR950014183B1/ko not_active Expired - Fee Related
- 1992-12-17 CN CN92114472A patent/CN1029168C/zh not_active Expired - Fee Related
- 1992-12-18 SG SG1996000358A patent/SG44430A1/en unknown
- 1992-12-18 EP EP92311600A patent/EP0550224A1/en not_active Withdrawn
-
1994
- 1994-12-09 US US08/353,165 patent/US5544346A/en not_active Expired - Fee Related
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0228744A (ja) * | 1988-07-18 | 1990-01-30 | Nec Corp | バスインターフェースユニット |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007501477A (ja) * | 2003-05-29 | 2007-01-25 | フリースケール セミコンダクター インコーポレイテッド | アクセス許可を決定するための方法および装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| TW318224B (ja) | 1997-10-21 |
| SG44430A1 (en) | 1997-12-19 |
| AU2979292A (en) | 1993-07-08 |
| AU663536B2 (en) | 1995-10-12 |
| CN1074050A (zh) | 1993-07-07 |
| US5544346A (en) | 1996-08-06 |
| KR950014183B1 (ko) | 1995-11-22 |
| EP0550224A1 (en) | 1993-07-07 |
| CA2080608A1 (en) | 1993-07-03 |
| KR930016873A (ko) | 1993-08-30 |
| CN1029168C (zh) | 1995-06-28 |
| NZ245344A (en) | 1995-09-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH05242014A (ja) | コンピュータシステムおよびそのシステムメモリへのアクセスを制御する方法 | |
| US5644729A (en) | Bidirectional data buffer for a bus-to-bus interface unit in a computer system | |
| US5265211A (en) | Arbitration control logic for computer system having dual bus architecture | |
| 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 | |
| JP2988501B2 (ja) | パリティエラーを検出するコンピュータシステム及びその動作方法 | |
| US6202107B1 (en) | Host controller interface descriptor fetching unit | |
| US6453388B1 (en) | Computer system having a bus interface unit for prefetching data from system memory | |
| US5269005A (en) | Method and apparatus for transferring data within a computer system | |
| 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) | キャッシュ・スヌープ/データ無効化機能を有するコンピュータ・システム | |
| US5809534A (en) | Performing a write cycle to memory in a multi-processor system | |
| KR100218625B1 (ko) | 정보 처리 시스템 및 그의 데이타 전송 방법 | |
| US5752265A (en) | Memory accessing in a multi-processor system using snooping | |
| JPH07504050A (ja) | コンピュータ化データ採取用周辺i/oバス及びプログラム可能バスインターフェース |