JP3698324B2 - 直接メモリアクセス制御器およびデータチャンネルへのインターフェース装置を備えたワークステーション - Google Patents
直接メモリアクセス制御器およびデータチャンネルへのインターフェース装置を備えたワークステーション Download PDFInfo
- Publication number
- JP3698324B2 JP3698324B2 JP24242891A JP24242891A JP3698324B2 JP 3698324 B2 JP3698324 B2 JP 3698324B2 JP 24242891 A JP24242891 A JP 24242891A JP 24242891 A JP24242891 A JP 24242891A JP 3698324 B2 JP3698324 B2 JP 3698324B2
- Authority
- JP
- Japan
- Prior art keywords
- bus
- unit
- data
- internal
- signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/405—Coupling between buses using bus bridges where the bridge performs a synchronising function
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Description
【0001】
【産業上の利用分野】
本発明はワークステーションまたは類似のデータ処理システムに関し、特にそのようなデータ処理システムのアーキテクチャーに関する。
【0002】
【従来の技術】
多くのデータ処理システムのアーキテクチャーの特徴は直接メモリアクセス制御器 (direct momory acess controller,DMA)にある。DMA制御器は中央処理ユニット型の論理回路を与えられて外部システムバスおよび煤メモリ間のデータ移動に専用される。代表的なDMA制御器は外部バスに接続され、外部バスとシステムメモリとの間の動作周波数の相異を補償するに必要な論理回路を含む。例えば外部マイククロチャンネルバスを有するシステムにおいては、DMA制御器はマイクロチャンネルのスロットに接続出来る。この型式のDMA制御器はデータ転送を取り扱うための論理回路網を含む。この取り扱いには中央処理クロックとマイクロチャンネルクロックとの間のタイミングおよび周波数の相異の補償が含まれる。固有的に、この公知DMA制御器は極めて複雑なユニットで、その動作はシステム全体の性能に影響する。
【0003】
【発明が解決しようとする課題】
それゆえ本発明は新規で改良されたワークステーションのアーキテクチャーを与えることを課題とする。
【0004】
本発明の別の課題はワークステーションにおける直接メモリアクセスによるデータ転送を取り扱うための新規かつ改良されたシステムを与えることである。
【0005】
本発明のさらに別の課題は改良された性能を持つワークステーションを与えることである。
【0006】
本発明のさらに別の課題は簡単な直接メモリアクセス制御器を与えることである。
【0007】
【課題を解決するための手段】
このために、本発明は、第1のクロック周波数で動作する中央処理ユニット(10)を有するワークステーションであって、メインメモリ(42)と、前記中央処理ユニット(10)と前記メインメモリ(42)が接続された第一バス(20)と、前記第1のクロック周波数とは異なる第2のクロック周波数で動作する第二バス(32)と、前記第一バス(20)と前記第二バス(32)間に接続されたインターフェースチップ(30)と、を有し、前記インターフェースチップ(30)は、内部バス(35)と、前記第一バス(20)と前記第二バス(32)間のデータ転送を制御するためのDMA制御器(36)を具備する第一動作ユニットと、前記内部バス(35)と前記第一バス(20)間の第一のインターフェースユニット(34)を具備する第二の動作ユニットと、前記内部バス(35)と前記第二バス(32)間の第二のインターフェースユニット(38)を具備する第三の動作ユニットと、を含み、前記第二のインターフェースユニット(38)は、前記第一のインターフェースユニット(34)と前記第二のインターフェースユニット(38)間においてデータが前記内部バス(35)上を前記第1のクロック周波数で転送されるために、前記第1のクロック周波数と前記第二のクロック周波数間の差を補償するシンクロナイザ(37)を有し、前記第一のインターフェースユニット(34)は、前記DMA制御器(36)、前記第一のインターフェースユニット(34)及び前記第二のインターフェースユニット(38)が有している優位性に基づいて、前記DMA制御器(36)、前記第一のインターフェースユニット(34)及び前記第二のインターフェースユニット(38)に対して前記内部バスへのアクセスを許可する内部調停器(66)を有する、ように構成されたことを特徴とするワークステーションを提供するものである。
【0008】
したがってDMA制御器およびシンクロナイザの機能は分離されている。このように、DMA制御器の設計は簡単化でき、外部バスとローカルバスとの間でタイミング条件が異なる同様の設計にも使用できる。
【0009】
本発明の好ましい実施例ではインターフェースチップの内部バスがチップ上の個々の動作ユニット間の通信を可能にする。各動作ユニットは、それが内部バスの特定の線を介してアドレス指定できるようにするための同定番号を有する。内部調停器が最高の優先性を有するユニットに内部トランザクションバスへのアクセスを付与する。この内部バスはローカル(ホスト)バスとは独立に動作するが、ホスト中央処理ユニットと同一の周波数で動作する。
【0010】
公知ワークステーションに比較して、DMA制御器とシンクロナイザとの間の機能を分化することが、制御された円滑なデータ転送を小型で効率のよいインターフェースチップに許すことを理解されたい。
【0011】
以下に添付の図面を参照して実施例を説明する。
【0012】
【実施例】
図1は本発明に基づくワークステーションまたはデータ処理システムの好ましい実施例を示す。
【0013】
基本的には中央処理ユニット10はホストP/Mバス20を介して機能ブロック30、40、50と通信し、特にデータチャンネル(マイクロチャンネルバス)へのアクセスのため一つまたは複数のバスインターフェースブロックBIB30と、メモリおよびキャッシュ制御のため一つまたは複数のメモリブロックMIB40と、ローカル周辺装置およびビデオグラフィックアレー(VGA)インターフェースブロックPIB50と通信する。
【0014】
中央処理ユニット10には例えばインテル80386、80386SX、80486マイクロプロセッサ等の種々の型が使用できることに注意されたい。また数学的コプロセッサであるインテル80387あるいは80387SX等のコプロセッサ12も追加できる。
【0015】
機能ブロックBIB30はホストP/Mバス20と、在来のアダプタボード等の入/出力デバイスを装着するための複数のスロット32aを備えたマイクロチャンネル32との間のインターフェースとして与えられ、当該ステーションの他の機能ブロックとの通信におけるマスターとして働くことのできるマイクロプロセッサを備えた在来のアダプタボードを含んでいる。アダプタボードの一例は追加メモリを担持する回路ボードである。さらに制御器32bは固定ディスクドライブを制御するマイクロチャンネルに接続されている。
【0016】
機能ブロック(MIB)MIB40はホストP/Mバス20と、Dラム(RAM)メモリ42との間のインターフェースを形成する。このDラムは別のサイズを有してもよい。さらにMIB40は通常のBIOSロム(ROM)メモリ42aへのアクセスを制御する。
【0017】
周辺インターフェース機能ブロック(PIB)50(図1)はそれぞれの制御ブロックを介してホストP/Mバス20と種々の在来のシステムデバイスおよび周辺デバイスとの間のインターフェースを形成する。これらすべてのデバイスは当業者には公知であり、それゆえこれ以上詳述しない。
【0018】
各機能ブロックBIB30、MIB40、PIB50は各々がホストP/Mバス20と各機能ブロックBIB30、MIB40、PIB50に接続される個々のデバイスとの間の通信を達成するに必要なすべての素子、例えばレジスタおよび論理回路等、を含むワンチップとして特に設計されている。
【0019】
図1に示すようにM個の機能ブロックBIB30およびN個のMIB40はすべてホストP/Mバス20に接続出来る。従って異なった中央処理ユニットおよび著しく異なったメモリ容量を備えた非常に広範な種類の構成が達成出来る。各チップはシステムの種々の構成に合致するよう非常に多様に構成できる。
【0020】
各機能ブロック30、40、50にはシステムのすべての機能を一般的に統制している中央処理ユニットのオペレーションとは比較的独立なオペレーションを与えるある種の能力が与えられている。このことによりBIB30、MIB40等の機能ブロック間のデータ転送の制御その他の多数のプロシージャから中央処理ユニットを開放できる。例えば機能ブロックMIB40はダイナミックラム(DRAM)のリフレッシュサイクルを組織化し、これらに含まれるキャッシュのオーバーフローの整理をする。
【0021】
基本的には各機能ブロック30、40、50はホストP/Mバス20と個々のインターフェーストランザクションバスとの間のインターフェースユニットを含む。そのタイミングは中央処理ユニットクロックに基づいているが、各機能ブロック内の読み取りあるいは書き込み等のすべてのオペレーションはシステムの一サイクル内で独立に行なわれる。他方中央処理ユニットは少なくとも中央処理ユニットクロックの2サイクルを必要とする。従ってこの形式のシステムアーキテクチャは、中央処理ユニットに必要な待機状態が低減することにより著しく性能が改善され、高い全体的動作速度が得られる。
【0022】
特に図3を参照すると、この図に示されるバスインターフェースブロックBIB30は、好ましくは一個のマイクロチップ上に構成されており、ホストP/Mバス20とEMCAユニット38への通信接続を与える内部トランザクションバス35との間のインターフェースを形成するホストPMバスインターフェースHPI34を含む。EMCAユニットは少なくとも一個のマイクロチャンネルに対するインターフェースユニットである。このEMCAユニット38は、マイクロチャンネル32へのアクセスのため、拡張MCAバス制御器もしくはMCAユニット39に接続されている同期ユニットSYNC(シンクロナイザ)37を含む。EMCAユニット38のさらに詳細な説明は図14に関して述べる。
【0023】
内部トランザクションバス35にはさらに、ブロックMIB40およびホストP/Mバス20を介してなされるダイナミックRAMメモリ42およびマイクロチャンネル32間のデータ転送を制御するためのDMA制御器36がある。
【0024】
このワークステーションは、種々の形式の中央処理ユニットの一つおよびシステムに含むべき複数のマイクロチャンネルとダイナミックRAMメモリユニットを使用できる点で、高度の柔軟性を与える。これは予じめ定められたの中央処理ユニットが唯一個のマイクロチャンネルおよび一個のダイナミックRAMメモリブロックのみと通信する公知ワークステーションと対照をなす。
【0025】
特に拡張されたホストP/Mバスが図3ないし図7に示されている。特に中央処理ユニット10内において、インテル80386等のマイクロプロセッサの在来の入/出力ポートは、アドレスポートA(2、...31)、データポートD(0、...31)、バイトイネーブルポートBEb(0、...3)およびアドレスステータス出力ADSbが示されている。出力ADSbは有効なバスサイクル定義およびアドレスが利用できることを示し、アドレスが駆動されると同一のクロックでアクティブに駆動される。出力信号ADSbはアクティブで低レベルとなる。本システムのクロックPCLKはクロックオッシレータ60で発生されて中央処理ユニット10の入力ポートPCLKおよび機能ブロックBIB30、MIB40、PIB50に印加される。これらの入/出力ポートおよび中央処理ユニット10の他のすべての入/出力ポート、並びにそこに示されている信号は従来のものである。従ってこれ以上これらについては詳述しない。
【0026】
図3ないし図7からわかるように、機能ブロックBIB30、MIB40、およびPIB50は中央処理ユニットの入/出力ポートと同様な入出力ポートを与えられている。しかし、機能ブロックおよび中央処理ユニット10を相互に接続するための追加的ポートとその付随のバス線がさらに設けられている。それは例えばCT(0..1)で、これはホストP/Mバス内に含まれる二線の組み合わせであり、ホストP/Mバスへのアクセスを持つプロセッサ(または機能ブロック)の型式を示すものである。BREQb(0...3)は、四個のBIB30がそれぞれ一リクエスト線でPIB50に接続されていると仮定したときのホストP/Mバスリクエスト信号である。BGNTb(0..3)は、BREQb(0...3)でホストP/Mバスへのアクセス要求した機能ブロックBIB30に対し、機能ブロックPIB50から送信されるホストP/Mバス付与信号である。SBURSTBLbは、バーストモードでの転送を一次的に停止するがそのバースト条件を維持するため機能ブロックBIB30の一つから発生される信号である。CINおよびCOUTはシステム構成化ルーチンで使用する入/出力信号である。
【0027】
特にBIB30を例にとり、図8ないし図13を参照して一つの機能ブロックの設計特徴を説明する。
【0028】
前述したように機能ブロックBIB30は基本的にはユニットHIP34、DMA制御器36、同期ユニット37およびMCAユニット39を含む。MCAユニット39は図10ないし図13に示すように実際にはEMCAユニット38に結合されている。これら3個のユニットは中央処理ユニット10と同様に内部トランザクションバス35および機能ブロックBIB30、MIB40、PIB50を介して相互に通信する。
【0029】
従って機能ブロックBIB30は中央処理ユニット10その他のバスマスターの制御なしでいくつかの機能を行なう自己完結機能ブロックである。
【0030】
図10ないし図13を図3ないし図7と比較すると、ホストP/Mバス20および内部トランザクションバス35の信号および対応する線に密接な類似点があることがわかる。
【0031】
TRACTバス35に接続された各ユニット34、36、38はVALID信号、REQUEST信号、GRANT信号およびBURST信号を有する。各ユニットはID番号を有するが、これらは「0」を最優先する優先性に従う。特にEMA38は#0に、DMA制御器36は#1に、HPI34は#2に指定されている。
【0032】
以下の表にはTRACT35の主な信号が挙げられている。
表 1
IA(2:31): 内部アドレスビット2ないし31
IBEb(0:3): 内部バイトイネーブル0ないし3
IDN(0:1): フロックID番号(ブロックの最大番号は4)
ID(0:31): 内部データビット0ないし31
VALIDb(n): ユニット#nのこの有効信号はTRACTバス35上のアドレス、データおよび命令が有効であるとき、ユニット#nにより駆動される。
BUSYb(n): ユニット#nが使用中(busy)であるときはユニット#nのこのBUSY信号がその時点でアクティブとなる。この信号はバーストモード中、一次的にデータ転送を停止させる。その場合バーストモードはアクティブに留まる。
REQb(n): ユニット#nのこのリクエスト信号はユニットnで駆動される。
GNTb(n): この付与線は内部調停器66により駆動される。
BURSTb(n): このバースト線は、内部トランザクションバス35を現在付与され、休みなしの多重アクセスをするためその維持を希望するユニット#nにより、駆動される。
CSb(n): このチップ選択線はアドレス復号器64により駆動される。各機能ブロックはそれ自身のチップ選択信号を有する。
RETRYb(n): マスタユニット#nが、現在使用中のスレーブユニットにアクセスしようとするとき、そのマスターによってこの再試行信号が発生される。この再試行信号は内部トランザクションバス35に優先性を再要求するときに使用される。
同報(broadcast)信号
NPCLK: 内部トランザクションバス35上のすべてのクロック信号。システムの中央処理ユニット10は同一のクロックで動作する。すべてのサイクルの基準はこのクロックの上昇縁である。
IRESET: すべてのユニット34、36、37についての内部リセット。
DEST-BUSYb: これは現トランンザクションバスサイクルのスレーブユニットが使用中であることを示す。
VALIDALLb: すべてのVALIDb信号の組み合わせである。この信号はアドレスされたスレーブユニットに対し、TRACTバス上に有効サイクルが存在することを示す。
【0033】
図12を参照する。HPI34は内部復号器62を含み、この復号器は個々のユニットへのアクセスを復号するため線IA2ないしIA31を使用する。各ユニットはそれ自身のアドレス復号信号を有する。この信号はメモリアクセス、I/Oアクセスの両方について、またユニットが受信するすべての他の命令について発生される。またこの内部復号器62はDMA制御器36およびEMCAユニット38等のすべてのユニットのBUSY信号を受信し、DEST-BUSYb信号を発生する。
【0034】
さらに、アドレス復号器64にはホストP/Mバス20(図3ないしおよび図8を参照)からアドレス受信信号A2ないしA31が与えられ、機能ブロックBIB30等の対応の機能ブロックがホストP/Mバス20を通して通信すべく選択されたことを示すCHIPSEL信号を発生する。
【0035】
特に関心を払うべきものとして、ユニットHIP34に含まれる内部調停器66がある。内部トランザクションバス35へのアクセスを得るためユニットHIP34、DMA制御器36およびEMCAユニット38等のユニットは内部トランザクションバス35に対してリクエスト(要求)信号REQb(0..2)を発生することによりリクエストを主張しなければならない。いくつかのリクエストが同時に生ずるかも知れない。従って、これらのリクエストを解決して最高の優先性をもつリクエストユニットに付与信号GNTb(0..2)を発生することが内部調停器66の仕事である。上述したように、好ましい実施例ではEMCAユニット38が最高の優先性「0」を有し、ユニットHIP34は最低の優先性「2」を有する。クロック信号の上昇縁で付与信号を検出するユニットが次のサイクルで内部トランザクションバス35へのアクセスを有する。
【0036】
内部調停器66の別の仕事は、単一アドレスワードにより先導された複数データワードが送信されるバーストモードを処理することである。もしもユニットが付与信号を検出し、内部トランザクションバス35上で多重データ転送しようと希望するなら、このユニットはそのバースト線をアクティブ化する。例えばもしもEMCAユニット38が信号REQb(0)により内部トランザクションバス35へのアクセスをリクエストし、内部調停器66によるEMCAユニット38への付与信号GNTb(0)を受信したなら、後者EMCAユニット38は多重データ転送のためバースト信号BURSTb(0)を発行する。このバースト線がアクティブ化されているときは、バスアクセスを求める他のいかなるユニットのリクエストがあっても、現在の付与信号がアクティブのまま保持される。また内部調停器66はすべてのユニットのRETRYb(0...2)信号を受信し、それらを次回サイクルにおける優先性の再注文として使用する。
【0037】
内部トランザクションバス35上のすべてのサイクルがホストP/Mバス20上のクロックPCLKと同期していることに注目されたい。すべてのクロックタイミングはPCLK信号の上昇縁に基づく。これはPCLK信号を基準とする動作が次の上昇縁の後に起こることを意味する。内部トランザクションバス35上のサイクルを開始するDMA制御器36等の当該ユニットは、「マスター」と呼ばれる。それゆえ、「マスター」により発生される制御信号のいくつかは先頭に「M」が付く。そのサイクルに応答するユニットは「スレーブ」と呼ばれる。「スレーブ」により発生されるいくつかの信号には「S」が付く。例えばDMA制御器36がホストP/Mバス20およびメモリブロックMIB40を介してマイクロチャンネル32からダイナミックRAM42へのデータ転送を要求している場合、DMA制御器36がユニットHIP34との内部通信のため内部トランザクションバス35上の対応のサイクルを開始する。信号名の末尾の「b」はこの信号がアクティブ状態で低レベルであることを意味する。
【0038】
図10ないし図13において、内部トランザクションバスすなわちTRACT35のいくつかは例えばIA(2:31)またはID(0..31)のように「I」で始まる文字が指定されている。これはそれぞれアドレスおよびデータに関するホストP/Mバス20の類似の線、例えばA(2:31)またはD(0..31)と区別するためである。
【0039】
本発明によるシンクロナイザの詳細な説明に入る前に、例として単一書き込みサイクルについて機能ブロックBIB30内の動作を簡単に示す。
【0040】
基本的にDMA制御器36がマイクロチャンネルデバイスから42へデータを書き込みを希望していると仮定する。これはホストP/Mバス20とメモリブロックMIB40とを介して達成される。しかし、ホストP/Mバス20へのアクセスを得るためにはホストP/Mバス20(図8)へのインターフェースを形成するユニットHIP34へアドレスおよびデータが送信される。
【0041】
書き込みサイクルは内部トランザクションバス35上の転送一回のみからなる。有効なアドレス、データおよび命令が同時刻に内部トランザクションバス35上に発行される。
【0042】
図17で線(a)は遂行されるべきすべてのサイクルのタイミングを支配する中央処理ユニットクロックPCLKを表す。DMA制御器36は線(b)により最初のアクションとして、アクティブ時に低となるM-REQb信号を発生する。この信号は内部調停器66(図16)へ送信され、調停後、この内部調停器66が線(c)によりM-GNTb信号をDMA制御器36に返す。
【0043】
線(d)からわかるように、以下の方法が同時に、すなわち内部トランザクションバス35上に並列に、与えられる。それらの信号は、アドレス線IA2ないしIA31上のアドレス信号IA;線ID0ないしID31上のデータ信号ID(0..31);二つの線IDN(0:1)上のユニット同定番号IDN、すなわち本例のDMA制御器36については「01」;線IC0、IC1、IC2上にあってメモリまたはI/Oデータ書き込みアクセスを示す命令ICである。
【0044】
図17の線(d)および(g)を比較すると、線(d)による情報が内部トランザクションバス35上に現われる時間、DMA制御器36がM-VALIDb信号を発生することが判る。各ユニットは有効線を有する。この線は、マスタユニットがGRANT信号を検出し、有効アドレス、データ、および命令を内部トランザクションバス35上に提供するときにアクティブ化される。アドレス、データおよび命令が有効であるかぎり、VALIDb信号はアクティブである。
【0045】
受信ユニットが現在使用中であってもVALIDb信号はアクティブ化できる。この場合、内部トランザクションバス35および有効信号は当該受信ユニットがそのBUSY線をリセットするまではアクティブに留まらなければならない。次いでマスターがVALIDbを非アクティブ化して、次回の上昇縁で内部トランザクションバス35を開放することができる。線(e)による信号M-BURSTbが非アクティブデータ高レベルであることは、どのユニットもバーストモードを全く意図していないことを示す。線(f)はユニットHIP34により発生された信号S-BUSYbがアクティブで低レベルとなることを例示しており、これはスレーブが線(d)による情報を支配し、機能ブロックBIB30内の別のオペレーションとは独立にこれをホストP/Mバス20に与える状況にあることを示す。各ユニットはそれ自身のビジーライン(使用中を示す線)を有する。ビジーラインはユニットが新規の命令を受理できないことを他のユニットに告げるのに使用される。
【0046】
BUSYb信号は完了するのに二サイクル以上を必要とする命令をユニットが受信したときのみ、アクティブ化される。この場合はユニットが有効な命令を受信した後の上昇クロック縁で直ちにBUSY信号がアクティブ化される。
【0047】
ユニットのBUSYbが非アクティブ化されているかぎりにおいて、当該ユニットは次回のクロック上昇縁で内部トランザクションバス35から新たな命令を受理することができる。BUSY信号はその命令の完了の一クロック前に非アクティブ化される。
【0048】
図17の右側部分に示す状況は、アドレススレーブユニット、すなわちユニットHIP34、が現在のTRACTバスサイクルにおいてビジーであるための遅延がある点で、左側部分とは異なる。従って、信号DEST-BUSYb信号がユニットHIP34の内部復号器62から線(h)に発生され、線が使用中であることを示すそのBUSY信号が再び非アクティブで高となったことを示すまで、線(b)、(c)、(d)および(g)に示す信号が延長される。
【0049】
線(i)のM-RETRYb信号によって、DMA制御器36は内部調停器66に影響を与え、優先性の再構成をできる。
【0050】
ここで図8ないし図15を参照して本発明に基づき特に設計されたEMCAユニット38の詳細を説明する。
【0051】
基本的に、EMCAユニット38は拡張されたマイクロチャンネル32と機能ブロックBIB30の内部トランザクションバスTRACT35とを緩衝する論理回路を含む。すなわち、EMCAユニット38は中央処理ユニットには独立なマイクロチャンネル32のためのタイミングを発生する。
【0052】
図14および図15は本発明の実施例のシンクロナイザ37をさらに詳細に示す。特に、この同期ユニット37はMCAユニット39(図14の右側)によって機能ブロックBIB30(図8、9)の内部トランザクションバス35(図14の左側)を緩衝するものであることを理解されたい。
【0053】
シンクロナイザ37の主な機能は、中央処理ユニット10およびマイクロチャンネル32の異なる動作周波数を補償すること、およびデータ転送を円滑にするための緩衝を行なうこと、そしてシステムの柔軟性を強化することである。
【0054】
シンクロナイザ37は特に、MCAユニット39と機能ブロックBIB30の内部トランザクションバス35との間の転送を同期化する。これは特に必要なことである。なぜならば中央処理ユニットは例えば周波数が20MHzないし33MHのいろいろな周波数で動作する可能性があるが、それには拘わらずMCAユニット39は40MHzにクロックされるからである。さらに加えて、シンクロナイザ37はEMCAストリーミングの緩衝を行なう。EMCAストリーミングは64ビットのブロックで最大80Mバイト/秒の非常に高いデータ速度でデータを送信するものである。これはそれぞれが68ビット(64ビット+4ビット)の幅を有する8個のレジスタを含むバッファ70で行なわれる。
【0055】
以下に説明するように、シンクロナイザ37は四個の内部バス対を含む。シンクロナイザ37に出入りするすべての信号が緩衝される。これらのバッファのいくつかは常時イネーブル化されている。
【0056】
図14の左側に見られるように、内部トランザクションバス35の二方向性アドレスバスIA(31:2)は入力アドレスバスain(31:2)と出力アドレスバスaout(31:2)とに分割されたアドレスバス対と通信する。これら入力アドレスおよび出力アドレスバスはMCAユニット39のラッチAoutおよびAinに接続される。
【0057】
一般的に、データの流れる方向はデータの入力制御信号validbiおよび出力のための制御信号validboによって駆動される駆動器80により決定される。
【0058】
内部トランザクションバス35のデータ線ID(31:0)は内部バス線dinl(31:0)、doutl(31:0)およびdouth(31:0)を介して、また部分的に適当な予備格納Eレジスタ76、78を介して、MCAユニット39の対応するラッチDLout、DHout、DLin、DHinと接続される。文字DLは32ビットを含むデータの下位部分を示し、文字DHは32ビットデータの上位部分を示す。
【0059】
バイトイネーブル信号のための、内部トランザクションバス35の線IBEb(3:0)は内部シンクロナイザバス線bebin(3:0)、bebout(3:0)と通信し、また後述するマルチプレクサMUX2 84、86、別のEレジスタ82、88等のいくつかの回路網を介して、MCAユニット39の対応のラッチBEAout、BEBout、BEinと通信する。
【0060】
同様にして、内部トランザクションバス35の命令バスCoutおよびCinは内部シンクロナイザバス線cout(10:0)、cin(12:0)およびマルチプレクサMUX2 93を介してMCAユニット39の対応のラッチcin、coutと通信する。
【0061】
シンクロナイザ37の制御器主要部は、いくつかの組合せ論理回路91、92、95を介して35制御器に接続された制御状態決定装置90を含む。制御状態決定装置90には同期回路96、97も接続されている。
【0062】
この内部シンクロナイザバスの制御入力部はさらにEレジスタ(12:0)94を含む。
【0063】
シンクロナイザ37のさらに重要なユニットは、データ入力線およびデータ出力線dinl(31:0)、dinh(31:0)、doutl(31:0)およびdouth(31:0)、および内部バイトイネーブル線bebin(3:0)およびbebout(3:0)に接続されたバッファ70である。
【0064】
二つのクロック、中央処理ユニットクロックNPCLKとマイクロチャンネルクロックMCLK、があることに注意されたい。すなわち、予備格納レジスタ76、78、82を介してMCAユニット39により与えられるデータおよびバイトイネーブル信号についてはマイクロチャンネルクロックMCLKによりクロックされ、バッファ70の入/出力については中央処理ユニットクロックNPCLKによりクロックされる。従って、これは中央処理ユニット10とマイクロチャンネル32とに独立のタイミングを与える。クロックMCLKは中央処理ユニット10に選択された動作周波数とは独立で、通常、中央処理ユニットクロック(20MHzおよび33MHzの間)よりもずっと高い周波数(例えば40MHz)を有する。バッファ70は、データ転送における著しい時間差および中断を平滑化する優れた緩衝能力を有し、最適な転送連続性を達成する。またバッファ70はシステムに顕著な柔軟性を与える。
【0065】
シンクロナイザ37の主要構造を説明したので、その機能についてさらに詳細な説明をする。
【0066】
上述したように、DMA制御器36のアドレスバスIA(31:2)はシンクロナイザ37の二方向内部アドレスバスに接続される。このアドレスのゲートはvalidbiと呼ぶ信号およびvalidboと呼ぶ信号により制御される。この信号validbiは内部トランザクションバス35からシンクロナイザ37に「アドレスを入力せよ」という命令を意味する。信号validboは内部トランザクションバス35に「アドレスを発行せよ」という命令を意味する。
【0067】
aoutバスは常にMCA入力ラッチAinに接続されてMCA入力端の入力が浮遊しないようにしていることに注意されたい。MCA出力ラッチAoutの出力アドレス値は、内部トランザクションバス35からの有効アドレスが全くゲート入力されないときは、常にainにゲート入力される。
【0068】
もしも有効な命令が内部トランザクションバス35からシンクロナイザ37に発行されると、ainバスからのアドレスがEレジスタ72に格納される。その出力端はaoutバスに接続される。従ってEレジスタ72内にそのアドレス値が格納された直後に、当該アドレスはaoutバスに通過される。
【0069】
二つの下位アドレスビットaout(2)およびaout(3)はマルチプレクサ74で、バーストサイクルに適当な開始アドレスを与えるための2ビットカウンタ出力と多重化される。シンクロナイザ37は、ストリーミングモードではシンクロナイザ37にデータを返すことができないMCAスレーブデバイスに適当な開始アドレスを与える。
【0070】
下位32ビットの内部シンクロナイザデータバス、すなわちdinl(31:0)/doutl(31:0)が上記アドレスバスと同様に制御される一方、 上位32ビットの内部シンクロナイザデータバス、すなわちdinh(31:0)/douth(31:0)はMCAラッチDLinおよびDHinにのみ接続されて64ビット転送能力を与える。これはマイクロチャンネル32がストリーミングモードで動作しているときに要求されるものである。上記dinh/douth線はこれらのバス上に有効電圧レベルを与えるため、常にイネーブル化される。これは入力端が接地された対応の駆動器制御回路で認知される。
【0071】
以下にさらに詳細に説明するが、バッファ70に格納されるデータは32ビット形式でも64ビット形式でもよい。
【0072】
予備格納Eレジスタ76、78はそれぞれMCAユニット39のデータ出力ラッチDLoutおよびDHoutに接続され、バッファ70内に先のデータワードが格納されるよりも前にマイクロチャンネルバスからの新規データをMCAユニット39がラッチできるようにする。これによってMCAユニット39からシンクロナイザ37へのデータ書き込みの時間的重複を可能にする。
【0073】
バイトイネーブル線bebin/bebout(3:0)はアドレス線と同様に制御される。しかし、これらのバイトイネーブル値は、もしも書き込みトランザクションが起きたときはバッファ70に格納される。レジスタ内に格納されたバイトイネーブル値は当該レジスタ内に格納されたいずれのバイトが有効であるかを示す。読み取りトランザクションの期間、バイトイネーブル値はアドレスと同様にEレジスタ88に格納される。
【0074】
16ビットMCA書き込みサイクルにおいてはバッファ70へのバイトイネーブルの格納は必須である。MCAユニット39は書き込み動作中に32ビットワードを組み立て、すべてのバイトイネーブルをアクティブ化してそれらをシンクロナイザ37に送る。しかし、もしも最後の転送が16ビットの転送であると、メモリブロックMIB40(図1)にどのように当該16ビットワードを格納すべきかを通知すべく適当な値にバイトイネーブル値を設定しなければならない。
【0075】
MCAユニット39からバッファ70へのバイトイネーブル路もまた別の予備格納Eレジスタ82を含む。これも上記データ路についてと同様の目的で設けてある。読み取りサイクルの場合、追加的なこの段は迂回される。
【0076】
内部トランザクションバス35およびMCAユニット39からのバイトイネーブル線は二つのマルチプレクサ84、86を介して一バイトイネーブルバスに結合される。マルチプレクサ84、86の一方は70の入力端に接続され、他方が外部バイトイネーブルEレジスタ88に接続される。
【0077】
命令バス信号に関して言うと、これらもまたMCAユニット39から受信される。マルチプレクサ93がゲートとなって、どのブロックが有効命令を送ることが許されているかに応じて適当な命令バス信号をEレジスタ94に与える。ホストマスター、すなわち中央処理ユニット10または別のバスマスターのいずれかからの有効な命令信号によって新規なサイクルが開始されるときは必ず、Eレジスタ94がクロックされる。
【0078】
シンクロナイザ37を出る命令バス信号および制御バス信号はほとんど、組み合わせ論理回路91、92、95と組み合わされる状態決定装置90により発生される。
【0079】
ほとんどの命令バス信号および制御バス信号がMCAブロック内の状態決定装置および同期ユニットにより使用されるので、これらは使用されるまえに同期されなければならない。
【0080】
シンクロナイザ96、97はそれぞれ二つのフリップフロップを含む。入力フリップフロップは同期クロックの下降縁でクロックされ、第二のフリップフロップはその上昇縁でクロックされる。この同期方式は同期信号に1/2クロックサイクル(最良の場合)ないし3/2クロックサイクル(最悪の場合)の遅延を与える。
【0081】
ここで図16を参照して、バッファ70の設計および機能を詳細に説明する。
【0082】
バッファ70は二重ポート付きのものとして設計されており、一つのレジスタの幅を68ビットとする8レジスタの構成となっている。好ましい実施例ではバッファ70はEレジスタで与えられている(これはイネーブル化されたときにレジスタがアクティブとなることを意味する)。ただしこれには他の形式のメモリを使用することもできる。バッファ70の各レジスタはD0L、DOHの様な二つの32ビットデータ格納ロケーションおよびBEOの様なバイトイネーブル値のための4ビット部を含む。レジスタ700の様なのバッファレジスタは書き込みまたは読み取りポインタ値により選択される。その書き込みポインタ値は基本アドレスと復号器から発生される可変オフセット値と結合することにより得られる。図16図に示すようにそのようなアドレスは書き込みアドレス制御器83および読み取りアドレス制御器85で達成される。各アドレス制御器83、85はポインタレジスタを含み、書き込みアドレス制御器83はまた基本アドレスに加算されるべきオフセット値を決定するためのオフセット復号器を含む。これによってバッファ70を「分類化メモリ」として使用することが可能となる。ポインタレジスタに加えて、書き込みアドレス制御器83および読み取りアドレス制御器85は各々当該ポインタレジスタによって指定されたバッファレジスタのいずれのデータ格納ロケーションがアクセスされるべきかを決定するためのカウンタを含む。バッファ70上のすべての書き込みおよび読み取り動作は中央処理ユニット10(図1ないし図7)のホスト中央処理ユニットクロックNPCLKと完全に同期して働くことに注意されたい。
【0083】
前に述べたように、データ転送に対する「マスター」は「ホストマスター」であるホスト中央処理ユニット10でも「バスマスター」と呼ばれるMCマスターデバイスでもよい。データワードサイズはホストマスターの書き込みサイクルではホストP/Mバス20(図1ないし図8)および機能ブロックBIB30の内部トランザクションバス35の幅に相当する32ビットを超えることはない。もしも有効なデータワードが内部トランザクションバス35上でシンクロナイザ37に発行されると、そのデータワードは、BE0レジスタ内に格納されているバイトイネーブル値と並列に、第一下位32ビットエントリーD0LとしてD0Lレジスタ内に書き込まれる。このD0Lロケーションは書き込みポインタ(基本アドレス)およびおよび書き込みアドレス制御器83によってオフセット値0により選択される。
【0084】
書き込みアドレス制御器83の書き込みポインタはホストマスターの書き込みサイクル中はバッファ70内の第一エントリーを指示するようにロックされる。従って単一データワードが送信されるホストマスターの書き込みサイクルでは8個のバッファレジスタの唯一個のみが使用される。それにも拘わらず、シンクロナイザ37は別のデータを受理できる。MCAユニット39がバッファ70からデータを読み取ると同時に、バッファ70は内部トランザクションバス35から新規データを受理できる。従って、シンクロナイザ37およびMCAユニット39の組み合わせは、最適なホストマスター書き込みサイクル性能を実現する「2段データパイプライン」を構成する。
【0085】
読み取りポインタもまたホストマスター書き込みサイクル期間、ロックされ、書き込みポインタと同一のレジスタを指示する。MCAユニット39がシンクロナイザ37から開始命令を受信するや否や、読み取りアドレス制御器85のバッファ70から当該データを取り出し、それを選択されたMCAデバイスに書き込む。
【0086】
ホストマスターの読み取りサイクルに関して言うと、これらサイクルは以下の点で書き込みサイクルと異なる。すなわち、読み取りリクエストは内部トランザクションバス35から受信され、そのアドレスおよびバイトイネーブル値はそれぞれのレジスタに格納されると共にMCAユニット39に通される。
【0087】
バッファ70への書き込みは、「読み戻し」手続きにおいて行なわれる。この手続きは、書き込みポインタ値と、オフセット値0とでアドレス指定されるD0L内に有効データを格納する手続きである。当該データは内部トランザクションバス35が開放されるとすぐに、読み取りポインタによるアドレス指定に従って35に「読み戻し」される。このサイクルではシンクロナイザ37は書き込みサイクルの場合と対照的に新規な命令を受理することはできない。なぜならばシンクロナイザ37はMCAユニット39からのデータの戻りを待つからである。
【0088】
起こりうるデータ転送の別の形態としては、ホストマスターのバーストモードがある。ホストマスターのバースト読み取りサイクルは基本的には通常のホストマスター読み取りサイクルと同様に開始する。
【0089】
開始アドレスがMCAユニット39によって受信された後、MCAユニット39は当該アドレスされたMCAデバイスにアクセスし、四つの32ビットワードをバッファ70に読み戻す。ただしもしもそのMCAデバイスが高速64ビットストリーミングモードで動作しているときは二つの64ビットデータブロックを呼び戻す。もしもMCAユニット39からの四つの32ビットワードがバッファ70中に通常のバーストモード(非ストリーミングモードで)書き込まれると、これらは書き込みポインタにより選択される別個の四個のバッファレジスタ中にシーケンスをなして書き込まれる。もしもMCAユニット39から二つの64ビットデータブロックがバッファ70中にストリーミングモードで書き込まれるなら、これら二ブロックは書き込みポインタにより選択される二つのバッファレジスタ中にシーケンスをなすように書き込まれ、すべてのビットを以て当該選択されたバッファレジスタ中に同時書き込みされた各ブロックを構成する。64ビットデータブロックを構成する二つの32ビットデータワードが、選択されたバッファレジスタの二つのデータ格納ロケーション中に書き込まれる順序は、83のカウンタにより決定される。バーストモードでは、ホストプロセッサであるユニット10は四個の32ビットデータワードまでのワードを予期する。これは中央処理ユニット10がインテル08486マイクロプロセッサである場合には下位開始アドレスビットA(2)、A(3)により決定される一定のシーケンスで戻されなければならない。例えばA(3)=1、A(2)=0である場合は中央処理ユニット10はアドレスシーケンスaddr3、addr4、addr1、addr2のデータを予期する。もしもMCAデバイスが64ビットブロックのデータからなるデータをストリーミングモードで送ると、MCAはこのデータを通常のシーケンスであるaddr1、addr2、addr3、addr4でしか与えることができない。しかしながら、書き込みアドレス制御器83はMCAユニット39から送信されるデータワードを、ホストプロセッサ中央処理ユニット10が要求する正しい順序でバッファ70中にストリーミングモードで書き込まれるようにできる。
【0090】
このようにしてMCAユニット39から受信したデータは、読み取りポインタを増大させることにより読み取りできるような順序で、すなわちバッファ70のレジスタの内容を予定のシーケンスで読み取りできるように、バッファ70中に書き込まれる。各レジスタの格納レジスタロケーションもまた予定のシーケンスでアクセスできる。このことはそのデータワードがMCAからの「読み戻し」期間に分類されることを意味する。各データワードが格納されているバッファレジスタは、基本書き込みポインタ値と書き込みアドレス制御器83内の復号器で発生されるオフセット値との和でアドレス指定され、中央処理ユニット10により与えられる開始アドレスにより決定される。
【0091】
分類が全く要求されないMCAユニット39からの32ビット読み戻しでは、データは書き込みポインタをロケーションD0LからロケーションD3Lにシーケンシャルをなすように前進させることにより最初の四つのレジスタロケーションD0LないしD3Lに書き込まれることに注目されたい。
【0092】
バスマスター書き込みサイクルではMCAマスターデバイスはデータを64-ビット、32-ビット、24-ビット、16-ビット、または8-ビットフォーマットでバッファ70に書き込む。これらのデータと共にバッファ70は必要なバイトイネーブル情報を格納する。シンクロナイザ37にはすべての書き込みが32-ビットまたは64-ビットの書き込みと同様に見える。そのようなデータを受信するメモリブロックMIB40(図1ないし図7)は当該バイトイネーブル値を検査することによりデータ幅を決定する。これらは64-ビットおよび32-ビットデータについて同一である。なぜならばデータは内部トランザクションバス35およびホストP/Mバス20を32-ビットワードで通過するからである。
【0093】
バッファ70への単一の書き込みでは、そのレジスタは常に書き込みポインタ値とオフセット値0との和によって選択される。通常の8-ビット、16-ビット、または32-ビットの書き込みでは唯一つの書き込みオペレーションが起こる。
【0094】
MCAユニット39にデータサイズおよびストリーミングモード情報をシンクロナイザ37へ通過させるステータスがマイクロチャンネル32(図1)に一旦到達すると、シンクロナイザ37は「ストリーム書き込み」または「通常の書き込み」を開始し、内部トランザクションバス35上のメモリブロックMIB40の様なデバイスを選択する。このデータは読み取りポインタの制御の下にバッファ70から内部トランザクションバス35へ取り出される。データはシーケンス順に選択される。もしも64-ビットMCデバイスが書き込みサイクルを遂行するなら、読み取りサイクルカウンタが、読み取りポインタに加えて使用される。これは70の格納ロケーション内に格納されている32-ビットデータワードをゲート制御により32-ビット内部トランザクションバス35上へ出すためであり、上記のバースト読み取りオペレーションに類似する。
【0095】
バスマスターの読み取り/ストリーム読み取りサイクルでは、サイクルが「通常の読み取り」であるか「ストリーム読み取り」であるかによらず、シンクロナイザ37はトランザクションバス35へ「バースト読み取り」を発行する。
【0096】
内部トランザクションバス35からの32-ビットデータワードは64-ビット形式でバッファ70中にかきこまれる。これは最初に到来するワードはゲート通過により多重化解除されて、ロケーションD0Lに入れられ、第二のワードはD0Lに、第三ワードはD1Lに入れられる、等を意味する。これらのロケーションのアドレス指定は書き込みポインタ値とオフセット0との和を、書き込みアドレス制御器83に含まれる書き込みサイクルカウンタの値と組み合わせて行なわれる。このカウンタはD2Hの様な上位32-ビットロケーションを書き込むことができるようにするため、一回置きに書き込みポインタをロックする。
【0097】
上記の説明から本発明のシンクロナイザ37は中央処理ユニット10の周波数とマイクロチャンネルデバイスの周波数の相異に影響されずに、またマイクロチャンネル32上にデータが与えられる幅の相異に影響されずに種々のデータ転送手続きを処理できるようにされており、最適なデータ転送性能を与えることを理解されたい。
【0098】
上述したようにBIB30には直接ダイナミックRAMメモリ42へのアクセスを制御するためのDMA制御器36が設けられている。公知システムではこのDMA制御器は論理回路レジスタ等のすべての機能制御回路と、MCA装置からシステムメモリへまたはその逆へ転送すべきデータをラッチ留めするためのメモリ部分とを含む別個のユニットとして設計されている。しかし本発明ではDMA制御器の機能は、シンクロナイザによって支配されるデータ転送のタイミングから分離されている。従ってこのDMA制御器は一層効率の高い改良された性能を有する。
【0099】
このことはDMA制御器36とMCAユニット39およびインターフェースユニット34とを併せて単一の自己完結型機能ブロックに含めて設計する場合は特に言えることである。
【0100】
中央処理ユニット10は機能ブロック30の上記動作の詳細をすべて支援するよう行動する必要性は全くないことに注目されたい。すなわち、各機能ブロックは自己完結型のユニットで、内部トランザクションバス35上で行なわれる機能ブロックBIB30内の書き込み/読み取りサイクルの開始を制御する義務から中央処理ユニット10を開放する。
【0101】
特に、中央処理ユニットが命令を機能ブロックへ送った後は、さらに中央処理ユニットの制御がなくても機能ブロックがこの命令を行なう。例えば、機能ブロックBIB30に送られたそのような命令はマイクロチャンネル32からダイナミックRAM42への書き込みデータがあるが、これはDMA制御器36の制御の下に遂行される。各機能ブロックは論理回路およびそのプロセスを実行するためのフリップフロップ等の回路を含む。すべてこれらは所謂「状態決定装置」に含まれ、実行すべきプロセスおよび特定の条件に従って当業者が与えることができる。読み取りおよび書き込みオペレーションは一サイクル内にマスターユニットまたはスレーブユニットの動作に基づいて実行され、その場合読み取りサイクルに対して特定の優れた性能が得られることに注目されたい。すなわち、マスターが読み取りリクエストをした一サイクル後、準備完了次第、リクエストされたそのデータを一サイクル内にスレーブが独立に戻す。
【0102】
また、機能ブロックBIB30のリクエスト/付与の手続きに関して、バスマスター機能が中央処理ユニット10から機能ブロックBIB30へ転送されることに注目されたい。図3ないし図7でCTIN(0..1)信号が信号「11」へ動的に変化することがこれを示している。この信号「11」は信号CT(0..1)としてメモリブロックMIB40および機能ブロックBIB30に与えられるものである。
【0103】
このようにワークステーションに新規アーキテクチャを採用したため、動作速度を高めると共に待機状態を低減することができ、全体的性能が著しく改善されたことを理解されたい。さらに、種々の形式のマイクロプロセッサを含む異なった構成のワークステーションで使用する機能ブロックを標準化すること、またマイクロチャンネルおよびメモリブロックを多重化することにより、製造、組立、およびサービスにかかるコストを著しく低減できる。
【0104】
この事実は特に、各機能ブロックが一チップ(好ましくはHCMOSデバイスである)で与えられる本実施例のワークステーションにとって真である。各チップはすべてレジスタ論理回路等の必要なサブユニットを含む。これらチップは標準化されはするが、広範囲のシステム構成で使用できるものである。なぜならばこれらは中央処理ユニットの形式、動作周波数、ダイナミックRAMメモリ空間等の構成化に必要なデータに対して十分なレジスタ空間を含んでいるからである。
【0105】
一例を挙げれば、チップは簡単にワークステーションのシステムボードに設置できる208ピン使用のASICパッケージで与えることができる。
【0106】
当業者には本発明が例示した特定の実施例に限定されないことは明白であろう。また「ワークステーション」という用語は特定の形式のコンピューターに限定されず、任意のデータ処理システムを含む最も広義に解すべきものである。
【図面の簡単な説明】
【図1】本発明によるワークステーションの一実施例の全体図で、ワークステーションの種々の機能ブロックおよびそれらの相互接続を示す。
【図2】図3ないし図7の配置を示す図である。
【図3】種々の機能ブロックを相互に接続するに使用されるホストP/Mバスの詳細を示す図の一部である。
【図4】種々の機能ブロックを相互に接続するに使用されるホストP/Mバスの詳細を示す図の他の一部である。
【図5】種々の機能ブロックを相互に接続するに使用されるホストP/Mバスの詳細を示す図の他の一部である。
【図6】種々の機能ブロックを相互に接続するに使用されるホストP/Mバスの詳細を示す図の他の一部である。
【図7】種々の機能ブロックを相互に接続するに使用されるホストP/Mバスの詳細を示す図の他の一部である。
【図8】機能ブロックBIBのブロック線図である。
【図9】図10ないし図13の配置を示す図である。
【図10】機能ブロックBIBの内部トランザクションバスの種々の線の詳細を示す図の一部である。
【図11】機能ブロックBIBの内部トランザクションバスの種々の線の詳細を示す図の他の一部である。
【図12】機能ブロックBIBの内部トランザクションバスの種々の線の詳細を示す図の他の一部である。
【図13】 機能ブロックBIBの内部トランザクションバスの種々の線の詳細を示す図の他の一部である。
【図14】機能ブロックBIBに使用するシンクロナイザのブロック線図の一部である。
【図15】機能ブロックBIBに使用するシンクロナイザのブロック線図の残りの一部である。
【図16】図14、図15のシンクロナイザに使用するバッファの主要部設計を示す図である。
【図17】単一書き込みサイクルについてワークステーションの動作を説明するためのタイミング図である。
【符号の説明】
10 中央処理ユニット
12 コプロセッサ
20 ローカルバス
30 バスインターフェースブロック
32 マイクロチャンネルバス
40 メモリインターフェースブロック
50 周辺機器およびビデオグラフィックアクセスインターフェースブロック
【産業上の利用分野】
本発明はワークステーションまたは類似のデータ処理システムに関し、特にそのようなデータ処理システムのアーキテクチャーに関する。
【0002】
【従来の技術】
多くのデータ処理システムのアーキテクチャーの特徴は直接メモリアクセス制御器 (direct momory acess controller,DMA)にある。DMA制御器は中央処理ユニット型の論理回路を与えられて外部システムバスおよび煤メモリ間のデータ移動に専用される。代表的なDMA制御器は外部バスに接続され、外部バスとシステムメモリとの間の動作周波数の相異を補償するに必要な論理回路を含む。例えば外部マイククロチャンネルバスを有するシステムにおいては、DMA制御器はマイクロチャンネルのスロットに接続出来る。この型式のDMA制御器はデータ転送を取り扱うための論理回路網を含む。この取り扱いには中央処理クロックとマイクロチャンネルクロックとの間のタイミングおよび周波数の相異の補償が含まれる。固有的に、この公知DMA制御器は極めて複雑なユニットで、その動作はシステム全体の性能に影響する。
【0003】
【発明が解決しようとする課題】
それゆえ本発明は新規で改良されたワークステーションのアーキテクチャーを与えることを課題とする。
【0004】
本発明の別の課題はワークステーションにおける直接メモリアクセスによるデータ転送を取り扱うための新規かつ改良されたシステムを与えることである。
【0005】
本発明のさらに別の課題は改良された性能を持つワークステーションを与えることである。
【0006】
本発明のさらに別の課題は簡単な直接メモリアクセス制御器を与えることである。
【0007】
【課題を解決するための手段】
このために、本発明は、第1のクロック周波数で動作する中央処理ユニット(10)を有するワークステーションであって、メインメモリ(42)と、前記中央処理ユニット(10)と前記メインメモリ(42)が接続された第一バス(20)と、前記第1のクロック周波数とは異なる第2のクロック周波数で動作する第二バス(32)と、前記第一バス(20)と前記第二バス(32)間に接続されたインターフェースチップ(30)と、を有し、前記インターフェースチップ(30)は、内部バス(35)と、前記第一バス(20)と前記第二バス(32)間のデータ転送を制御するためのDMA制御器(36)を具備する第一動作ユニットと、前記内部バス(35)と前記第一バス(20)間の第一のインターフェースユニット(34)を具備する第二の動作ユニットと、前記内部バス(35)と前記第二バス(32)間の第二のインターフェースユニット(38)を具備する第三の動作ユニットと、を含み、前記第二のインターフェースユニット(38)は、前記第一のインターフェースユニット(34)と前記第二のインターフェースユニット(38)間においてデータが前記内部バス(35)上を前記第1のクロック周波数で転送されるために、前記第1のクロック周波数と前記第二のクロック周波数間の差を補償するシンクロナイザ(37)を有し、前記第一のインターフェースユニット(34)は、前記DMA制御器(36)、前記第一のインターフェースユニット(34)及び前記第二のインターフェースユニット(38)が有している優位性に基づいて、前記DMA制御器(36)、前記第一のインターフェースユニット(34)及び前記第二のインターフェースユニット(38)に対して前記内部バスへのアクセスを許可する内部調停器(66)を有する、ように構成されたことを特徴とするワークステーションを提供するものである。
【0008】
したがってDMA制御器およびシンクロナイザの機能は分離されている。このように、DMA制御器の設計は簡単化でき、外部バスとローカルバスとの間でタイミング条件が異なる同様の設計にも使用できる。
【0009】
本発明の好ましい実施例ではインターフェースチップの内部バスがチップ上の個々の動作ユニット間の通信を可能にする。各動作ユニットは、それが内部バスの特定の線を介してアドレス指定できるようにするための同定番号を有する。内部調停器が最高の優先性を有するユニットに内部トランザクションバスへのアクセスを付与する。この内部バスはローカル(ホスト)バスとは独立に動作するが、ホスト中央処理ユニットと同一の周波数で動作する。
【0010】
公知ワークステーションに比較して、DMA制御器とシンクロナイザとの間の機能を分化することが、制御された円滑なデータ転送を小型で効率のよいインターフェースチップに許すことを理解されたい。
【0011】
以下に添付の図面を参照して実施例を説明する。
【0012】
【実施例】
図1は本発明に基づくワークステーションまたはデータ処理システムの好ましい実施例を示す。
【0013】
基本的には中央処理ユニット10はホストP/Mバス20を介して機能ブロック30、40、50と通信し、特にデータチャンネル(マイクロチャンネルバス)へのアクセスのため一つまたは複数のバスインターフェースブロックBIB30と、メモリおよびキャッシュ制御のため一つまたは複数のメモリブロックMIB40と、ローカル周辺装置およびビデオグラフィックアレー(VGA)インターフェースブロックPIB50と通信する。
【0014】
中央処理ユニット10には例えばインテル80386、80386SX、80486マイクロプロセッサ等の種々の型が使用できることに注意されたい。また数学的コプロセッサであるインテル80387あるいは80387SX等のコプロセッサ12も追加できる。
【0015】
機能ブロックBIB30はホストP/Mバス20と、在来のアダプタボード等の入/出力デバイスを装着するための複数のスロット32aを備えたマイクロチャンネル32との間のインターフェースとして与えられ、当該ステーションの他の機能ブロックとの通信におけるマスターとして働くことのできるマイクロプロセッサを備えた在来のアダプタボードを含んでいる。アダプタボードの一例は追加メモリを担持する回路ボードである。さらに制御器32bは固定ディスクドライブを制御するマイクロチャンネルに接続されている。
【0016】
機能ブロック(MIB)MIB40はホストP/Mバス20と、Dラム(RAM)メモリ42との間のインターフェースを形成する。このDラムは別のサイズを有してもよい。さらにMIB40は通常のBIOSロム(ROM)メモリ42aへのアクセスを制御する。
【0017】
周辺インターフェース機能ブロック(PIB)50(図1)はそれぞれの制御ブロックを介してホストP/Mバス20と種々の在来のシステムデバイスおよび周辺デバイスとの間のインターフェースを形成する。これらすべてのデバイスは当業者には公知であり、それゆえこれ以上詳述しない。
【0018】
各機能ブロックBIB30、MIB40、PIB50は各々がホストP/Mバス20と各機能ブロックBIB30、MIB40、PIB50に接続される個々のデバイスとの間の通信を達成するに必要なすべての素子、例えばレジスタおよび論理回路等、を含むワンチップとして特に設計されている。
【0019】
図1に示すようにM個の機能ブロックBIB30およびN個のMIB40はすべてホストP/Mバス20に接続出来る。従って異なった中央処理ユニットおよび著しく異なったメモリ容量を備えた非常に広範な種類の構成が達成出来る。各チップはシステムの種々の構成に合致するよう非常に多様に構成できる。
【0020】
各機能ブロック30、40、50にはシステムのすべての機能を一般的に統制している中央処理ユニットのオペレーションとは比較的独立なオペレーションを与えるある種の能力が与えられている。このことによりBIB30、MIB40等の機能ブロック間のデータ転送の制御その他の多数のプロシージャから中央処理ユニットを開放できる。例えば機能ブロックMIB40はダイナミックラム(DRAM)のリフレッシュサイクルを組織化し、これらに含まれるキャッシュのオーバーフローの整理をする。
【0021】
基本的には各機能ブロック30、40、50はホストP/Mバス20と個々のインターフェーストランザクションバスとの間のインターフェースユニットを含む。そのタイミングは中央処理ユニットクロックに基づいているが、各機能ブロック内の読み取りあるいは書き込み等のすべてのオペレーションはシステムの一サイクル内で独立に行なわれる。他方中央処理ユニットは少なくとも中央処理ユニットクロックの2サイクルを必要とする。従ってこの形式のシステムアーキテクチャは、中央処理ユニットに必要な待機状態が低減することにより著しく性能が改善され、高い全体的動作速度が得られる。
【0022】
特に図3を参照すると、この図に示されるバスインターフェースブロックBIB30は、好ましくは一個のマイクロチップ上に構成されており、ホストP/Mバス20とEMCAユニット38への通信接続を与える内部トランザクションバス35との間のインターフェースを形成するホストPMバスインターフェースHPI34を含む。EMCAユニットは少なくとも一個のマイクロチャンネルに対するインターフェースユニットである。このEMCAユニット38は、マイクロチャンネル32へのアクセスのため、拡張MCAバス制御器もしくはMCAユニット39に接続されている同期ユニットSYNC(シンクロナイザ)37を含む。EMCAユニット38のさらに詳細な説明は図14に関して述べる。
【0023】
内部トランザクションバス35にはさらに、ブロックMIB40およびホストP/Mバス20を介してなされるダイナミックRAMメモリ42およびマイクロチャンネル32間のデータ転送を制御するためのDMA制御器36がある。
【0024】
このワークステーションは、種々の形式の中央処理ユニットの一つおよびシステムに含むべき複数のマイクロチャンネルとダイナミックRAMメモリユニットを使用できる点で、高度の柔軟性を与える。これは予じめ定められたの中央処理ユニットが唯一個のマイクロチャンネルおよび一個のダイナミックRAMメモリブロックのみと通信する公知ワークステーションと対照をなす。
【0025】
特に拡張されたホストP/Mバスが図3ないし図7に示されている。特に中央処理ユニット10内において、インテル80386等のマイクロプロセッサの在来の入/出力ポートは、アドレスポートA(2、...31)、データポートD(0、...31)、バイトイネーブルポートBEb(0、...3)およびアドレスステータス出力ADSbが示されている。出力ADSbは有効なバスサイクル定義およびアドレスが利用できることを示し、アドレスが駆動されると同一のクロックでアクティブに駆動される。出力信号ADSbはアクティブで低レベルとなる。本システムのクロックPCLKはクロックオッシレータ60で発生されて中央処理ユニット10の入力ポートPCLKおよび機能ブロックBIB30、MIB40、PIB50に印加される。これらの入/出力ポートおよび中央処理ユニット10の他のすべての入/出力ポート、並びにそこに示されている信号は従来のものである。従ってこれ以上これらについては詳述しない。
【0026】
図3ないし図7からわかるように、機能ブロックBIB30、MIB40、およびPIB50は中央処理ユニットの入/出力ポートと同様な入出力ポートを与えられている。しかし、機能ブロックおよび中央処理ユニット10を相互に接続するための追加的ポートとその付随のバス線がさらに設けられている。それは例えばCT(0..1)で、これはホストP/Mバス内に含まれる二線の組み合わせであり、ホストP/Mバスへのアクセスを持つプロセッサ(または機能ブロック)の型式を示すものである。BREQb(0...3)は、四個のBIB30がそれぞれ一リクエスト線でPIB50に接続されていると仮定したときのホストP/Mバスリクエスト信号である。BGNTb(0..3)は、BREQb(0...3)でホストP/Mバスへのアクセス要求した機能ブロックBIB30に対し、機能ブロックPIB50から送信されるホストP/Mバス付与信号である。SBURSTBLbは、バーストモードでの転送を一次的に停止するがそのバースト条件を維持するため機能ブロックBIB30の一つから発生される信号である。CINおよびCOUTはシステム構成化ルーチンで使用する入/出力信号である。
【0027】
特にBIB30を例にとり、図8ないし図13を参照して一つの機能ブロックの設計特徴を説明する。
【0028】
前述したように機能ブロックBIB30は基本的にはユニットHIP34、DMA制御器36、同期ユニット37およびMCAユニット39を含む。MCAユニット39は図10ないし図13に示すように実際にはEMCAユニット38に結合されている。これら3個のユニットは中央処理ユニット10と同様に内部トランザクションバス35および機能ブロックBIB30、MIB40、PIB50を介して相互に通信する。
【0029】
従って機能ブロックBIB30は中央処理ユニット10その他のバスマスターの制御なしでいくつかの機能を行なう自己完結機能ブロックである。
【0030】
図10ないし図13を図3ないし図7と比較すると、ホストP/Mバス20および内部トランザクションバス35の信号および対応する線に密接な類似点があることがわかる。
【0031】
TRACTバス35に接続された各ユニット34、36、38はVALID信号、REQUEST信号、GRANT信号およびBURST信号を有する。各ユニットはID番号を有するが、これらは「0」を最優先する優先性に従う。特にEMA38は#0に、DMA制御器36は#1に、HPI34は#2に指定されている。
【0032】
以下の表にはTRACT35の主な信号が挙げられている。
表 1
IA(2:31): 内部アドレスビット2ないし31
IBEb(0:3): 内部バイトイネーブル0ないし3
IDN(0:1): フロックID番号(ブロックの最大番号は4)
ID(0:31): 内部データビット0ないし31
VALIDb(n): ユニット#nのこの有効信号はTRACTバス35上のアドレス、データおよび命令が有効であるとき、ユニット#nにより駆動される。
BUSYb(n): ユニット#nが使用中(busy)であるときはユニット#nのこのBUSY信号がその時点でアクティブとなる。この信号はバーストモード中、一次的にデータ転送を停止させる。その場合バーストモードはアクティブに留まる。
REQb(n): ユニット#nのこのリクエスト信号はユニットnで駆動される。
GNTb(n): この付与線は内部調停器66により駆動される。
BURSTb(n): このバースト線は、内部トランザクションバス35を現在付与され、休みなしの多重アクセスをするためその維持を希望するユニット#nにより、駆動される。
CSb(n): このチップ選択線はアドレス復号器64により駆動される。各機能ブロックはそれ自身のチップ選択信号を有する。
RETRYb(n): マスタユニット#nが、現在使用中のスレーブユニットにアクセスしようとするとき、そのマスターによってこの再試行信号が発生される。この再試行信号は内部トランザクションバス35に優先性を再要求するときに使用される。
同報(broadcast)信号
NPCLK: 内部トランザクションバス35上のすべてのクロック信号。システムの中央処理ユニット10は同一のクロックで動作する。すべてのサイクルの基準はこのクロックの上昇縁である。
IRESET: すべてのユニット34、36、37についての内部リセット。
DEST-BUSYb: これは現トランンザクションバスサイクルのスレーブユニットが使用中であることを示す。
VALIDALLb: すべてのVALIDb信号の組み合わせである。この信号はアドレスされたスレーブユニットに対し、TRACTバス上に有効サイクルが存在することを示す。
【0033】
図12を参照する。HPI34は内部復号器62を含み、この復号器は個々のユニットへのアクセスを復号するため線IA2ないしIA31を使用する。各ユニットはそれ自身のアドレス復号信号を有する。この信号はメモリアクセス、I/Oアクセスの両方について、またユニットが受信するすべての他の命令について発生される。またこの内部復号器62はDMA制御器36およびEMCAユニット38等のすべてのユニットのBUSY信号を受信し、DEST-BUSYb信号を発生する。
【0034】
さらに、アドレス復号器64にはホストP/Mバス20(図3ないしおよび図8を参照)からアドレス受信信号A2ないしA31が与えられ、機能ブロックBIB30等の対応の機能ブロックがホストP/Mバス20を通して通信すべく選択されたことを示すCHIPSEL信号を発生する。
【0035】
特に関心を払うべきものとして、ユニットHIP34に含まれる内部調停器66がある。内部トランザクションバス35へのアクセスを得るためユニットHIP34、DMA制御器36およびEMCAユニット38等のユニットは内部トランザクションバス35に対してリクエスト(要求)信号REQb(0..2)を発生することによりリクエストを主張しなければならない。いくつかのリクエストが同時に生ずるかも知れない。従って、これらのリクエストを解決して最高の優先性をもつリクエストユニットに付与信号GNTb(0..2)を発生することが内部調停器66の仕事である。上述したように、好ましい実施例ではEMCAユニット38が最高の優先性「0」を有し、ユニットHIP34は最低の優先性「2」を有する。クロック信号の上昇縁で付与信号を検出するユニットが次のサイクルで内部トランザクションバス35へのアクセスを有する。
【0036】
内部調停器66の別の仕事は、単一アドレスワードにより先導された複数データワードが送信されるバーストモードを処理することである。もしもユニットが付与信号を検出し、内部トランザクションバス35上で多重データ転送しようと希望するなら、このユニットはそのバースト線をアクティブ化する。例えばもしもEMCAユニット38が信号REQb(0)により内部トランザクションバス35へのアクセスをリクエストし、内部調停器66によるEMCAユニット38への付与信号GNTb(0)を受信したなら、後者EMCAユニット38は多重データ転送のためバースト信号BURSTb(0)を発行する。このバースト線がアクティブ化されているときは、バスアクセスを求める他のいかなるユニットのリクエストがあっても、現在の付与信号がアクティブのまま保持される。また内部調停器66はすべてのユニットのRETRYb(0...2)信号を受信し、それらを次回サイクルにおける優先性の再注文として使用する。
【0037】
内部トランザクションバス35上のすべてのサイクルがホストP/Mバス20上のクロックPCLKと同期していることに注目されたい。すべてのクロックタイミングはPCLK信号の上昇縁に基づく。これはPCLK信号を基準とする動作が次の上昇縁の後に起こることを意味する。内部トランザクションバス35上のサイクルを開始するDMA制御器36等の当該ユニットは、「マスター」と呼ばれる。それゆえ、「マスター」により発生される制御信号のいくつかは先頭に「M」が付く。そのサイクルに応答するユニットは「スレーブ」と呼ばれる。「スレーブ」により発生されるいくつかの信号には「S」が付く。例えばDMA制御器36がホストP/Mバス20およびメモリブロックMIB40を介してマイクロチャンネル32からダイナミックRAM42へのデータ転送を要求している場合、DMA制御器36がユニットHIP34との内部通信のため内部トランザクションバス35上の対応のサイクルを開始する。信号名の末尾の「b」はこの信号がアクティブ状態で低レベルであることを意味する。
【0038】
図10ないし図13において、内部トランザクションバスすなわちTRACT35のいくつかは例えばIA(2:31)またはID(0..31)のように「I」で始まる文字が指定されている。これはそれぞれアドレスおよびデータに関するホストP/Mバス20の類似の線、例えばA(2:31)またはD(0..31)と区別するためである。
【0039】
本発明によるシンクロナイザの詳細な説明に入る前に、例として単一書き込みサイクルについて機能ブロックBIB30内の動作を簡単に示す。
【0040】
基本的にDMA制御器36がマイクロチャンネルデバイスから42へデータを書き込みを希望していると仮定する。これはホストP/Mバス20とメモリブロックMIB40とを介して達成される。しかし、ホストP/Mバス20へのアクセスを得るためにはホストP/Mバス20(図8)へのインターフェースを形成するユニットHIP34へアドレスおよびデータが送信される。
【0041】
書き込みサイクルは内部トランザクションバス35上の転送一回のみからなる。有効なアドレス、データおよび命令が同時刻に内部トランザクションバス35上に発行される。
【0042】
図17で線(a)は遂行されるべきすべてのサイクルのタイミングを支配する中央処理ユニットクロックPCLKを表す。DMA制御器36は線(b)により最初のアクションとして、アクティブ時に低となるM-REQb信号を発生する。この信号は内部調停器66(図16)へ送信され、調停後、この内部調停器66が線(c)によりM-GNTb信号をDMA制御器36に返す。
【0043】
線(d)からわかるように、以下の方法が同時に、すなわち内部トランザクションバス35上に並列に、与えられる。それらの信号は、アドレス線IA2ないしIA31上のアドレス信号IA;線ID0ないしID31上のデータ信号ID(0..31);二つの線IDN(0:1)上のユニット同定番号IDN、すなわち本例のDMA制御器36については「01」;線IC0、IC1、IC2上にあってメモリまたはI/Oデータ書き込みアクセスを示す命令ICである。
【0044】
図17の線(d)および(g)を比較すると、線(d)による情報が内部トランザクションバス35上に現われる時間、DMA制御器36がM-VALIDb信号を発生することが判る。各ユニットは有効線を有する。この線は、マスタユニットがGRANT信号を検出し、有効アドレス、データ、および命令を内部トランザクションバス35上に提供するときにアクティブ化される。アドレス、データおよび命令が有効であるかぎり、VALIDb信号はアクティブである。
【0045】
受信ユニットが現在使用中であってもVALIDb信号はアクティブ化できる。この場合、内部トランザクションバス35および有効信号は当該受信ユニットがそのBUSY線をリセットするまではアクティブに留まらなければならない。次いでマスターがVALIDbを非アクティブ化して、次回の上昇縁で内部トランザクションバス35を開放することができる。線(e)による信号M-BURSTbが非アクティブデータ高レベルであることは、どのユニットもバーストモードを全く意図していないことを示す。線(f)はユニットHIP34により発生された信号S-BUSYbがアクティブで低レベルとなることを例示しており、これはスレーブが線(d)による情報を支配し、機能ブロックBIB30内の別のオペレーションとは独立にこれをホストP/Mバス20に与える状況にあることを示す。各ユニットはそれ自身のビジーライン(使用中を示す線)を有する。ビジーラインはユニットが新規の命令を受理できないことを他のユニットに告げるのに使用される。
【0046】
BUSYb信号は完了するのに二サイクル以上を必要とする命令をユニットが受信したときのみ、アクティブ化される。この場合はユニットが有効な命令を受信した後の上昇クロック縁で直ちにBUSY信号がアクティブ化される。
【0047】
ユニットのBUSYbが非アクティブ化されているかぎりにおいて、当該ユニットは次回のクロック上昇縁で内部トランザクションバス35から新たな命令を受理することができる。BUSY信号はその命令の完了の一クロック前に非アクティブ化される。
【0048】
図17の右側部分に示す状況は、アドレススレーブユニット、すなわちユニットHIP34、が現在のTRACTバスサイクルにおいてビジーであるための遅延がある点で、左側部分とは異なる。従って、信号DEST-BUSYb信号がユニットHIP34の内部復号器62から線(h)に発生され、線が使用中であることを示すそのBUSY信号が再び非アクティブで高となったことを示すまで、線(b)、(c)、(d)および(g)に示す信号が延長される。
【0049】
線(i)のM-RETRYb信号によって、DMA制御器36は内部調停器66に影響を与え、優先性の再構成をできる。
【0050】
ここで図8ないし図15を参照して本発明に基づき特に設計されたEMCAユニット38の詳細を説明する。
【0051】
基本的に、EMCAユニット38は拡張されたマイクロチャンネル32と機能ブロックBIB30の内部トランザクションバスTRACT35とを緩衝する論理回路を含む。すなわち、EMCAユニット38は中央処理ユニットには独立なマイクロチャンネル32のためのタイミングを発生する。
【0052】
図14および図15は本発明の実施例のシンクロナイザ37をさらに詳細に示す。特に、この同期ユニット37はMCAユニット39(図14の右側)によって機能ブロックBIB30(図8、9)の内部トランザクションバス35(図14の左側)を緩衝するものであることを理解されたい。
【0053】
シンクロナイザ37の主な機能は、中央処理ユニット10およびマイクロチャンネル32の異なる動作周波数を補償すること、およびデータ転送を円滑にするための緩衝を行なうこと、そしてシステムの柔軟性を強化することである。
【0054】
シンクロナイザ37は特に、MCAユニット39と機能ブロックBIB30の内部トランザクションバス35との間の転送を同期化する。これは特に必要なことである。なぜならば中央処理ユニットは例えば周波数が20MHzないし33MHのいろいろな周波数で動作する可能性があるが、それには拘わらずMCAユニット39は40MHzにクロックされるからである。さらに加えて、シンクロナイザ37はEMCAストリーミングの緩衝を行なう。EMCAストリーミングは64ビットのブロックで最大80Mバイト/秒の非常に高いデータ速度でデータを送信するものである。これはそれぞれが68ビット(64ビット+4ビット)の幅を有する8個のレジスタを含むバッファ70で行なわれる。
【0055】
以下に説明するように、シンクロナイザ37は四個の内部バス対を含む。シンクロナイザ37に出入りするすべての信号が緩衝される。これらのバッファのいくつかは常時イネーブル化されている。
【0056】
図14の左側に見られるように、内部トランザクションバス35の二方向性アドレスバスIA(31:2)は入力アドレスバスain(31:2)と出力アドレスバスaout(31:2)とに分割されたアドレスバス対と通信する。これら入力アドレスおよび出力アドレスバスはMCAユニット39のラッチAoutおよびAinに接続される。
【0057】
一般的に、データの流れる方向はデータの入力制御信号validbiおよび出力のための制御信号validboによって駆動される駆動器80により決定される。
【0058】
内部トランザクションバス35のデータ線ID(31:0)は内部バス線dinl(31:0)、doutl(31:0)およびdouth(31:0)を介して、また部分的に適当な予備格納Eレジスタ76、78を介して、MCAユニット39の対応するラッチDLout、DHout、DLin、DHinと接続される。文字DLは32ビットを含むデータの下位部分を示し、文字DHは32ビットデータの上位部分を示す。
【0059】
バイトイネーブル信号のための、内部トランザクションバス35の線IBEb(3:0)は内部シンクロナイザバス線bebin(3:0)、bebout(3:0)と通信し、また後述するマルチプレクサMUX2 84、86、別のEレジスタ82、88等のいくつかの回路網を介して、MCAユニット39の対応のラッチBEAout、BEBout、BEinと通信する。
【0060】
同様にして、内部トランザクションバス35の命令バスCoutおよびCinは内部シンクロナイザバス線cout(10:0)、cin(12:0)およびマルチプレクサMUX2 93を介してMCAユニット39の対応のラッチcin、coutと通信する。
【0061】
シンクロナイザ37の制御器主要部は、いくつかの組合せ論理回路91、92、95を介して35制御器に接続された制御状態決定装置90を含む。制御状態決定装置90には同期回路96、97も接続されている。
【0062】
この内部シンクロナイザバスの制御入力部はさらにEレジスタ(12:0)94を含む。
【0063】
シンクロナイザ37のさらに重要なユニットは、データ入力線およびデータ出力線dinl(31:0)、dinh(31:0)、doutl(31:0)およびdouth(31:0)、および内部バイトイネーブル線bebin(3:0)およびbebout(3:0)に接続されたバッファ70である。
【0064】
二つのクロック、中央処理ユニットクロックNPCLKとマイクロチャンネルクロックMCLK、があることに注意されたい。すなわち、予備格納レジスタ76、78、82を介してMCAユニット39により与えられるデータおよびバイトイネーブル信号についてはマイクロチャンネルクロックMCLKによりクロックされ、バッファ70の入/出力については中央処理ユニットクロックNPCLKによりクロックされる。従って、これは中央処理ユニット10とマイクロチャンネル32とに独立のタイミングを与える。クロックMCLKは中央処理ユニット10に選択された動作周波数とは独立で、通常、中央処理ユニットクロック(20MHzおよび33MHzの間)よりもずっと高い周波数(例えば40MHz)を有する。バッファ70は、データ転送における著しい時間差および中断を平滑化する優れた緩衝能力を有し、最適な転送連続性を達成する。またバッファ70はシステムに顕著な柔軟性を与える。
【0065】
シンクロナイザ37の主要構造を説明したので、その機能についてさらに詳細な説明をする。
【0066】
上述したように、DMA制御器36のアドレスバスIA(31:2)はシンクロナイザ37の二方向内部アドレスバスに接続される。このアドレスのゲートはvalidbiと呼ぶ信号およびvalidboと呼ぶ信号により制御される。この信号validbiは内部トランザクションバス35からシンクロナイザ37に「アドレスを入力せよ」という命令を意味する。信号validboは内部トランザクションバス35に「アドレスを発行せよ」という命令を意味する。
【0067】
aoutバスは常にMCA入力ラッチAinに接続されてMCA入力端の入力が浮遊しないようにしていることに注意されたい。MCA出力ラッチAoutの出力アドレス値は、内部トランザクションバス35からの有効アドレスが全くゲート入力されないときは、常にainにゲート入力される。
【0068】
もしも有効な命令が内部トランザクションバス35からシンクロナイザ37に発行されると、ainバスからのアドレスがEレジスタ72に格納される。その出力端はaoutバスに接続される。従ってEレジスタ72内にそのアドレス値が格納された直後に、当該アドレスはaoutバスに通過される。
【0069】
二つの下位アドレスビットaout(2)およびaout(3)はマルチプレクサ74で、バーストサイクルに適当な開始アドレスを与えるための2ビットカウンタ出力と多重化される。シンクロナイザ37は、ストリーミングモードではシンクロナイザ37にデータを返すことができないMCAスレーブデバイスに適当な開始アドレスを与える。
【0070】
下位32ビットの内部シンクロナイザデータバス、すなわちdinl(31:0)/doutl(31:0)が上記アドレスバスと同様に制御される一方、 上位32ビットの内部シンクロナイザデータバス、すなわちdinh(31:0)/douth(31:0)はMCAラッチDLinおよびDHinにのみ接続されて64ビット転送能力を与える。これはマイクロチャンネル32がストリーミングモードで動作しているときに要求されるものである。上記dinh/douth線はこれらのバス上に有効電圧レベルを与えるため、常にイネーブル化される。これは入力端が接地された対応の駆動器制御回路で認知される。
【0071】
以下にさらに詳細に説明するが、バッファ70に格納されるデータは32ビット形式でも64ビット形式でもよい。
【0072】
予備格納Eレジスタ76、78はそれぞれMCAユニット39のデータ出力ラッチDLoutおよびDHoutに接続され、バッファ70内に先のデータワードが格納されるよりも前にマイクロチャンネルバスからの新規データをMCAユニット39がラッチできるようにする。これによってMCAユニット39からシンクロナイザ37へのデータ書き込みの時間的重複を可能にする。
【0073】
バイトイネーブル線bebin/bebout(3:0)はアドレス線と同様に制御される。しかし、これらのバイトイネーブル値は、もしも書き込みトランザクションが起きたときはバッファ70に格納される。レジスタ内に格納されたバイトイネーブル値は当該レジスタ内に格納されたいずれのバイトが有効であるかを示す。読み取りトランザクションの期間、バイトイネーブル値はアドレスと同様にEレジスタ88に格納される。
【0074】
16ビットMCA書き込みサイクルにおいてはバッファ70へのバイトイネーブルの格納は必須である。MCAユニット39は書き込み動作中に32ビットワードを組み立て、すべてのバイトイネーブルをアクティブ化してそれらをシンクロナイザ37に送る。しかし、もしも最後の転送が16ビットの転送であると、メモリブロックMIB40(図1)にどのように当該16ビットワードを格納すべきかを通知すべく適当な値にバイトイネーブル値を設定しなければならない。
【0075】
MCAユニット39からバッファ70へのバイトイネーブル路もまた別の予備格納Eレジスタ82を含む。これも上記データ路についてと同様の目的で設けてある。読み取りサイクルの場合、追加的なこの段は迂回される。
【0076】
内部トランザクションバス35およびMCAユニット39からのバイトイネーブル線は二つのマルチプレクサ84、86を介して一バイトイネーブルバスに結合される。マルチプレクサ84、86の一方は70の入力端に接続され、他方が外部バイトイネーブルEレジスタ88に接続される。
【0077】
命令バス信号に関して言うと、これらもまたMCAユニット39から受信される。マルチプレクサ93がゲートとなって、どのブロックが有効命令を送ることが許されているかに応じて適当な命令バス信号をEレジスタ94に与える。ホストマスター、すなわち中央処理ユニット10または別のバスマスターのいずれかからの有効な命令信号によって新規なサイクルが開始されるときは必ず、Eレジスタ94がクロックされる。
【0078】
シンクロナイザ37を出る命令バス信号および制御バス信号はほとんど、組み合わせ論理回路91、92、95と組み合わされる状態決定装置90により発生される。
【0079】
ほとんどの命令バス信号および制御バス信号がMCAブロック内の状態決定装置および同期ユニットにより使用されるので、これらは使用されるまえに同期されなければならない。
【0080】
シンクロナイザ96、97はそれぞれ二つのフリップフロップを含む。入力フリップフロップは同期クロックの下降縁でクロックされ、第二のフリップフロップはその上昇縁でクロックされる。この同期方式は同期信号に1/2クロックサイクル(最良の場合)ないし3/2クロックサイクル(最悪の場合)の遅延を与える。
【0081】
ここで図16を参照して、バッファ70の設計および機能を詳細に説明する。
【0082】
バッファ70は二重ポート付きのものとして設計されており、一つのレジスタの幅を68ビットとする8レジスタの構成となっている。好ましい実施例ではバッファ70はEレジスタで与えられている(これはイネーブル化されたときにレジスタがアクティブとなることを意味する)。ただしこれには他の形式のメモリを使用することもできる。バッファ70の各レジスタはD0L、DOHの様な二つの32ビットデータ格納ロケーションおよびBEOの様なバイトイネーブル値のための4ビット部を含む。レジスタ700の様なのバッファレジスタは書き込みまたは読み取りポインタ値により選択される。その書き込みポインタ値は基本アドレスと復号器から発生される可変オフセット値と結合することにより得られる。図16図に示すようにそのようなアドレスは書き込みアドレス制御器83および読み取りアドレス制御器85で達成される。各アドレス制御器83、85はポインタレジスタを含み、書き込みアドレス制御器83はまた基本アドレスに加算されるべきオフセット値を決定するためのオフセット復号器を含む。これによってバッファ70を「分類化メモリ」として使用することが可能となる。ポインタレジスタに加えて、書き込みアドレス制御器83および読み取りアドレス制御器85は各々当該ポインタレジスタによって指定されたバッファレジスタのいずれのデータ格納ロケーションがアクセスされるべきかを決定するためのカウンタを含む。バッファ70上のすべての書き込みおよび読み取り動作は中央処理ユニット10(図1ないし図7)のホスト中央処理ユニットクロックNPCLKと完全に同期して働くことに注意されたい。
【0083】
前に述べたように、データ転送に対する「マスター」は「ホストマスター」であるホスト中央処理ユニット10でも「バスマスター」と呼ばれるMCマスターデバイスでもよい。データワードサイズはホストマスターの書き込みサイクルではホストP/Mバス20(図1ないし図8)および機能ブロックBIB30の内部トランザクションバス35の幅に相当する32ビットを超えることはない。もしも有効なデータワードが内部トランザクションバス35上でシンクロナイザ37に発行されると、そのデータワードは、BE0レジスタ内に格納されているバイトイネーブル値と並列に、第一下位32ビットエントリーD0LとしてD0Lレジスタ内に書き込まれる。このD0Lロケーションは書き込みポインタ(基本アドレス)およびおよび書き込みアドレス制御器83によってオフセット値0により選択される。
【0084】
書き込みアドレス制御器83の書き込みポインタはホストマスターの書き込みサイクル中はバッファ70内の第一エントリーを指示するようにロックされる。従って単一データワードが送信されるホストマスターの書き込みサイクルでは8個のバッファレジスタの唯一個のみが使用される。それにも拘わらず、シンクロナイザ37は別のデータを受理できる。MCAユニット39がバッファ70からデータを読み取ると同時に、バッファ70は内部トランザクションバス35から新規データを受理できる。従って、シンクロナイザ37およびMCAユニット39の組み合わせは、最適なホストマスター書き込みサイクル性能を実現する「2段データパイプライン」を構成する。
【0085】
読み取りポインタもまたホストマスター書き込みサイクル期間、ロックされ、書き込みポインタと同一のレジスタを指示する。MCAユニット39がシンクロナイザ37から開始命令を受信するや否や、読み取りアドレス制御器85のバッファ70から当該データを取り出し、それを選択されたMCAデバイスに書き込む。
【0086】
ホストマスターの読み取りサイクルに関して言うと、これらサイクルは以下の点で書き込みサイクルと異なる。すなわち、読み取りリクエストは内部トランザクションバス35から受信され、そのアドレスおよびバイトイネーブル値はそれぞれのレジスタに格納されると共にMCAユニット39に通される。
【0087】
バッファ70への書き込みは、「読み戻し」手続きにおいて行なわれる。この手続きは、書き込みポインタ値と、オフセット値0とでアドレス指定されるD0L内に有効データを格納する手続きである。当該データは内部トランザクションバス35が開放されるとすぐに、読み取りポインタによるアドレス指定に従って35に「読み戻し」される。このサイクルではシンクロナイザ37は書き込みサイクルの場合と対照的に新規な命令を受理することはできない。なぜならばシンクロナイザ37はMCAユニット39からのデータの戻りを待つからである。
【0088】
起こりうるデータ転送の別の形態としては、ホストマスターのバーストモードがある。ホストマスターのバースト読み取りサイクルは基本的には通常のホストマスター読み取りサイクルと同様に開始する。
【0089】
開始アドレスがMCAユニット39によって受信された後、MCAユニット39は当該アドレスされたMCAデバイスにアクセスし、四つの32ビットワードをバッファ70に読み戻す。ただしもしもそのMCAデバイスが高速64ビットストリーミングモードで動作しているときは二つの64ビットデータブロックを呼び戻す。もしもMCAユニット39からの四つの32ビットワードがバッファ70中に通常のバーストモード(非ストリーミングモードで)書き込まれると、これらは書き込みポインタにより選択される別個の四個のバッファレジスタ中にシーケンスをなして書き込まれる。もしもMCAユニット39から二つの64ビットデータブロックがバッファ70中にストリーミングモードで書き込まれるなら、これら二ブロックは書き込みポインタにより選択される二つのバッファレジスタ中にシーケンスをなすように書き込まれ、すべてのビットを以て当該選択されたバッファレジスタ中に同時書き込みされた各ブロックを構成する。64ビットデータブロックを構成する二つの32ビットデータワードが、選択されたバッファレジスタの二つのデータ格納ロケーション中に書き込まれる順序は、83のカウンタにより決定される。バーストモードでは、ホストプロセッサであるユニット10は四個の32ビットデータワードまでのワードを予期する。これは中央処理ユニット10がインテル08486マイクロプロセッサである場合には下位開始アドレスビットA(2)、A(3)により決定される一定のシーケンスで戻されなければならない。例えばA(3)=1、A(2)=0である場合は中央処理ユニット10はアドレスシーケンスaddr3、addr4、addr1、addr2のデータを予期する。もしもMCAデバイスが64ビットブロックのデータからなるデータをストリーミングモードで送ると、MCAはこのデータを通常のシーケンスであるaddr1、addr2、addr3、addr4でしか与えることができない。しかしながら、書き込みアドレス制御器83はMCAユニット39から送信されるデータワードを、ホストプロセッサ中央処理ユニット10が要求する正しい順序でバッファ70中にストリーミングモードで書き込まれるようにできる。
【0090】
このようにしてMCAユニット39から受信したデータは、読み取りポインタを増大させることにより読み取りできるような順序で、すなわちバッファ70のレジスタの内容を予定のシーケンスで読み取りできるように、バッファ70中に書き込まれる。各レジスタの格納レジスタロケーションもまた予定のシーケンスでアクセスできる。このことはそのデータワードがMCAからの「読み戻し」期間に分類されることを意味する。各データワードが格納されているバッファレジスタは、基本書き込みポインタ値と書き込みアドレス制御器83内の復号器で発生されるオフセット値との和でアドレス指定され、中央処理ユニット10により与えられる開始アドレスにより決定される。
【0091】
分類が全く要求されないMCAユニット39からの32ビット読み戻しでは、データは書き込みポインタをロケーションD0LからロケーションD3Lにシーケンシャルをなすように前進させることにより最初の四つのレジスタロケーションD0LないしD3Lに書き込まれることに注目されたい。
【0092】
バスマスター書き込みサイクルではMCAマスターデバイスはデータを64-ビット、32-ビット、24-ビット、16-ビット、または8-ビットフォーマットでバッファ70に書き込む。これらのデータと共にバッファ70は必要なバイトイネーブル情報を格納する。シンクロナイザ37にはすべての書き込みが32-ビットまたは64-ビットの書き込みと同様に見える。そのようなデータを受信するメモリブロックMIB40(図1ないし図7)は当該バイトイネーブル値を検査することによりデータ幅を決定する。これらは64-ビットおよび32-ビットデータについて同一である。なぜならばデータは内部トランザクションバス35およびホストP/Mバス20を32-ビットワードで通過するからである。
【0093】
バッファ70への単一の書き込みでは、そのレジスタは常に書き込みポインタ値とオフセット値0との和によって選択される。通常の8-ビット、16-ビット、または32-ビットの書き込みでは唯一つの書き込みオペレーションが起こる。
【0094】
MCAユニット39にデータサイズおよびストリーミングモード情報をシンクロナイザ37へ通過させるステータスがマイクロチャンネル32(図1)に一旦到達すると、シンクロナイザ37は「ストリーム書き込み」または「通常の書き込み」を開始し、内部トランザクションバス35上のメモリブロックMIB40の様なデバイスを選択する。このデータは読み取りポインタの制御の下にバッファ70から内部トランザクションバス35へ取り出される。データはシーケンス順に選択される。もしも64-ビットMCデバイスが書き込みサイクルを遂行するなら、読み取りサイクルカウンタが、読み取りポインタに加えて使用される。これは70の格納ロケーション内に格納されている32-ビットデータワードをゲート制御により32-ビット内部トランザクションバス35上へ出すためであり、上記のバースト読み取りオペレーションに類似する。
【0095】
バスマスターの読み取り/ストリーム読み取りサイクルでは、サイクルが「通常の読み取り」であるか「ストリーム読み取り」であるかによらず、シンクロナイザ37はトランザクションバス35へ「バースト読み取り」を発行する。
【0096】
内部トランザクションバス35からの32-ビットデータワードは64-ビット形式でバッファ70中にかきこまれる。これは最初に到来するワードはゲート通過により多重化解除されて、ロケーションD0Lに入れられ、第二のワードはD0Lに、第三ワードはD1Lに入れられる、等を意味する。これらのロケーションのアドレス指定は書き込みポインタ値とオフセット0との和を、書き込みアドレス制御器83に含まれる書き込みサイクルカウンタの値と組み合わせて行なわれる。このカウンタはD2Hの様な上位32-ビットロケーションを書き込むことができるようにするため、一回置きに書き込みポインタをロックする。
【0097】
上記の説明から本発明のシンクロナイザ37は中央処理ユニット10の周波数とマイクロチャンネルデバイスの周波数の相異に影響されずに、またマイクロチャンネル32上にデータが与えられる幅の相異に影響されずに種々のデータ転送手続きを処理できるようにされており、最適なデータ転送性能を与えることを理解されたい。
【0098】
上述したようにBIB30には直接ダイナミックRAMメモリ42へのアクセスを制御するためのDMA制御器36が設けられている。公知システムではこのDMA制御器は論理回路レジスタ等のすべての機能制御回路と、MCA装置からシステムメモリへまたはその逆へ転送すべきデータをラッチ留めするためのメモリ部分とを含む別個のユニットとして設計されている。しかし本発明ではDMA制御器の機能は、シンクロナイザによって支配されるデータ転送のタイミングから分離されている。従ってこのDMA制御器は一層効率の高い改良された性能を有する。
【0099】
このことはDMA制御器36とMCAユニット39およびインターフェースユニット34とを併せて単一の自己完結型機能ブロックに含めて設計する場合は特に言えることである。
【0100】
中央処理ユニット10は機能ブロック30の上記動作の詳細をすべて支援するよう行動する必要性は全くないことに注目されたい。すなわち、各機能ブロックは自己完結型のユニットで、内部トランザクションバス35上で行なわれる機能ブロックBIB30内の書き込み/読み取りサイクルの開始を制御する義務から中央処理ユニット10を開放する。
【0101】
特に、中央処理ユニットが命令を機能ブロックへ送った後は、さらに中央処理ユニットの制御がなくても機能ブロックがこの命令を行なう。例えば、機能ブロックBIB30に送られたそのような命令はマイクロチャンネル32からダイナミックRAM42への書き込みデータがあるが、これはDMA制御器36の制御の下に遂行される。各機能ブロックは論理回路およびそのプロセスを実行するためのフリップフロップ等の回路を含む。すべてこれらは所謂「状態決定装置」に含まれ、実行すべきプロセスおよび特定の条件に従って当業者が与えることができる。読み取りおよび書き込みオペレーションは一サイクル内にマスターユニットまたはスレーブユニットの動作に基づいて実行され、その場合読み取りサイクルに対して特定の優れた性能が得られることに注目されたい。すなわち、マスターが読み取りリクエストをした一サイクル後、準備完了次第、リクエストされたそのデータを一サイクル内にスレーブが独立に戻す。
【0102】
また、機能ブロックBIB30のリクエスト/付与の手続きに関して、バスマスター機能が中央処理ユニット10から機能ブロックBIB30へ転送されることに注目されたい。図3ないし図7でCTIN(0..1)信号が信号「11」へ動的に変化することがこれを示している。この信号「11」は信号CT(0..1)としてメモリブロックMIB40および機能ブロックBIB30に与えられるものである。
【0103】
このようにワークステーションに新規アーキテクチャを採用したため、動作速度を高めると共に待機状態を低減することができ、全体的性能が著しく改善されたことを理解されたい。さらに、種々の形式のマイクロプロセッサを含む異なった構成のワークステーションで使用する機能ブロックを標準化すること、またマイクロチャンネルおよびメモリブロックを多重化することにより、製造、組立、およびサービスにかかるコストを著しく低減できる。
【0104】
この事実は特に、各機能ブロックが一チップ(好ましくはHCMOSデバイスである)で与えられる本実施例のワークステーションにとって真である。各チップはすべてレジスタ論理回路等の必要なサブユニットを含む。これらチップは標準化されはするが、広範囲のシステム構成で使用できるものである。なぜならばこれらは中央処理ユニットの形式、動作周波数、ダイナミックRAMメモリ空間等の構成化に必要なデータに対して十分なレジスタ空間を含んでいるからである。
【0105】
一例を挙げれば、チップは簡単にワークステーションのシステムボードに設置できる208ピン使用のASICパッケージで与えることができる。
【0106】
当業者には本発明が例示した特定の実施例に限定されないことは明白であろう。また「ワークステーション」という用語は特定の形式のコンピューターに限定されず、任意のデータ処理システムを含む最も広義に解すべきものである。
【図面の簡単な説明】
【図1】本発明によるワークステーションの一実施例の全体図で、ワークステーションの種々の機能ブロックおよびそれらの相互接続を示す。
【図2】図3ないし図7の配置を示す図である。
【図3】種々の機能ブロックを相互に接続するに使用されるホストP/Mバスの詳細を示す図の一部である。
【図4】種々の機能ブロックを相互に接続するに使用されるホストP/Mバスの詳細を示す図の他の一部である。
【図5】種々の機能ブロックを相互に接続するに使用されるホストP/Mバスの詳細を示す図の他の一部である。
【図6】種々の機能ブロックを相互に接続するに使用されるホストP/Mバスの詳細を示す図の他の一部である。
【図7】種々の機能ブロックを相互に接続するに使用されるホストP/Mバスの詳細を示す図の他の一部である。
【図8】機能ブロックBIBのブロック線図である。
【図9】図10ないし図13の配置を示す図である。
【図10】機能ブロックBIBの内部トランザクションバスの種々の線の詳細を示す図の一部である。
【図11】機能ブロックBIBの内部トランザクションバスの種々の線の詳細を示す図の他の一部である。
【図12】機能ブロックBIBの内部トランザクションバスの種々の線の詳細を示す図の他の一部である。
【図13】 機能ブロックBIBの内部トランザクションバスの種々の線の詳細を示す図の他の一部である。
【図14】機能ブロックBIBに使用するシンクロナイザのブロック線図の一部である。
【図15】機能ブロックBIBに使用するシンクロナイザのブロック線図の残りの一部である。
【図16】図14、図15のシンクロナイザに使用するバッファの主要部設計を示す図である。
【図17】単一書き込みサイクルについてワークステーションの動作を説明するためのタイミング図である。
【符号の説明】
10 中央処理ユニット
12 コプロセッサ
20 ローカルバス
30 バスインターフェースブロック
32 マイクロチャンネルバス
40 メモリインターフェースブロック
50 周辺機器およびビデオグラフィックアクセスインターフェースブロック
Claims (1)
- 第1のクロック周波数で動作する中央処理ユニット(10)を有するワークステーションであって、
メインメモリ(42)と、
前記中央処理ユニット(10)と前記メインメモリ(42)が接続された第一バス(20)と、
前記第1のクロック周波数とは異なる第2のクロック周波数で動作する第二バス(32)と、
前記第一バス(20)と前記第二バス(32)間に接続されたインターフェースチップ(30)と、を有し、
前記インターフェースチップ(30)は、
内部バス(35)と、
前記第一バス(20)と前記第二バス(32)間のデータ転送を制御するためのDMA制御器(36)を具備する第一動作ユニットと、
前記内部バス(35)と前記第一バス(20)間の第一のインターフェースユニット(34)を具備する第二の動作ユニットと、
前記内部バス(35)と前記第二バス(32)間の第二のインターフェースユニット(38)を具備する第三の動作ユニットと、を含み、
前記第二のインターフェースユニット(38)は、前記第一のインターフェースユニット(34)と前記第二のインターフェースユニット(38)間においてデータが前記内部バス(35)上を前記第1のクロック周波数で転送されるために、前記第1のクロック周波数と前記第二のクロック周波数間の差を補償するシンクロナイザ(37)を有し、
前記第一のインターフェースユニット(34)は、前記DMA制御器(36)、前記第一のインターフェースユニット(34)及び前記第二のインターフェースユニット(38)が有している優位性に基づいて、前記DMA制御器(36)、前記第一のインターフェースユニット(34)及び前記第二のインターフェースユニット(38)に対して前記内部バスへのアクセスを許可する内部調停器(66)を有する、
ように構成されたことを特徴とするワークステーション。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9019001.8 | 1990-08-31 | ||
GB909019001A GB9019001D0 (en) | 1990-08-31 | 1990-08-31 | Work station including a direct memory access controller and interfacing means to microchannel means |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04350753A JPH04350753A (ja) | 1992-12-04 |
JP3698324B2 true JP3698324B2 (ja) | 2005-09-21 |
Family
ID=10681428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24242891A Expired - Fee Related JP3698324B2 (ja) | 1990-08-31 | 1991-08-29 | 直接メモリアクセス制御器およびデータチャンネルへのインターフェース装置を備えたワークステーション |
Country Status (5)
Country | Link |
---|---|
US (1) | US5428751A (ja) |
EP (1) | EP0478148B1 (ja) |
JP (1) | JP3698324B2 (ja) |
DE (1) | DE69125676T2 (ja) |
GB (1) | GB9019001D0 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2064162C (en) * | 1991-05-28 | 2002-07-09 | Daniel Paul Fuoco | Personal computer with local bus arbitration |
EP0600122A1 (de) * | 1992-12-02 | 1994-06-08 | Siemens Aktiengesellschaft | Mikroprozessor mit einer integrierten Bussteuereinheit |
CA2109682C (en) * | 1993-11-22 | 1998-11-03 | Lee F. Hartley | Multiple bus interface |
US5903261A (en) * | 1996-06-20 | 1999-05-11 | Data Translation, Inc. | Computer based video system |
US6504854B1 (en) | 1998-04-10 | 2003-01-07 | International Business Machines Corporation | Multiple frequency communications |
CN101498952B (zh) * | 2009-03-02 | 2012-12-26 | 北京红旗胜利科技发展有限责任公司 | 一种同步时钟的装置和方法 |
US9489009B2 (en) * | 2014-02-20 | 2016-11-08 | Samsung Electronics Co., Ltd. | System on chip, bus interface and method of operating the same |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4344132A (en) * | 1979-12-14 | 1982-08-10 | International Business Machines Corporation | Serial storage interface apparatus for coupling a serial storage mechanism to a data processor input/output bus |
US4777591A (en) * | 1984-01-03 | 1988-10-11 | Texas Instruments Incorporated | Microprocessor with integrated CPU, RAM, timer, and bus arbiter for data communications systems |
US4744078A (en) * | 1985-05-13 | 1988-05-10 | Gould Inc. | Multiple path multiplexed host to network data communication system |
US4882671A (en) * | 1985-06-05 | 1989-11-21 | Plus Development Corporation | Microprocessor controlled rigid disk file subsystem |
US4949301A (en) * | 1986-03-06 | 1990-08-14 | Advanced Micro Devices, Inc. | Improved pointer FIFO controller for converting a standard RAM into a simulated dual FIFO by controlling the RAM's address inputs |
US4782439A (en) * | 1987-02-17 | 1988-11-01 | Intel Corporation | Direct memory access system for microcontroller |
US4891752A (en) * | 1987-03-03 | 1990-01-02 | Tandon Corporation | Multimode expanded memory space addressing system using independently generated DMA channel selection and DMA page address signals |
US5099417A (en) * | 1987-03-13 | 1992-03-24 | Texas Instruments Incorporated | Data processing device with improved direct memory access |
US4989113A (en) * | 1987-03-13 | 1991-01-29 | Texas Instruments Incorporated | Data processing device having direct memory access with improved transfer control |
US5151986A (en) * | 1987-08-27 | 1992-09-29 | Motorola, Inc. | Microcomputer with on-board chip selects and programmable bus stretching |
US4930069A (en) * | 1987-11-18 | 1990-05-29 | International Business Machines Corporation | Mechanism and method for transferring data between bus units having varying master and slave DMA capabilities |
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 |
US5089953A (en) * | 1987-12-28 | 1992-02-18 | Sundstrand Corporation | Control and arbitration unit |
US5077664A (en) * | 1988-03-08 | 1991-12-31 | Fujitsu Limited | Direct memory access controller |
US5129090A (en) * | 1988-05-26 | 1992-07-07 | Ibm Corporation | System bus preempt for 80386 when running in an 80386/82385 microcomputer system with arbitration |
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 |
US4987529A (en) * | 1988-08-11 | 1991-01-22 | Ast Research, Inc. | Shared memory bus system for arbitrating access control among contending memory refresh circuits, peripheral controllers, and bus masters |
JP2712131B2 (ja) * | 1989-01-23 | 1998-02-10 | 株式会社日立製作所 | 通信制御装置 |
US5131083A (en) * | 1989-04-05 | 1992-07-14 | Intel Corporation | Method of transferring burst data in a microprocessor |
US5165022A (en) * | 1989-10-23 | 1992-11-17 | International Business Machines Corporation | Channel and control unit having a first I/O program protocol for communication with a main processor and a second universal I/O program protocol for communication with a plurality of I/O adapters |
US5265228A (en) * | 1989-12-05 | 1993-11-23 | Texas Instruments Incorporated | Apparatus for transfer of data units between buses |
US5072365A (en) * | 1989-12-27 | 1991-12-10 | Motorola, Inc. | Direct memory access controller using prioritized interrupts for varying bus mastership |
US5023465A (en) * | 1990-03-26 | 1991-06-11 | Micron Technology, Inc. | High efficiency charge pump circuit |
US5218681A (en) * | 1990-08-31 | 1993-06-08 | Advanced Micro Devices, Inc. | Apparatus for controlling access to a data bus |
US5301282A (en) * | 1991-10-15 | 1994-04-05 | International Business Machines Corp. | Controlling bus allocation using arbitration hold |
-
1990
- 1990-08-31 GB GB909019001A patent/GB9019001D0/en active Pending
-
1991
- 1991-08-29 JP JP24242891A patent/JP3698324B2/ja not_active Expired - Fee Related
- 1991-08-30 EP EP91307975A patent/EP0478148B1/en not_active Expired - Lifetime
- 1991-08-30 DE DE69125676T patent/DE69125676T2/de not_active Expired - Fee Related
- 1991-08-30 US US07/753,273 patent/US5428751A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5428751A (en) | 1995-06-27 |
EP0478148A1 (en) | 1992-04-01 |
EP0478148B1 (en) | 1997-04-16 |
GB9019001D0 (en) | 1990-10-17 |
JPH04350753A (ja) | 1992-12-04 |
DE69125676T2 (de) | 1997-11-27 |
DE69125676D1 (de) | 1997-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6581124B1 (en) | High performance internal bus for promoting design reuse in north bridge chips | |
US7269709B2 (en) | Memory controller configurable to allow bandwidth/latency tradeoff | |
US6151651A (en) | Communication link with isochronous and asynchronous priority modes coupling bridge circuits in a computer system | |
US6493776B1 (en) | Scalable on-chip system bus | |
US5881255A (en) | Bus control system incorporating the coupling of two split-transaction busses of different hierarchy | |
US6745369B1 (en) | Bus architecture for system on a chip | |
US7349998B2 (en) | Bus control system for integrated circuit device with improved bus access efficiency | |
US5826048A (en) | PCI bus with reduced number of signals | |
US6148357A (en) | Integrated CPU and memory controller utilizing a communication link having isochronous and asynchronous priority modes | |
US5974480A (en) | DMA controller which receives size data for each DMA channel | |
US6266778B1 (en) | Split transaction I/O bus with pre-specified timing protocols to synchronously transmit packets between devices over multiple cycles | |
EP0476872B1 (en) | Work station including interfacing means for transferring data between first and second buses | |
US6052754A (en) | Centrally controlled interface scheme for promoting design reusable circuit blocks | |
JP3698324B2 (ja) | 直接メモリアクセス制御器およびデータチャンネルへのインターフェース装置を備えたワークステーション | |
US6425071B1 (en) | Subsystem bridge of AMBA's ASB bus to peripheral component interconnect (PCI) bus | |
US6898659B2 (en) | Interface device having variable data transfer mode and operation method thereof | |
JPH052552A (ja) | バーストモード能力を備えたワークステーシヨン | |
US7114019B2 (en) | System and method for data transmission | |
JP3550155B2 (ja) | 選択可能な中央処理ユニット付きワークステーションのアーキテクチャー | |
US6377581B1 (en) | Optimized CPU-memory high bandwidth multibus structure simultaneously supporting design reusable blocks | |
EP0474442A2 (en) | Internal bus for work station interfacing means | |
JPH09153009A (ja) | 階層構成バスのアービトレーション方法 | |
US7519849B2 (en) | Technique for providing service processor access to control and status registers of a module | |
US6581145B1 (en) | Multiple source generic memory access interface providing significant design flexibility among devices requiring access to memory | |
JP2000020453A (ja) | バスコントローラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050526 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050701 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |