JPH065527B2 - 通信ネットワークアダプタ - Google Patents

通信ネットワークアダプタ

Info

Publication number
JPH065527B2
JPH065527B2 JP63003657A JP365788A JPH065527B2 JP H065527 B2 JPH065527 B2 JP H065527B2 JP 63003657 A JP63003657 A JP 63003657A JP 365788 A JP365788 A JP 365788A JP H065527 B2 JPH065527 B2 JP H065527B2
Authority
JP
Japan
Prior art keywords
bit
processor
bus
interrupt
data
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 - Lifetime
Application number
JP63003657A
Other languages
English (en)
Other versions
JPS63273960A (ja
Inventor
ジェイ.ハンフリィ ドナルド
ピー.ヒューズ ジェームス
エイ.ピーターソン ウエイン
アール.ロイガー ウエイン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NETSUTOWAAKU SHISUTEMUZU CORP
Original Assignee
NETSUTOWAAKU SHISUTEMUZU CORP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NETSUTOWAAKU SHISUTEMUZU CORP filed Critical NETSUTOWAAKU SHISUTEMUZU CORP
Publication of JPS63273960A publication Critical patent/JPS63273960A/ja
Publication of JPH065527B2 publication Critical patent/JPH065527B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Multi Processors (AREA)
  • Small-Scale Networks (AREA)
  • Memory System (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、共用あるいは地理的に分散された多数のコン
ピュータ リゾース間の高速デジタル通信を提供するの
に使用されるネットワーク通信アダプタに関する。
[従来技術の説明] 従来のネットワーク通信アダプタは一般に1個あるいは
それ以上のノードより成り、各ノードは例えばコンピュ
ータ、プリンタ、あるいは大容量記憶装置等のコンピュ
ータ リゾースをネットワークに接続するのに要するデ
ジタル インタフェース回路である。コンピュータは、
現在の種々の16ビット ミニコンピュータから例えば
クレーII等のスーパ コンピュータまでを含んでいる。
単一ノードは例えば8ビットのパーソナル コンピュー
タや端末等の低速の装置を多数含んでいる。装置とノー
ドとのインタフェースは代表的にはIBMの入出力ブロ
ック マルチプレクサ チャネル タイプによって実現
される高速パラレル インタフェースである。
局地的な領域では通信メディアは好ましくは1個あるい
はそれ以上のマルチドロップ 同軸シリアル データ
リンクあるいは光ファイバ シリアル データ リンク
より成る。この局地的接続は以下“トランク”と称す
る。完全な通信ネットワークは、例えば、電話会社のT
1型トランク ライン等の市場にある共通キャリア通信
サービスによって互いにリンクされる多数のトランクよ
り成る。ネットワーク通信アダプタは、あるノードに結
合された装置と他のノードに結合された装置との仮想接
続を与え、前者の装置が後者の装置に通信要求を与える
ことができる。当該技術で良く理解されているネットワ
ーク通信アダプタの機能は以下のとうりである。
アダプタのホストからのデータは、要求があり次第連続
的なあるいは断続的なデータ流として受信される。この
データ流は連続したデータ ブロックに分割される。各
データ ブロックにはデータ ブロックの発信地と着信
地を同定するメッセージ ヘッダが加えられ、データ
ブロックの後には誤り訂正情報を与えるメッセージ ト
レイラが加えられる。ヘッダとトレイラを有したデータ
ブロックはメッセージ パケットと呼ばれる。他のネッ
トワークとの競合を制御することによって、送信アダプ
タはメッセージ パケットを着信アダプタに送信するの
に必要なトランクおよびリンクのネットワーク リゾー
スにアクセスできる。多数のリゾースからのメッセージ
パケットは時分割マルチプレクスによって単一のシリ
アル トランクあるいはリンク ネットワーク メディ
アに送られる。各ネットワーク アダプタはそのトラン
クに存在するすべてのメッセージをスクリーニングし
て、アダプタ ノードの識別(ID)番号に相当するア
ドレスを有したメッセージのみを捕獲する。各受信パケ
ットは誤り訂正のためチェックされ、その受信が送信側
に応答され、ヘッダおよびトレイラが取除かれ、データ
がフォーマットされて受信アダプタに結合された他のデ
ジタル装置あるいは受信ホスト コンピュータに与えら
れる。
ネットワーク上に雑音あるいは他の擾乱が存在してもデ
ータの同一性を保証する技術は従来種々知られている。
理想的な通信ネットワークでは、すべての装置が最大速
度で自由に他の装置と通信できるであろう。しかし実際
のネットワークでは、トランクの速度に制限があるため
それが取扱うメッセージの数と速度に上限ができる。ネ
ットワークでの装置間の通信はすべて地理的距離のいか
んにかかわらず全バンド幅の一部を消費してしまう。
本発明の目的は、通信トランクを使用することなく所与
のアダプタのノード間に超高速通信を与えてデータ バ
ンド幅を保持する新しいアーキテクチュアを有したマル
チノード ネットワーク アダプタを提供することであ
る。この発明によれば、ネットワーク アダプタの全デ
ータ バンド幅は使用する通信トランクの全バンド幅を
実質的に超えることができる。
従来の通信システムでは、一般に、ホスト コンピュー
タのひとつがネットワーク コントローラとされ、全ネ
ットワークのメッセージ トラフイックを管理あるいは
監視する必要がある。これを遂行するプログラムである
ネットワーク エクゼクティヴは一般にマルチタスク環
境の大きなメイン フレーム コンピュータ上で走る。
大きな高性能ネットワークでは、比較的高価なメイン
フレーム コンピュータの利用可能な計算能力の大きな
部分をこのネットワーク エクゼクティブが消費する。
従って本発明の他の目的は、比較的効果でないマイクロ
プロセッサがネットワーク エクゼクティブ機能を行な
える新規な通信アダプタ アーキテクチュアを提供する
ことである。
本発明のさらに他の目的は、所与のネットワーク通信ア
ダプタ内のすべてのノード プロセッサが共有する共通
の高速バッファ メモリを提供することである。
本発明の他の目的は、種々のノード プロセッサ内の効
率的な協働を可能としてデータ メッセージの高速な流
れを容易にする新規な割込みシステムを提供することで
ある。
大きな遠隔通信システムは一般的に広範な通信インタフ
ェースのハードウエアを必要とする。一例としての通信
コンセントラでは、多数の低速装置が集合されて通信ト
ランク上で単一のノードと見られるようにしている。こ
の場合、通信コンセントラのチャネル バンド幅を多数
のインタフェース間に展開する必要がある。他の例とし
ての“ゲートウエイ アダプタ”では、2個の高速通信
トランク間に通信ブリッジを与えている。この場合、チ
ャネル バンド幅のすべてが単一の通信路の専用とされ
る。従来システムにおいて、通信装置の各々の型式は一
般に異なった製品であり、各々が全システム中において
特定の機能を行うよう専門化されている。
従って本発明のさらに他の目的は、一連の共通したモジ
ュラ素子から構成でき多数の異なった通信機能をこの構
成体で行うことができ、アダプタの全チャネル バンド
幅を最適スループットを与えるようユーザ間で選択的に
分割できるネットワーク アダプタを提供することであ
る。
本発明の上述および他の目的は、好ましい実施例の以下
の詳細な説明を、特に、同一要素に対して同一参照番号
を付した図面を参照して考慮することにより当業者にと
って明らかとなろう。
[実施例] ネットワーク アダプタ システム 第1図は本発明のネットワーク アダプタのシステム
レベルでのブロック図である。アダプタの主要部は中央
メモリ100であり、好ましくはバンク0とバンク1と
して同定される2個のインタリーブ バンクとして構成
された高速スタティック ランダム アクセス メモリ
SRAMである。アダプタ内での中央メモリ100とす
べてのプロセッサとの間の通信はバス102,104,
106および108を介して行なわれる。共通バス10
2はAバスと称し、共通バス104はBバスと称する。
各バスは時分割されて24ビット アドレスあるいはリ
ード(読み出し)データの24ビットを中央メモリ10
0に与える24本のラインを有している。A“リード”
バス106およびB“リード”バス108の各々は、中
央メモリ100からのリード データの16ビットを与
える。バンク/バス選択ライン138の状態がAあるい
はBバスの中央メモリ100への接続を決定する。例え
ば、ライン138がローのとき、Aバス102と106
がバンク0に接続され、Bバス104と108がバンク
1に接続される。ライン138がハイのとき、この接続
は逆となる。
デュアル16ビット アーキテクチュアによって、中央
メモリ100と、例えば110および112で示される
32ビット マイクロプロセッサと例えば114,11
6および118で示される16ビット マイクロコント
ローラとの両者との間が効率よく接続される。マイクロ
プロセッサ110および112とマイクロコントローラ
114〜118が本発明のネットワーク アダプタが如
何に構成されるかの典型例を与えている。この構成は例
示としてのみ考慮すべきで本発明を制限するものではな
い。実際にはこのアーキテクチュアでは、代表的に全体
で16個までのプロセッサならいくつでも構成できる。
各ネットワークは、ネットワーク アダプタの内部制御
専用の、例えば110で示す32ビットのマイクロプロ
セッサを有する。この専用プロセッサを以下“核プロセ
ッサ”と称する。“核プロセッサ”はメッセージ トラ
フィックのアダプタでのルート決めを管理し、特に、中
央メモリ空間のページ単位でのダイナミック割当てを管
理する。例えば112で示されるもうひとつの32ビッ
トのマイクロプロセッサを任意に追加して、前述したネ
ットワーク エクゼクティヴ機能等のアダプタの特定ア
プリケーションプログラムを行わせてもよい。
制御プロセッサとして動作する32ビット マイクロプ
ロセッサはデュアルRS232Cシリアル入出力(I/
O)ポート120および122を有し、この入出力ポー
トに通常の方法で種々の周辺デジタル装置を接続でき
る。プロセッサ114〜118は、効率の良い高速入出
力処理機能を与えるようにアーキテクチュアとハードウ
エアとを構築した、好ましくは、16ビットの高速ビッ
トスライス マイクロコントローラである。システム構
成の説明にあたり、プロセッサ114はここで“ホスト
1”と称する単一の大規模高速デジタル コンピュータ
装置専用のノード プロセッサと仮定する。通信はバス
124の16ビット双方向高速パラレル チャネルを介
して行う。プロセッサ116は“ホスト2”と称する第
2の装置に対して同様の機能をバス126を介して行
う。あるいは単一のプロセッサを例えばプリンタやビデ
オ ディスプレイ等の多数の低速装置のインタフェース
として構築してもよい。16ビット プロセッサ118
は本発明のネットワーク アダプタをシリアル トラン
ク ライン128を介してネットワークに接続する。
プロセッサ110と112とはAおよびBバスの両者に
同時に接続することによって中央メモリ100と32ビ
ット モードで通信するものとして示されている。32
ビットの各伝送は一般にバンク0からの16ビットとバ
ンク1からの16ビットとを含む。プロセッサ114と
118はA共通バスを介して16ビット モードで中央
メモリ100と通信し、プロセッサ116はB共通バス
を介して中央メモリ100と通信するものとして示され
ている。
このネットワーク アダプタ アーキテクチュアの重要
な特徴は、プロセッサ114と116とを所与の中央メ
モリ サイクルにおいて同時に動作させることができる
点である。さらに、デュアル バンク アーキテクチュ
アによってワード長の相違にもかかわらず32ビット
プロセッサで隣接して読み出しのできる中央メモリ10
0とデータの連続ブロックを書込むことができる。同様
に32ビット モードでプロセッサ110あるいは11
2で隣接して書込まれたデータをプロセッサ114〜1
18によって16ビット モードで隣接して読出すこと
ができる。
中央メモリ100からのデータの読み出しおよび書込み
速度を可能なかぎり高速に保つために、すべてのデータ
伝送は同期をとられかつノード制御ロジック130の制
御下にある。各メモリ サイクルの始まりで、ノード制
御130は指定されたプロセッサのプロセッサ スロッ
ト識別番号を放送してバス132を介してAあるいはB
バスにアクセスする。識別番号はAバスとBバスに関連
した2個の4ビット プロセッサ識別コードを有してい
る。プロセッサ識別バス132はバンク/バス選択ライ
ン138の状態をも含む。この点に関して、核プロセッ
サは、システム設定時にセットされるプロセッサのマニ
ュアルDIPスイッチによって決定される確定的なプロ
セッサ識別コードを有していることを理解する必要があ
る。バス132上に放送されたプロセッサ スロット識
別コードが所与のプロセッサ識別コードに相当し、アド
レス ビット01がバンク/バス選択ライン138の状
態に相当すると、該プロセッサはメモリ伝送動作を実行
することができる。
各メモリ サイクルは2個のフエーズを有している。第
1フエーズではイネーブルとなったプロセッサは共通パ
スにメモリ アドレスを置く。詳述すると、32ビット
プロセッサはAおよびB共通バス102と104とに
固有のアドレスを置き、16ビット プロセッサは専用
の共通バスのみをアクセスする。メモリ サイクルの第
2フエーズでは、アドレスされたメモリ セルのデータ
はAあるいはBリード バスによって読出されるか、A
およびBバスの両者で同時に読出される。あるいは、ラ
イト(書込み)サイクルの場合、書込みデータは各々の
共通バスに置かれる。
このような構成によって、両プロセッサ114と116
あるいはプロセッサ116と118とは各々AおよびB
バスを介して所与のメモリ サイクルの間同時に動作で
きる。これを行うために、ノード制御130はプロセッ
サ114に関連するプロセッサ スロット識別コードを
スロット プロセッサ識別バスのAセクションに置き、
プロセッサ116に関連するプロセッサ スロット識別
コードをスロット プロセッサ バスのBセクションに
置く。
中央メモリ100の記憶保護はノード制御130によっ
て行なわれ、キー アクセス特権の与えられたメモリの
ページにのみ各プロセッサは書込むことができる。ノー
ド制御130はRAMメモリにページ毎にプロセッサ
アクセス特権のテーブルを有している。RAMメモリは
電源投入時に初期化され、その後核プロセッサ110に
よって変更できる。各プロセッサと各DMAはキー同定
を与える一連のDIPスイッチを有する。一般に、各プ
ロセッサとDMAは自身のプロセッサ識別をもっている
が、互いに関連づけるときには共通のキー識別を共用す
る。イネーブル状態で、32ビット プロセッサはキー
バス134のAおよびBセクションにキー識別コード
を置き、16ビット プロセッサはその特定のメモリ
バスに相当するキー バスのセクションのみにキー識別
コードを置く。固有のAおよびまたはBキーを割当てら
れていない中央メモリ100のページにプロセッサが書
込みを行なおうとすると、このような条件がノード制御
130に検出され割込みバス136を介して“メモリ
フオールト”割込みを核プロセッサ110に送る。
割込みバス136はノード制御130の制御下にあるポ
ーリングされる双方向バスである。ポーリングされる
と、各プロセッサはマルチレベル割込みをアダプタの他
のプロセッサに向けることができる。割込みのエンドツ
ーエンド応答時間は5.2マイクロ秒以下に保証され、
効率のよい高速性を与えて他のネットワーク アダプタ
プロセッサ間の相互動作を協調させる。
メッセージ フロー 以下に詳述するネットワーク アダプタの理解を助ける
ためには、システムの全体の動作、特にデータあるいは
メッセージがシステム中を如何に流れるかを考慮するこ
とが良い。
メッセージはホスト1からシリアル トランク128を
経て他の装置に以下のようにして流れる。核プロセッサ
110は中央メモリ100にメッセージのバッファ空間
を割当てる。マイクロコントローラ114はホスト1か
ら到来するメッセージを中央メモリ100の割当て空間
に伝送するダイレクト メモリ アクセス ロジックを
有している。同時にマイクロコントローラ118は固有
のDMAハードウエアを用いて中央メモリ100のバッ
ファ空間のデータをシリアル トランク128に伝送す
る。メッセージ送出命令をホスト1から受信すると、マ
イクロコントローラ114は核プロセッサ110の割込
みを行い、この核プロセッサは中央メモリ100のバッ
ファ空間の割当てを行ってノード制御130の記憶保護
テーブルをセットしてマイクロコントローラ114によ
る書込みアクセスを許可する。核プロセッサはルート決
めテーブルによってどのマイクロコントローラがメッセ
ージの着信地あるいはルートであるかを決定する。指定
されたマイクロコントローラに割込みがかけられ、送出
メッセージが組立てられる中央メモリ100のバッファ
領域のポインタが与えられる。ソフトウエアとハードウ
エアの制御構造は多数のメッセージが同時に処理できる
ようになっている。既述したように、本発明のネットワ
ーク アダプタは代表的には16個のプロセッサまでで
構成でき、各プロセッサは多数のメッセージを同時にあ
るいはインタリーブで処理できる。この16という個数
の制限はしかしながら決定されたものではない。メッセ
ージ フローの制御は後述する“ソフトウエア制御構
造”の項目で詳しく説明する。
システム タイミング 第2a図および第2b図はネットワーク アダプタの動
作に必要な代表的なタイミング信号を示す。すべてのア
ダプタ タイミング信号源は、ノード制御130内の単
一の50MHz水晶制御発振器である。この信号は50MHz
クロック150として中央メモリ100とすべてのプロ
セッサに放送される。ノード制御130は第2の信号で
ある時間0信号152をも放送する。注意すべきこと
は、遅延時間T1とT2の許容範囲を維持し、かつ、シ
ステムの異なった点に到着するクロック信号間のスキュ
ーを最小にするようなこれらクロック信号のフアンアウ
トと分配である。遅延時間T1とT2の許容変動は最小
4ナノセカンドから最大16ナノセカンドである。信号
150と152とから、第2A図で154〜160で示
される他の4個のクロック信号が派生し、これらは以下
“T20”クロック、“T40”クロック、“T60”
クロック、“T80”クロックおよび“T160”クロ
ックと各々称する。これらのクロックに対してもフアン
アウトと分配とを注意して50MHzクロックに対するス
キューを最小にして信頼できる同期動作を保証すること
が必要である。
T20クロックとT40クロックは第2b図に示す中央
メモリ タイミング信号を派生するのに用いる。“アク
セス”要求信号184はメモリサイクルの開始を制御す
る。信号186は共通バスの上位ビット16〜23の代
表的な波形を示す。ハツチングしていない部分192は
アドレス情報が有効なメモリ サイクル期間である。同
様に信号188は同一バスの低位ビット0〜15の代表
的な波形を示す。16ビット データはアドレスの低位
16ビットと時分割されていることを想起されたい。従
って、ハツチングしていない部分194はアドレス情報
が有効な時間を示し、ハツチングしていない部分196
は書込みデータ情報が有効な時間を示す。波形190は
リード データバス上に現われる代表的な信号である。
ハツチングしていない部分198は部分194で示され
るアドレス期間に同定されたメモリ アドレスの有効リ
ード データを示す。信頼できる動作を保証するためT
40クロックに対しての代表的なタイミングを第I表に
示す。
チャネル バンド幅割当て ネットワーク アダプタは広範な入出力チャネル デー
タ速度を有した装置間を効率よく相互接続しようとする
ものであるので、全チャネル バンド幅を種々なプロセ
ッサ間で選択的に割当てできることが望ましい。これは
タイム スロットの固定的回転割当てを各プロセッサに
行うことによってなされる。第II表は8個の可能なタイ
ム スロットに6個のプロセッサ識別を仮に割当てたも
のを示している。この例ではAおよびBバスの各各は2
00Mb/s(メガビット/秒)の全バンド幅が可能であ
り、プロセッサあるいはI/O、DMA装置は最小25
Mb/sが可能であると仮定している。32ビット プロセ
ッサは第1図に示すようにAおよびBバスの両方に接続
され2個の16ビット ポートのプロセッサ識別0と1
とを運ぶ。プロセッサ識別2を有した16ビット プロ
セッサはAバスのみに接続され、同様にプロセッサ識別
3を有した16ビット プロセッサはBバスのみに接続
されている。プロセッサ識別4と5を有するI/O、D
MA装置は各々AおよびBバスに個別に接続されてい
る。さらに、P1プロセッサはAバス上で利用できるバ
ンド幅として50Mb/sが割当てられBバス上で利用でき
るバンド幅として50Mb/sが割当てられ、かつ、プロセ
ッサ2および3も50Mb/sが割当てられているものとす
る。2個のI/OとDMA装置は各々100Mb/sが割当
てられるものとする。これによってAおよびBバスの両
方が利用できる全バンド幅は200Mb/sまで増加する。
各タイム スロットは公称80ナノセカンドである中央
メモリの1サイクル時間に相当する。従って、全16タ
イム スロットの全時間は1.28マイクロセカンドで
ある。これはプロセッサが所与のタイム スロットで1
6ビットのAあるいはBバスにアクセスする毎に、25
Mb/sのチャネル データ速度を与えることを意味する。
全16タイム スロットとAおよびBバスの全データ速
度は400Mb/sである。仮に示した例では、32ビット
プロセッサ1はAおよびBバスに接続したものとして示
され、タイム スロット1と5でアクセスが許容される
ので100Mb/sの全チャネル バンド幅を与えている。
32ビットプロセッサではデータの下位16ビットは常
にメモリバンク0に接続され上位16ビットは常にバン
ク1に接続されていることに注意されたい。プロセッサ
2は16ビット プロセッサであるとしAバスのみに接
続されタイム スロット3と7が許可され50Mb/sのデ
ータ速度を与えている。16ビット プロセッサとして
示されるプロセッサ3はBバスのみに接続されている。
バンク0と通信するのにタイム スロット3が割当てら
れバンク1と通信するのにタイム スロット7が割当て
られている。メモリ バンク0と1は前述のバス/バン
ク選択スイッチ138によってAおよびBバス間で切替
えられる。16ビット プロセッサとして示されるプロ
セッサ4はここではAバスのみに接続されている。プロ
セッサ3とともに、タイム スロット2,4,6および
8を割当てられ、各プロセッサは異なったバンクにアク
セスする。即ちプロセッサ4はスロット2と6の間バン
ク0にアクセスし、スロット4と8の間バンク1にアク
セスする。このようにして、中央メモリ100とプロセ
ッサ4と5との間のメモリ交換がインタリーブで行なわ
れ、各プロセッサは100Mb/sのバンド幅を与えられ
る。ここで留意すべきひとつの制限は、各16ビット
プロセッサはバンク0のアクセスとバンク1のアクセス
の少なくとも2個のタイム スロットを与えられなけれ
ばならないことである。32ビット プロセッサは両バ
ンクに同時にアクセスするので1個のタイム スロット
だけでもよい。
ノード制御 第3図は第1図に示したノード制御回路130のより詳
細なブロック図である。アクセス制御回路202はプロ
セッサ スロット識別バス132に一連のプロセッサ
スロット識別コードを与えて前述した例のようにプロセ
ッサ スロットのバンク割当てを確立する。後に詳述す
るように、アクセス制御回路202は手動スイッチ シ
ステムを与えて特定のタイム スロット割当てを規定す
る。各々可能なタイム スロット構成を“プロファイ
ル”と称し、スイッチによって16個までのプロファイ
ルを規定できる。プロファイル選択スイッチの現在の状
態はバンク0のリード データバス224を介して核プ
ロセッサ100によって決定できる。
マスタ クロック回路200は50MHzクロックと 信号とをつくり、これは第2図において説明した。すべ
てのプロセッサと中央メモリ100に放送される信号で
ある。
バンク0と1は異なった16ビット プロセッサに接続
できるので、各バンクに対して個別の記憶保護ロジッ
ク、即ち“バンク0記憶保護”202と“バンク1記憶
保護”206とを備えることが必要である。各ロジック
回路はAおよびBキーバス134に与えられるキー コ
ードに従って共通バスの一方のバス上のアドレス範囲を
チェックする。バス/バンク選択ライン138がローで
あると、バンク0記憶保護204はA共通バス102の
アドレスとA/Bキー バス134のAセクションとを
比較し、バンク1記憶保護206はB共通バス104の
アドレスとA/Bキー バス134のBセクションとを
比較する。バンク0あるいは1でのメモリ フオールト
はライン208あるいは210を介してORゲート21
2を起動し、割込み制御回路216によって強制的に割
込みを発生する。
タイマ218は160ナノセカンドで計数する32ビッ
ト カウンタであり、すべてのアダプタプロセッサに正
確な基準タイミングを与える。タイマのパラレル出力は
バス220に与えられ、メモリのリード サイクルでラ
ッチ220にラッチされる。タイマ データの下位16
ビットはバンク0リード データ バス224に与えら
れ、上位16ビットはバンク1リード データ バス2
26に与えられる。
パリティ バイトがパリティ発生器228と230によ
って発生しこれらデータ バス上に加えられる。バス/
バンク選択スイッチ232はいずれかのバンクのデータ
をAあるいはBのリード バス106あるいは108に
ルート決めする。この構成によって、両バスにまたがる
36ビット プロセッサは1個のメモリ サイクルで3
2ビットの全タイマ データを読むことができ、あるい
は1個のリード バスのみに接続された16ビット プ
ロセッサは2回の連続した16ビットのメモリ参照によ
って同一タイマ データを読むことができる。タイマは
アドレス00810000の32ビットの内容をアク
セスすることによって読まれる。フオールトを示す24
ビット アドレスは記憶保護204あるいは206にラ
ッチされる。アドレス00810040を読むと記憶
保護204にラッチされ、このアドレスの下位16ビッ
トはバス224に上位8ビットはバス226に与えられ
る。同様に、アドレス00810042によって同じ
経路をとおってバンク1フオールト アドレスがアクセ
スされる。アドレス00810020を読むとアクセ
ス制御202のプロファイル スイッチの状態をバス2
24を介して与える。タイマ218の下位4ビットはパ
ス221を介して利用でき、割込み制御回路216が利
用して割込みバス136を介して割込みプロセッサを順
番にポーリングする。
中央メモリ 第1図のシステム ブロック図を再び参照するに、中央
メモリ100は1〜4個の個別メモリアレー基板より構
成されている。各メモリアレー基板は、AおよびB共通
バス102と104およびAおよびBリード バス10
6と108と直接通信するのに必要なすべてのバッファ
およびデコード回路を含んでいる。ここで説明する好ま
しい実施例では、各メモリアレー基板は高速スタティッ
クRAMメモリの524,288バイトを有している。
メモリはバンク0と1の2個のバンクに構成されてい
る。各バンクは131,072個の18ビットワードを
含み、これらはA/Bバス102〜108のいずれにも
アクセスできる。これら18ビットのうち16ビットは
データであり2ビットはパリティ バイト用である。パ
リティはメモリ基板では発生もせずチェックもされない
で、データ バス上に受取ったままストアされる。アレ
ー内のメモリアドレシングはバンクに対して順序だてて
行なわれる。16ビットの連続したワードは交互にバン
ク0と1を参照して、即ちインタリーブ モード動作で
アクセスされる。32ビット ワードはバンク0と1を
同時に参照することによってアクセスされる。
メモリアレーはワード モードかバイト モードでアク
セスできる。バイト選択および上位/下位バイト選択は
メモリ アドレスで行なわれる。ワード/バイト モー
ド選択は個別の制御ラインによって指示される。バイト
モードが選択されると、アドレスのビット0がバイト
を選択する。ビット0が“1”であると下位バイト1が
選択される。ビット0が“0”であると上位バイト0が
選択される。アドレスのビット1はバンク要求ビットで
ある。ビット1が“0”であると、バンク0が要求され
る。ビット1が“1”であると、バンク1が要求され
る。アドレス ビット2〜19は各バンクの264,1
44バイトのひとつを選択する。
中央メモリアレー基板 第4a図および第4b図は中央メモリアレー基板の詳細
ブロック図であり、多数のメモリアレー基板が集合して
第1図の中央メモリ100を形成する。多重化アドレス
とライト データはAおよびB共通バス102と104
を介してアレー基板に与えられる。AおよびB共通バス
はバッファ回路250と251とによってバッファさ
れ、データは各々内部のメモリアレー基板バス252と
253に与えられる。バッファ250と251は内部バ
スを外部システム バスから隔離して過剰な負荷を防止
する。アクセス制御202(第3図)からのバンク/バ
ス選択信号138は“T40クロック”でクロックされ
るD型フリップフロップ256によって同期をとられ、
Qおよび出力に接続されたライン258および260
に内部バス選択信号を与える。ライン258はマルチプ
レクサ/ラッチ262〜270用のマルチプレクサ選択
を与える。ライン138がローのとき、メモリサイクル
の最初のフエーズの間A共通バス102のアドレスがバ
ンク0アドレス マルチプレクサ/ラッチ262にラッ
チされる。メモリ サイクルの第2の半サイクルでA共
通バス102からのデータがバンク0データ マルチプ
レクサ/ラッチ268にラッチされる。これら事象と同
時に、B共通バス104からのアドレスとデータは、各
各、バンク1アドレス マルチプレクサ/ラッチ264
とバンク1データ マルチプレクサ/ラッチ270とに
ラッチされる。バンク/バス選択ライン138がハイで
あると、A共通バスのアドレスとデータは各々バンク1
アドレス マルチプレクサ/ラッチ264と270とに
ルート決めされ、B共通バス上のアドレスとデータは各
々バンク0ラッチ262と268とにラッチされる。
ラッチ262の出力は24ビットのバンク0アドレス
フィールドである。これは3個のバスに分けられる。即
ち、アドレス フィールドのビット2〜17を含みバン
ク0RAMメモリ298の16ビット アドレスを形成
するバス274、ビット18と19を含みチップ選択デ
コーダ284の入力を与えるバス276と、最後に、ビ
ット20〜23で構成され比較器280の入力を与える
バス278である。比較器280の他の入力はアドレス
範囲回路266から与えられる。アドレス範囲は、メモ
リアレー基板が接続できる16個の可能なスロットの各
々に対して巧妙にハードワイアードされている4ビット
コードである。回路266によって同定されるアドレ
ス範囲がアドレス フィールドの上位4ビットに等しい
と、要求されたアドレスはメモリアレー基板の割当てら
れたアドレス範囲内である。従って、比較器280の出
力によってデコード回路284から出力が可能となり、
4個の可能なチップ選択のひとつがチップ選択バス28
5を発生する。
ビット17が“0”であると、リード サイクルを指示
している。メモリ サイクルの第2の半サイクルの間、
メモリ298のアドレスされたメモリ セルからのデー
タが出力バス302に与えられ、バンク/バス選択ライ
ン138の状態によってラッチ306あるいは308に
ラッチされる。もし要求されたアドレスがアレー基板の
アドレス範囲内ならば、メモリ サイクルの第2の半サ
イクルの間データがAリード バス106あるいはBリ
ード バス108に与えられる。アドレス ビット17
が“1”であると、ラッチ268のデータはメモリ サ
イクルの第2の半分のフエーズの間メモリ298のアド
レスされたメモリ セルに書込まれる。同様に、比較器
288とデコード回路290はバンク1RAMメモリ3
00用のチップ選択292を発生する。バス304とラ
ッチ310および312は、バンク1のリード データ
をAリード バス106あるいはBリード バス108
のいずれかに置くバスを与えている。バンク1メモリの
ライト データはラッチ270から与えられる。
このアレー基板構成によってAあるいはBバスからバン
ク0と1に同時にアクセスでき、各メモリ サイクルは
両バスが同時に同一バンクにアクセスできない点のみで
制限を与えられている。所与のバンクは同時に要求され
たアドレスの特定の組合せに従って、選択されたり、一
方のバンクのみに対して選択されたり、あるいは両方の
バンクに対して選択される。
32ビット マイクロプロセッサ 第5図は32ビット核プロセッサの詳細ブロック図であ
る。これは、シングル チップ32ビット マイクロプ
ロセッサ350によって構築され、好ましくはモトロー
ラ社製造の68020タイプのマイクロプロセッサであ
る。マイクロプロサッサ350の主たるインタフェース
は、アドレス バス352、双方向データ バス358
およびマルチレベル割込みバス378である。32ビッ
トアドレス バス352は、バッファ354によってバ
ッファされ32ビットの内部アドレス バス356を形
成する。データ バス358は双方向トランシーバ回路
360によってバッファされ32ビット内部データ バ
ス362を形成する。マイクロプロセッサ350のデー
タはパリティ回路361によって発生したパリティ バ
イトを有し、36ビット バスを形成するためにデータ
バス362に付加される。データ バス362からマ
イクロプロセッサ350に伝送されるデータはパリティ
チェック回路361によってチェックされたパリティ
バイトを有している。パリティ エラーの場合、バス
362を介して割込みが割込みプロセッサ376に発生
する。
アドレス バス356とデータ バス362とはメモリ
364とデュアル ユニバーサル非同期レシーバ トラ
ンスミツタ(UART)366との内部通信を与える。メモリ
364は紫外線プログラマブル リードオンリ(UVPROM)
メモリ、電気的消去可能なプログラマブル リードオン
リ(EEPROM)メモリ、およびスタティック ランダム ア
クセス(SRAM)メモリの組合せである。デュアルUART
回路366は、RS232C型のデュアル、双方向シリ
アル チャネルを与える。マイクロプロセッサ350
は、AおよびB共通バス102と104およびAおよび
Bリード バス106と108とを介して中央メモリ1
00とも通信を行う。中央メモリ100、メモリ36
4、UART366ならびに他の特別に設けられたメモ
リの位置はすべてマイクロプロセッサ350の32ビッ
ト メモリ空間にマツピングされている。第III表は可
能なメモリ アドレス割当ての一例を示す。
01000000以上のすべてのアドレスはシステム
バスを介して中央メモリにアクセスしていることに注目
されたい。これによってバス調停回路390の協働が必
要となる。マイクロプロセッサ350が内部アドレス範
囲外のアドレスを発生すると、そのアドレスは“ウエイ
ト状態”に置かれ、バス調停回路390は割当てられた
タイムスロットを待つ。即ちバス132上のプロセッサ
スロット識別(ID)コードがプロセッサIDスイッ
チ386からのプロセッサIDコードと等しくなる中央
メモリ サイクルを待つ。このウエイト状態の間、アド
レスはアドレス バス356上で凍結され、データはデ
ータ バス362上で凍結される。バス上のプロセッサ
スロットIDがプロセッサIDと等しくなると、バス
調停回路390はライン392をイネーブルとして手動
スイッチ382に記憶されたプロセッサIDコードをA
およびBキー バッファ384を介してAおよびBキー
バス134に与える。32ビット マイクロプロセッ
サはAおよびBバスの両者を同時に使用するので、プロ
セッサIDコードはAおよびBフィールドの両者に与え
られる。
メモリ サイクルの第1の半サイクルの間、32ビット
アドレス フィールド356と下位24ビットは各々
マルチプレクサ368と370を介してAおよびB共通
バス102と104の両者に与えられる。中央メモリ
サイクルの第2の半サイクルの間、データ バス362
の上位16ビットはマルチプレクサ368を介してA共
通バス102に与えられ、データ バス362の下位1
6ビットはマルチプレクサ370を介してB共通バス1
04に与えられる。外部メモリのライト サイクルが終
了すると、マイクロプロセッサ350はウエイト状態か
ら解放される。
中央メモリのリード サイクルも同じ手順で行なわれる
が、データ源は中央メモリ100からであり、かつ、リ
ード サイクルの第2の半サイクルの間AおよびBバス
に与えられることが異なる。データの上位16ビットは
Aリード ラッチ372にとらえられ、リード データ
の下位16ビットはBリード ラッチ374にとらえら
れる。
第11図の割込み制御の説明で詳述するが、割込みプロ
セッサ376は内部および外部で発生した割込みを両方
とも処理する。
16ビット マイクロコントローラ 第6a図〜第6d図は第6図のように並べた時に、ネッ
トワーク アダプタのブロック図(第1図)に示された
16ビット マイクロコントローラ114〜118の好
ましい実施例を示す。この実施例では、第6a図〜第6
d図は16ビット マイクロコントローラを示し、中央
メモリ バス102および106あるいは104および
108への専用インタフェースと、AおよびBキー バ
ス、キー バス134とプロセッサIDバス132とを
有し中央メモリ100にアクセス可能としている。これ
らインタフェースは第7aおよび7b図のDMA I/
O制御では、マイクロプロセッサとDMAの両者が異な
ったプロセッサID番号でアクセスできるように二重に
なっている。
第1図では簡単にするために、マイクロプロセッサとD
MAの両者が同じAあるいはBバスを共用しているよう
に示されているが、実際はこの制限はない。ホスト装置
と中央メモリ間の50Mbあるいは100MbのDMA伝送
をすべて16ビットマイクロプロセッサで維持できる点
でこの構成は望ましい。
最初に第6a図〜第6d図のマイクロプロセッサを説明
する。好ましくはマイクロプロセッサは、フエアチャイ
ルド社等で製造された4個の74F181 4ビットA
LU構成等の16ビット算術論理ユニット426に構築
された特定目的の高速マイクロプロセッサである。特に
パケット メッセージ処理に適した豊富な命令を与える
32ビット命令フォーマットを採用している。以下の第
IV表に2個の命令フォーマットを示す。
以下の命令レジスタ フォーマットはマイクロプロセッ
サのハードウエア機能を制御するためにデコードされ
る。
フォーマットIはレジスタ−レジスタ型動作に使用され
る。このフォーマットでは、以下“機能コード”あるい
はFフィールドと称する上位バイトがALUで行なわれ
る算術あるいは論理機能を規定する。次のMSBバイト
は以下Rフィールドと称する着信先フィールドであっ
て、ALU動作結果の着信先を規定する。次のMSBバ
イトはALUのA入力に対するデータ ソースを規定す
る。このフィールドは直接アドレスでも間接アドレスで
もよい。同様にLSBバイトはALUのB入力に対する
データ ソースを規定する。これらフィールドは以下A
およびBフィールドと称する。
フォーマットIIはイミデイエート オペランド型の動作
にのみ使用されるフォーマットである。この場合、2個
のLSBバイトであるAおよびBフィールドが組合され
てALUのB入力となるイミデイエート16ビット オ
ペランドを与える。所与の命令サイクルで行なわれる特
定の動作はFフィールドによって決まる。
機能コード フィールドは8ビット フィールドであっ
て命令レジスタのビット24〜31に位置する。このフ
ィールドは実行するハードウエア動作を規定する。機能
コード フィールドは2個の部分に分けられ、ビット2
8〜31は一般に実行するALU動作を規定し、ビット
24〜27はレジスタ−レジスタ フォーマット命令を
つくるための命令デコードおよびアドレッシング モー
ド デイレクションを与える。
機能コードOX〜FXは以下のようにデコードされる。
機能コード=OX この機能はキヤリ動作することなくALU加算をデコー
ドする。この動作結果は条件レジスタのビット0〜3を
変える。
機能コード=1X この機能はキヤリ動作することなくALU減算をデコー
ドする。この動作結果は条件レジスタのビット0〜3を
変える。
機能コード=2X この機能はキヤリ動作付きのALU加算をデコードす
る。この動作結果は条件レジスタのビット0〜3を変え
る。
機能コード=3X この機能はキヤリ動作付きのALU減算をデコードす
る。この動作結果は条件レジスタのビット0〜3を変え
る。
機能コード=4X この機能はALUのインクル−シヴOR動作をデコード
する。この動作結果は条件レジスタのビット2および3
を変える。
機能コード=5X この機能はALUのイクスクル−シヴOR動作をデコー
ドする。この動作結果は条件レジスタのビット2および
3を変える。
機能コード=6X この機能はALUの論理AND動作をデコードする。こ
の動作結果は条件レジスタのビット2および3を変え
る。
ALU動作のデータ源は、フォーマットIの場合ソース
AおよびBであり、フォーマットIIの場合ソースDとI
Rのイミデイエート値である。結果のデータは特定され
ている場合その着信先に送られる。機能コードOX〜6
Xの機能モデイフアイX、ビット24〜27は以下のと
うりである。ビッ27=1はフォーマットIを示す。
ビット26=0は着信先の直接アドレッシングを示す。
ビット26=1はソースAの直接アドレッシングを示
す。
ビット25=0はソースAの直接アドレッニングを示
す。
ビット25=1はソースAの間接アドレッシングを示
す。
ビット24=0はソースBの直接アドレッシングを示
す。
ビット24=1はソースBの間接アドレッシングを示
す。
ビット27=0 ビット26=0は着信先が特定されず結果をダンプする
ことを示す。
ビット25=0はソースAの直接アドレッシングを示
す。
ビット25=1はソースAの間接アドレッシングを示
す。
ビット24=0はソースBの直接アドレッシングを示
す。
ビット24=1はソースBの間接アドレッシングを示
す。
ビット26=1はフォーマットIIを示す。
ビット25=0は結果を着信先に送ることを示す。
ビット25=1は着信先が特定されないことを示す。
ビット24=0はソースDの直接アドレッシングを示
し、特定されておれば着信先のそれを示す。
ビット24=1はソースDの間接アドレッシングを示
し、特定されておれば着信先のそれを示す。
機能コード=7X この機能はALUのインクリメントあるいはデクリメン
ト動作をデコードする。データ源はソースAであり、イ
ンクリメントあるいはデクリメントされたデータは着信
先に送られる。この動作結果は条件レジスタのビット0
〜3を変える。機能コード7Xの機能デモファイアX,
ビット24〜27は以下のとうりである。
ビット26=0は着信先が特定されていることを示す。
ビット25=0は着信先の直接アドレッシングを示す。
ビット25=1は着信先の間接アドレッシングを示す。
ビット24=0はソースAの直接アドレッシングを示
す。
ビット24=1はソースAの間接アドレッシングを示
す。
ビット26=1は着信先が特定されていないことを示
す。
ビット25=0/1はデコードされない。
ビット24=0はソースAの直接アドレッシングを示
す。
ビット24=1はソースAの間接アドレッシングを示
す。
機能コード=8X この機能はシフト動作をデコードする。シフトするデー
タ源はソースAである。シフトされたデータは着信先に
送られる。1ビット左シフトの結果は条件レジスタのビ
ット0〜3を変える。4ビット シフトの結果は条件レ
ジスタを変えない。機能コード8Xの機能モディファイ
アX、ビット24〜27は以下のとうりである。
ビット27=1は1ビット シフトを示す。
ビット26=0は着信先が特定されていることを示す。
ビット25=0は着信先の直接アドレッシングを示す。
ビット25=1は着信先の間接アドレッシングを示す。
ビット24=0はソースAの直接アドレッシングを示
す。
ビット24=1はソースAの間接アドレッシングを示
す。
ビット26=1は着信先が特定されていないことを示
す。
ビット25=0/1はデコードされない。
ビット24=0はソースAの直接アドレッシングを示
す。
ビット24=1はソースAの間接アドレッシングを示
す。
ビット27=0は4ビット シフトを示す。
ビット26=0は左シフトを示す。
ビット25=0は着信先の直接アドレッシングを示す。
ビット25=1は着信先の間接アドレッシングを示す。
ビット24=0はソースAの直接アドレッシングを示
す。
ビット24=1はソースAの間接アドレッシングを示
す。
ビット26=1は右シフトを示す。
ビット25=0は着信先の直接アドレッシングを示す。
ビット25=1は着信先の間接アドレッシングを示す。
ビット24=0はソースAの直接アドレッシングを示
す。
ビット24=1はソースAの間接アドレッシングを示
す。
機能コード=9X この機能はムーブあるいはモアコンプリメント動作をデ
コードする。データ源はフォーマットIでソースAであ
り、フォーマットIIでイミデイエート値である。データ
は着信先にムーブ(移つ)される。この動作結果は条件
レジスタを変えない。機能モディファイアX、ビット2
4〜27は以下のように定義される。
ビット27=1はデータのコンプリメントをとらないこ
とを示す。ビット27=0はデータのコンプリメントを
とることを示す。
ビット26=0はフォーマットIを示す。
ビット25=0は着信先の直接アドレッシングを示す。
ビット25=1は着信先の間接アドレッシングを示す。
ビット24=0はソースBの直接アドレッシングを示
す。
ビット24=1はソースBの間接アドレッシングを示
す。
ビット26=1はフォーマットIIを示す。
ビット25=0は着信先の直接アドレッシングを示す。
ビット25=1は着信先の間接アドレッシングを示す。
ビット24=0/1はデコードされない。
機能コード=AX この機能はプログラム カウンタ制御をデコードする。
この動作結果は条件レジスタを変えない。機能モディフ
ァイアX、ビット24〜27は以下のようにエンコード
され4ビット バイナリ値として規定される。
ビット27−24= 0000=ジャンプ−IRソースB直接からPCをロー
ド 0001=ジャンプ−IRソースB間接からPCをロー
ド 0010=ジャンプ−IRイミデイエート値をPCにロ
ード 0011=RTN/IRQ−IRイミデイエート値をP
Cにロード 0100=JSR−IRソースB直接からPCをロード 0101=JSR−IRソースB間接からPCをロード 0110=JSR−IRイミデイエート値をPCにロー
ド 0111=RTN/JSR−IRイミデイエート値をP
Cにロード 1000=ジャンプ−IRソースB直接をPCに加算 1001=ジャンプ−IRソースB間接をPCに加算 1010=ジャンプ−IRイミデイエート値をPCに加
算 1011=RTN/JSR−IRイミデイエート値スタ
ックからPCに加算 1100=JSR−IRソースB直接をPCに加算 1101=JSR−IRソースB間接をPCに加算 1110=JSR−IRイミデイエート値をPCに加算 1111=RTN/JSR−IRイミデイエート値をス
タックからPCに加算 注:すべてのJSRはPCをスタックにプッシュし、す
べてのRTN/JSRはPCをスタックからポップする
がPCを再ロードできる。すべてのIRQはPCとCC
とをスタックにプッシュする。すべてのRTN/JSR
はPCをスタックからポップするがPCを再ロードでき
る。
機能コード=BX この機能はI/Oバスのリードあるいはライトをデコー
ドする。I/Oバスのアドレスはリード時ソースBから
であり、ライト時ソースDからである。リード データ
は着信先に送られ、ライトデータはソースBあるいはI
Rのイミデイエート値からである。この動作結果は条件
レジスタを変えない。機能コードBXの機能モディファ
イアX、ビット24〜27は以下のとうりである。
ビット27=1はリードI/Oを示す。
ビット26=0/1はデコードされない。
ビット25=0は着信先の直接アドレッシングを示す。
ビット25=1は着信先の間接アドレッシングを示す。
ビット24=0はソースBの直接アドレッシングを示
す。
ビット24=1はソースBの間接アドレッシングを示
す。
ビット27=0はライトI/Oを示す。
ビット26=0はフォーマットIを示す。
ビット25=0は着信先の直接アドレッシングを示す。
ビット25=1は着信先の間接アドレッシングを示す。
ビット24=0はソースBの直接アドレッシングを示
す。
ビット24=1はソースBの間接アドレッシングを示
す。
ビット26=1はフォーマットIIを示す。
ビット25=0は着信先の直接アドレッシングを示す。
ビット25=1は着信先の間接アドレッシングを示す。
ビット24=0/1はデコードされない。
機能コード=CX この機能は主メモリ バスのリードあるいはライトをデ
コードする。下位メモリ アドレスはソースAからであ
り、上位メモリ アドレスはソースBからである。ライ
ト データはソースDからであり、リード データは着
信先に送られる。この動作結果は条件レジスタを変えな
い。機能コードCXの機能モディファイアX、ビット2
4〜27は以下のとおりである。
ビット27=1はリード メモリ、フォーマットIを示
す。
ビット26=0は着信先の直接アドレッシングを示す。
ビット26=0は着信先の間接アドレッシングを示す。
ビット25=0はソースAの直接アドレッシングを示
す。
ビット25=1はソースAの間接アドレッシングを示
す。
ビット24=0はソースBの直接アドレッシングを示
す。
ビット24=1はソースBの間接アドレッシングを示
す。
ビット27=0はライト メモリ、フォーマットIを示
す。
ビット26=0は着信先の直接アドレッシングを示す。
ビット26=1は着信先の間接アドレッシングを示す。
ビット25=0はソースAの直接アドレッシングを示
す。
ビット25=1はソースAの間接アドレッシングを示
す。
ビット24=0はソースBの直接アドレッシングを示
す。
ビット24=1はソースBの間接アドレッシングを示
す。
機能コード=DX この機能はスタックあるいは条件レジスタのリードある
いはライトの実行をデコードする。ライト データはソ
ースBあるいはIRのイミデイエート値からであり、リ
ード データは着信先に送られる。この動作結果は条件
レジスタを変えない。機能コードDXの機能モディファ
イアX、ビット24〜27は以下のとうりである。
ビット27=0はライト動作を示す。
ビット26=0はスタック動作を示す。
ビット25=0はフォーマットIを示す。
ビット24=0はソースBの直接アドレッシングを示
す。
ビット24=1はソースBの間接アドレッシングを示
す。
ビット25=1はフォーマットIIを示す。
ビット24=0/1はデコードされない。
ビット26=1は条件コード レジスタ動作を示す。
ビット25=0はフォーマットIを示す。
ビット24=0はソースBの直接アドレッシングを示
す。
ビット24=1はソースBの間接アドレッシングを示
す。
ビット25=1はフォーマットIIを示す ビット24=0/1はデコードされない。
ビット26=1は条件コード レジスタ動作を示す。
ビット25=0はフォーマットIを示す。
ビット24=0はソースBの直接アドレッシングを示
す。
ビット24=1はソースBの間接アドレッシングを示
す。
ビット25=1はフォーマットIIを示す。
ビット24=0/1はデコードされない。
ビット27=1はリード動作を示す。
ビット26=0はスタック動作を示す。
ビット25=0/1はデコードされない。
ビット24=0は着信先の直接アドレッシングを示す。
ビット24=1は着信先の間接アドレッシングを示す。
ビット26=1は条件コード レジスタ動作を示す: ビット25=0/1はデコードされない。
ビット24=0は着信先の直接アドレッシングを示す。
ビット24=1は着信先の間接アドレッシングを示す。
機能コード=EX この機能コードは使用されない。
機能コード=FX この機能はプログラム メモリ(PM)のリードあるい
はライト動作の実行をデコードする。PMアドレスはソ
ースAからであり、ライト データはソースDからであ
り、リード データは着信先に送られる。この動作結果
は条件レジスタを変えない。機能コードFXの機能モデ
ィファイアX、ビット24〜27は以下のとうりであ
る。
ビット27=0はライト動作を示す。
ビット26=0は下位16ビットのライトを示す。
ビット26=1は上位16ビットのライトを示す。
ビット25=0/1はデコードされない。
ビット24=0はプログラマム メモリのライトを示
す。
ビット24=1は保守インタフェースのライトを示す。
ビット27=1はリード動作を示す。
ビット26=0は下位ビットのリードを示す。
ビット26=1は上位16ビットのリードを示す。
ビット25=0/1はデコードされない。
ビット24=0はプログラム メモリのリードを示す。
ビット24=1はプログラム メモリのライトを示す。
マイクロプロセッサのタイミングは第2A図で説明した
ように50MHzのマスタ クロックから得てノード ア
ダプタの残りの部分の同期動作を保証する。プロセッサ
の基本サイクル期間は160ナノセコンドである。命令
実行時間は1〜4の160ナノセコンド サイクルより
構成される。命令実行のサイクル制御はシーケンス制御
480に含まれる2ビットのサイクル カウンタで管理
される。プロセッサの命令は前回の命令実行の終りで前
以ってフエッチされ、命令デコードあるいは変換器47
6でデコードされて必要なサイクル数を決定する。サイ
クル カウンタは命令サイクルの初めにデコードされた
命令に必要なサイクル数のカウントがロードされる。サ
イクル カウンタの出力をデコードし、各160ナノセ
コンドの1〜4個のサイクルを前以ってフエッチされた
命令に必要なものとしてつくりだす。
プログラム命令を実行するために、プログラムカウンタ
450は32ビット長の65Kプログラム メモリ(P
M)454に16ビット アドレスを与える。このPM
は好ましくはUVPROMあるいはEEPROMであ
り、EEPROMの場合設計サポート インタフェース
を介して動作中に後で変更することができる。メモリ4
54の出力データは現在実行される32ビットの命令ワ
ード456である。このワードはラッチ466にとらえ
られ、前述したようにA、B、RおよびFフィールド4
68〜474に分けられる。Fフィールドは前述したよ
うに命令デコード476によってデコードされ、ALU
426によって行なわれる機能とデータ バス478を
介したシーケンス制御480によってつくられる制御シ
ーケンスとを同定する。シーケンス制御480はマイク
ロプロセッサ中のすべてのデータの動きを制御する。特
に、マルチプレクサ402,416,428,438,
442および508の選択を制御する。さらにRAMメ
モリ420と432、ラッチ512と510、トランシ
ーバ460と464、マルチプレクサ442および条件
コード レジスタ448の出力イネーブル(OE)を制
御する。さらに、ラッチ424,434,510,43
6と502のクロック信号、メモリ420,432と4
54のリード/ライト モードおよびプログラムカウン
タ450のプリセットを制御する。ALU426のA入
力データはラッチ424を介してデータ パス422に
よって与えられる。このデータの通常のソースは16ビ
ットの1K RAM420の出力である。RAMメモリ
420と432は両者で従来の高速マイクロプロセッサ
に使用される16ワード デュアルポート レジスタ
ファイル メモリと類似した1Kワード レジスタ フ
ァイルを構成する。マルチプレクサ416はRAM42
0のアドレスの4個のソースを与える。これらはラッチ
されたAデータ410と、スタック ポインタ出力40
4あるいはラッチ436にとらえられた前回のラッチさ
れたAデータであるマルチプレクサの出力414であ
る。ラッチ436は間接アドレッシング、即ち、Aアド
レスフィールドがレジスタ ファイルのアドレスを指示
してその内容がAデータのソースのアドレスとなる間接
アドレッシングを行う手段を与えている。マルチプレク
サ416のもうひとつのソースは命令ワードのAフィー
ルド468である。アドレスの第4番目のソースは同一
命令ワードのRフィールド472である。
ALU426の入力データの通常のソースはラッチ43
4を介したRAMメモリ432の出力である。このメモ
リのアドレスとしてマルチプレクサ428を介した4個
のソースもある。これらは、ラッチされたBデータ41
2、マルチプレクサ402の出力、Bフィールド470
あるいはRフィールド472である。命令によって内部
データ バス446に16ビット ワードが与えられ
る。このデータのソースはマルチプレクサ442であ
る。これはALU動作で使用され、ALU426の出力
はニブル シフタ440とマルチプレクサ442をとう
る。ニブル シフタ440はこれを通過する16ビット
ワードに対して+4ビット、−4ビットあるいは0ビ
ットの回転を与える。マルチプレクサ442もリード
バスを介してバス106あるいは108に接続できる中
央メモリからデータを読む手段と、I/Oリード バス
442を介してDMAセクションから情報を読む手段と
を与える。
種々な命令を実行する間に条件コード レジスタ448
のあるビットをセットすることがある。条件コードを検
知する命令に対して、レジスタ448は交互にバス44
6のデータのソースとなる。トランシーバ460と46
4とはバス446のもうひとつのデータ ソース、即を
各々命令バス456の上位と下位16ビットを与える。
バス446上のデータは、例えば、RAMメモリ42
0,432,プログラム メモリ454、スタック ポ
インタ406あるいはプログラム カウンタ450等の
種々の着信先にルート決めできる。スタック ポインタ
406はプリセット可能なアップ/ダウン カウンタで
あって、割込み処理およびサブルーチンのコールと関連
した従来のスタック動作を可能とする。スタックはRA
Mメモリ420と432の下位256ワード ページに
含まれている。スタックあるいはレジスタ ファイルの
動作で同一データが両メモリの同一アドレスに書込まれ
る。従って2個のメモリは単一の1Kワード デュアル
ポートRAMメモリと同じようにふるまう。
プログラム カウントをスタックにプッシュする必要の
ある命令に対して、プログラム カウントはラッチ51
0にとらえられる。その後ALU426、ニブル シフ
タ440、マルチプレクサ442、データ バス446
を通り、スタック ポインタ406で与えられたアドレ
スのスタックに書込まれる。割込みあるいはサブルーチ
ンからのリターンでは、スタック ポインタはRAM4
20あるいは432のアドレスを指示して前回セーブさ
れたプログラム カウントを得てこれをバス446を介
してプログラム カウンタ450に回復する。
イミデイエート型動作ではAフィールド468とBフィ
ールド470とはイミデイエート オペランド ラッチ
512にとらえられ、ALU426のB入力にイミデイ
エート オペランド入力を与える。
中央メモリとマイクロプロセッサ間のデータの動きはレ
ジスタ ファイルを経由する。レジスタファイルの個別
のアドレスがメモリ アドレスの上位および下位フィー
ルドとして使用され、第3のセルはデータ用に用いられ
る。中央メモリ7の書込みは、最初の命令サイクルがラ
イト データをRAM420からラッチ436に移す。
第2の命令サイクルは上位アドレス フィールドをRA
M432から読み、下位アドレス フィールドをRAM
420から読む。このようにして24ビット アドレス
がラッチ424と434にとらえられ、バス調停回路5
00がバス32上のプロセッサ スロットIDとプロセ
ッサID設定スイッチ494とが一致したと決定するま
で保持される。次に前述したように、アドレスとデータ
は共通バス102あるいは104上に多重化される。デ
ータを中央メモリ100からレジスタ ファイルに移す
ために、前述のようにアドレスをラッチ424と434
に形成するが、今回はリード バス106あるいは10
8のリード データはマルチプレクサ442とデータ
バス446とを介してレジスタ ファイルに書込まれ
る。
ダイレクト メモリ アクセス(DMA)セクションの
制御はメモリマップドI/Oシステムによる。I/Oア
ドレス バス506は8ビット アドレス フィールド
を与え256個のI/Oアドレスあるいはレジスタを規
定する。レジスタは16ビット長である。I/Oレジス
タに書込むために、最初の命令サイクルはライト デー
タをRAM432からラッチ502に移す。次に第2の
命令サイクルはI/Oアドレスをバス506に与える。
このアドレスのソースは、RAM420の出力 ラッチ
434の出力、Bフィールド470およびRフィールド
472の4個のソースがある。
I/Oリードを実行するには、I/Oリード命令が2サ
イクルで実行されバス506にI/Oアドレスを与え
る。しかし、この場合I/Oリードバス444のリード
データはマルチプレクサ442とデータ バス446
とを介してレジスタ ファイルに伝送される。
割込みプロセッサ486は前述した割込みプロセッサ3
76と同一であるが、割込みのマスキングとベクトリン
グはメモリマップドI/Oを介して制御される。I/O
レジスタ503(第7aおよび7b図)への書込みは割
込みマスクをセットし、I/Oレジスタ501の読み出
しは割込みベクトルを読む。4ビット値は現在アクティ
ブとなる12個の可能な割込みレベルの最高レベルを指
示する。割込みプロセッサの詳細を説明する時に述べる
レジスタによって指示される割込みレベルがいったんク
リアされると、このレジスタの次回の読み出しによって
次に高いアクティブ割込みレベルが与えられる。第V表
は12個の割込みレベルを示す。第6図で混乱を避ける
ために、シーケンス制御ロジック480から出る制御ラ
インは意図的に省略している。
シーケンス制御480(第6d図)はライン482の割
込み要求(IRQ)信号あるいは割込みプロセッサ48
6からのライン484上の非マスキング割込み(NM
I)信号に応答する。
中央メモリあるいはI/Oバスに対する情報のライトあ
るいはリードのために特別の命令が与えられている。詳
しくは、機能コード フィールドがデコードされI/O
バスの“リード”あるいは“ライト”と解読されると、
I/Oバスのアドレスはリード時ソースBからであり、
ライト時ソースDからである。“リード”データは着信
先に送られ、“ライト”データは命令によって特定され
たソースBあるいは命令レジスタのイミデイエート値か
らである。機能コードのビット配列に従って、ソースと
着信先との直接あるいは間接アドレッシングが達成でき
る。同様に、機能コードCX(ヘキサ)は主メモリ バ
ス上のリードあるいはライトとして解読される。低位メ
モリ アドレスはソースAからであり、上位メモリ ア
ドレスはソースBからである。ライト データはソース
Dからであり、リード データは指示された着信先に送
られる。また、CX命令のビット配列に従って、間接あ
るいは直接アドレッシングを用いた中央メモリのリード
あるいはライトを行うことができる。
BXおよびCX機能コードを有した命令の実行は単一命
令によって規定されるが、アドレスとデータの位置の両
方はこれら単一命令の2個の個別サイクルあるいはフエ
ーズで処理されることにも注意されたい。
ビット4〜15 不使用 条件コード レジスタ448は16ビット長であり、算
術、論理、シフト、割込み動作の結果としてセットされ
た条件ビットを含む。これらビットは第VI表のように規
定される。
ダイレクト メモリ アクセス回路 第7a図および第7b図はダイレクト メモリ アクセ
ス回路のブロック図である。このDMA回路は関連する
装置のデータを中央メモリに対して自動的に移す。関連
する装置とは通信トランク、メイン フレーム コンピ
ュータ、低性能デジタル装置等である。DMA回路は4
個の“メモリからのリード”(リード チャネル)と4
個の“メモリへのライト”(ライト チャネル)DMA
コントローラから構成されている。リードおよびライト
チャネルは全二重、即ち同時動作が可能である。リー
ド チャネル動作とライト チャネル動作は各々50Mb
伝送を同時に行っているか、あるいは、1個のリード
チャネル動作か1個のライト チャネル動作が100Mb
速度で走っている。各コントローラは記述子0と記述子
1とに分けられ、これらはもしアクティブ記述子が終了
すると、インアクティブとなって別の記述子がアクティ
ブとなるように互いにリンクされている。これによって
DMAコントローラの二重バッファ形式を与え、制御し
ているプロセッサは割込みのないDMA伝送を維持しな
がらインアクティブな記述子を更新できる。リードある
いはライト チャネル動作に対して、装置インタフェー
スが所望のコントローラを選択する。従ってマルチプル
コントローラを走らせるためにはすべてのコントロー
ラを、制御しているプロセッサによって前以ってロード
して動作準備完了とする必要がある。
装置インタフェースがコントローラ選択情報を与えない
単一コントローラ動作ではデフォールトはコントローラ
第3番に対して行なわれる。使用するコントローラの数
と選択するコントローラの数は、制御するファームウエ
アが装置構成に合致するようにつくられている限り任意
である。
DMA回路の制御は、ラッチ501と503に入力を与
えるI/Oアドレス ライン506とI/Oライト デ
ータ バス504とを介して第6a〜6d図に示す16
ビット マイクロプロセッサによって行なわれる。I/
Oアドレス バスは256のマップドI/O位置を規定
し、そのうちのいくつかはDMA回路の制御レジスタに
対応する。アドレス デコード520は各ディスクリー
トな制御レジスタの特定のデコード ラインを与える。
シャドウRAMメモリ524は16ビットの256ワー
ド メモリであって、I/Oアドレス空間のすべてにわ
たる。リード/ライト、ライトオンリ(制御)、状態
(リードオンリ)および“不使用”の4種類のI/Oレ
ジスタが存在する。リード/ライトあるいはリードオン
リ レジスタが参照されると、シャドウ RAMはディ
スエーブルとされる。制御アドレスが書込まれると、同
一データがシャドウRAMにも書込まれる。同一アドレ
スを読むと、16ビット・マイクロプロセッサ444が
利用でき、制御レジスタの現在状態を指示する。DMA
制御に使用されないすべてのアドレスはシャドウRAM
に対してライトおよびリードが行われ、これらアドレス
を汎用レジスタに利用できるようにする。これらレジス
タの大部分はDMAコントローラ526に含まれてお
り、以下詳細に説明する。コントローラ526の目的は
DMA動作をサポートするのに必要なアドレスバス52
8上の24ビット、アドレスの連続シーケンスを与える
ことである。
各コントローラの記述子はリードおよびライトモードの
両方に特別なアドレスのシーケンスを必要とする。従っ
て、全部で16個の特別なシーケンスが必要である。各
アドレス シーケンスの範囲と長さは4個のレジスタに
書込むことによってDMAコントローラに対して特定さ
れる。これらレジスタはI/Oアドレス空間の下位64
アドレスに含まれる。例えば、ライト伝送のDMAコン
トローラ0と記述子0に関連するレジスタを考えてみ
る。
レジスタ00−DMA制御(リード/ライト) このレジスタはライト コントローラ0の記述子0に対
するDMA制御である。
ビット0−装置ライト終了 このビットがアクティブ ハイのときは、装置がメモリ
への書込みDMA動作を終了する。終了は最後のバイト
/ワードがそれより前である。このビットは装置インタ
フェースの 信号がつくられる。
ビット1−バイト ライト終了 このビットがアクティブ ハイのときは、奇数バイト境
界に終了した記述子に対するメモリへの書込みDMA動
作を示す。装置が伝送を終了すると、このビットは記述
子の残りのカウントがプラス1/2ワードであること示
す。このビットは装置ライト終了ビットと同じ時につく
られる。
ビット2〜15−不使用 これら14ビットは診断目的にシャドウRAMに対して
リードあるいはライトされる。
レジスタ01−DMA終了アドレス(リード/ライト) このレジスタはライト コントローラ0の記述子0に対
する16ビットDMA終了アドレスを含んでいる。この
レジスタは所望のバッファ メモリ終了アドレスのワー
ド アドレスのみをロードできる。
レジスタ02−上位DMAアドレス カウンタ(リード
/ライト) このレジスタはライト コントローラ0の記述子0に対
する上位DMAアドレス カウンタである。下位8ビッ
トはDMA動作の24ビット バッファ メモリ アド
レスのMSB 8ビットを含んでいる。このレジスタの
上位8ビットは使用されないが、シャドウRAMに対し
てリードおよびライトができる。
レジスタ03−下位DMAアドレス カウンタ(リード
/ライト) このレジスタはライト コントローラ0の記述子0に対
する下位DMAアドレス カウンタである。この16ビ
ット カウンタはDMA動作の24ビット バッファ
メモリ アドレスのLSB 16ビットを含む。
この4ワード パターンは残りの15のシーケンスにし
て繰返される。
次にコントローラ526の制御レジスタがロードされチ
ャネル入力532にデータが存在する場合を考えてみ
る。これは非同期バイト フォーマットとして現われ
る。各バイトに対してパリティ発生器534によってパ
リティの第9ビットが加えられる。先入れ先出し(FI
FO)エラスティック バッファ536は16バイトの
データまでバッファ可能である。オーバフローやアンダ
フローなしでポート入力と中央メモリ インタフェース
での同期伝送に対して充分である。他のバイトはラッチ
540と542にとらえられて16ビット ワードを形
成し、このワードはラッチ546にラッチされる。
中央メモリ100との通信は前述したと同じである。バ
ス調停576はプロセッサ スロットIDバス132の
内容とプロセッサIDスイッチ574とを比較する。
“自己のスロット”時間がくると、DMAキー スイッ
チ564の状態はキー バッファ568を介してAある
いはBキーバス134に置かれる。DMAは16ビット
インタフェースであるから、このキーは選択されて第
1図のような共通バスとリード バスの接続に従ってA
あるいはBバスに与えられる。自己スロット時間の中央
メモリ サイクルの第1の半サイクルの間、アドレス
バス528のデータは共通バス102あるいは104に
置かれ、サイクルの第2の半サイクルの間、16ビット
のライト データがバスに置かれる。中央メモリからチ
ャネルへの伝送はプロセスが単に逆になるだけである。
もし自己スロット時間にFIFO552に充分なスペー
スがあると、中央メモリのリード サイクルが行なわれ
る。
アドレス生成は前述のようにメモリ サイクルの第1の
半サイクルの間である。メモリ サイクルの第2の半サ
イクルの間、リード データはバス106あるいは10
8から現われてラッチ562にとらわれる。このラッチ
の出力である16ビット ワードとパリティ2ビットは
各々関連するパリティ ビットを有した2個のバイト5
58と560とに分けられる。これらがマルチプレクサ
556の2個の入力となる。マルチプレクサ556によ
る選択は各バイト時間で行なわれ、ワードをシリアル
ワード フォーマットでデータ パス554に分解す
る。データはFIFOからクロックによって出力され
て、公称50Mb/sのチャネル同期速度でチャネル 出力
バス550に出力される。
DMAコントローラ 第8図は第7図のDMAコントローラ526の詳細ブロ
ック図である。16個の可能なDMAシーケンスを規定
する前述した64個のI/Oレジスタは、デュアル ポ
ートRAMメモリ636〜642より構成されている。
制御RAM636は8ビットの16ワードRAMであり
各ワードは前述した制御レジスタのひとつに対応してい
る。同様に、メモリ638は終了アドレスに関連した1
6個のレジスタを含み、メモリ640は上位アドレスに
関連した16個のレジスタを含み、メモリ642は下位
アドレスに関連した16個のレジスタを含む。DMAは
レジスタ−レジスタ基準でバス505とデータ バス5
07とを介してこれらレジスタに書込みを行うことで初
期化される。制御レジスタ データはマルチプレクサ6
32を介して書込まれ、他のすべてのデータはマルチプ
レクサ628を介して書込まれる。ポートAはI/O動
作のすべてと制御レジスタの読み出しに使われる。Aポ
ートのデータ出力はI/Oリード データ バス404
に与えられる。選択されたコントローラに従って、記述
子とリード/ライト モード制御614はバス616に
4ビット アドレスを置く。このアドレスはマルチプレ
クサ622を介して4個のRAMメモリすべてにポート
Bアドレスを与える。
DMA動作は選択されたビット パターンをDMA制御
レジスタ52に書込むことによってイネーブルとされ
る。このレジスタの各ビットの制御機能は以下のとおり
である。
ビット0−イネーブル リード チャネル このビットはアクティブ ハイの時すべてのコントロー
ラに対してDMAリード データ チャネルをイネーブ
ルとする。このビットはDMA伝送を開始するのに、有
効リード コントローラ選択、選択されたコントローラ
の空きでない記述子、およびイネーブル リード要求の
アクティブ ハイとによって条件づけする必要がある。
ビット1−イネーブル ライト チャネル このビットはアクティブ ハイの時すべてのコントロー
ラに対してDMAライト データ チャネルをイネーブ
ルとする。このビットはDMA伝送を開始するのに、選
択されたコントローラの空きでない記述子とイネーブル
ライト要求のアクティブ ハイとによって条件づけす
る必要がある。
ビット2−50MHz/100MHz NOTモード このビットはアクティブ ハイの時、DMAメモリ サ
イクル要求ハードウエアに対してスロット アクセル
プロファイルがDMA基板に50MHzを設定したことを
知らせる。このビットはアクティブ ローの時、DMA
メモリ サイクル要求ハードウエアに対してスロット
アクセス プロファイルがDMA基板に100MHzを設
定したことを知らせる。
ビット3−イネーブル セグメント カウンタ使用 このビットはアクティブ ハイの時、リードDMA伝送
に対してセグメント カウンタの使用をイネーブルとす
る。イネーブルとされ、セグメント カウンタが0に等
しくなると、リード コントローラ選択によって指示さ
れるとハードウエアはコントローラを変える。もしこの
ビットがアクティブ ローであると、セグメント カウ
ンタは使用されずリード コントローラ選択は各伝送で
変えることができる。
ビット4−パリティ選択 このビットはアクティブ ローの時ハードウエアでチェ
ックするのに奇数パリティを選択する。このビットがア
クティブ ハイの時ハードウエアでチェックするのに偶
数パリティを選択する。
ビット5−イネーブル ループバック モード このビットがアクティブ ハイの時装置インタフェース
でのメモリからの読出しデータ パスをメモリへの書込
みデータ パスへ接続することをイネーブルとする。
ビット6−イネーブル リード要求 このビットがアクティブ ハイの時DMA基板のメモリ
から読出し要求ハードウエアをイネーブルとする。この
ビットは発生するすべてのリードDMA伝送に対してイ
ネーブルとする必要がある。
ビット7−イネーブル ライト要求 このビットはアクティブ ハイの時DMA基板のメモリ
への書込み要求ハードウエアをイネーブルとする。この
ビットは発生するすべてのライトDMA伝送に対しても
イネーブルとする必要がある。
ビット8乃至15−使用されない 4個の制御レジスタの各々、即ちアドレスバス630の
アドレスによって特定されたRAMメモリ636〜64
2の各々の内容は、各RAMのBポート データ出力で
得られる。下位アドレス RAMからの16ビット出力
652は上位アドレスRAMからの8ビット出力654
と結合されて24ビット アドレス528を形成する。
出力652はバイナリ加算器644の一方の入力を与え
る。他方の入力656はハードワイヤードの値+2であ
る。従って現在のアドレス652+2がマルチプレクサ
ラッチ628にとらえられる。現在の中央メモリ伝送
が完了すると、ライト動作がRAMメモリ642に対し
て行なわれ、ラッチ628に含まれる値が652に新し
いアドレスとして存在する。メモリの65Kページのひ
とつを特定するアドレスの下位16ビットのみに対して
加算が行なわれていることに注意されたい。この結果、
DMAシーケンスはページ境界をまたぐようにプログラ
ムすることができない。DMAシーケンスがいったん初
まると、データの中止あるいは終了アドレスに到達する
まで自動的に進行する。終了アドレスRAM638の出
力650は終了アドレスを含んでいる。現在のアドレス
652は比較器648でこの値と比較される。比較器6
48は終了アドレスと現在のアドレスが一致すると起動
する。ライン608が起動すると制御614は別の記述
子に切替え、同時に16ビット マイクロプロセッサに
ライン501上の割込み要求を与える。新しい記述子は
アドレス バス630に新しいアドレスを生成して、制
御RAMの新しい一連の制御レジスタを指示する。従っ
てDMA伝送は割込みなしで継続でき、マイクロプロセ
ッサはインアクティブの記述子を更新する。レベル8の
割込みを検知すると、レジスタ44が読まれ必要な制御
動作を決定する。
レジスタ44の状態ビットの各々の機能と意味は以下の
とうりである。
レジスタ44−ライトDMAコントローラ状態(リー
ド) この要求はライトDMAコントローラの状態を決めるの
に使用される。
ビット0−ライト コントローラ3記述子0フル このビットはアクティブ ハイの時、ライト コントロ
ーラ3の記述子0が“フル”であることを示す。フルの
意味は、記述子がロードされ、カウントは0でなく、か
つ記述子制御レジスタの装置ライト終了ビットがアクテ
ィブでないことを示す。
ビット1−ライト コントローラ3記述子1フル このビットはアクティブ ハイの時、ライト コントロ
ーラ3の記述子1が“フル”であることを示す。フルの
意味は、記述子がロードされ、カウントは0でなく、か
つ記述子制御レジスタの装置ライト終了ビットがアクテ
ィブでないことを示す。
ビット2−ライト コントローラ3記述子ポインタ このビットはアクティブ ハイの時、記述子1がアクテ
ィブであり、現在DMAの動作で使用されている記述子
であることを示す。このビットはアクティブ ローの
時、記述子0がアクティブであり、現在DMA動作で使
用されている記述子であることを示す。DMAの動作を
開始するために初めに記述子をロードすると、記述子ポ
インタはハードウエアが最初に使用する記述子を指摘す
る。ライト コントローラ サービス要求レベル8の割
込みを受信した時にどの記述子をロードするか決定する
ために、記述子のフル ビットをチェックする必要があ
る。もしポインタが記述子0を指摘しこのフル ビット
がインアクティブであると、記述子0をロードする。も
しポインタが記述子0を指摘しこのフル ビットがアク
ティブであると、記述子1をロードする。もしポインタ
が記述子1を指摘しこのフル ビットがインアクティブ
であると、記述子1をロードする。もしポインタが記述
子1を指摘しこのフル ビットがアクティブであると、
記述子0をロードする。ポインタ ビットと2個のフル
ビットをどの記述子にロードするかを決定するための
スキップ値として使用できる。
ビット3−ライト コントローラ3サービス要求 このビットはアクティブ ハイの時、ライト コントロ
ーラ3がレベル8の割込みを発生しサービスを要求して
いることを示す。
ビット4−ライト コントローラ2記述子0フル ビット0のライト コントローラ3記述子0フルと同
じ。
ビット5−ライト コントローラ2記述子1フル ビット1のライト コントローラ3記述子1フルと同
じ。
ビット6−ライト コントローラ2記述子ポインタ ビット2のライト コントローラ3記述子ポインタと同
じ。
ビット7−ライト コントローラ2サービス要求 ビット3のライト コントローラ3サービス要求と同
じ。
ビット8−ライト コントローラ1記述子0フル ビット0のライト コントローラ3記述子0フルと同
じ。
ビット9−ライト コントローラ1記述子1フル ビット1のライト コントローラ3記述子1フルと同
じ。
ビット10−ライト コントローラ3記述子がポインタ ビット2のライト コントローラ3記述子ポインタと同
じ。
ビット11−ライト コントローラ1サービス要求 ビット3のライト コントローラ3サービス要求と同
じ。
ビット12−ライト コントローラ0記述子0フル ビット0のライト コントローラ3記述子0フルと同
じ。
ビット13−ライト コントローラ0記述子1フル ビット1のライト コントローラ3記述子1フルと同
じ。
ビット14−ライト コントローラ0記述子ポインタ ビット2のライト コントローラ3記述子ポインタと同
じ。
ビット15−ライト コントローラ0サービス要求 ビット3のライト コントローラ3サービス要求と同
じ。
レベル7の割込みを検知すると、必要な制御動作を決定
するためにレジスタ45を読む。レジスタ45の各状態
ビットの意味は以下のとうりである。
レジスタ45−リードDMAコントローラ状態(リー
ド) このレジスタはDMAリード コントローラの状態を決
定するのに使用される。
ビット0−リード コントローラ3記述子0フル このビットはアクティブ ハイの時、リード コントロ
ーラ3の記述子0が“フル”であることを示す。フルの
意味は、記述子がロードされ、カウントは0に等しくな
いことを示す。
ビット1−リード コントローラ3記述子1フル このビットはアクティブ ハイの時、リード コントロ
ーラ3の記述子1が“フル”であることを示す。フルの
意味は、記述子がロードされ、カウントは0に等しくな
いことを示す。
ビット2−リード コントローラ3記述子ポインタ このビットはアクティブ ハイの時、記述子1がアクテ
ィブであり、DMA動作で現在使用されている記述子で
あることを示す。このビットはアクティブ ローの時、
記述子0はアクティブであり、DMA動作で現在使用さ
れている記述子であることを示す。DMA動作を開始す
るために初めに記述子をロードすると、ハードウエアが
最初に使用する記述子を記述子ポインタが指摘する。リ
ード コントローラ サービス要求レベル7の割込みを
受信した時にどの記述子をロードするかを決定するため
に、“記述子フル”ビットをチェックする必要がある。
もしポインタが記述子0を指摘したそのフル ビットが
インアクティブであると、記述子0をロードする。もし
ポインタが記述子0を指摘しそのフル ビットがアクテ
ィブであると、記述子1をロードする。もしポインタが
記述子1を指摘しその“フル”ビットがインアクティブ
であると、記述子1をロードする。もしポインタが記述
子1を指摘しその“フル”ビットがアクティブである
と、記述子0をロードする。ポインタ ビットと2個の
フル ビットは、どの記述子をロードするかを決定する
ためのスキップ値として使用できる。
ビット3−リード コントローラ3サービス要求 このビットはアクティブ ハイの時、リード コントロ
ーラ3がレベル7の割込みを発生しサービスを要求して
いることを示す。
ビット4−リード コントローラ2記述子0フル ビット0のリード コントローラ3記述子0フルと同
じ。
ビット5−リード コントローラ2記述子1フル ビット1のリード コントローラ3記述子1フルと同
じ。
ビット6−リード コントローラ2記述子ポインタ ビット2のリード コントローラ3記述子ポインタと同
じ。
ビット7−リード コントローラ2サービス要求 ビット3のリード コントローラ3サービス要求と同
じ。
ビット8−リード コントローラ1記述子0フル ビット0のリード コントローラ3記述子0フルと同
じ。
ビット9−リード コントローラ1記述子1フル ビット1のリード コントローラ3記述子1フルと同
じ。
ビット10−リード コントローラ1記述子ポインタ ビット2のリード コントローラ3記述子ポインタと同
じ。
ビット11−リード コントローラ1サービス要求 ビット3のリード コントローラ3サービス要求と同
じ。
ビット12−リード コントローラ0記述子0フル ビット0のリード コントローラ3記述子フルと同じ。
ビット13−リード コントローラ0記述子1フル ビット1のリード コントローラ3記述子2フルと同
じ。
ビット14−リード コントローラ0記述子ポインタ ビット2のリード コントローラ3記述子ポインタと同
じ。
ビット15−リード コントローラ0サービス要求 ビット3のリード コントローラ3サービス要求と同
じ。
DMAサイクルは160ナノセコンド毎に行って100
Mbバンド幅を与えることができる。50Mbの全二重動作
はリードとライト サイクルを交互に行って、即ち、各
サイクルのリードとライトでアドレス バス630のア
ドレスを変えることによって達成できる。同様に、2個
あるいはそれ以上のコントローラのインタリーブ動作
は、100Mbの全バンド幅を共用することによって行な
える。
記憶保護 第9図はバンク0の記憶保護回路の詳細ブロック図であ
る。バス/バンク選択ライン138の状態が、マルチプ
レクサ ラッチ600,602および604からの入力
データのソースを決定する。ライン138がローの時、
バス134の4ビットAキー フィールドはメモリ サ
イクルの第1フエーズでラッチ600にとらえられる。
同時に、A共通バス102の24ビット アドレス フ
ィールドはラッチ602にとらえられる。同じメモリ
サイクルの第2フエーズの間、A共通バス102の16
ビット ライト フィールドはラッチ604にとらえら
れる。またライン138がハイの時、Bキー、バス フ
ィールド、Bアドレスおよびライト データ フィール
ドがとらえられる。
記憶保護はフリップフロップ646がセットされた時だ
けアクティブである。このフリップ フロップの状態
は、アドレス00810040に書かれたLSB D
Oによって制御される。このアドレスへのライトはデコ
ード ライン648を起動し、時間T60においてAN
Dゲート650がイネーブルとされフリップフロップ6
46をクロックとしてライン612にデータ ビット0
が存在する状態とする。フリップフロップ646がいっ
たんセットされると、次回のアドレスへのライトはAN
Dゲート652をイネーブルとしてフリップフロップ6
30をクリアするので、前回に記憶されたメモリ フォ
ールト条件はリセットされる。マルチプレクサ634は
内部アドレス バス608上の24ビット アドレスか
らの2個のアドレス フィールドのひとつを選択する。
マルチプレクサ634の出力は、4ビットの4096ワ
ード RAMメモリ636に12ビットアドレスを与え
る。正常動作では、デコード642はローであるのでリ
ード動作を行う。メモリ636のリード データは4ビ
ットの双方向データ バス614に現われる。RAMメ
モリ636のリード データの4ビットとラッチ600
のキー データの4ビットとはラッチ616にとらえら
れ、各々出力バス620と618に現われる。
キー データとRAMメモリ リード データとが一致
しないと、比較器622の出力はハイである。ライト
サイクルのすべてでデコード626はハイである。フリ
ップフロップ646がセットされると、メモリ フォー
ルトによってANDゲート627がイネーブルとされ、
時間T80でこの状態がフリップフロップ630にとら
えられる。フリップフロップ630がセットしてバンク
0のメモリ フォールトを出力ライン632に与える
と、出力からフリップフロップの“プリセット”入力
へのフイードバックによって、アドレス0081004
へのライトによってクリアされるまでセット状態が
維持されることを保証する。
キー コード0は制御プロセッサのみによって使用さ
れ、メモリ636内のキー テーブルを変更する。この
状態はデコード ライン642を起動してメモリ636
をライト モードとする。さらにトライステート バッ
ファ644をもイネーブルとし、ラッチ604にとらえ
られたデータの下位4ビットを、ラッチ602にその時
ラッチされているアドレスのRAMメモリ セルに書込
む。バンク0のメモリ フォールトはトライステートラ
ッチ638,640,654および656をクロック
し、各々キー フィールド、アドレスを上位8ビット、
および下位16ビットをとらえる。これによってシステ
ムの核プロセッサあるいは他のプロセッサをイネーブル
としフォールト隔離診断を実行する。アドレス0081
0050のリードによってバンク0のリード バス2
24上のラッチ638および640のデータをアクセス
し、アドレス00810052のリードによってバン
ク1のリード バス226上のラッチ654および65
6のデータをアクセスする。バンク1の記憶保護回路は
第9図に示し説明したのと同一であるが、フリップフロ
ップ646とANDゲート650および652は存在し
ない。
アクセス制御 前述の第II表において種々のタイム スロットでのプロ
セッサのバス アクセスを仮に同定した。このタイム
スロット割当ては“システム プロファイル”と称す
る。一般に、多数の正常なプロファイル間のフィールド
選択性を異常なプロファイルを選択することなく付与す
ることが望ましい。第10図はこれを達成するアクセス
制御回路の詳細ブロック図である。アクセス制御回路は
メモリ670を有し、このメモリは好ましくは、16個
の連続ワードより成る各システム プロファイルを16
個含んだ8ビットの256ワード プログラマブルRO
Mである。アドレスの下位4ビットは、“T40”信号
によってクロックされる4ビット タイム スロット
カウンタ674によって与えられ、新しいアドレスは8
0ナノセコンドの各タイム スロット毎に発生する。メ
モリ670から読み出したデータはラッチ680にとら
えられ、その出力はプロセッサIDバス132に与えら
れる。このバスの一部はバス/バンク選択ライン138
を構成する。プロファイル スイッチブロック627は
4個のスイッチを有し、各スイッチはメモリ670の4
個の上位アドレス ビットのひとつに対応する。従っ
て、ブロック672のスイッチによって設定できる25
6の組合せの各々は異なったプロファイル、即ち、プロ
セッサIDバス信号の異なったシーケンスに対応する。
メモリ670のアドレス ビット0はカウンタ674の
リセットを制御する。これによって16個以下のプロフ
ァイル シーケンスをつくることができる。例えば、8
個のタイム スロットのプロファイル シーケンスは、
最初の8個のアドレスに対しては“0”とプログラムさ
れ、第9番目のアドレスに対しては“1”とプログラム
されたアドレス ビット0を有してカウンタ674のリ
セットを行う。アドレス00810020のリードに
よってデコード ライン681が起動され、プロファイ
ル スイッチ672の状態を、トライステート バッフ
ァ682とバンク0リード データ バス224を介し
て読むことができる。
割込み制御 第11図に示すように並べた第11aおよび11b図は
第3図の割込み制御ブロック216の詳細ブロック図で
ある。システムの各プロセッサは割込みのソースであり
着信先でもある。割込みはシステム割込みバス136を
介してプロセッサ間のルート決めがなされる。このバス
は入力と分散出力のポーリングをシーケンシアルに制御
される。ポーリング サイクルは4個の80ナノセコン
ドサブサイクルにより構成される。16個までのプロセ
ッサをポーリングでき、各プロセッサは5.12マイク
ロセコンド毎に割込み処理をできる。システム割込みバ
ス136は以下のラインにより構成されている。
1.新しいポーリング シーケンスの開始を示す同期信
号。この信号は第1のサブサイクルの間アクティブであ
る。
2.IREQID0〜3として示される4個の割込み識
別子信号 3.2個の優先レベル信号“レベル0”および“レベル
1”。これらはエンコードされて最下位の00から最上
位の11の4個の優先レベルを与える。
4.発信元プロセッサによって主張され割込みを示す▲
▼信号。
5.割込み制御によって主張され割込みをリレーあるい
はエコーする▲▼ライン。
ポーリングの第1サブサイクルの間、割込み制御は4
ビットの割込み識別子コードと共に を主張する。第2サブサイクルの間、IDがポーリング
された割込み識別子と合致するプロセッサだけが割込み
を与えることが許される。許可されたプロセッサが与え
る割込みを有していると、▲▼信号を起動して
着信先プロセッサのIDコードを与える。第2のサブサ
イクルにおいて、割込みを行っているプロセッサは割込
みレベル ラインに割込みの優先レベルをも置く。優先
レベルは最下低のバイナリ00から01,10および最
上位の11である。プロセッサが第2サブサイクルで割
込みを発生したときのみ、割込み制御は第3サブサイク
ルで▲▼ラインを主張して第2サブサイクルでの
割込みIDとレベル信号とをリレーする。第4サブサイ
クルの間、割込み制御は、割込み要求IDライン0〜3
に発信元プロセッサ識別子、即ち、第1サブサイクルで
使用したと同じIDコードを再度置く。割込みのポーリ
ングはイネーブル ポーリング ライン748をイネー
ブルすることによって起動される。これはメモリアドレ
ス00810040に1を書くことによって達成され
る。ポーリングは同一アドレスに0を書くことによって
いつでもディスエーブルとできる。ポーリングがイネー
ブルされると、“160クロック”はフリップフロップ
746をセットして ラインを起動することによって、デアアル4ビットのト
ライステート バッファ724のAセクションの出力を
イネーブルとする。これによって、ポーリング割込み要
求IDコードはシステム割込みバス136に置かれる。
IDコードのソースはシステム タイマ バス221
(第3図)の4個のLSBである。システム タイマは
“クロック160”でインクリメントされることを想起
されたい。ラッチ700は各ポーリング サブサイクル
の初めでクロックされる。
第2サブサイクルで割込みを行っているプロセッサによ
ってつくられた着信先コードと優先レベルはラッチ70
0にとらえられる。これはAND/OR論理ゲート70
2〜712を介して送られ、“407ロック”の立上が
りでラッチ714にとらえられる。ポーリングの第3サ
ブサイクルの間、▲▼ラインはローとなり、ラッ
チ714の内容はシステム割込みバスのIDと優先レベ
ルの要求ラインに与えられる。ポーリングの第4サブサ
イクルの間、フリップフロップ740はセットされ、デ
ュアル4ビットのトライステート バッファ724のB
セクションをイネーブルとする。ソースの割込み要求I
Dが再びシステム バスに与えられる。これはシステム
タイマ バス221から発信されANDゲート716
〜722を経て運ばれる。
正常動作では、割込み制御は割込みを発信することもな
く受信することもない。記憶保護回路のメモリ フオー
ルトの場合、割込み制御は最高優先である11の強制的
な割込みを発生する。このフオールトは重大なことであ
るから、この割込みは最初に利用できる割込みポーリン
グ スロットを使用して、割込みバスに直ちに置かれ
る。
ライン214上のメモリ フオールトはフリップフロッ
プ730をクロックしてセット状態とする。ポーリング
がイネーブルとされると、ANDゲート726はイネー
ブルとされ、次の“160クロック”でフリップフロッ
プ728はクリアされる。これによってANDゲート7
16〜722の出力を強制的にすべて0とし、要求ID
コード0000をシステム割込みバス136に強制的に
置く。このIDコードは割込み制御で保留しておくの
で、他のプロセッサは応答しなくなる。ANDゲート7
02〜708がディスエーブルとなると、000IDコ
ードは強制的にラッチ714にラッチされる。ORゲー
ト710および712の出力は強制的に“1”とされ、
最高優先割込みレベル11をもラッチ714にラッチす
る。ANDゲート716〜722はディスエーブルとさ
れ、要求IDコード“0000”を強制する。この強制
の結果、他のプロセッサの割込み動作をオーバライドさ
せ、メモリ フォールトが直ちに処理されることを確実
なものとする。
割込みプロセッサ 第12a−1図、第12a−2図及び第12a−3図は
第5図の割込みプロセッサ376の詳細ブロック図であ
る。割込みプロセッサの機能は、システム割込みバス上
に発生したすべての割込みをとりこみ、レベルに従って
ソートし、優先順をエンコードした割込みをバス378
を介してマイクロプロセッサ350に与え、そしてデー
タ バス362を介してマイクロプロセッサに割込みデ
ータを順序よく伝送することである。さらに、ポーリン
グ プロトコールに従って、マイクロプロセッサ350
によって発生した割込みを送信する機能もつとめる。
最初に割込みプロセッサが割込みを発信している場合を
考えてみる。マイクロプロセッサ350はアドレス00
810040に書込むことによって割込みを起動す
る。これによってP1プロセッサ インタラプト リク
エスト(P1 PROC.INT.REQ.)ライン8
06を起動し、トライステート ラッチ804をクロッ
クして下位7ビットD〜Dデータ ワードをとらえ
る。これらのビットはLSBからMSBの順に、割込み
要求ID0〜3、レベル0、レベル1、および▲
▼である。ライン806のこの割込み要求はフリップ
フロップ808をもセットし、ライン810を介してラ
ッチ800のビットDに“1”を与える。ラッチ80
0は各ポーリングのサブサイクルの初めにクロックさ
れ、Dとともに入力D〜Dに各々割込み要求ID
0〜3、 信号、レベル0、レベル1および▲▼をとらえ
る。比較器802のB入力は以下のように接続されてい
る。Bは“1”状態にハードワイヤドされ、Bおよ
びBは“0”状態にハードワイヤドされそしてB
、BはプロセッサIDバス380に接続されてい
る。従って、プロセッサ1からの割込み要求が継続中で
あることを示すラッチ800のQが“1”のとき、A
ND入力はAは“0”であり、入力A、A、A
はプロセッサIDに対応し、 信号はローとなり、AとB入力は合致し、そして比較器
802の出力はローとなる。この条件は、割込み要求が
継続中であり、プロセッサP1がポーリング サイクル
に入った時にのみ起こる。比較器802の出力がローと
なると、ラッチ804の内容はシステム割込みバス13
6に与えられる。同時にフリップフロップ808はクリ
アされて割込みがシステム割込みバス136上に存在
し、割込み制御回路は前述したように割込みの分配を管
理する。フリップフロップ808がクリアされると、次
のサブサイクルにおいて、クロック ライン812はロ
ーとなり比較器802をディスエーブルとする。システ
ムは、P1プロセッサがライン806に次の割込み要求
を発生するまでは、応答しない。
次にP1プロセッサが割込み着信先である場合を考えて
みる。割込み制御は第3サブサイクルで▲▼信号
を主張して、IDフィールドが割込みの着信先コードを
含んでいることを示すことを想起されたい。比較器81
6のB入力は以下のように接続されている。BとB
は0にハードワイヤードされ、B、B、Bはプロ
セッサIDバス380に接続されている。第3サブサイ
クルでデータがラッチ800にとらえられると、出力Q
、ライン814はローである。この時、もしID0、
1および2がプロセッサID1、2および3に対応し、
ID3も“0”であると、比較器816の出力はローで
ある。CLK409がハイとなる時間40において、フ
リップフロップ822はセットされ、フリップフロップ
818と820は割込みレベルをとらえる。20ナノセ
コンド後、ANDゲート826はイネーブルとされる。
NANDゲート828〜834は、フリップフロップ8
18と820に含まれた2ビット レベルコードを各々
レベル0〜3のデイスクリート信号にデコードするのに
用いられる。この時までにポーリングの第4サブサイク
ルからのデータはラッチ800にラッチされており、I
Dフィールドは割込み発信元のコードを含んでいる。
回路854〜860(第12b図)は各割込みレベルに
備えられた同一の割込みレシーバである。もし受信割込
みレベルが“0”であると、ライン836はローとな
り、16ビットアドレス可能なラッチ862をセット
し、そしてラッチ800にとらえられた要求IDフィー
ルドによって指定されたビットをセットする。同時に、
フリップフロップ870がプリセットされ、出力ライ
ン871をローとする。優先エンコーダ872は、
“0”である最高優先D入力のバイナリ値を出力Q
およびQの3ビット コードにエンコードする。
割込み動作がないと、割込みバス378の正常状態は0
00である。レベル0の割込みはこれを001にセット
してP1マイクロプロセッサ350の割込みを示す。
マイクロプロセッサの次の命令サイクルにおいて、制御
はレベル0の割込みの割込み処理ルーチンに自動的にベ
クトリングされる。マイクロプロセッサは次にアドレス
80200000から8020000Cを読んで割込み
ソースを決定する。これによって00がデコーダ824
のSO1入力に与えられ、 をローとして出力Qライン846をローとする。ライ
ン846がローとなると、アドレス可能ラッチ862の
内容は16ビットのトライステート ラッチ864にと
らえられる。
ソフトウエア制御構造 ここで説明したネットワーク アダプタの動作は効率的
な高速プロセッサ間通信に依存する。この動作をサポー
トする特別なハードウエア特徴を前述した。このハード
ウエアに対して第13図に示すデータ リンク構造に従
ったソフトウエア制御構造が加えられる。すべてのプロ
セッサ間通信はこのリンク構造のすべてではなくともそ
の一部を使用している。ネットワーク アダプタの中央
メモリ100内の各プロセッサに関連するのは、入(リ
ードのみ)リストと出(ライト/リード)リストの2個
のキュー リストである。これらリストは制御ブロック
とともに循環的に構成され、リストの次の空きエントリ
点のポインタを与える。仮にAとして示すプロセッサが
Bとして示す他のプロセッサと通信するためには、プロ
セッサAはまずプロセッサBの入キュー リストと関連
する制御ブロックを読み、このリストの次のエントリ点
に新しいキュー要素を入力し、そしてプロセッサBに適
切なレベルの割込みを与える。割込まれた時プロセッサ
BはプロセッサAからキュー要素をその入キュー リス
トから除いて、制御ブロック ポインタをリセットす
る。キュー要素に着信先/発信元フィールドがあり、こ
のフィールドはこの特定キュー要素が着信先プロセッサ
Bから発信元プロセッサAであることを同定する。要素
コード フィールドであるもうひとつのフィールドは、
受渡し可能な多数の所定のメッセージを与える。ある種
の要求コードを使用して特定の動作、例えば、“中央メ
モリ バッファ割当て”、“中央メモリ バッファの割
当て解除”、“データ リストの所有の伝送”あるいは
“ログアウト”等を規定できる。ある種の要求コードは
関連するデータを必要とせず、この場合、キュー要素自
体がプロセッサAおよびB間で受渡しのできるメッセー
ジを構成する。他のある種のコードは受渡すべき関連す
るデータを必要とする。この場合には、キュー要素のポ
インタ フィールドが“ワーク要素”を構成する中央メ
モリ100の1024バイト領域を指摘する。
ワーク要素は制御情報を受渡たす複数フィールドを有す
る。制御情報は、例えば、データ リスト、機能を後述
するネットワーク エクゼクティブ(Netex)要求ブロッ
ク、そして要求コード フィールドで与えることのでき
ないさらに複雑なメッセージ用の空間等のデータ リン
ク構造の他の要素へのポインタを含んでいる。ある種の
要求コードは、キュー要素とワーク要素とで受渡しメッ
セージを構成する。データ リスト所有の伝送に関連す
る特定の要求コードでは、関連するワーク要素のデータ
リスト ポインタがチェイン データ リストの最初
の2048バイト ブロックを指摘する。各データ リ
スト ブロックには関連するデータ バッファに向けら
れたポインタがあり、バッファはネットワーク アダプ
タを流れるメッセージ データを含む。各データ リス
ト ブロックの終りには次のデータ リスト ブロック
のポインタがあり、データ リストとそれに関連するデ
ータ バッファの無限チェインを可能としている。
このようにデータ リンク構造は、あるインタフェー
ス プロセッサへの入メッセージを指定された出インタ
フェース プロセッサにルート決めする手段を与える。
システムはすべてのプロセッサが互いに直接通信するよ
うにハードウエアとソフトウエアの機構を与えている
が、インタフェース コントローラは代表的には核プロ
セッサを介して通信を行う。メッセージ トラフイック
に関連する代表的なプロセッサ間通信方法は以下のとう
りである。インタフェース プロセッサは核プロセッサ
のキュー要素をつくり、バッファ メモリ空間の割当て
を要求する。各要求に対して、核プロセッサは、割当て
られたメモリの第1頁のリンク アドレスを有したキュ
ー要素を返送する。各頁はページの最初の2個ワードに
次頁のリンクアドレスを有している。
ワーク要素構造を用いてインタフェース プロセッサは
核プロセッサに対して入メッセージの着信先アドレスを
同定する。着信先アドレスは、全遠隔通信ネットワーク
のいずれかにある装置に対応した、論理、物理および広
域アドレスの組合せでもよい。従って、各メッセージに
対して、それ自体がメッセージの着信先かあるいは着信
先への途中のルートにあるインタフェース プロセッサ
が存在する。ルート テーブルによって核プロセッサ
は、インタフェース プロセッサが着信先がルート途中
かを決定する。データ リンク構造によって核プロセッ
サは、着信先あるいは出インタフェース プロセッサを
メッセージ毎に、中央メモリ内の同一バッファ メモリ
空間に関連する入インタフェース プロセッサとしてリ
ンクする。バッファ メモリ空間の割当てと同時に、核
プロセッサは記憶保護メモリを更新して要求プロセッサ
に対して割当てバッファ メモリのライト アクセスを
可能とする。メモリの各2Kワード要素ブロックは以下
のように書込み保護がなされている。最初の1Kブロッ
クは送信プロセッサのみによって書込まれ、第2の1K
ブロックは受信プロセッサのみによって書込まれる。割
当て頁にバッファされたメッセージが送信されると、頁
の割当ては解除される。即ち、制御はインタフェース
プロセッサから核プロセッサに戻される。
ネットワーク エクゼクティブ プロセッサ 本発明のネットワーク アダプタは核プロセッサと同じ
構造のプロセッサを追加することができるが、これらプ
ロセッサは以下説明するようにネットワーク アダプタ
内で特定のアプリケーション機能を果たすようにプログ
ラムされている。アプリケーション機能の一例はホスト
装置で通常実行されるネットワーク エクゼクティブ機
能である。ネットワーク エクゼクティブ(Netex)の目
的は、別個のホスト装置のアプリケーション プログラ
ムが実際のネットワーク構成を考慮することなく互いに
通信できることである。これによって、ファイル伝送、
ジョブ伝送およびトランザクション処理等のアプリケー
ションを、単一ベンダあるいは多数ベンダ環境において
固有のチャネル速度あるいはそれに近い速度でリアルタ
イムで行うことを容易にしている。
データ通信の国際標準機構オープン システムアーキテ
クチュア基準モデルは、データ通信に対して7階層の標
準プロトコールを規定した。これは各階層がその上下に
階層のみと直接通信できる階層プロトコールである。最
高階層のアプリケーション階層はセッション階層とのみ
通信する。セッション階層は階層的に他の5個の低位階
層と通信する。最低階層は物理メディアである。
Netex機能はこの標準のセッション階層に従っている。
これによって、アプリケーション プログラムはシンボ
リック名によってアプリケーションをアクセスして通信
できる。さらに、所与のホストで走っている多数のアプ
リケーション プログラムがシステムを同時にアクセス
して全体の通信システムに分散されている装置との同時
通信を行うことができる。
アプリケーション プログラムは全制御(fullcontro
l)、誤り検出および訂正のルート決めでのすべてのイッ
シュから隔離されている。さらに、アプリケーション
プロセッサはネットワークのどこで走っても同一結果を
うることができる。この機能がメモリ フレーム ホス
トで行なわれると、一般にホスト スループット能力の
有意な部分を占有する。しかし、本発明のネットワーク
アダプタ内で同一機能を行うと、非常に少ないハード
ウエア、即ち32ビット マイクロプロセッサ1個によ
ってそれがシステムに占める位置のおかげで一層効率よ
くその機能が果せる。Netexプロセッサは、メッセージ
トライフイック即ち高速割込みバスとデータ リンク
構造を取扱うために改良された効率の良いプロセッサ間
通信システムから利益を受けている。Netex制御機能はN
etex要求ブロック(NRB)によって管理される。ホス
トで走るアプリケーション プログラムはセッション階
層コマンドを生成し、これらはホストで走るNetexドラ
イバに受渡たされる。Netexドライバはセッション呼を
ネットワーク要求ブロックに変換する。このブロックは
2個の通信アプリケーション プログラム間のメッセー
ジ セッションを規定するのに必要なすべてのパラメー
タを含んでいる。
ネットワーク要求ブロックは関連するインタフェース
プロセッサによってホストから受信し、このプロセッサ
はそのブロックをキュー要素とそれに関連するワーク要
素によってNetexプロセッサに受渡す。インタフェース
プロセッサはキュー要素とそれに関連するワーク要素
によってNetexブロック要素をNetexプロセッサに伝送す
る。Netex要求ブロックはNetexプロセッサによって分析
され、とりわけ、データ伝送の方向、(必要ならば)実
行されるコード変換のタイプ、送信NRBコマンドによ
るホストの比率動作(rate operation)を実行している時
のパラメータ データのデータ要素の区分のしかた、お
よびメッセージ セッション終了時のホストの通信方法
を決定する。NetexプロセッサがNetex要求ブロックを解
釈すると、メッセージ トライフィックの詳細を管理し
て、あたかもNetex機能がホストコンピュータで実行さ
れたと同一の結果を得る。
以上本発明を特許法に従うよう、かつ、当業者に、新規
な原理を応用し、必要な特別の部品を構成して使用する
のに必要な情報を与えるために非常に詳しく説明した。
しかしながら、本発明は異なった装置によっても実施で
き、装置の詳細ならびに動作手順の両者に対する種々の
変形が本発明自体の範囲から逸脱することなく可能であ
ることを理解されたい。
【図面の簡単な説明】
第1図は本発明のネットワーク通信アダプタのシステム
ブロック図、 第2a図および第2b図は第1図のシステムの動作に必
要なタイミング信号を示す波形図、 第3図は第1図のブロック図のノード制御回路のより詳
細なブロック図、 第4図は第4a図および第4b図の配列図、 第4a図および第4b図は、第4図のように並べた状態
での、第1図のブロック図の中央メモリ部分のより詳細
なブロック図、 第5図は32ビット核マイクロプロセッサの詳細ブロッ
ク図、 第6図は第6a図から第6d図の配列図、 第6a図乃至第6d図は、第6図のように並べた状態で
の、第1図のブロック図の通信ネットワーク アダプタ
に使用される16ビット マイクロコントローラの詳細
ブロック図、 第7図は第7a図および第7b図の配列図、 第7a図および第7b図は、第7図のように並べた状態
での、DMA回路ブロック図、 第8図は第7図のDMA回路に使用されるDMAコント
ローラの詳細ブロック図、 第9図は第3図のノード制御のバンク0記憶保護回路の
詳細ブロック図、 第10図は第3図のノード制御のアクセス制御回路の詳
細ブロック図、 第11図は第11a図および第11b図の配列図、 第11a図および第11b図は、第11図のように並べ
た状態での、第3図の割込み制御の詳細ブロック図、 第12図は第12a−1図から第12b図の配列図、 第12a−1図、第12a−2図および第12−b図
は、第12図のように並べた状態での、第5図の割込み
プロセッサの詳細ブロック図、そして 第13図は使用するデータ リンク構造の編成を示す図
である。 100…中央メモリ、102,104…共通バス、 106,108…リード バス、 110,112…32ビット マイクロプロセッサ、 114,116,118…16ビット マイクロコント
ローラ、 130…ノード制御、 132…プロセッサIDバス、 134…A/Bキー バス、136…割込みバス、 204,206…記憶保護、 298,300…RAMメモリ、 526…DMAコントローラ、 636,638,640,642…RAM(DAMコン
トローラ)、 636…RAM(記憶保護)、 638,640,654,656…トライステートラッ
チ(記憶保護)、 672…プロファイル スイッチ、 802,816…比較器(割込みプロセッサ)、 854,856,858,860…割込みレシーバ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ウエイン エイ.ピーターソン アメリカ合衆国 ミネソタ州 ラムジイ, ナウセン ブールバード 17640 (72)発明者 ウエイン アール.ロイガー アメリカ合衆国 ミネソタ州 セント マ イケル,ネイバー アベニュー ノース 4430

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】(a)独立して、かつ、同時に動作するイン
    タリーブな第1および第2のバンクに区分され、アドレ
    ス可能な位置にデータを記憶する中央ランダムアクセス
    バッファ メモリ手段と、 (b)前記第1および第2のバンクに交互に選択的に接続
    でき、前記データを表わす信号を内部に記憶した前記バ
    ッファ メモリ手段に対して時分割でアドレスを表わす
    信号とデータを表わす信号とを与える第1および第2の
    共通バス手段と、 (c)前記2個のバンクに選択的に交互に接続でき、前記
    メモリ手段から読み出したデータを表わす信号を運ぶ第
    1および第2のリード データ バス手段と、 (d)前記第1および第2の共通バスとリードデータ バ
    スとに個々に結合された複数のプロセッサ手段であっ
    て、これら複数のプロセッサ手段のうち所定のものはそ
    れに接続されたデジタル装置と通信するI/O手段を有
    する前記プロセッサ手段と、 (e)前記第1および第2のバンクを前記第1および第2
    の共通手段と前記第1および第2のリード データ バ
    ス手段に交互に、かつ、同期をとって循環的に接続す
    る、メモリ アクセス制御手段を含むノード制御手段と
    を有する通信ネットワーク アダプタ。
  2. 【請求項2】前記ノード制御手段は、前記第1および第
    2の共通バス手段に結合された前記複数のプロセッサ手
    段の各々にプロセッサスロットID番号を放送して、前
    記第1および第2の共通バスと前記第1および第2のリ
    ード データ バスとの実効バンド幅を前記複数のプロ
    セッサ手段に選択的に割当てる手段を含み、前記複数の
    プロセッサ手段のひとつだけが、放送されたスロットI
    Dに対応するプロセッサIDを有し、データを表わす信
    号を、前記ノード制御手段によって確立された所定の時
    間の間、前記中央メモリ手段と交換できる、特許請求の
    範囲第1項記載の通信ネットワーク アダプタ。
  3. 【請求項3】前記ノード制御手段中に前記第1および第
    2のバンクの各々と個々に関連した記憶保護ロジックを
    さらに有し、この記憶保護ロジックは、前記複数のプロ
    セッサ手段のひとつから発信され前記第1および第2の
    共通バス手段上に存在する前記アドレスを表わす信号
    と、前記複数のプロセッサ手段の前記ひとつに割当てら
    れた所定のキーIDとを比較し、前記複数のプロセッサ
    手段の前記ひとつが中央メモリ アドレスの不許可範囲
    にアクセスを企てた時にフォールト割込み信号を発生す
    る、特許請求の範囲第1項記載の通信ネットワーク ア
    ダプタ。
  4. 【請求項4】割込み識別子コードのタイム シーケンス
    を発生する前記ノード制御手段内の割込み制御手段と、 前記割込み制御手段を前記複数のプロセッサ手段に結合
    し、前記割込み識別子コードを前記複数のプロセッサ手
    段に送信する割込みバス手段と、 前記複数のプロセッサ手段の各々に備えられ、自プロセ
    ッサ手段に割当てられた唯一の割込み識別子コードに応
    答でき、その割込み識別子コードに応答して、割込み要
    求と、その割込み要求が向けられた着信プロセッサのプ
    ロセッサ識別子コードを前記割込みバス手段に置く手段
    と、 前記割込みバス手段に結合され、前記割込み要求と着信
    先プロセッサの前記プロセッサ識別子コードとを受信し
    て、所定の優先割当てに従って前記複数のプロセッサ手
    段の所定のひとつに割込みデータをルート決めする割込
    みプロセッサ手段と、をさらに有する特許請求の範囲第
    1項記載の通信ネットワーク アダプタ。
JP63003657A 1987-04-24 1988-01-11 通信ネットワークアダプタ Expired - Lifetime JPH065527B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/041,985 US4933846A (en) 1987-04-24 1987-04-24 Network communications adapter with dual interleaved memory banks servicing multiple processors
US041985 1987-04-24

Publications (2)

Publication Number Publication Date
JPS63273960A JPS63273960A (ja) 1988-11-11
JPH065527B2 true JPH065527B2 (ja) 1994-01-19

Family

ID=21919425

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63003657A Expired - Lifetime JPH065527B2 (ja) 1987-04-24 1988-01-11 通信ネットワークアダプタ

Country Status (5)

Country Link
US (1) US4933846A (ja)
EP (1) EP0288636B1 (ja)
JP (1) JPH065527B2 (ja)
CA (1) CA1289673C (ja)
DE (1) DE3789104T2 (ja)

Families Citing this family (169)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3628847B2 (ja) 1997-08-18 2005-03-16 株式会社日立製作所 バス切り換え装置、コンピュータ、および情報処理装置
US4965825A (en) * 1981-11-03 1990-10-23 The Personalized Mass Media Corporation Signal processing apparatus and methods
US5365519A (en) 1991-03-05 1994-11-15 Hitachi, Ltd. ATM switch1ng system connectable to I/O links having different transmission rates
JP2880271B2 (ja) * 1990-08-17 1999-04-05 株式会社日立製作所 帯域制御方法および回路
US6330240B1 (en) 1987-04-24 2001-12-11 Hitachi, Ltd. ATM cell switching system
USRE36751E (en) * 1987-07-15 2000-06-27 Hitachi, Ltd. ATM switching system connectable to I/O links having different transmission rates
US4918690A (en) * 1987-11-10 1990-04-17 Echelon Systems Corp. Network and intelligent cell for providing sensing, bidirectional communications and control
US5146581A (en) * 1988-02-24 1992-09-08 Sanyo Electric Co., Ltd. Subprogram executing data processing system having bank switching control storing in the same address area in each of memory banks
WO1990004235A1 (en) * 1988-10-07 1990-04-19 Martin Marietta Corporation Parallel data processor
JPH02128267A (ja) * 1988-11-09 1990-05-16 Fujitsu Ltd 共有メモリによる通信方式
US5214767A (en) * 1989-02-07 1993-05-25 Compaq Computer Corp. Full address and odd boundary direct memory access controller which determines address size by counting the input address bytes
US5220516A (en) * 1989-02-21 1993-06-15 International Business Machines Corp. Asynchronous staging of objects between computer systems in cooperative processing systems
JPH077955B2 (ja) * 1989-05-13 1995-01-30 株式会社東芝 データ通信制御装置
US5146574A (en) * 1989-06-27 1992-09-08 Sf2 Corporation Method and circuit for programmable selecting a variable sequence of element using write-back
US5091851A (en) * 1989-07-19 1992-02-25 Hewlett-Packard Company Fast multiple-word accesses from a multi-way set-associative cache memory
JP2995752B2 (ja) * 1989-07-21 1999-12-27 日本電気株式会社 バスアーキテクチャ変換回路
CA2017458C (en) * 1989-07-24 2000-10-10 Jonathan R. Engdahl Intelligent network interface circuit
US5261064A (en) * 1989-10-03 1993-11-09 Advanced Micro Devices, Inc. Burst access memory
US5297242A (en) * 1989-12-15 1994-03-22 Nec Corporation DMA controller performing data transfer by 2-bus cycle transfer manner
EP0436194A3 (en) * 1990-01-02 1992-12-16 National Semiconductor Corporation Media access controller
JP3372948B2 (ja) * 1990-01-05 2003-02-04 サン・マイクロシステムズ・インコーポレーテッド 高速アクティブ・バス
EP0440456B1 (en) * 1990-01-31 1997-01-08 Hewlett-Packard Company Microprocessor burst mode with external system memory
JP3118266B2 (ja) * 1990-03-06 2000-12-18 ゼロックス コーポレイション 同期セグメントバスとバス通信方法
US5185876A (en) * 1990-03-14 1993-02-09 Micro Technology, Inc. Buffering system for dynamically providing data to multiple storage elements
US5289585A (en) * 1990-03-26 1994-02-22 Siemens Nixdorf Informationssysteme Ag Multiprocessor system having a system bus for the coupling of several processing units with appertaining private cache memories and a common main memory
EP0454605A3 (en) * 1990-04-25 1992-04-22 International Business Machines Corporation Bus request device in a direct memory access (dma) system
JPH0437935A (ja) * 1990-06-01 1992-02-07 Hitachi Ltd キャッシュメモリを有する計算機
JP2910303B2 (ja) * 1990-06-04 1999-06-23 株式会社日立製作所 情報処理装置
CA2043505A1 (en) * 1990-06-06 1991-12-07 Steven K. Heller Massively parallel processor including queue-based message delivery system
US5276678A (en) * 1990-06-18 1994-01-04 Intelect, Inc. Distributed switching and telephone conferencing system
US5457786A (en) * 1990-07-03 1995-10-10 Texas Instruments Incorporated Serial data interface with circular buffer
US5163049A (en) * 1990-08-10 1992-11-10 Honeywell Inc. Method for assuring data-string-consistency independent of software
US5809292A (en) * 1990-11-13 1998-09-15 International Business Machines Corporation Floating point for simid array machine
US5794059A (en) * 1990-11-13 1998-08-11 International Business Machines Corporation N-dimensional modified hypercube
US5828894A (en) * 1990-11-13 1998-10-27 International Business Machines Corporation Array processor having grouping of SIMD pickets
US5588152A (en) * 1990-11-13 1996-12-24 International Business Machines Corporation Advanced parallel processor including advanced support hardware
US5765012A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Controller for a SIMD/MIMD array having an instruction sequencer utilizing a canned routine library
DE69131272T2 (de) * 1990-11-13 1999-12-09 International Business Machines Corp., Armonk Paralleles Assoziativprozessor-System
US5963745A (en) * 1990-11-13 1999-10-05 International Business Machines Corporation APAP I/O programmable router
US5734921A (en) * 1990-11-13 1998-03-31 International Business Machines Corporation Advanced parallel array processor computer package
US5966528A (en) * 1990-11-13 1999-10-12 International Business Machines Corporation SIMD/MIMD array processor with vector processing
US5625836A (en) * 1990-11-13 1997-04-29 International Business Machines Corporation SIMD/MIMD processing memory element (PME)
US5765011A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams
US5765015A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Slide network for an array processor
US5713037A (en) * 1990-11-13 1998-01-27 International Business Machines Corporation Slide bus communication functions for SIMD/MIMD array processor
US5815723A (en) * 1990-11-13 1998-09-29 International Business Machines Corporation Picket autonomy on a SIMD machine
US5617577A (en) * 1990-11-13 1997-04-01 International Business Machines Corporation Advanced parallel array processor I/O connection
US5963746A (en) * 1990-11-13 1999-10-05 International Business Machines Corporation Fully distributed processing memory element
US5630162A (en) * 1990-11-13 1997-05-13 International Business Machines Corporation Array processor dotted communication network based on H-DOTs
US5590345A (en) * 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
EP0492938B1 (en) * 1990-12-21 1995-11-22 Sun Microsystems, Inc. Method and apparatus for increasing the speed of operation of a double buffered display system
US5195089A (en) * 1990-12-31 1993-03-16 Sun Microsystems, Inc. Apparatus and method for a synchronous, high speed, packet-switched bus
US5179704A (en) * 1991-03-13 1993-01-12 Ncr Corporation Method and apparatus for generating disk array interrupt signals
US5617547A (en) * 1991-03-29 1997-04-01 International Business Machines Corporation Switch network extension of bus architecture
US5594918A (en) * 1991-05-13 1997-01-14 International Business Machines Corporation Parallel computer system providing multi-ported intelligent memory
EP0513519A1 (en) * 1991-05-15 1992-11-19 International Business Machines Corporation Memory system for multiprocessor systems
EP0518488A1 (en) * 1991-06-12 1992-12-16 Advanced Micro Devices, Inc. Bus interface and processing system
US5291609A (en) * 1991-06-13 1994-03-01 Sony Electronics Inc. Computer interface circuit
US5333291A (en) * 1991-06-14 1994-07-26 International Business Machines Corporation Stride enhancer for high speed memory accesses with line fetching mode and normal mode employing boundary crossing determination
EP0524322A1 (de) * 1991-06-20 1993-01-27 Siemens Aktiengesellschaft Vorrichtung zum Datenaustausch zwischen Datenverarbeitungsanlagen
US6446164B1 (en) * 1991-06-27 2002-09-03 Integrated Device Technology, Inc. Test mode accessing of an internal cache memory
US5953510A (en) * 1991-09-05 1999-09-14 International Business Machines Corporation Bidirectional data bus reservation priority controls having token logic
AU3330793A (en) * 1991-12-23 1993-07-28 Intel Corporation Interleaved cache for multiple accesses per clock in a microprocessor
US5371877A (en) * 1991-12-31 1994-12-06 Apple Computer, Inc. Apparatus for alternatively accessing single port random access memories to implement dual port first-in first-out memory
US5245606A (en) * 1992-01-02 1993-09-14 National Semiconductor Corporation Computer network bridge circuit
DK170490B1 (da) * 1992-04-28 1995-09-18 Multi Inform As Databehandlingsanlæg
DE4202852A1 (de) * 1992-02-01 1993-08-05 Teldix Gmbh Anordnung zum uebermitteln derselben nachricht an ausgewaehlte prozessoren eines mehrprozessorsystems
EP0569969B1 (en) * 1992-05-12 1998-03-04 Nec Corporation Microcomputer having instruction memory storing instructions for reading out internal conditions
JP2642039B2 (ja) * 1992-05-22 1997-08-20 インターナショナル・ビジネス・マシーンズ・コーポレイション アレイ・プロセッサ
US5412782A (en) 1992-07-02 1995-05-02 3Com Corporation Programmed I/O ethernet adapter with early interrupts for accelerating data transfer
US5437024A (en) * 1992-07-06 1995-07-25 French; Donald H. Selective computer-generated information distribution system by computer peripheral emulation and use
US5446880A (en) * 1992-08-31 1995-08-29 At&T Corp. Database communication system that provides automatic format translation and transmission of records when the owner identified for the record is changed
US5463752A (en) * 1992-09-23 1995-10-31 International Business Machines Corporation Method and system for enhancing the efficiency of communication between multiple direct access storage devices and a storage system controller
EP0600112A1 (de) * 1992-11-30 1994-06-08 Siemens Nixdorf Informationssysteme Aktiengesellschaft Datenverarbeitungsanlage mit virtueller Speicheradressierung und schlüsselgesteuertem Speicherzugriff
EP0600113A1 (de) * 1992-11-30 1994-06-08 Siemens Nixdorf Informationssysteme Aktiengesellschaft Datenverarbeitungsanlage mit schlüsselgesteuertem Speicherzugriff
US5530874A (en) * 1993-02-02 1996-06-25 3Com Corporation Network adapter with an indication signal mask and an interrupt signal mask
US5381541A (en) * 1993-05-26 1995-01-10 International Business Machines Corp. Computer system having planar board with single interrupt controller and processor card with plural processors and interrupt director
US6073185A (en) * 1993-08-27 2000-06-06 Teranex, Inc. Parallel data processor
JPH0793273A (ja) * 1993-09-20 1995-04-07 Fujitsu Ltd 障害監視機構を具備したマルチcpuシステム
US5513346A (en) * 1993-10-21 1996-04-30 Intel Corporation Error condition detector for handling interrupt in integrated circuits having multiple processors
US5740402A (en) * 1993-12-15 1998-04-14 Silicon Graphics, Inc. Conflict resolution in interleaved memory systems with multiple parallel accesses
US5848258A (en) * 1994-06-30 1998-12-08 Digital Equipment Corporation Memory bank addressing scheme
US5611075A (en) * 1994-10-04 1997-03-11 Analog Devices, Inc. Bus architecture for digital signal processor allowing time multiplexed access to memory banks
US5590299A (en) * 1994-10-28 1996-12-31 Ast Research, Inc. Multiprocessor system bus protocol for optimized accessing of interleaved storage modules
US5832216A (en) * 1994-11-04 1998-11-03 Texas Instruments Incorporated Network adapter having single ported memory which is accessible by network and peripheral bus on a time division multiplexed (TDM) basis
US5634099A (en) * 1994-12-09 1997-05-27 International Business Machines Corporation Direct memory access unit for transferring data between processor memories in multiprocessing systems
JPH08314794A (ja) * 1995-02-28 1996-11-29 Matsushita Electric Ind Co Ltd 安定記憶装置へのアクセス待ち時間を短縮するための方法およびシステム
US5651002A (en) * 1995-07-12 1997-07-22 3Com Corporation Internetworking device with enhanced packet header translation and memory
US5748633A (en) * 1995-07-12 1998-05-05 3Com Corporation Method and apparatus for the concurrent reception and transmission of packets in a communications internetworking device
US5812775A (en) * 1995-07-12 1998-09-22 3Com Corporation Method and apparatus for internetworking buffer management
US5825774A (en) * 1995-07-12 1998-10-20 3Com Corporation Packet characterization using code vectors
US5796944A (en) * 1995-07-12 1998-08-18 3Com Corporation Apparatus and method for processing data frames in an internetworking device
US5748871A (en) * 1995-08-11 1998-05-05 Symbios Logic Inc. Dual bus architecture for a storage device
US5983327A (en) * 1995-12-01 1999-11-09 Nortel Networks Corporation Data path architecture and arbitration scheme for providing access to a shared system resource
WO1997030399A1 (en) 1996-02-20 1997-08-21 Intergraph Corporation High-availability super server
US5960179A (en) * 1996-07-01 1999-09-28 Sun Microsystems, Inc. Method and apparatus extending coherence domain beyond a computer system bus
US5752260A (en) * 1996-04-29 1998-05-12 International Business Machines Corporation High-speed, multiple-port, interleaved cache with arbitration of multiple access addresses
US6041379A (en) * 1996-10-04 2000-03-21 Northrop Grumman Corporation Processor interface for a distributed memory addressing system
US6072781A (en) 1996-10-22 2000-06-06 International Business Machines Corporation Multi-tasking adapter for parallel network applications
US6148377A (en) * 1996-11-22 2000-11-14 Mangosoft Corporation Shared memory computer networks
US7136903B1 (en) 1996-11-22 2006-11-14 Mangosoft Intellectual Property, Inc. Internet-based shared file service with native PC client access and semantics and distributed access control
US5909540A (en) * 1996-11-22 1999-06-01 Mangosoft Corporation System and method for providing highly available data storage using globally addressable memory
US6026474A (en) * 1996-11-22 2000-02-15 Mangosoft Corporation Shared client-side web caching using globally addressable memory
US5987506A (en) * 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US5867484A (en) * 1997-01-31 1999-02-02 Intellect Network Technologies Switchable multi-drop video distribution system
US6553002B1 (en) 1997-08-29 2003-04-22 Ascend Communications, Inc. Apparatus and method for routing data packets through a communications network
US6240501B1 (en) 1997-09-05 2001-05-29 Sun Microsystems, Inc. Cache-less address translation
US5968158A (en) * 1997-10-06 1999-10-19 International Business Machines Corporation Apparatus including a host processor and communications adapters interconnected with a bus, with improved transfer of interrupts between the adapters and host processor
JP3287283B2 (ja) * 1997-10-20 2002-06-04 日本電気株式会社 Pciバスの割り込みステアリング回路
US6035360A (en) * 1997-10-29 2000-03-07 International Business Machines Corporation Multi-port SRAM access control using time division multiplexed arbitration
US6230219B1 (en) * 1997-11-10 2001-05-08 International Business Machines Corporation High performance multichannel DMA controller for a PCI host bridge with a built-in cache
US5872993A (en) * 1997-12-01 1999-02-16 Advanced Micro Devices, Inc. Communications system with multiple, simultaneous accesses to a memory
KR100258079B1 (ko) * 1997-12-17 2000-06-01 이계철 밀결합 결함 허용 시스템에서 메모리 버스 확장에 의한 동시 쓰기 이중화 장치
US6185667B1 (en) 1998-04-09 2001-02-06 Teranex, Inc. Input/output support for processing in a mesh connected computer
US6067609A (en) * 1998-04-09 2000-05-23 Teranex, Inc. Pattern generation and shift plane operations for a mesh connected computer
US6212628B1 (en) 1998-04-09 2001-04-03 Teranex, Inc. Mesh connected computer
US6173388B1 (en) 1998-04-09 2001-01-09 Teranex Inc. Directly accessing local memories of array processors for improved real-time corner turning processing
JP3359291B2 (ja) * 1998-07-17 2002-12-24 株式会社ケンウッド デインターリーブ回路
US6502135B1 (en) 1998-10-30 2002-12-31 Science Applications International Corporation Agile network protocol for secure communications with assured system availability
CA2723504C (en) 1998-10-30 2014-04-29 Virnetx, Inc. An agile network protocol for secure communications with assured system availability
US10511573B2 (en) 1998-10-30 2019-12-17 Virnetx, Inc. Agile network protocol for secure communications using secure domain names
US6826616B2 (en) 1998-10-30 2004-11-30 Science Applications International Corp. Method for establishing secure communication link between computers of virtual private network
US7418504B2 (en) 1998-10-30 2008-08-26 Virnetx, Inc. Agile network protocol for secure communications using secure domain names
US8225002B2 (en) * 1999-01-22 2012-07-17 Network Disk, Inc. Data storage and data sharing in a network of heterogeneous computers
US6081479A (en) * 1999-06-15 2000-06-27 Infineon Technologies North America Corp. Hierarchical prefetch for semiconductor memories
US6381190B1 (en) * 1999-05-13 2002-04-30 Nec Corporation Semiconductor memory device in which use of cache can be selected
US6320501B1 (en) 1999-05-25 2001-11-20 Pittway Corporation Multiple sensor system for alarm determination with device-to-device communications
US6532507B1 (en) 1999-05-28 2003-03-11 National Semiconductor Corporation Digital signal processor and method for prioritized access by multiple core processors to shared device
EP1059588A1 (en) * 1999-06-09 2000-12-13 Texas Instruments Incorporated Multi-channel dma with request scheduling
US6460120B1 (en) 1999-08-27 2002-10-01 International Business Machines Corporation Network processor, memory organization and methods
US6404752B1 (en) 1999-08-27 2002-06-11 International Business Machines Corporation Network switch using network processor and methods
US6546451B1 (en) 1999-09-30 2003-04-08 Silicon Graphics, Inc. Method and apparatus for decoupling processor speed from memory subsystem speed in a node controller
US6940833B2 (en) * 2000-01-26 2005-09-06 Vyyo Ltd. Two-dimensional scheduling scheme for a broadband wireless access system
US6691178B1 (en) 2000-02-22 2004-02-10 Stmicroelectronics, Inc. Fencepost descriptor caching mechanism and method therefor
US7143185B1 (en) * 2000-08-29 2006-11-28 Advanced Micro Devices, Inc. Method and apparatus for accessing external memories
US6586281B1 (en) * 2000-10-31 2003-07-01 Lucent Technologies Inc. Variable rotational assignment of interconnect levels in integrated circuit fabrication
DE10147772C1 (de) * 2001-09-27 2003-09-11 Siemens Ag Verfahren zum Betreiben eines Übertragungssystems und Übertragungssystem in einem Energieversorgungsnetz
US7328294B2 (en) * 2001-12-03 2008-02-05 Sun Microsystems, Inc. Methods and apparatus for distributing interrupts
DE60309923T2 (de) * 2002-11-05 2007-10-18 Koninklijke Philips Electronics N.V. Datenverarbeitungsvorrichtung mit adressenumlenkung als reaktion auf periodische adressenmuster
US7739479B2 (en) * 2003-10-02 2010-06-15 Nvidia Corporation Method for providing physics simulation data
US20050086040A1 (en) * 2003-10-02 2005-04-21 Curtis Davis System incorporating physics processing unit
US7895411B2 (en) * 2003-10-02 2011-02-22 Nvidia Corporation Physics processing unit
US20050251644A1 (en) * 2004-05-06 2005-11-10 Monier Maher Physics processing unit instruction set architecture
GB0413700D0 (en) * 2004-06-18 2004-07-21 Aspex Semiconductor Ltd Improvements relating to mobile communications handling apparatus
US20060206921A1 (en) * 2005-03-12 2006-09-14 Shuangbao Wang Intrusion-free computer architecture for information and data security
US7702743B1 (en) * 2006-01-26 2010-04-20 Symantec Operating Corporation Supporting a weak ordering memory model for a virtual physical address space that spans multiple nodes
US7756943B1 (en) 2006-01-26 2010-07-13 Symantec Operating Corporation Efficient data transfer between computers in a virtual NUMA system using RDMA
US8325633B2 (en) * 2007-04-26 2012-12-04 International Business Machines Corporation Remote direct memory access
US7948999B2 (en) * 2007-05-04 2011-05-24 International Business Machines Corporation Signaling completion of a message transfer from an origin compute node to a target compute node
US7889657B2 (en) * 2007-05-04 2011-02-15 International Business Machines Corporation Signaling completion of a message transfer from an origin compute node to a target compute node
US7890670B2 (en) * 2007-05-09 2011-02-15 International Business Machines Corporation Direct memory access transfer completion notification
US7779173B2 (en) * 2007-05-29 2010-08-17 International Business Machines Corporation Direct memory access transfer completion notification
US8037213B2 (en) 2007-05-30 2011-10-11 International Business Machines Corporation Replenishing data descriptors in a DMA injection FIFO buffer
US7765337B2 (en) * 2007-06-05 2010-07-27 International Business Machines Corporation Direct memory access transfer completion notification
US8478834B2 (en) * 2007-07-12 2013-07-02 International Business Machines Corporation Low latency, high bandwidth data communications between compute nodes in a parallel computer
US8018951B2 (en) 2007-07-12 2011-09-13 International Business Machines Corporation Pacing a data transfer operation between compute nodes on a parallel computer
US7890597B2 (en) * 2007-07-27 2011-02-15 International Business Machines Corporation Direct memory access transfer completion notification
US20090031001A1 (en) * 2007-07-27 2009-01-29 Archer Charles J Repeating Direct Memory Access Data Transfer Operations for Compute Nodes in a Parallel Computer
US8959172B2 (en) * 2007-07-27 2015-02-17 International Business Machines Corporation Self-pacing direct memory access data transfer operations for compute nodes in a parallel computer
US9225545B2 (en) * 2008-04-01 2015-12-29 International Business Machines Corporation Determining a path for network traffic between nodes in a parallel computer
US9009350B2 (en) * 2008-04-01 2015-04-14 International Business Machines Corporation Determining a path for network traffic between nodes in a parallel computer
US8544026B2 (en) 2010-02-09 2013-09-24 International Business Machines Corporation Processing data communications messages with input/output control blocks
US8949453B2 (en) 2010-11-30 2015-02-03 International Business Machines Corporation Data communications in a parallel active messaging interface of a parallel computer
US8972746B2 (en) * 2010-12-17 2015-03-03 Intel Corporation Technique for supporting multiple secure enclaves
US8239599B1 (en) * 2011-06-16 2012-08-07 Hewlett-Packard Development Company, L.P. System and method for handling data streams
US8949328B2 (en) 2011-07-13 2015-02-03 International Business Machines Corporation Performing collective operations in a distributed processing system
US8930962B2 (en) 2012-02-22 2015-01-06 International Business Machines Corporation Processing unexpected messages at a compute node of a parallel computer
CN105243756A (zh) * 2015-10-20 2016-01-13 赵忠义 一种物流柜地址分配系统
KR102410306B1 (ko) * 2018-01-29 2022-06-20 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4034347A (en) * 1975-08-08 1977-07-05 Bell Telephone Laboratories, Incorporated Method and apparatus for controlling a multiprocessor system
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
GB1601955A (en) * 1977-10-21 1981-11-04 Marconi Co Ltd Data processing systems
US4164787A (en) * 1977-11-09 1979-08-14 Bell Telephone Laboratories, Incorporated Multiple microprocessor intercommunication arrangement
US4403282A (en) * 1978-01-23 1983-09-06 Data General Corporation Data processing system using a high speed data channel for providing direct memory access for block data transfers
US4282572A (en) * 1979-01-15 1981-08-04 Ncr Corporation Multiprocessor memory access system
JPS55105763A (en) * 1979-02-05 1980-08-13 Fanuc Ltd Address instruction system
US4325116A (en) * 1979-08-21 1982-04-13 International Business Machines Corporation Parallel storage access by multiprocessors
IT1126475B (it) * 1979-12-03 1986-05-21 Honeywell Inf Systems Apparato di comunicazione tra piu' processori
US4371929A (en) * 1980-05-05 1983-02-01 Ibm Corporation Multiprocessor system with high density memory set architecture including partitionable cache store interface to shared disk drive memory
US4400770A (en) * 1980-11-10 1983-08-23 International Business Machines Corporation Cache synonym detection and handling means
US4438493A (en) * 1981-07-06 1984-03-20 Honeywell Information Systems Inc. Multiwork memory data storage and addressing technique and apparatus
US4470114A (en) * 1982-03-01 1984-09-04 Burroughs Corporation High speed interconnection network for a cluster of processors
US4574350A (en) * 1982-05-19 1986-03-04 At&T Bell Laboratories Shared resource locking apparatus
EP0113379B1 (de) * 1982-12-13 1987-09-30 Fraunhofer-Gesellschaft Zur Förderung Der Angewandten Forschung E.V. Rechnerkopplung
US4613935A (en) * 1983-02-02 1986-09-23 Couleur John F Method and apparatus for pipe line processing with a single arithmetic logic unit
DE3334797A1 (de) * 1983-09-26 1985-01-03 Siemens AG, 1000 Berlin und 8000 München Multiprozessor-rechner, insbesondere multiprozessor-zentralsteuereinheit eines fernsprech-vermittlungssystems
US4652993A (en) * 1984-04-02 1987-03-24 Sperry Corporation Multiple output port memory storage module
US4633434A (en) * 1984-04-02 1986-12-30 Sperry Corporation High performance storage unit
JPS61150059A (ja) * 1984-12-24 1986-07-08 Sony Corp デ−タ処理装置
US4680753A (en) * 1985-04-03 1987-07-14 Texas Instruments Incorporated System and method for controlling network bus communications for input-output interlocking information among distributed programmable controllers
US4722502A (en) * 1985-10-02 1988-02-02 American Sterilizer Company Adjustable support system

Also Published As

Publication number Publication date
DE3789104D1 (de) 1994-03-24
JPS63273960A (ja) 1988-11-11
US4933846A (en) 1990-06-12
EP0288636B1 (en) 1994-02-16
EP0288636A2 (en) 1988-11-02
CA1289673C (en) 1991-09-24
DE3789104T2 (de) 1994-05-19
EP0288636A3 (en) 1990-12-12

Similar Documents

Publication Publication Date Title
JPH065527B2 (ja) 通信ネットワークアダプタ
US4096571A (en) System for resolving memory access conflicts among processors and minimizing processor waiting times for access to memory by comparing waiting times and breaking ties by an arbitrary priority ranking
AU732586B2 (en) Data packet router
US5261059A (en) Crossbar interface for data communication network
US4420806A (en) Interrupt coupling and monitoring system
Nowatzyk et al. The S3. mp scalable shared memory multiprocessor
US5351043A (en) Queueing protocol
JP4024875B2 (ja) 異なるデータ・レートで動作するネットワーク・ポートに関して、共用メモリへのアクセスを調停する方法および装置
US5592625A (en) Apparatus for providing shared virtual memory among interconnected computer nodes with minimal processor involvement
EP0797151B1 (en) Computer apparatus and bus control scheme
GB2608979A (en) Real-time control sequencer with state matrix logic
JP2007215203A (ja) データ処理方法およびデータ処理ユニット、コンフィギュレーション化可能なエレメントのダイナックな再コンフィギュレーション方法、システムおよびプロセス
KR20040014604A (ko) 리소스 할당 방법 및 프로세서
JPH0797363B2 (ja) 多重階層レベルマルチプロセツサ装置
US5410300A (en) Distributed crossbar switch architecture
US5347514A (en) Processor-based smart packet memory interface
US7518993B1 (en) Prioritizing resource utilization in multi-thread computing system
Ahuja S/Net: A high-speed interconnect for multiple computers
EP0419750B1 (en) Distribution mechanism for establishing communications between user interfaces of a communication system
EP0073239A1 (en) Multi-processor office system complex
US4633461A (en) Switching control for multiple stage time division switch
JPH07183895A (ja) 通信システム
JPH0323026B2 (ja)
US6741602B1 (en) Work queue alias system and method allowing fabric management packets on all ports of a cluster adapter
JP3588966B2 (ja) 情報処理システム