JPH0691535B2 - 多種類のlanを制御するコントロ−ラ - Google Patents

多種類のlanを制御するコントロ−ラ

Info

Publication number
JPH0691535B2
JPH0691535B2 JP62188683A JP18868387A JPH0691535B2 JP H0691535 B2 JPH0691535 B2 JP H0691535B2 JP 62188683 A JP62188683 A JP 62188683A JP 18868387 A JP18868387 A JP 18868387A JP H0691535 B2 JPH0691535 B2 JP H0691535B2
Authority
JP
Japan
Prior art keywords
lac
bus
adapter
data
message
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
JP62188683A
Other languages
English (en)
Other versions
JPS6367044A (ja
Inventor
ジョン・ダブリュー・コンウェイ
ロバート・ジェイ・ファーレル
アレン・シー・ハートル
レオナード・イー・ニーセン
Original Assignee
ハネイウェル・ブル・インコ−ポレ−テッド
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 ハネイウェル・ブル・インコ−ポレ−テッド filed Critical ハネイウェル・ブル・インコ−ポレ−テッド
Publication of JPS6367044A publication Critical patent/JPS6367044A/ja
Publication of JPH0691535B2 publication Critical patent/JPH0691535B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • 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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Lasers (AREA)

Description

【発明の詳細な説明】 (関連出題) 本出題と同日付で米国出願されかつ本出願と同じ譲受人
に譲渡された下記の米国出願は、本出願と関連する主題
を有するものである。
米国出願第891498号(発明の名称:LANコントローラの所
有バス)なおこの出願は、1989年4月18日付で米国特許
第4823124号として特許されており、また日本出願の特
願昭62−188684号に対応するものである。
米国出願第891077号(発明の名称:分割バスを構造を備
えたLANコントローラ)なおこの出願は、1988年9月13
日付で米国特許第4771286号として特許されている。
米国出願第891090号(発明の名称:多重CPUインターロ
ック・システム)なおこの出願は1989年5月30日付で米
国特許第4835674号として特許されれており、また日本
出願の特願昭62−188685号に対応するものである。
米国出願第891092号(発明の名称:局所領域制御ブロッ
ク)なおこの出願は1988年6月7日付で米国特許第4750
114号として特許されている。
米国出願第891023号(発明の名称:多重プロセッサ割り
込み待ち行列機構及び方法) 〔産業上の利用分野〕 (1.発明の分野) 本発明は、データ通信のための装置に関し、特に局部情
報通信網、すなわちローカル・エリア・ネットワーク
(LAN)のアーキテクチャの如何に拘らず相互に通信が
可能なコンピュータのLANに関する。
〔従来の技術および解決しようとする問題点〕
(2.従来技術の記述) 多くの用途において、データを処理するディジタル・コ
ンピュータの益々拡がる使用は、各々のタスクを実施す
るためコンピュータ間の通信の必要により、しばしば各
々異なるタスクに専用される複数のコンピュータが要求
される程データ量を急増せしめてきた。歴史的には、コ
ンピュータは種々の形態のトランザクションの処理のた
め使用されてきた。1670年初頭のほとんどのコンピュー
タは、バッチ方式においてトランザクションを処理して
いた。往時の演算のあらゆる過程において、人々はパン
チ・カードのグループ処理としてのバッチ処理について
平然と話し合っていた。各カードが1つのトランザクシ
ョンであり、コンピュータはカードのバッチ(一まと
め)を読取り情報をバッチ単位に処理していた。1960年
代において、人々は対話的なコンピュータ処理について
論議をし始めた。対話型のコンピュータ処理において
は、プログラムは、トランザクションがバッチ単位では
なく個々に処理されるように構成することができる。対
話型処理は、一般に、ターミナルと呼ばれるタイプライ
タの如きデータ入力装置にその起源を有する。カード、
テープまたはディスクを読取った後データをコンピュー
タに対してバッチ単位に送るバッチ・ターミナルは、し
ばしば遠隔ジョプ入力ターミナルあるいは遠隔バッチ・
ターミナルと呼ばれていた。バッチまたは対話型の処理
は共に、集中あるいは分散される回路網において行なう
ことができる。集中化された回路網は専ら1つ以上のコ
ンピュータの1つの中央計算施設に依存しているが、分
散型回路網はタスクを1つの計算施設あるいは他の施設
に分割するものである。回路網におけるインテリジェン
トな各構成要素はノードと呼ばれる。あるノードはコン
ピュータであり、他はターミナルであり、また更に他の
ノードは種々の形態の通信装置でよい。回路網は多くの
方法で構成することができ、また1つの通信システムが
2つ以上の同時に動作するコンピュータ回路網に対して
通信を行なうことが可能である。多くの異なる形式の回
路網形態がある。比較的馴染のあるものは下記の如くで
ある。即ち、 1.二地点間回路網 二地点間回路網は、最も簡単な形式の回路網であり、1
つのコンピュータと、通信回線と、1つのターミナルま
たは回線の他端部における別のコンピュータとからなっ
ている。
2.多重地点回路網 多重地点回路網は、二地点間システムの延長であり、局
を相互に接続するため多重地点リンクを使用する。
3.星形回路網 星形回路網は、遠隔局が別個の二地点間リンクを介して
1つの地点へ通信し、この1つの地点で主たる演算が行
なわれる集中化回路網である。
4.リング回路網 リング回路網は、1つの閉ループ内の回路網ノードを接
続し、各ノードが左右に隣接するものとリンクされる。
5.バス構造型回路網 バス回路網は、1つの中央の主幹から延びる腕、分岐等
の如きタブにより局所的に構成されている。信号がこの
バスを流れる時、1つのアドレスの宛先を保持する信号
について各接続点が傍受する。典型的なバス・システム
はイーサネット(Ethernet)であり、また実際には全て
の広帯域システムである。
6.階層的回路網 階層的回路網においては、コンピュータはコンピュータ
にデータを送り、このコンピュータが更に他のコンピュ
ータにデータを送る。遠隔装置として用いられるコンピ
ュータは、独立的な処理能力を有し、また情報として比
較的高いかあるいは低いレベルの資源を引出し、あるい
は他の資源が要求される。
これらの基本的な形式の回路網は、大きな距離を網羅す
る大域回路網あるいは広帯域回路網(WAN)であり得、
あるいはこれらの回路網は1つまたは2つの建物内のコ
ンピュータの如き比較的短い距離を網羅する局部情報通
信網(LAN)であり得る。
送出されたディジタル・データは容易にミリ秒単位で全
領域にわたって飛ばすことができるが、最後の距離ある
いは建物内の距離を移動するよりも長い時間を要するこ
とがしばしばある。従って、0.1乃至10Kmの距離を網羅
して毎秒100キロビット乃至10メガビット以上までの速
度でデータを伝達できる局部情報通信網(LAN)の形態
におけるデータの局部的な分配におけるこのようなボト
ルネックに対して多くの解決法が提起されつつある。局
部情報通信網(LAN)における各ターミナル・ノード
は、相互に通信することができ、またこの通信網は中央
のノード即ちプロセッサを必要としない。これらの回路
網の紹介に先立ち、異なる供給元からの装置を操作する
事務職員達は1つのシステムを一緒に接続すすることを
試みなければならず、この場合種々のターミナル間には
共通のインターフェースは存在しなかった。最近紹介さ
れたLANの最も目立ったものは、ベースバンド・システ
ムであるXerox社のイーサネットである(ベースバンド
・システムは直接媒体にデータ信号を加えるが、広帯域
システムではデータ信号を通信媒体に加える前に、デー
タ信号により超短波または極超短波の搬送波を変調す
る。)イーサネットは、2.5Kmまでの距離で10メガピッ
ト/秒の速度でデータを転送する。
一方では、ワング研究所提供のワングネット(WangNe
t)は、イーサネットの速度に相当する速度で3つの全
ての用途、即ち音声、データおよびビデオを収容し得る
広帯域トポロジの一例である。ワングネットは、10乃至
350メガヘルツの範囲を網羅する帯域巾を有する。この
回路網はまた、比較的長い距離のケーブル上に更に多く
のノードを接続することができる分岐トリー・トボロジ
も使用する。
米国カルフォルニア州サン・ホセ市のCorvus Systems
社は、ツイスト・ペア・ワイヤに基づくバス・トポロジ
でありかつパーソナル・コンピュータ用の接続回路網に
焦点を合せたるオムニネット(Omninet)を紹介してい
る。オムニネットは、データを1メガビット/秒で送信
し、63台までのアップルIIを収容することができる。コ
ンピュータは、1乃至6つのフロッピ・ディスク・メモ
リーを共用し、これがメモリーを5乃至10メガバイト拡
張している。
米国のNetwork Systems社のハイパー・チャネル(HYPE
R channel)、NET/ONE、ARCその他の如き他のLANがあ
る。
これらのベースバンドおよび広帯域システムは異なる所
有権を主張する形態に基いているため、設備をインター
フェースするための規格が必要であった。インターフェ
ースの急増を避けるため、IEEE規格委員会は、ターミナ
ルとケーブル間のインターフェース装置に対する仕様、
ならびにケーブル上のデータのアクセスのための論理的
プロトコルおよびデータ符号化方式を採用する小委員会
を設置した。別の組織である国際標準化機構(ISO)も
また委員会を設営して、開システム接続基準モデル(OS
I)の刊行を実質的に導いた回路網設備の互換性を研究
した。互換性については、開システムとは、コンピュー
タを使用するメーカからの装置における使用に対し開か
れた回路網モデルであることを示す。このOSIモデル
は、回路網通信時の問題を層をなす機能に分割する。OS
Iモデルにおいては、層1から層7までの番号を付した
7つの層が存在する。
層1は物理的層であり、媒体が用いた変調手法、回路網
が動作する周波数および使用された電圧の如く回路網の
電気的かつ機械的な特性を規定する。
層2はデータ・リンク層であり、種々のノードを接続す
る物理的媒体を共用するためのアクセス法を規定する。
共通したLAN手法は、搬送波方向多重アクセスの衝突検
出(CSMA/CD)およびトークン通過方式を含む。更に、
ノード・アドレスの如き回路網特有の情報およびデータ
・バケットを与える手法は層2の機能である。
層3:全てのLANが層3を必要とする訳ではない。しか
し、相互に接続されたLANに置かれたノード間の経路制
御機構を有する回路網は層3を持たねばならない。1つ
のLANには同報データが各ノードにより示され、従って
ある特定の接続が経路制御を必要とすることなくこれに
対し適正にアドレス指定されたバケットを収集する。
層4は、信頼性およびデータ転送の基本レベルを処理す
る送信層である。この層は、フローの制御、エラーの処
理、およびバケットの送出および受取りに介在する諸問
題に関する。(1つのバケットは、ユーザからのデー
タ、プラス回路網が必要とする情報からなっており、1
つの回路網ノードから別のノードに対してユーザのデー
タを送出する。) 層5はセッション層であり、特にLANにとって重要であ
る。2つの装置間に1つのリンクが形成される時、セッ
ションが確立される。従って、このセッション層は、2
つ以上のLAN接続即ちノードからのデータのストリーム
の確保および終了を行なう。
層6は提示層であり、プロトコル変換、データのパッキ
ング解除、トランザクション、暗号化、文字セット変更
あるいは変換、および図形指令の拡張の如きサービスが
行なわれる。
最後に、層7はアプリケーション層である。1から6ま
での全ての層は、この層を支持するために構成されてい
る。電子メッセージ・システム、ターミナル・エミュレ
ーション能力、およびファイル転送プログラムが、層7
において使用することができるソフトウェア例である。
このような装備、回路網および規格の急増により、物理
的層の局部情報通信網(LAN)接続の如何に拘らず、送
出層と関連するソフトウェア、回路網層および論理的リ
ンク制御層が変更されず、両側即ち層6のコンピュータ
・システム*に関する側と、イーサネット・トークン・
リングまたはトークン・バスの如き種々の形式のLANに
関連するコントローラの通信アダプタ側とからトランス
バレントでありかつ隔離されるように、局部領域コント
ローラ・システムを備えることが必要となる。
更に、ある新しい形式のLAN接続が提供された時ソフト
ウェアの変更が不必要なように、インターフェース・ソ
フトウェアを提供して送出層、回路網層および論理的リ
ンク制御層のソフトウェアを支持し得る局部情報通信網
(LAN)コントローラ(LANS)を設計することが必要で
あった。更に、この設計は、層のソフトウェアからトラ
ンスバレントな層6のハードウェアによりコントローラ
のハードウェア・インターフェースを構成するようなも
のでなければならない。従って、通信層のソフトウェア
をハードウェアの両側から隔離して、種々の形式のアダ
プタがCSMAおよびイーサネット、あるいはトークン・リ
ングまたはトークン・バスのLANアーキテクチャを取扱
うこと、および更に将来においてPBXアダプタを支持す
るため使用できることが必要であった。
*(註) Honeywell Information Systems社から市
販されるコンピュータ・システム。
(上記の情報の内容については、下記の供給元から入手
される。即ち、 (1)N.Mokhoff著「ビジネス・コミュニケーション」
(IEEE Spectrum,1982年1月刊) (2)T.W.Madron著「大組織における企業内情報通信
網」(Hayden Book社 1984年刊) (3)D.D.Clark.K.T.PogranおよびD.P.Read著「局部情
報通信網への招待」(Proceedings of the IEEE、第
66巻、第11号、1978年11月刊)) 局部情報通信網(LAN)に関連するある典型的な従来技
術の装置については以下に示す。しかし、従来技術の広
範な調査が行なわれたことおよび最も近い従来技術につ
いては触れない。
(1)1985年1月8日発行のA.K.Agrawal等の米国特許
第4,493,021号「複数のコンピュータ通信システム」 (2)1984年11月27日発行のP.Austray等の米国特許第
4,485,436号「所有権に基づくインターフェース選択シ
ステム」 (3)1981年9月29日発行のK.P.Eswaran等の米国特許
第4,292,623号「通信パス・システムのためのボート・
ロジック」 (4)1984年2月7日発行のD.M.Bryant等の米国特許第
4,430,641号「拡張および縮小可能な局部情報通信網シ
ステム」 〔問題点を解決するための手段〕 (発明の目的) 従って、本発明の主な目的は、改善されたLANコントロ
ーラの提供にある。
本発明の別の目的は、改善された企業内情報通信網(LA
N)システムの提供にある。
本発明の目的は、異なる形式のCPUとの通信を支持する
改善されたLANコントローラ・システムの提供にある。
本発明の更に他の目的は、異なる形式のLANと接続して
通信することができる局部回路網領域システムの提供に
ある。
本発明の更に他の目的は、LAN接続形式の如何に拘ら
ず、送信層、回路網層および局部リンク層に対してその
ハードウェアをトランスバレントにするLANシステムの
提供にある。
本発明の他の目的は、IEEE802LAN規格の全てを導守し得
る局部領域コントローラ(LAC)の提供にある。
(本発明の要約) 本発明の上記および他の目的に従って、種々のLAN形式
を許容し、かつ4つまでの同じ形式のLANまたは4つの
異なるLANを略々同時に制御することができるLANコント
ローラを備えることができるLANシステムが提供され
る。
本発明の上記および他の目的および特徴は、以下本文に
述べる実施例において達成される。構成および動作方法
の両方における本発明の特徴と信じられる斬新な特徴に
ついては、本発明の他の利点と共に、図面に関して以下
の記述を考察すれば更によく理解されよう。しかし、各
図面は図示および記述のみ目的のためであって、本発明
の限定を意図するものではないことを理解すべきであ
る。
(アーキテクチャ) 概要 局部領域コントローラ・サブシステム(LACS)は、Hone
ywell社のレベル6メガバス・システム等の汎用の任意
のデータ処理システム(なお以下において、このデータ
処理システムとして、Hannywell社のレベル6メガバス
・システム(又は、単にレベル6と記載)を代表的に引
用するが、このHaneywell社ものに限定されるものでは
ない。)と接続されるプログラム可能な通信サブシステ
ムであり、本発明と同じ譲受人に対し発行された米国特
許第3,993,981号、同第3,995,258号、同第4,000,485
号、同第4,001,790号および同第4,050,097号を参照され
たい。LACSは、下記の通信要素セットからなっている。
(a)局部領域コントローラ(LAC)親ボード (b)媒体アクセス・コントローラ(MAC)および物理
的層アダプタ (c)幹線カプラ(TC) (d)RFモデム 本発明の開示内容は、上記の最初の2つの項目(即ち、
LACおよびアダプタ)の定義および説明に関する。
LACは、IEEE 802局部領域回路網規格の全てを遵守し得
ることを意図されている。このLACの設計は、Haneywell
社のレベル6/LACインターフェースにおいて要求される
対話を最小限度に抑えて、レベル6(L6)およびLANア
ダプタ・インターフェースの特定のハードウェア特性か
らLACのオンボード通信ソフトウェアを絶縁している。
米国のBridge Communications社から市販されるものに
基づく通信核は、LAC内部のオペレーティング・システ
ム(OS)として用いられる。本文の開示においては、
「CS(通信サービス)ソフトウェア」は、開システム相
互接続(OSI)リンク、回路網および転送層を実現するL
ACに常駐するソフトウェアを意味し、「SM(システム管
理層)ソフトウェア」とは、IEEE820項規定のシステム
管理機能を遵守するLAC常駐ソフトウェアを指す。
IEEE820項の規格は標準的なデータ・リンク制御インタ
ーフェース(層3/層2)を越えるものではないが、提供
されるレベル6対LACインターフェースは、更に高い
(例えば、セッション/転送)層のインターフェースを
提供するため容易に適合し得る程柔軟性に富むものであ
る。
全ての局部情報通信網(LAN)用途に用いられるLACは、
標準的なHaneywell社のレベル6シャシーに取付けら
れ、*メガバス(Megabus)・システムにおいて1スロ
ットを必要とするが、これは更に大型のレベル6システ
ムの32ビットのアドレス・バスを支援することになる。
このLANアダプタは、LACからLANに至るインターフェー
スを提供する。このアダプタ(子ボード)は、媒体アク
セス・コントローラ(MAC)を含む。LACは、4つまでの
アダプタ子ボードの取付けを行なう。アダプタはいくつ
かの形式(例えば、トークン・バスMAC、CSMA/CD MAC
等)からなる。
乾線カプラ(TC)は、いくつかの市販タイプ(例えば、
広帯域指向性カプラ、トークン・リング、イーサネット
・トランシーバ)からなり、個々の装置としてパッケー
ジされている。広帯域用途に用いられるRFモデムもまた
個々にパッケージされている。
*(註)メガバス(Megabus)とは、Haneywell社の登録
商標であるが、「メガバス」は、データ処理システムに
おいて用いられる一般的なシステムバス、すなわちデー
タ処理システムのユニット間の通信を行うための、非同
期、ビットパラレバスを単に代表して表したものにすぎ
なく、一般的なシステムバスを用いることができること
はもちろんである。
類似あるいは類似しないタイプのアダプタを支援するそ
の能力の故に、LACはレベル6とのIEEE規格802項のLAN
接続のため許りでなく、将来はIEEE規格802項規定のLAN
間のゲートウエイとして、あるいは広帯域用途において
は広帯域チャネル間のブリッジとしても使用することが
できる。LACに対する他の用途は、LANの通信量モニター
/ジャーナライザおよび回路網制御部としても可能であ
る。無論、通信ソフトウェア(CS)およびシステム管理
(SM)ソフトウェアを各用途毎に誂らえることになろ
う。
第1図は、ワークステーションのLANアクセスおよびLAN
間のゲートウエイに対して、レベル6システムとの接続
を行なうLACによる局部情報通信網を示している。
第1図においては、LAC101がその入出力(I/O)インタ
ーフェースにおいて16までのプロセッサを備えた多重プ
ロセッサ中央システムを提供する。このLAC101は、レベ
ル6(L6)システム102、およびLAC101がL6102とメガバ
ス103を介してインターフェースするLAN100に対する接
続を提供する。更に、LAC101は、LAN104またはイーサネ
ット105の如き他のLANに対するゲートウエイとして作用
する。レベル6CPU制御下では、これは新しい多重回線コ
ントローラ(NMLC)107およびDPS8106の如きメインフレ
ーム・コンピュータ・システムの代りなるものの如き他
の通信需要に供し得る。
第2図においては、LAC101の更に詳細なブロック図が示
されている。市販されるマイクロプロセッサ(MC 6800
0)201が、マイクロプロセッサ・バス(μ/p)200と接
続され、アダプタ結合点210〜213を介してアダプタと通
信する。市販されるRAM209がDMAバス214と接続され、バ
ス・カプラ206を介してマイクロプロセッサ・バス(μ/
p)200に対し通信する。このRAMは、物理的に2つの部
分、即ちデータ・バッファRAMとプログラムRAMとに分割
されている。この分割の意図は、レベル6メモリーある
いはプログラムRAMにおけるソフトウェアの実行と共にL
ANアダプタによるデータ・バッファRAMにおけるデータ
の同時の直接メモリー・アクセス(DMA)を許容するこ
とである。バス・カプラ206は市販されるトランシーバ
形式74LS245であり、これはμ/pバス200をDMAバス214か
ら絶縁して、各側におけるMC 68000のバス200、214の
同時の独立的な動作を許容しながら、更にマイクロプロ
セッサが全てのRAM202、209におけるどの場所に対して
もアクセスすることを許容する。
DMAコントローラ208は、Motorola社から市販される6844
0であり、これは2チャネル素子で、1つのチャネルは
マイクロプロセッサ201により使用されてレベル6の主
記憶装置215と、メガバス・インターフェース207を介し
てデータ・バッファRAM209との間のデータのDMA移動を
行なう。他方のチャネルは、メガバス216からI/O指令情
報を受入れてこれをファームウェアまたはインターフェ
ース(IF)ソフトウェアによるこれ以上の分析および処
理のため、データ・バッファRAM209において一時的な待
ち行列へ送るため用いられる。
タイマー装置203はタイプ9513でAdvanced Micro Devi
ces社から市販されており、これはLACソフトウェア(図
示せず)に対するタイマー機能の提供の際使用するLAC
のオペレーティング・システムに対する基底クロック・
チックを提供する。
アダプタに対するDMA機能は、アダプタ自体に置かれた
ハードウェアにより提供される。アダプタDMAは、常に
データ・バッファRAMに関して出入りする。
プログラムRAM202とデータ・バッファRAM209との間のデ
ータ移動は、直接MC 68000マイクロプロセッサ201によ
って行なわれ、プログラムRAM202と主記憶装置215との
間のデータ移動は、(ロード/ダンプ操作におけるよう
に)2つのステップで行なわれる。即ち、マイクロプロ
セッサ202の制御下におけるプログラムRAM202とデータ
・バッファRAM209との間の移動、およびDMAコントロー
ラ208により行なわれるデータ・バッファRAM209と主記
憶装置215との間の移動である。
本発明に必要ではないが、第3図はオペレーション・シ
ステム(OS)、ブリッジ通信核OSおよびインターフェー
ス(IF)ソフトウェアおよびハードウェアの構造的関係
を更によく理解するため示される。
第3図は、本明細書全体にわたって記述する機能性のス
ラストを示しており、これにおいてはCSおよびSMソフト
ウェア301、302はそれぞれ直接にはLACハードウェアを
制御しないが、その代りIFソフトウェア304のプロセス
およびルーチンを介してこれとインターフェースする。
このIFソフトウェアは、CSおよびSMソフトウェアをハー
ドウェアの特定の特性から絶縁して、ハードウェアの将
来の再構築(例えば、大規模LSI部品による)がこのソ
フトウェアに影響を及ぼさないようにする。全てのLAC
ソフトウェアがLACプログラムRAM202に対してロードさ
れている。
本明細書においては、IFソフトウェアは、ソフトウェア
の特定のものがこれに送られつつあるメールボックスの
メッセージにより関与させられるか、あるいはLACハー
ドウェアからの割込みの発生により常に関与させられる
かに従って、プロセスあるいは割込みルーチンからなる
ものとして記述される。OS303の観点から、これらのIF
の「割込みルーチン」はIFのメールボックスを介在する
プロセス(以下において述べる)と関連するか、あるい
は専ら割込みエージェントのみからなるプロセスであ
る。
IFソフトウェアのMEMDMAおよびIODISPプロセスは、これ
と関連してメガバス層の管理エンティティ(MBLME)を
有し、これに対してこれらのプロセセスが種々の異常事
象あるいは故障を通報する。MBLMEは更にこれらの事象
のあるものをSMソフトウェアに対して通知し、また一般
にSMとこれらのプロセスとの媒介として役立つのであ
る。
IFソフトウェア304はのMACプロセスは、物理的に取付け
られたアダプタ毎にMACの送出、受取り、および層の管
理プロセスからなっている。
CSソフトウェア301は、LAN結合に対する送出、回路網お
よびリンクの層機能を提供する。これら層および層事象
の各々は、MBLMEと同じ機能を実施するこれと関連した
層の管理エンティティを有する。
SMソフトウェアは、LACの層管理エンティティに対してC
PUにおけるシステム管理ソフトウェアにより通報する全
体的な制御およびシステムの状況を提供する。
OS核ソフトウェアは、タイマーの如きサービス機を提供
し、プロセスのディスパッチおよびメールボックスのメ
ッセージの通過を制御する。種々の手順呼出しに対する
核からの誤った応答の処理は、これに対してCSおよびIF
ソフトウェアによって送られる。
LACはまた、QLT、RAMのロード/ダンプおよび基本的なI
O指令を行なうあるPROMに常駐のファームウェア(同図
には示さない)を保有する。
プロセス間の通信(以下に更に詳細に述べる)は、OS送
出手順呼出しを用いてメールボックスのメッセージを介
して行なわれる。これらは、これにより1つのプロセス
が1つのメッセージを送出しあるいは別のプロセスのサ
ービスを要求することができる手段である。これらの手
段はまた、これにより非同期事象の発生あるいは非同期
サービスの完了がソフトウェアからビジブルになり、そ
の結果ソフトウェアの処理がその次のステップへ進み得
る手段でもある。呼出されたプロセスは、そのメールボ
ックスに対して送られたメッセージを検索することにな
る。ソフトウェアの処理は、それ自身のメールボックス
の識別を得ることができ、これらプロセスはまた他のプ
ロセスの周知の登録されたメールボックスの識別を得る
こともできる。
ブリッジOS303は、あるメールボックスの待ち行列にお
けるメッセージの相対的位置に影響を及ぼすメールボッ
クスのメッセージに対する多くの優先順位を与える。使
用できるメッセージの優先順位は、URGENT、NORMAL、MU
ST、DELIVER、およびFASTである。
LAN制御ブロック(以下に述べる)は、レベル6のCPUと
LACとの間の相互の通信の主な道具である。メガバスと
おOS/SMソフトウェア・インターフェース301、302は、I
FソフトウェアIOディスバッチ・プロセス304からIFソフ
トウェアに対して送られたメールボックスのメッセージ
を介して受取られる。受取ったメールボックスのメッセ
ージは、専ら主記憶装置215におけるLCBに対するポイン
タからなっている。メモリーDMAに対するメールボック
スのメッセージは、主記憶装置215とLACデータ・バッフ
ァRAM209との間にデータを移動させ、またはLCBに読込
ませ、あるいは状況の形式情報をメモリー215のLCBに書
込ませてCPUに割込みを行なわせるため使用される。
アダプタとのCS/SMソフトウェア・インターフェース
は、IFソフトウェア媒体アクセス(MAC)プロセス(即
ち、データ標識および制御の表示)により生成されるメ
ールボックスのメッセージにより、またIFソフトウェア
のMACプロセスに対して送られるメールボックスのメッ
セージによって支持される。
通常の実行中、レベル6とLACとの間のソフトウェア・
インターフェースは、LACに対しアドレス指定された入
出力ロード(IOLD)指令を使用し、LACにより主記憶装
置へ送られる割込みを伴った状況情報をレベル6へ戻
す。
データ・メッセージおよび事務管理および管理操作は全
て、主記憶装置215に置かれ、かつIOLD指令において与
えられる情報により指示されるLAN制御ブロック(LCB)
の使用に基づいている。LACにおける適当なソフトウェ
ア・プロセスは、LCB LAN制御ブロックイメージ(LCB
I)としてLCBをRAMに対してコピーさせ、要求された操
作の完了後、最後の状況をLCBに対して送らせることに
なる。この操作の実施に際して、このプロセスは他の種
々のプロセスを利用することになる。
〔実施例〕
LACは、第4図、第5図および第6図に示される如き基
本的に3つのバスからなっており、基本的に第4図のマ
イクロプロセッサ(μ/p)・バス400と、直接メモリー
・アクセス(DMA)バス614a,614b、および第5図のアダ
プタ・バス521a、521b、522a、522bおよび第6図のコネ
クタ1および2とからなっている。これらのバスは、16
までのデータ・ビット、2つのパリティ・ビット、およ
び23のアドレス・ビットからなり、デーータ・ストロー
プ、アドレス・ストロープ、読出し/書込み回線および
機能コード回線を含む制御バスを含んでいる。
次に第4図および第5図においては、市販されるダイナ
ミック・ランダム・アクセス・メモリー(DRAM)402に
格納されたオペレーティング・システムの制御下で動作
するモトローラ型のマイクロプロセッサ(μ/p)401が
示されている。このオペレーティング・システムOSは、
DMAバス614bからアダプタ・データ兼アドレス・バス421
bおよびメガバス416bに対するデータのフローを制御す
る。(これについては、アダプタ・バスが本文で論述さ
れる時、更に詳細に論述する。) 市販される消去し得るプログラム可能な読出し専用メモ
リー(EPROM)404は16k×16ビットの巾を有し、市販さ
れる27128タイプである。EPROM404は、迅速論理テスト
(QLT)とマイクロプロセッサ401に対するスタック・ポ
インタとを含む。このEPROM404はまた、これらのレベル
6の命令の実行のためモトローラ68000(μ/p)401によ
り使用される64k×18のダイナミック・ランダム・アク
セス・メモリー(DRAM)411に格納されるレベル6コン
ピュータ・システム214a、214b、215からのI/O命令ブロ
ックを転送するため、モトローラ型68440DMAチップ408
を構成する。レベル6のCPU214もまた、オペレーティン
グ・システム(OS)をダイナミック・ランダム・アクセ
ス・メモリー(DRAM)402へロードし、このメモリーは
マイクロプロセッサ(μ/p)401により用いられてプロ
グラムおよび命令を実行する。
第2図かつ第4図のシート2上において番号214a、214
b、215で示されかつ第4図のシート2上に示されるレベ
ル6システムがメガバス216、416a、416bを介してLACと
通信するためには、レベル6のCPU214a/214bが、74AS86
7/26S10タイプのメガバス・インターフェース407aおよ
び74AS823/26S10タイプのインターフェース407bを介し
てLACに対し命令を発する。この命令は、機能コードと
して74AS823タイプのレジスタによって受取られる。こ
のレベル6のCPU414aはアドレスをアドレス・インター
フェース407aに置くが、レベル6のCPU414bはデータを
データ・インターフェース47bに置く。このため、デー
タはFIFO430の入力側に与えられ、命令はコントローラ
の入力側に置かれる。命令がコントローラ408に与えら
れると、信号がDMAバス614bの制御を確保する要求のた
めDMAチップ408aへ送られる。DMAチップ408aはこの要求
を確認し、コントローラ408がデータをDMAバス614a、61
4b上に置くことを許容する。DMAチップ408aは、この
時、コントローラ408のメモリー408bをアドレス指定し
てDMAデータをDRAM411へ転送する。この手順が行なわれ
ると、DMAチップ408aはマイクロプロセッサ401が実行す
ることを許容する。次いでマイクロプロセッサ401はDMA
バスを要求し、もしこれが許されるならば、メモリー40
8bからのデータを更に処理し分析するため転送すること
になる。
Haneywell社のレベル6システム102からLAN100へLAC101
を介してデータを転送するために、μ/p68000は最初に
レベル6始動アドレスをメガバス・アドレス・インター
フェース407aに対してロードする。メガバス・アドレス
・インターフェース407a内には、メモリー408bへロード
されるワード数をカウントする値域カウンタがある。従
って、μ/p401はDMAアドレスをDMAチップ408へロードす
る。このように、DMAアドレスはアドレス・メモリー408
bをロードした。これはまた、メモリー408bにロードさ
れるワード数に対する値域カウンタをロードする。この
時、μ/p401の制御下で、データがメガバス・データ・
インターフェース407bを介して先入れ先出し(FIFO)メ
モリーおよびDMAバス614bに対して転送される。この
時、DMAチップ408aはDMAバス614b上のデータをDMAバッ
ファ・メモリー408bへ転送する。その間、μ/p401は、7
4LS246トランシーバ406bによりこのDMA転送から絶縁さ
れる。このため、μ/p401は、DRAM402から得た情報を用
いてある他のタスクを同時に行なうことができる。DMA
転送がレベル6からDMAメモリーに対して行なわれる
時、DMAチップ408aはアップ401に割込みを行なう。μ/p
401は、この時、DMAバス614a、614bおよびアダプタ・バ
ス421a、421bに対し74LS245タイプのトランシーバ420
a、420bを介して指令を発する。次いでこの指令を受取
るアダプタは、DMAメモリー408bを読出し、DMAメモリー
408bからアダプタ422a、422bの一方およびLAN100に対し
てデータを転送する。この手順が生じつつある間、μ/p
401は、それぞれDMAバス614a、614b、およびトランシー
バ406b、420a、420bを介してアダプタ・バス421a、421b
の双方から絶縁されている。次いで、μ/p401は、その
オペレーティング・システムの作用下で作動し続け、、
DMAチップ408aに対する次に生じる転送ブロックを設定
する。トランシーバ406bは、マイクロプロセッサ・バス
がそのプログラムをDMAバスで実行することを、またレ
ベル6のメモリー215、メガバス216の一方からDMAメモ
リー408bへの転送を行なうことを許容する。このため、
このバスの絶縁は、3つの全てのバスが同時に干渉する
ことなく実行することを可能にする。このことがLANを
非常に多能にしてLAC全体において更に大きな処理量を
提供する。
次に第5図および第6図においては、アダプタの子ボー
ドの接続点210〜213(第2図も参照のこと)およびアダ
プタの子ボード216〜219からなるアダプタ・インターフ
ェースのブロック図が示される。アダプタ・インターフ
ェース・システムからなるLANボード全体は、4つまで
の子ボード522a、522bを持つことができる。各子ボード
は、奇数および偶数のコネクタを有する。例えば、子ボ
ード#1(アダプタ・インターフェース#1)はアダプ
タ接続部W01およびW02を有し、子ボード#2(アダプタ
・インターフェース#2)は接続部W03、W04を有す
る、、等である。奇数の接続部は制御回線を取扱うが、
偶数の接続部はデータ回線0〜15およびアドレス回線00
〜23を取扱う。アダプタの子ボードは、イーサネット、
トークン・リング、トークン・バス、ディスク、テー
プ、メモリー等の内どんなタイプのものでもよい。
アダプタ・バス421a、421b、521bは、市販の74LS245タ
イプのトランシーバ420a、420b、520b、520bcによりDMA
バス414b、514bから絶縁されている。DMAバスがデータ
をアダプタ・バスに対して送出することを欲する場合、
トランシーバはこの方向におけるデータのフローを許容
することになるが、アダプタ・バスが情報をDMAバスへ
転送することを欲する時はトランシーバは他の方向を指
示することになろう。コネクタ(210〜213)における各
アダプタの子ボード216〜219は、LANに関してデータを
授受することを欲することになる。このアダプタは、DM
Aバスおよび68452タイプの調停チップ509に対し、いく
つかの要求のどれが比較的高い優先順位を有するかを判
定することを要求し、次いでバスを最も高い優先順位を
有するこのアダプタに与える。また、このアダプタは74
S20タイプのゲート531を介して7474タイプのフリップフ
ロップ・チップへ信号を送出することになるこのフリッ
プフロップ530は、セットされと、子ボード(アダプ
タ)サイクルが進みつつあることを表示する。この時信
号がゲート532、533を介してトランシーバ520b、520cへ
加えられる。ゲート532、533へ加えられた読出し/書込
み信号は、トランシーバ521b、521bcを介してどの方向
にデータが転送されるか、即ちDMAバス・データがアダ
プタ・バス上に置かれるか、あるいはアダプタ・バス・
データがDMAバス上に置かれるかを判定する。このデー
タ転送が完了すると、次に高い優先順位のアダプタがそ
のサイクルを開始することができる。
データ転送はまた、トランシーバ406bからの使用可能信
号を用いて生じ得る、即ちアダプタから生じ得る。この
データ転送手法の下で、μ/p401がトランシーバ406bを
アダプタ使用可能信号でプログラムする。従って、μ/p
401は、トランシーバ406bを介してその制御下でアダプ
タに関して読出し/書込みを行なうことができる。従っ
て、トランシーバ520b、520bcを介するこの種の絶縁お
よびトランシーバ406bを介する選択により、LANにおけ
るどんなタイプの子ボードでも使用するように、LANが
μ/p401によってプログラムされることを可能にする。
第6図においては、LACと取付けられたアダプタとの間
の物理的なインターフェースが示されている。このアダ
プタ・インターフェースは、コネクタW01〜W08からなっ
ている。第6図は2つの典型的なコネクタを示してい
る。全ての偶数番号のコネクタW02、W04、W06、W08はデ
ータ・バー0〜15およびアドレス・ビット1〜23を含
む。全ての奇数番号のコネクタW01、W03、W05、W07は制
御信号を取扱う。奇数番号のコネクタにおいては、コネ
クタのターミナル10がバス・クリア信号であり、コネク
タのターミナル11はマスタ・クリア信号であるが、コネ
クタのターミナル12はバスのエラーの表示である。コネ
クタ・ターミナル13はパリティ・エラー信号を取扱う
が、読出し/書込み信号はコネクタ・ターミナル18に対
して加えられる。データ確認信号はターミナル20に加え
られる。高いデータ・ストローブ信号はターミナル22に
対して加えられるが、低いデータ・ストローブ信号はタ
ーミナル24に対して加えられる。データ・アドレス・ス
トローブ信号は、ターミナル26に対して加えられる。タ
ーミナル29はシステム・クロックに対する信号を取扱う
が、ターミナル31は2×2のシステム・クロックに対す
る信号を取扱う。ターミナル35は、1/8番目のシステム
・クロック速度に対する信号を取扱う。パワーオン信号
はターミナル34を介して取扱われる。アダプタからの割
込み要求信号はターミナル47に対して加えられ、アダプ
タに対する割込み確認信号はターミナル48に対して加え
られる。アダプタに対する使用可能ストローブ信号はタ
ーミナル49に対して加えられる。アダプタからのバス要
求信号はターミナル51へ加えられ、子ボードに対するバ
ス許与確認信号はターミナル52に加えられるが、アダプ
タからのLANに対するバス許容確認信号はターミナル53
へ加えられる。これらターミナルは、種々のデータ回線
およびアドレス回線を識別するため接続されている。
(入出力(I/O)指令) レベル6のCPU214a、214bによるLACの制御を行なうため
に、1組の入出力(I/O)指令が個々の機能コード(F
C)と共に使用される。
(出力指令) 1.IO(FC=01)出力LAC制御 2.IOLD(FC=09/OD)出力LACポインタ (入力指令) 1.IO(FC=26)入力装置ID (出力−LAC−制御−I/O(FC=01)) この指令はLACに対して16ビットの制御ワードを転送す
る。全てのアダプタおよびインターフェースはこの指令
により影響を受ける。この指令において用いられるチャ
ネル番号は重要でない。ワードにおけるビットは下記の
如くに定義される。即ち、 ビット0:ハードウェアの初期化(1ならば) ビット1:IO停止(1ぜあり、ビット0が零ならば) ビット2〜15:MBZ ハード初期化機能は、パワーオン・シーケンスまたは出
力LAC制御指令(指令の最初のビットである)により初
期化され、1である、即ちFC=01。この初期化機能は下
記の動作を生じる。即ち、 (a)LACおよびアダプタRAM202、216a〜219aがクリア
される。
(b)LACにおける全てのハードウェア・レジスタおよ
びアダプタがクリアされる。
(c)LACはその品質論理テスト(QLT)を実行し、適当
な形態情報を確認する。
(d)LACは停止条件に入り、この場合その機能はPROM2
04により指示される如き機能からなっている。
もしI/O指令のビット1が1であり、ビット0が零であ
るならば、I/O停止が生じ、これが下記の動作を生じ
る。即ち、 (a)LACにおけるハードウェア・レジスタおよびアダ
プタがクリアされる。
(b)LACがファームウェア制御下の操作を開始または
継続し、この場合機能はPROM常駐ファームウェア204か
ら指示される如き機能からなっている。
(出力−LCB−ポインタ−IOLD(FC=09/OD):IOLD命令
は、基本的には2つの機能コードからなっている。この
機能コード09は、存在する時は、1つのアドレスのロー
ディングに関するが、機能コードODは存在する時ロード
範囲に関するものである。この指令は、LACに対する2
つの個々のバス転送を伴う。第1の転送は32ビットのバ
イト・アドレスであり、第2のものは16ビットの範囲ワ
ードであり、その上位の8ビットはLACのハードウェア
/ソフトウェア機能を定義するものとして解釈され、下
位の8ビットはバイトにおけるLCBの大きさを定義す
る。アドレスおよびLCBは一緒にレベル6の主記憶装置2
15におけるLCBの場所および大きさを定義する。レベル
6のCPU214aまたは214bが1つのIOLDを生成する時、メ
ガバス216が09の機能コードをメガバス・アドレス・ビ
ット18〜23に与える。LANはこの機能コードを受入れ、
これを第2図、第5図の親ボードに対して格納する。LA
Nが応答する次の機能コードは、IOLD命令を完了するOD
機能コードである。
IOLD指令の生成に関して生じる1つの主な問題は、多重
処理システムに存在する。IOLD指令は、インタロックに
よらずに、2つのCPUから生成することができ、これら
のIOLD指令はLACが機能コード09プラス2つのCPUの各々
から送られたODを組合せる方法を知らないためインター
リーブすることができる。インタロックは第2のCPUに
対しNAKを生じ、これが瞹昧なサイクルを阻止して全て
のIOLDが同じCPUからのものであることを保証する。
次に第7図においては、第1のIOLD指令からの第1の機
能コード09を格納する市販の74S112フリップフロップ70
1が示されている。フリップフロップ701からの出力信号
は、市販の16L8タイプのプログラム可能なアレイ・ロジ
ック(PAL)703に対して加えられ、またこのPALに対し
てはメガバス・アドレス・ビット18〜23も加えられる。
PAL703は、機能コードを復号し、レベル6から発された
機能コードが背定応答(ACK)および否定応答(NAK)の
どちらがなされたかを判定する。この判定が行なわれる
と、これは74AS823タイプのラッチ704に格納される。こ
のラッチは、バスからの情報を待ち行列に並べることが
でき、その結果バスが解放され適当な時点に情報を使用
することができるようにするセマフォとして機能する。
内容のセマフォ704のラッチ動作は、命令がLANボードに
対するものであったことをLANが検出する時、判定され
る。フリップフロップ701は、サイクルを終了するため
機能コードODに対してリセットされる。フリップフロッ
プ701は、機能コード09でセット状態となり機能コードO
Dによりリセットする1種のブラケットを考えることが
できる。PAL703は機能ビットを復号して、どの機能コー
ドがメガバスに対しACKあるいはNAKされるかを判定す
る。このため、このロジックは第1のCPUがIOLDを発す
ることを阻止し、第2のCPUがIOLDを発して各CPUが誤っ
たACKを受取ることを阻止する。IOLDがLANボードの制御
を与えられた後にNAKを生じるためには、フリップフロ
ップ702が用いられる。これはセマフォとして用いら
れ、これが第1のIOLD機能コード09をセットしてこれに
対しマスター・クリア信号が加えられる時にのみリセッ
トし得る。従って、一旦LANボードがIOLD命令に対する
制御を与えられると、セマフォ702はレベル6の入力命
令の生成を阻止する。
LAC制御出力指令(FC=01)の完了の直後に、装置ID入
力指令(FC=26)が生じてLACのPROM204をしてメガバス
に対し16ビットの装置IDを送出させる。このIDは、アド
レス指定されたアダプタ・チャネルに対して付されたLA
Cとアダプタの双方を識別する。このLACは1組の64のチ
ャネル番号が割当てられる。装置ID入力指令(FC=26)
のためには、チャネル・アドレスの6つの最下位ビット
が下記の如く2つのフィールドからなるものとしてLAC
により処理される。即ち、最上位の2ビットはアダプタ
の子ボードの位置を指定し、最下位の4ビットはアダプ
タ216〜219と関連するサブチャネルを指定する。装置ID
入力指令に対するこのチャネル番号の符号化は、10のビ
ット0〜9を有するフォーマットを用いることにより行
なわれる。LACボードのアドレスは、最初の4ビットに
あるコードによって識別され、アダプタの位置はビット
位置4〜5に2ビットを有するコードにより識別され、
最後にアダプタにおけるサブチャネルがビット位置6〜
9における4ビットによって識別される。
(データの転送) LACの設計における主な問題の1つは、システムに対し
てどんなタイプのLAN接続が行なわれたかに拘らず変更
されないままとなるLACにおける常駐の通信層ソフトウ
ェアを有することである。従って、常駐ソフトウェアを
レベル6のメガバス側およびLANインターフェースから
絶縁することが必要であった。これを行なうため選択さ
れかつ依然としてLANとレベル6との間の通信およびLAC
コントローラ自体の内部の通信を維持するよう選択され
たハードウェアは、第8図および第9図および第10図乃
至第13図に典型的に示されたLAC制御バッファであっ
た。
次に第8図においては、主記憶装置からのLACソフトウ
ェアのローディング/ダンビングのため、LACRAM202の
色々な部分を主記憶装置215へダンビングするため、ま
たLACからのある形態の情報を検索するためのLAC制御ブ
ロックが示されている。その動作は、前に述べたLCB出
力ポインタIOLDを介して開始される。第8図におけるLA
C制御ブロックのフォーマットは、16ビット巾のワード
を有し、最初のワード801は最初の6ビットが将来のハ
ードウェアの使用(RHU)のため保留され、ワード801の
次の4ビットがロード/ダンプ指令自体を発したCPU214
a、214bのチャネル番号の最下位の4ビットを示すよう
に分割されている。CPUのチャネル番号の残りの上位ビ
ットは常に0であり、従って下位の4ビットのみが与え
られる。ワード801の次の6ビットは、CPUが割込みを受
取る時CPUが使用する64の可能な割込みレベルの1つを
表示する。
ワード802は、行なうことができる僅かに3つのその時
可能な機能の内の1つを指定する。これは、操作がLACR
AM202の内容の格納であるかそのCPUにおける主記憶装置
215に対する転送であるか、あるいはこれがLACおよびRA
MがDPS6メモリーからロードされる他の方法であるかを
指定する。第3の操作は、LACRAMから得られるDPS6メモ
リーに対する構成情報の格納である。
アドレス・ワード803および804は、データが出入り転送
されるべきレベル6のメモリー・アドレスの上位および
下位のアドレス部分を格納する。
転送ワード805の程度は、LACと主記憶装置との間に転送
される情報をバイト数に関して規定する転送の程度であ
る。
LACRAMアドレス・ワード806、807は、データが出入れさ
れるべきLACRAM202におけるアドレスの上位および下位
の部分を表示する。情報の読出し構成のタイプの場合に
は、その特定のアドレスは、構成情報が示されるという
事実により示唆される。RSUワード808は、必要となる使
用が可能なソフトウェアの使用のため保留されている。
状況ワード809は、転送操作の完了と同時にCPUに対し送
られた情報に関する状況を表わす。この操作は、もし問
題があるならば停止し、その状況が状況ワード809にお
いて表示されることになる。しかし、もし転送に問題が
なければ、状況ワードは全て零を含むことになる。もし
問題があるならば、状況ワード809の8つの上位ビット
は依然として全て零でなければならない。無効な機能ビ
ットである次のビットは、要求が何等かの点で無効であ
ること、およびおそらくは使用されたローディング/ダ
ンビング機能コードが規定されたコードではないことを
表示するため使用される。例えば、次のビットはメモリ
ー満了MEMEXHであり、1つ以上のローディング/ダンビ
ング機能が1つの直後に他が発され、従ってコントロー
ラはその全てを取扱うことができないことを表示する
が、これはコントローラは一時に1つのこのような機能
しか処理できないためである。ワード809の次のビットR
AMNEは、LACのRAMにおける存在しないメモリーの一部を
ワード806、807に定義されるアドレスが指示することを
表示するRAMの非存在ビットである。従って、このビッ
トは、転送がこの問題の故に完了しなかったことを表示
する。次のビットRAMPは、CPUメモリー215に対して前記
情報を転送するためLACのRAM202の読出し過程におい
て、パリティ・エラーがが存在したことを示す。状況ワ
ード809のMYビットは、メモリー・イエローの略であ
り、レベル6からLANのRAMへの情報の転送の間、データ
読出しにおいてエラーが生じたがこのエラーは訂正可能
であり従ってデータはLACへ送られたことを示す。これ
は、レベル6のメモリーに何等かの弱点があるという警
告を示している。次のビットNEMは、存在しないレベル
6メモリーに対する頭文字で、ワード803、804により形
成されるアドレスを用いることにより、存在しないレベ
ル6のメモリー215の一部がアドレス指定されつつあっ
たことを示す。L6Bビットは、レベル6のバスのパリテ
ィ・エラーがレベル6メモリーからLACへの情報の転送
中に生じたこと、このエラーがレベル6のメガバス216
に沿ってどこかに生じたこと、およびLACのRAM202に対
して与えられたデータがその内部にエラーを有すること
を示している。ワード809の最後のビットMRはメモリー
・レッドの頭文字で、レベル6のメモリーのLACメモリ
ーに対する転送において、レベル6のメモリーを読出し
た情報が不正確であって訂正ハードウェアでは訂正でき
ないこと、従ってLACのRAMに対して送られた情報は不正
確であることを示す。MBZワード810は、その中に全て零
を持たねばならないワードであり、将来の使用のための
ものである。最後に、完了ワード811が状況完了ビットS
Cを有し、これは操作の完了と同時にLACコントローラに
よりセットされ、レベル6のソフトウェアに対してワー
ド809に存在するどんな状況でも操作の完了状況を表わ
すことを示すため用いられる。
次に第9図においては、前に述べた始動IO指令に対する
別のLAN制御ブロックのフォーマットが示されている。
ワード901は、6つの上位ビットが再びハードウェアの
使用(RSU)のため保留され通常は全て零である16ビッ
トのワードである。次の4ビットはCPUチャネルを識別
し、指令を発するCPUのチャネル番号の下位の4ビット
を指示し、また始動I/Oが完了する時割込みが行なわれ
るチャネル番号でもある。ワード901のレベル番号は下
位の6ビットで、操作が完了する時付勢されるCPUにお
ける64の割込みレベルの1つを示す。
RSUワード902は、必要となる目的に対するソフトウェア
の使用のための空領域である。ワード903、904は、マイ
クロプロセッサ201が特定のプログラムの実行を開始す
べきマイクロプロセッサ始動アドレスを表わす。一般
に、マイクロプロセッサが始動される前に、マイクロプ
ロセッサのメモリー202が第8図に関連して前に述べた
ロード操作によってロードされることになり、また従っ
てその時の指令の目的はマイクロプロセッサに対してロ
ードされたコードの実行をどこから開始するかを通知す
ることである。RUSワード905は、ソフトウェアの将来の
使用のため保留された別のワードである。MBZワード90
6、907は、全て零を保持しなければならない2つのワー
ドである。MBZワード908は、始動操作を終了した時マイ
クロプロセッサ201によりロードされる状況完了ビット
(SC)を有し、これが割込みされる時CPUに対して始動I
/O指令が正確に完了したことを示す。MBZワード908の残
りは全て零である。
次に第10図においては、LACに置かれたメモリーとレベ
ル6に置かれたメモリーとの間、即ちRAM202からRAM215
への前に述べたLAN制御ブロックの如き、あるデータ・
ブロックを移動するためDMA操作を要求するため用いら
れる典型的なメールボックス・メッセージが示される。
メッセージのヘッダ1001は、通常、LAN制御ブロックの
如きブロック転送等のどのタイプの転送が要求されてい
るかを正確に規定するタイプ・コードを保有する。一般
に、メッセージ・ヘッダは、第10図ではあたかも唯1つ
のワードからなるように示しているが、いくつかの情報
ワードからなっている。RHUワード1002は、ハードウェ
アの使用のため保留され、将来の使用のための余分な空
スペースである。ブロック転送の如きある操作の完了と
同時に、このような転送を要求するCPUは割込みを行な
って何が起ったかを通知することを必要とする。ワード
1003は、このような割込みが要求される時使用されるべ
きパラメータを指定する。しかし、割込みは、ワード10
03の下位の6ビットからなるレベルが全て零でない場合
にのみ送ることができる。LACチャネル番号はワード100
3の上位の6ビットからなり、CPUがLACに対して与えた
指令により最初にアドレス指定された特定のチャネルに
対する割込みにおいて使用される。ワード1003のCPUチ
ャネル番号は略々第8図および第9図におけるものと同
じであり、割込みされるべきCPUのチャネル番号を規定
する4ビット・ワードである。最後に、レベル・ワード
は割込みのレベルを定義する6ビットのワードである。
メールボックスID戻しワード1105、1106は、実際に行な
われるべき操作を求め、従って操作自体が完了した時通
知されるべきプロセスを表わすLAC内のメールボックス2
02aを識別する。状況ワード1007は、操作が終了する時
に、メモリーDMAプロセスにより戻される。ビットの定
義は、第8図の状況ワード809と類似している。レベル
6のメモリー・アドレス・ワード1008、1009は、出入り
転送が生じべきレベル6のメモリー・アドレスの上位お
よび下位の部分を定義する。範囲ワード1010は、どれだ
け多くのワード/バイトがに操作おいて転送されるべき
かを規定する。LACのRAMアドレス・ワード1011および10
12は、情報が得られあるいは送られるべきLACのRAM内の
アドレスを定義する。RSUワード1013は、ハードウェア
の将来の使用のため保留されている。
次に第11図においては、LAN上にメッセージを送るため
の典型的なデータ転送要求としてアダプタ・インターフ
ェースのソフトウェア・プロセスに対して送られるメー
ルボックスのメッセージが示されている。これは、IEEE
規格委員会のインターフェースを備えた異なるタイプの
LANの使用を許容する。メッセージ・ヘッダ1101は、送
出されるべきメッセージの性格を定義するタイプ・コー
ド、局部情報通信網(LAN)に送出されるべきデータがR
AM202、214のどこに置かれるかを定義するバッファ・ア
ドレス記述子の如きいくつかの情報ビットを保有する。
8つの下位ビットからなるフレーム制御ワード1102は、
トークン・バスまたはトークン・リング・タイプのフレ
ームにおけるフレームのタイプを表示するため使用され
る。RSUワード1103は、ソフトウェアの使用のため保留
された領域である。メールボックスID戻しワード1104、
1105は、行なわれるべき送出/転送のため求められるプ
ロセスのメールボックスを識別し、その結果操作が完了
した時プロセスが識別できるようにメッセージがメール
ボックスに置かれるようになっている。
状況ワード1106は、戻すことを欲することを判定するど
んなソフトウェアによっても基本的に定義される。タイ
プ/データ長さワード1107は、CSMA/CDおよびイーサネ
ット・フレームにおいて使用される。イーサネット・タ
イプのLANがLACに対して接続される場合には、これはフ
レームの長さを示すが、もしCSMA/CDタイプのLANがLAC
に接続されるならば、これは使用されるIEEE規格802.3
項規定のフレームタイプを示す。宛先アドレス・ワード
1108は、メッセージが送出されるべき局のアドレスを定
義する。最後に、RSUワード1109は、ソフトウェアの使
用のため保留される領域である。
第12図および第13図においては、I/O指令の一時的な待
ち行列として割当てられるRAM記憶領域の場所および配
置が示されている。第12図は、バイト・アドレス800400
〜800700に置かれた異なる待ち行列番号1301〜1304を示
す。第13図は、待ち行列における典型的なエントリを示
している。ワード1201は、一時的に格納されるチャネル
番号を示すが、アドレス・ワード1202、1203は主記憶装
置に転送される情報の上位および下位のアドレスを示し
ている。範囲ワード1204は、転送されるべき情報におけ
るバイト番号を示す。
(インターフェース(IF)のソフトウェア) 第14図乃至第18図は、種々のIFソフトウェア・プロセス
および割込みルーチンの高いレベルの機能応答性を更に
詳細に示す1組のフローチャートである。
先ず第14図においては、LACコントローラにおけるI/Oデ
ィスパッチ・プロセスにより行なわれる操作のフロー図
が示されている。割込み待ち時間1401は、1つのI/O指
令割込みがこのルーチンにより達成できる前のマイクロ
プロセッサの時間量を表わす。I/O指令がLACコントロー
ラによって受取られる時は常に、コントローラが割込み
処理することができるように、マイクロプロセッサ201
がこれに応答して操作を切換えるための有限時間が存在
する。ALLOCATE MBXブロック1402は、I/Oディスパッチ
・プロセスが丁度受取った許りのIOLD指令についてLAC
コントローラ内のある他のプロセスを知らせることがで
きるように1つのメッセージ・ブロックを割当てるた
め、LACコントローラの核のソフトウェアに対する呼出
しである。ディスパッチ・プロセスにより行なわれる実
際の操作は、ディスパッチ・テーブル1403に対する指標
により定義される。このディスパッチ・テーブルは、I/
O指令がアドレス指定されるチャネル番号、ならびにI/O
指令の一部であり以下に述べる機能コードによって指標
が付される。従って、ディスパッチ・プロセスは、どの
プロセスが通知されるべきかを見出すためディスパッチ
・テーブルを用いて指標付けを行なう。もし通知される
べきプロセスがなければ、ディスパッチ・メッセージを
アセンブルして次のステップSENDMSG1407におけるメッ
セージを送出することにより、命令がメガバス層の管理
に対してディスパッチされる。次いでI/O指令は、何が
これと関係を有するかを判定する役割を有する層管理プ
ロセスに対して送出される。妥当なメールボックスIDが
ブロック1401で見出されるとすれば、その時プロセスは
IOLD情報を含むディスパッチ・アセンブル・メッセージ
1406をアセンブルし、このメッセージはSENDMSG1408を
介してこれが取扱えるために識別される特定のプロセス
に対して送出される。DMAメッセージの通常の場合に
は、これが入力操作または出力操作のどちらに対するI/
O指令であるかに従って、移送/送信プロセスまたは移
送/受信プロセスのいずれかに対して送出されることに
なる。待ち行列1409においてエントリがある時、このプ
ロセスが実行中に受取られた指令が更にあるならば、デ
ィスパッチ・プロセスは再びALLOCATEMBXブロック1402
へ飛越して次の指令に対するプロセスを反復する。待ち
行列1409にこれ以上のエントリが存在しなければ、ディ
スパッチ・プロセスは1410において終了する。
次に第15図および第16図においては、LACコントローラ
において実行するDMAプロセスのフロー図が示されてい
る。このプロセスに対しては、実際に2つの部分があ
る。1つの部分は第15図に示され、これはDMA操作の完
了と同時に割込みと同時に実行するメモリーDMAプロセ
スの部分である。第16図に示されるプロセスの他の部分
は、メールボックス202aが要求を受取ったかどうかに依
存している。
最初に第16図によれば、操作はLACコントローラにおけ
るプロセスの1つからメモリーDMA操作に対する要求が
受取られる時に開始する。このプロセスが実行を開始す
るためには、最初にCONTEXT SWブロック1601をスワッ
プすることが必要である。次に核のソフトウェア呼出し
BRECVブロック1602は、その入力するメールボックスに
おける要求が存在するかどうかを判定させられる。もし
ある操作を行なうプロセスに対する要求がない場合に
は、プロセスは停止して、BRECV命令1602以外一切のス
テップに進まない。もしある操作に対する要求がある場
合には、セマフォ検査ブロックSEMAWAIT1603が、割込み
プロセスが既にDMAコントローラに関するある他の操作
を行なっていないこと、即ち既にDMA操作が進行中であ
ることを確認するため、割込みプロセスに対して全ての
セマフォを維持するOS核に対する呼出しにより行なわれ
る。もしその時DMA操作が進行中でなければ、プロセス
はステップ1604へ進み、ここでメガバス・レジスタおよ
びDMAコントローラをDMA転送の実行のため必要な情報で
ロードする。このローディング操作が完了すると、プロ
セスはステップ1603において前に調べたセマフォのセマ
フォ・ビットSEMAWAIT1605を(OS核に対する呼出しによ
り)セットし、セマフォ・ビットがセットされる間これ
以上のDMA操作が行なわれないようにする。ステップ160
6においては、フラッグを調べて完了した操作に対する
割込み要求が未だCPUによる受入れを待機している(即
ち、「保留状態」)かどうかを知るために調べられ、も
し保留状態になければ、メールボックス戻しメッセージ
がその操作を要求したプロセスへ送られる。ステップSE
NMSG RETURNMBX1607においては、戻しメッセージが完
了したDMA操作に対して送られる(丁度進行中である特
定のDMA操作に対する戻しではない。)次いで、ソフト
ウェアは再びステップBRECV1602へ飛越して、ある操作
を行なうためそれに対する要求がなければ停止する。別
の待機中の要求が存在するならば、ソフトウェアはステ
ップSEMAWAIT1603において停止するが、これは操作が開
始した時ステップ1605において丁度制御されたセマフォ
である。特定のDMA操作が完了すると、プロセスのフロ
ーは第15図へ切換わる。割込みが認識さあっれて実行を
開始する前に、再び割込みの待ち時間1501がある。一旦
プロセスが継続すると、テスト1502が行なわれてプロセ
スがレベル6とLACコントローラとの間の収集/散布タ
イプのデータ転送を取扱うことができるかどうかを判定
する。もしこれが収集/散布タイプの操作であれば、操
作はステップ1503、1507、1511に進み、ここでプロセス
が必要な別の転送の収集/散布操作を継続できるよう
に、DMAコントローラがセットアップする。収集/散布
タイプのデータ転送がないために唯1つの転送が行なわ
れるならば、プロセスはエラー検査ステップ1504へ進ん
で、パリティ・エラーまたはメモリーが存在しない等の
エラーがあるかどうかを判定する。エラーが存在する場
合は、状況メッセージ1505が生じたエラーのタイプに関
してアセンブルされる。メッセージが要求側のプロトコ
ルへ戻され得ることを示すフラッグがステップ1508でセ
ットされる(このフラッグは、ステップ1606において触
れたものと同じフラッグである。)ステップ1603におい
て触れたセマフォはここでステップ1509において解放さ
れ、その結果プロセスの第2の部分が次の操作を実行し
て処理でき、ステップ1512において終了する。ステップ
1504においてエラーが存在するならば、ステップ1506に
おいてレベル6が操作の完了と同時に割込みされなけれ
ばならないかどうかを判定するため検査が行なわれる。
(これは、割込みの要求があることを示す、前に述べた
DMA要求においてレベル・コードを有することにより判
定される。)エラーが存在しなければ、エラーなしにDM
A操作が完了されたことをレベル6に対して表示するた
め、レベル6への割込みがステップ1510において行なわ
れる(あるいは試みられる)。操作にエラーが存在する
ならば、割込みは試みられない。その代り、状況メッセ
ージ1505が要求するプロセスへ戻されて、これに対し操
作が存在したことを表示する。
次に第17図においては、LACコントローラの割込みを行
なうためのアダプタ割込みルーチンのフロー図が示され
ている。これは、アダプタ216〜219の1つが割込みをLA
Cコントローラに対して送られてある操作を完了したこ
と、あるいはある異常事態が起りこの事態に関するある
ソフトウェア・プロセスを通知することを要求する時、
LACコントローラによって付勢される。従って、ステッ
プ1701、1702、1703、1705および1704からなるループに
おいては、どのアダプタが割込みを行ないつつあるかを
割込みソフトウェアが判定するループが存在する。4つ
の可能な全てのアダプタからの割込みが1本のワイヤ上
で一緒に結ばれるため、ソフトウェアは各アダプタに対
してこれが割込みを要求するアダプタであるかどうかに
ついて質疑を行なわなければならない。従って、このル
ープは各アダプタの順次のテストおよびどのアダプタが
割込みを要求したかを判定する試みを示している。これ
が割込みを行なった特定のアダプタを判定すると、この
割込みルーチンはステップ1706、1707、1708へ分岐し
て、割込みのための理由に依存するメッセージを形成す
る。ステップSENDMSGMAC N TX1707において、転送を
行なうことを要求された旨のメッセージが丁度転送要求
を終了した許りのアダプタから送られる。ステップSEND
MSG MAC N RX1708は、アダプタがLANから入るメッ
セージを受取り、従ってこのアダプタが特定の状況を処
理するためメールボックス・メッセージを送ることを欲
するという事実を表示する。ステップSENDMSGMAC N
LM1706は、事象の発生および事象の処理のためMAC層の
管理プロセスに対するメールボックスのメッセージの送
出を表わす。最後にメッセージの送出の完了後に、割込
みルーチンがステップ1709で終了する。
次に第18図においては、あるアダプタの特定のMACプロ
セスが示され、特定のアダプタに対する異なる3つのMA
Cプロセスのフローを表わす。このプロセスは、再びコ
ンテクスト・スイッチ1801を介して開始され、このスイ
ッチが全てのメールボックスのメッセージを受取るかあ
るいはコンテクストを切換えてこれを受取る。ステップ
BRECV MAC LM1802、BRECV MAC BX1803またはBRECV
MAC TX1804は、これがそのメールボックスにおいて
第17図に示されたアダプタ割込みプロセスからメールボ
ックスのメッセージを受取る時に付勢されることにな
る。これらのプロセスの1つのみがメッセージの受取り
と同時に付勢される。MAC層の管理ステップ1802、1085
は、付勢されると、これにメッセージを送出することに
より局管理プロセスを通知する如き状況に応じたある動
作を行なうことになるか、あるいは単にアダプタ自体を
リセットする。BRECV MAX RXステップ1803において1
つのメッセージが受取られる時、メッセージの処理にお
いてMACアダプタが使用したプロセスがバッファを置換
する。MACアダプタは、データを入れるため使用できる
予め定められた数のバッファを要求し、メッセージを入
れるため使用されたものはアダプタが更に別のメッセー
ジに対して用意ができるために置換されなければならな
い。これが一旦行なわれると、プロセスはメッセージお
よびアダプタにエラーが存在するかどうかを判定する
(ステップ1808)。もしエラーが存在するならば、メッ
セージは捨てられる(ステップ1811)。もしエラーがな
ければ、プロセスはこのメッセージを更に処理するため
論理リンク制御層のソフトウェア・プロセスへ送る用意
のためMACヘッダ1814をストリップ・アウトする(これ
は301におけるCSソフトウェア・プロセスの1つであ
る)。ステップALLOCATE1815においては、メモリーの1
ブロックが1つのメールボックスのメッセージのセット
アップの目的のため割当てられる。従って、ステップ18
16においてメッセージがアセンブルされて、ステップ18
18において論理リンク制御プロセスへ送られる。ステッ
プ1819および1820においては、必要に応じてMACプロセ
スが、アダプタに対する代りのバッファの生じ得る将来
の必要を予期して、空のバッファを得る。
もし送出操作が行なわれたならば、ステップBRECV MAC
TX1804によより送出操作の完了を表示するメッセージ
が受取られる。このメッセージは、どのタイプのメッセ
ージであるか、即ち、メッセージが完了を示すアダプタ
割込みルーチンから受取られたか、あるいはメッセージ
が送出を要求するリンク層制御(LLC)から受取られた
かを判定するため調べられる。メッセージが完了の1つ
であるとすれば、完了戻しメッセージがステップ1810に
おいてアセンブルされ、ステップ1813においてLLCへ送
られる。一旦これが行なわれると、プロセスはその待ち
行列において送出されるメッセージが更にあるかどうか
を判定する(ステップ1824)。もし別のメッセージが存
在すれば、プロセスはステップ1825へ進み、ここで待機
中のメッセージを送ることができるようにアダプタに対
して要求が発される。もしステップ1824において待ち行
列に待機するメッセージがないことが判定されるなら
ば、単にアダプタがもはやあることの実施に使用されて
いないことを示すアダプタ待機ビットがセットされ(ス
テップ1826)、BRECV MAC TXの受取りメールボックス
に対して再び循環する(ステップ1804)。一方、もし送
出のためLLCから要求を受取るならば、送出を行なわな
いMACのソース・アドレスを定義する必要なヘッダがス
テップ1809において加えられ、アダプタ待機ビットがス
テップ1812において調べられて、アダプタが全く何もし
ない間に要求が入ったかどうかを判定する。アダプタが
何かすることを待機していた場合には、プロセスはステ
ップ1812へ進み、直ちに送出要求をこのアダプタへ送出
してアダプタ待機ビットをリセットして(ステップ182
3)、アダプタがこの時使用中であることを表示する。
一方、ステップ1812においてアダプタが既に何かの実施
のため使用中であった時要求が入ったことが判定される
ならば、この要求はアダプタの待ち行列へ加えられる
(ステップ1827)。
次に第19図においては、LAC送出のフローが示される。
ステップ1においては、CPU214a/214bにおけるLAC駆動
ソフトウェアがIORB1903における情報からメモリーへLC
B1902をセットアップする。LCBは要求された処理および
機能およびパラメータを定義する情報を保有し、また送
出されるべきデータを保有するメモリーにおけるバッフ
ァを定義する物理的アドレスおよび範囲を保有する。LC
Bはまた、LACからの戻り状況のためのスペースを含む。
ステップ2においては、LACドライバ1901がLACに対する
入出力ロード指令(IOLD)を発する。この指令により与
えられたアドレスがLCBを指し、「範囲」のパラメータ
は2つのフィールドを有する。即ち、上位の8ビットが
機能コード・フィールドであり、下位の8ビットがLCB
の大きさを定義する。IOLD情報がメガバス216から取出
され、LACハードウェアDMAコントローラにより一時的な
待ち行列1902に置かれる。このため、指令を調べるI/O
ディスパッチ・プロセス(IODISP)を伴う割込みっを生
じ、IOLDが妥当であることを判定して、ディスパッチ・
テーブルを照合するためチャネル番号を用いて処理を行
なう指令を追跡する場所を判定する。この場合、ルーチ
ンは(ALLOCATE呼出しを介して)RAMブロックを取得
し、LCBポインタのIOLD情報をこのブロックに入れ、こ
れを(SENDMSG呼出しを介して)CSプロセスのメールボ
ックスへ送る。LCBポインタのIOLD情報メッセージ・ブ
ロックのフォーマットについては前に述べた。もし待ち
行列に別のI/O指令があるならば、I/Oディスパッチ・プ
ロセスもまたこれらを処理することになる。I/Oディス
パッチ・プロセスにより得られる全てのメッセージ・ブ
ロックは、ある他のプロセスにより(例えば、ステップ
12において)自由状態のメモリーへ戻されなければなら
ない。
ステップ3においては、CSプロセス1905がOSによる実行
(これにアドレス指定されたメールボックスのメッセー
ジの故に)についてスケジュールされ、プロセスがメー
ルボックスのメッセージを検索し、LCBイメージ(LCB
I)1097に対するRAMブロックを保全した後、LCBのDMAを
要求するメモリーDMA要求プロセス1096のメールボック
スに対するメッセージをこのLCBIへ送出する。CSプロセ
ス1095は、もしこの時他にすることがなければ、それ自
体を中断する。
ステップ4においては、メモリーDMA要求プロセス1096
がDMAコントローラをしてLCB1902をLCBI1907にコピーさ
せる。この操作の完了と同時に、DMAコントローラはマ
イクロプロセッサ201に割込みを行ない、このためメモ
リーDMAプロセスを再び関与させる。このプロセスは、
状況情報をCSプロセスにより送出されたメッセージ・ブ
ロックに置き、次いでこのブロックを(SENDMSG呼出し
を介して)指定された戻りメールボックスへ戻す。ステ
ップ第3図のCSプロセスによってブロックのRSUフィー
ルドに最初に置かれた情報は、このステップが完了した
特定のDMA操作を識別することを許容する。
ステップ5においては、CSプロセスがステップ4のメー
ルボックスのメッセージに応答する。LCBIの検査および
L6のバッファ・レンジの合計を計算した後、このプロセ
スはGETBUF呼出しを行なってデータのメッセージを保持
する充分な大きさのRAMバッファを取得し、次いでメー
ルボックスのメッセージをメモリーDMAプロセスに対し
て送出し、主記憶装置からRAMにおけるこのバッファに
対するデータの移動を生じる。典型的なメッセージ・ブ
ロックのフォーマットは第10図および第11図に示される
が、LBバッファ・リストはLCBI1907から得られ、LEVEL
フィールドは零でなければならない。
ステップ6においては、メモリーDMAプロセスがDMAコン
トローラ208をして主記憶装置からのデータをRAMバッフ
ァ209にコピーさせる。このプロセスは、必要に応じて
主記憶装置に対する「収集」タイプのDMAを支持しする
ことになり、LACのRAMに関してはDMAは常に論理的に単
一のバッファにおいて行なわれる。DMAの完了と同時
に、メモリーDMAプロセスが再び関与させられ、メッセ
ージ・ブロックに状況を置いてこれを指定された(CSプ
ロセスの)戻りメールボックスへ戻す。
ステップ7においては、CSプロセスがステップ6のメー
ルボックスのメッセージに応答する。このプロセスはメ
ールボックスのメッセージをメモリーDMAプロセス1906
に対して送出し、これをしてメモリーにおけるLCB1902
で完了する状況をセットさせかつCPU214a/214bに割込み
を生じさせる。暫く後で、LACドライバは完了の状況をI
ORB1903に対してポストする。もしメッセージがIEEE規
格802項規定タイプのLANに送出されるならば、CSプロセ
スはヘッダ・フィールドを生成してこれをRAMバッファ2
09に対して接頭情報として加えなければならない。CSプ
ロセスはまた、そのヘッダを先頭に付すためMACプロセ
スに対するバッファの初めに別のスペースを残しておか
なければならない。CS LLCプロセスは、メールボック
スのメッセージをアセンブルして(ステップ1908)、こ
れを適当なMACプロセスへ送出する(ステップ1909)。
ステップ8においては、MAC送出プロセスは、処理すべ
き高い優先順位の要求があるならば、この要求を待機さ
せることができる。できるだけ早くこのプロセスはこの
要求をアダプタ216〜219へ送る。このアダプタはメッセ
ージ・フレームの接頭付け(SAおよびFC)を完了し、媒
体アクセス・ルールが許容する時、正確にフォーマット
化されたフレーム(前置き部、区切りおよびFCSを含
む)をアダプタのPHYS層の設備を介してLANへ送出す
る。送出が完了した時、アダプタのDMAコントローラが
割込みをLACのマイクロプロセッサ201に対して送出す
る。
ステップ9においては、アダプタ割込みルーチンが、ア
ダプタからの最後の状況を取出すMAC送出プロセスを伴
なう。MAC送出プロセスはRAMバッファを解放する(FREE
BUF呼出し)。もし保留状況の他の送出要求があるなら
ば、プロセスはそれをアダプタへ送ることになる。
第19図においては、ここに述べた送出フローが明瞭にす
るため1筋のフローしか示していないが、実際には如何
なる時も種々の段階において多くの処理されるフローが
存在する。各ソフトウェア・プロセスが書込まれて、可
能ならばマイクロプロセッサを任意に放棄する前にその
未済のタスクの全てを完了しようとするため、送出され
るメッセージ毎に行なわれるコンテクストの切換え数
は、典型的なロードの下では唯1つのメッセージの流れ
を考える時以上に小さい。
検索ったメッセージを処理するため、ある用途が1つの
メッセージがLANから受取られるか、あるいは考えられ
る入力メッセージを予期して1つのバッファを割当てる
ことを欲するかに従って、2つの方式の1つが使用でき
る。第1の即ち読出し通知の場合には、2つのIOLDが発
されねばならず、また2つの割込みがメッセージ毎にCP
Uへ送出されねばならない。第2の場合には、主記憶装
置のスペース要件が、1つのメッセージを待機して結ば
れるパッファの故に大きくなろうとする。
受取りのフローの説明は、CSソフトウェア・プロセスの
対話、IFソフトウェア・プロセス、ハードウェア割込み
および割込みファームウェアが類似するため、送出の場
合程詳細には行なわれない。
受取り操作のためには、送出操作の場合のように、CSソ
フトウェアがメモリー管理からのデータ、パッファを要
求することは必要ない。その代り、IFソフトウェアのMA
Cプロセスは自動的に各アダプタ毎のいくつかの論理バ
ッファを使用でき、このバッファは各々最も大きい可能
性のあるメッセージでも保持するに充分な大きさであ
る。妥当メッセージが受取られた後、MACプロセスのデ
ータ表示ルーチンはバッファを適正なCSプロセスへ通す
ことになる。
第20図に示される読出し通知の場合には、CPUソフトウ
ェアが「読出し通知」LCB2002と呼ばれる一連のLCBを出
力LCBポインタのIOLD指令を介してLACに対して発する。
これらは、CSソフトウェアがメッセージの到着をCPUソ
フトウェアに通知するため使用することができるLCBを
生じるように作用する。メッセージの到着がこの手段に
より示される時、CPUソフトウェアはREAD LCBを生じ
て、主記憶装置においてメッセージが置かれるべき場所
を指定し、また一般に別の読出し通知LCBを発して使用
されたものを置換する。この方式により、データが直接
アプリケーションのバッファに対して入力されることを
可能にする。読出しLCBは、あるソフトウェアが定義す
るLCB自体における表示により、読出し通知LCBから微分
される。
ステップ6においては、CSプロセス2006がそお読出し通
知LCBのリストを照合して、丁度受取った特定のメッセ
ージに関するものがあるかどうかを調べる。もしなけれ
ば、メッセージはRAMに保持される(しかし、適当なLCB
がなくある妥当な時間が経過するならば、プロセスはこ
のメッセージを捨てるよう強制することができる)。通
常の場合には、CSプロセスはメモリー215におけるLCBに
対し送られるべきメッセージのヘッダ1001から情報をア
センブルし、メールボックスのメッセージ・ブロックを
アセンブルし、それをメモリーDMAプロセス2007へ送っ
てこの情報の読出し通知LCB2002に要求する。メッセー
ジ・ブロックにおいては、CPUチャネルおよび割込みLEV
ELフィールドが、チャネル番号の場合のように、元のIO
LDに与えられる情報を反映する。(参照第8図) ステップ7においては、DMAコントローラ2007が情報を
読出し通知LCB2002へ送ってマイクロプロセッサ201に割
込みを行ない、このマイクロプロセッサをしてメモリー
DMAプロセス2007を再び関与させる。このプロセスは、
この時、要求された割込みをCPUに対して送り、これが
行なわれた時ステップ6のメッセージ・ブロックを戻り
メールボックスへ戻す(CSプロセス)。
ステップ8においては、CPUソフトウェアがこの割込み
に応答し、未済のIORBのリストを照合することにより、
あるいは他の手段によって、主記憶装置のどこにこのデ
ータ・メッセージが置かれるべきかを判定する。この
時、LACドライバ2001がメモリーに読出しLCBをセットア
ップする。このLCBは、ステップ6の識別子を保有し
(従って、LACにおけるCSプロセスがどのメッセージを
送るべきかを識別することができる)、またこのメッセ
ージが置かれるべき主記憶装置の領域(単数または複
数)を指定する。
ステップ9においては、LACドライバ2001がIOLDをLCBを
指示するLACに対して発する。通常の方法では、IFソフ
トウェアがLCBポインタ情報2005をCSプロセス2006へ送
る。
ステップ10においては、CSプロセスがメモリーDMAプロ
セスに対する要求を生じてLCBをRAMにおけるLCBI2008に
対してコピーする。
ステップ12においては、CSプロセスはLCBIを調べて読出
し操作が介在することを判定する。このプロセスは、L6
のバツファの全体サイズを計算し、LCB状況に対するレ
ンジの残り値を計算して最後の状況をLCBI2008に置き、
このプロセスがメモリーDMAプロセスに対して要求を発
してデータ・メッセージをRAM209から主記憶装置215へ
移動させ、かつ最後の状況をLCBIからLCBへ送らせてCPU
に割込みを行なわせる。
ステップ13においては、DMAコントローラがデータ2012
をバッファRAMから主記憶装置へコピーして、必要なら
ば、DMAプロセスの制御下で「散布DMA」を行なう。デー
タ転送が成功裡に完了すると、DMAプロセスがメールボ
ックスのメッセージ・ブロックを戻りメールボックスへ
戻す(CSプロセス)。
ステップ14においては、CSプロセスがデータ・バッフ
ァ、LCBIバッファおよびメールボックスのメッセージ・
ブロックを解放することができる。
本文の記述および図面は明瞭にするため1つのフローの
筋しか示さないが、実際にはどの時点における種々の段
階において複数のフローが存在する。各ソフトウェア・
プロセスはマイクロプロセッサの放棄前にその全ての未
済タスクを完了しおうとするように書込まれる故に、受
取られるメッセージ毎に行なわれるコンテクストの切換
え数は、典型的なロードの下では単一のメッセージ筋の
みを考える時よりも小さくなる。
図には示さない読出しLCBの場合には、CPUは読出しLCB
を指示するIOLDを発し、各読出しLCBは最も大きい可能
性のあるメッセージを保持するに充分に大きなシステム
・メモリーのバッファに対するポインタ(単数または複
数)を有する。CPUに対しては、即ちデータおよび最後
の状況が送られた後では、唯1つの割込みしか送る必要
がない。
本発明の一実施態様について示し記したが、当業者は本
発明を実施において多くの変更および修正が可能であ
り、しかも頭書の特許請求の範囲に示した主旨および範
囲に含まれることが理解されよう。従って、本発明は特
許請求の範囲によってのみ限定されるべきものである。
【図面の簡単な説明】
第1図は本発明を用いたLANシステムを示す概略図、第
2図は本発明を示すブロック図、第3図は本発明の作用
構造を示すブロック図、第4図は本発明の分割バス特性
を示す論理的ブロック図、第5図は本発明のLANコント
ローラ帰属バスを示す論理的ブロック図、第6図はLAC
と取付けられたアダプタとの間に使用される物理的イン
ターフェースを示す図、第7図は本発明の複CPUインタ
ーロック特性を示す論理的ブロック図、第8図は主記憶
装置からのLACソフトウェアのローディングおよびダン
ビングのためのLAC制御ブロックを示す概略図、第9図
は始動I/O指令のためのLAN制御ブロックを示す概略図、
第10図はデータ・ブロックを移動するためDMA操作を要
求するために用いられる典型的なメールボックスを示す
概略図、第11図はメッセージを送出するためのハードウ
ェア・フォーマットを示す概略図、第12図および第13図
はRAMにおける一時待ち行列を示す図、第14図はLACコン
トローラにおけるI/O指名プロセスを示すフロー図 第15図および第16図はLACコントローラにおけるDMAプロ
セスを示すフロー図、第17図はLACコントローラに対す
る割込みのためのアダプタ割込みルーチンヲ市スフロー
図、第18図はアダプタの3つの異なるMACプロセスを示
すフロー図、第19図はLAN制御ブロックのLAC送信フロー
を示す概略図、および第20図はLAN制御ブロックのLAC受
取りフローを示す概略図である。 100……局部情報通信網(LAN)、101……局部領域コン
トローラ(LAC)、102……レベル6システム(Haneywel
l社製)、103……メガバス、104……他のLAN、105……
イーサネット(Ethernet)、106……メインフレーム・
コンピュータ・システム(DPS8)、107……新規な多重
回線コントローラ(NMLC)、200……マイクロプロセッ
サ・バス(μ/p)、201……市販のマイクロプロセッサ
(MC 68000)、202……プログラムRAM、203……タイマ
ー装置、206……バス・カプラ、207……メガバス・イン
ターフェース、208……DMAコントローラ、209……デー
タ・バッファRAM、210〜213……アダプタ接続部、214…
…DMAバス、215……主記憶装置、216……メガバス、301
……CSソフトウェア・プロセス、302……システム管理
プロセス、303……ブリッジ通信核OS、304……インター
フェース・ソフトウェア、305……LACSハードウェア/
アダプタ、306……LAN、307……メガバス、401……マイ
クロプロセッサ、402……DRAM、403……タイミング・コ
ントローラ、404……EPROM、405……構成レジスタ、406
……トランシーバ、701、702、704……フリップフロッ
プ、703……プログラム可能アレイ・ロジック(PAL)。 (略号の定義) ACK 肯定応答 CM コントローラ管理(ソフトウェア) CRC 巡回冗長検査 CPU 中央処理装置 CS 通信サービス(ソフトウェア) CSMA 搬送波方向多重アクセス/競合状態 /CD 検出 DMA 直接メモリー・アクセス DA 宛先アドレス DRAM ダイナミックRAM DSAP 宛先サービス・アクセス・ポイント EPROM 消去できるプログラム可能読出し専用メモリー FC 機能コード/フレーム制御 FIFO 先入れ先出し GA グループ・アドレス GET− バッファ取得 BUF ICW 割込み制御ワード IO− IOディスパッチ DISP IORB 入出力要求ブロック ID 識別 IF インターフェース(ソフトウェア) I/O 入力/出力 IOLD 入出力ロード LAC 局部領域コントローラ LACS 局部領域コントローラ・サブシステム LAN 局部情報通信網(LAN) LCB LAN制御バッファ LCBI LAN制御ブロック・イメージ LLC リンク層制御 LME 層管理エンティティ LMI 層管理インターフェース LSAP リンク・サービス・アクセス・ポイント LSI 大規模集積回路 MAC 媒体アクセス・コントローラ MBLME メガバス層管理エンティティ MBZ メモリーの直接メモリー・アクセス MSB 最上位バイト MSB 最上位ビット MTBF 故障平均時間 MTTR 修理平均時間 NAK 否定応答 ORU 最適置換可能装置 OS オペレーティング・システム/開システム OSI 開システム相互接続 PAL プログラム可能アレイ・ロジック PC パーソナル・コンピュータ PIO 物理的入出力 PROM プログラム可能読出し専用メモリー PDU プロトコル・データ装置 QLT 品質論理テスト RAM ランダム・アクセス・メモリー RFU 将来の使用のため保留 RHU ハードウェアの使用のため保留 RINT 割込み再開 RSU ソフトウェアの使用のため保留 SA ソース・アドレス/局アドレス SC 状況完了/サービス呼出し SM システム管理(ソフトウェア) SMDSI システム管理データ・サービス・インターフェ
ース SSAP ソース・サービス・アクセス・ポイント TBD 定義すべき TC 幹線カプラ T&V テストおよび検証 WS ワーク・ステーション
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アレン・シー・ハートル アメリカ合衆国マサチューセッツ州01460, リトルトン,ハートウェル・アベニュー 27 (72)発明者 レオナード・イー・ニーセン アメリカ合衆国マサチューセッツ州01701, フレイミンガム,ポッター・ロード 286

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】データ処理システム(414a、414b、215、2
    16、107)と複数のローカル・エリア・ネットワーク(L
    AN)の任意の1つとの間のデータ通信を提供するコント
    ローラ・システムにおいて、 第1のバス(400)と、 第2のバス(614a、614b)と、 それぞれのローカル・エリア・ネットワークに対応して
    設けられた第3のバス(421a、421b)と、 前記第1のバスに接続されたプロセッサ(401)及び該
    プロセッサ用のメモリ(402、404)と、 前記第2のバスによりアクセスされるよう接続されたメ
    モリ(408b)と、 前記ローカル・エリア・ネットワークの各々とそれに対
    応する第3のバスとの間に設けられ、これらの間でデー
    タの伝送を行うアダプタ(422a、422b)と、 前記第3のバスの各々を前記第2のバスに接続する第1
    の結合ユニット(420a、420b)と、 前記メモリ(408b)と前記データ処理システムとの間の
    データ伝送を前記第2のバスを介して行うように、前記
    データ処理システムを前記第2のバスに接続する第2の
    結合ユニット(407a、407b)と、 前記プロセッサからの制御信号を前記第2のバスに伝送
    するように、前記第1のバスを前記第2のバスに接続す
    る第3の結合ユニット(406a、406b)と を備えていることを特徴とするコントローラ・システ
    ム。
  2. 【請求項2】特許請求の範囲第1項記載のコントローラ
    ・システムにおいて、前記ローカル・エリア・ネットワ
    ーク(100、104、105)の各々は、複数の共有資源手段
    (102、106、WS)を有して、該共有資源手段にシステム
    バス(421a、421b)を介して接続されており、前記アダ
    プタは、前記システムバスの1つにそれぞれ接続されて
    いることを特徴とするコントローラ。
  3. 【請求項3】特許請求の範囲第1項記載のコントローラ
    ・システムにおいて、前記ローカル・エリア・ネットワ
    ークの1つ(100)が複数の第1のタイプの共有資源手
    段(102、106)を有しており、前記ローカル・エリア・
    ネットワークの他の1つ(*ETHERNET 105)が複数の
    第2のタイプの共有資源手段(WS)を有しており、前記
    第1のタイプの共有資源手段と前記第2のタイプの共有
    資源手段とは、異なるアキテクチャを有していることを
    特徴とするコントローラ・システム。
JP62188683A 1986-07-28 1987-07-28 多種類のlanを制御するコントロ−ラ Expired - Lifetime JPH0691535B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US89151186A 1986-07-28 1986-07-28
US891511 1986-07-28

Publications (2)

Publication Number Publication Date
JPS6367044A JPS6367044A (ja) 1988-03-25
JPH0691535B2 true JPH0691535B2 (ja) 1994-11-14

Family

ID=25398323

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62188683A Expired - Lifetime JPH0691535B2 (ja) 1986-07-28 1987-07-28 多種類のlanを制御するコントロ−ラ

Country Status (19)

Country Link
EP (1) EP0255096B1 (ja)
JP (1) JPH0691535B2 (ja)
KR (1) KR930004909B1 (ja)
CN (1) CN1016832B (ja)
AR (1) AR241563A1 (ja)
AU (1) AU591315B2 (ja)
BR (1) BR8703899A (ja)
CA (1) CA1294709C (ja)
DE (1) DE3788540T2 (ja)
DK (1) DK393687A (ja)
ES (1) ES2047483T3 (ja)
FI (1) FI873258A (ja)
IL (1) IL83333A (ja)
MX (1) MX169519B (ja)
NO (1) NO174028C (ja)
NZ (1) NZ221228A (ja)
PH (1) PH25337A (ja)
PT (1) PT85424B (ja)
YU (1) YU142087A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1989008887A1 (en) * 1988-03-11 1989-09-21 Qpsx Communications Ltd. Access security system for switched communications networks
US5367643A (en) * 1991-02-06 1994-11-22 International Business Machines Corporation Generic high bandwidth adapter having data packet memory configured in three level hierarchy for temporary storage of variable length data packets
FR2702578B1 (fr) * 1993-03-12 1995-04-14 Bull Sa Système de communication avec un réseau.
DE19809398A1 (de) * 1998-03-05 1999-09-09 Sel Verteidigungssysteme Gmbh Verfahren zum gemeinsamen Betreiben einer Vielzahl militärischer Führungssysteme, sowie ein System zur Durchführung dieses Verfahrens und eine Nutzerschnittstelle hierfür
CN100451972C (zh) * 2006-09-26 2009-01-14 杭州华三通信技术有限公司 提高多核系统访问临界资源速度的方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4568930A (en) * 1983-01-21 1986-02-04 E-Systems, Inc. Multinodal data communication network
US4574284A (en) * 1983-01-26 1986-03-04 Trw Inc. Communication bus interface unit
US4706081A (en) * 1984-12-14 1987-11-10 Vitalink Communications Corporation Method and apparatus for bridging local area networks

Also Published As

Publication number Publication date
YU142087A (en) 1990-08-31
ES2047483T3 (es) 1994-03-01
AR241563A1 (es) 1992-08-31
EP0255096A3 (en) 1990-02-28
PT85424B (pt) 1994-03-31
CN1016832B (zh) 1992-05-27
PH25337A (en) 1991-04-30
NO174028C (no) 1994-03-02
KR880002334A (ko) 1988-04-30
MX169519B (es) 1993-07-09
FI873258A0 (fi) 1987-07-27
EP0255096A2 (en) 1988-02-03
NO174028B (no) 1993-11-22
IL83333A0 (en) 1987-12-31
AU7621487A (en) 1988-02-04
PT85424A (pt) 1988-07-29
KR930004909B1 (ko) 1993-06-10
CN87106123A (zh) 1988-03-02
AU591315B2 (en) 1989-11-30
IL83333A (en) 1991-07-18
BR8703899A (pt) 1988-04-05
DE3788540T2 (de) 1994-07-28
EP0255096B1 (en) 1993-12-22
DK393687A (da) 1988-01-29
NO873144L (no) 1988-01-29
NO873144D0 (no) 1987-07-27
DK393687D0 (da) 1987-07-28
NZ221228A (en) 1990-09-26
FI873258A (fi) 1988-01-29
DE3788540D1 (de) 1994-02-03
JPS6367044A (ja) 1988-03-25
CA1294709C (en) 1992-01-21

Similar Documents

Publication Publication Date Title
EP0255091B1 (en) Multi-CPU interlock
EP0257348B1 (en) Multiprocessor interrupt rerouting mechanism
US4831620A (en) Controller for controlling multiple LAN types
US4750114A (en) Local area network control block
US4771286A (en) Lan controller having split bus design
JP2889932B2 (ja) 4ポート付きパケットメモリ制御装置を有する二重経路コンピュータ相互接続システム
US5020020A (en) Computer interconnect system with transmit-abort function
EP1131933B1 (en) Systems and methods for network and i/o device drivers
US4720784A (en) Multicomputer network
US5519883A (en) Interbus interface module
JPH04230557A (ja) 直接メモリアクセス・コントローラ
JPH06511338A (ja) 並行パケットバスに関する方法及び装置
KR19990082226A (ko) 버스 구조 위에서의 데이터 전달 및 버스 관리를 위한 응용 프로그래밍 인터페이스
JPH0691535B2 (ja) 多種類のlanを制御するコントロ−ラ
US6466993B1 (en) Method and apparatus for performing transactions rendering between host processors and I/O devices using concurrent non-blocking queuing techniques and I/O bus write operations
US4823124A (en) Lan controller proprietary bus
JPS6360642A (ja) Lanコントロ−ラ専有バス
JP2001237868A (ja) ファイバチャネルノードにおいて効率の良いi/o操作を達成するための方法及びシステム
US20030208635A1 (en) Efficient I/O retry over QDIO
US5287534A (en) Correcting crossover distortion produced when analog signal thresholds are used to remove noise from signal
US6829652B1 (en) I2O ISM implementation for a san based storage subsystem
KR960006472B1 (ko) TICOM IOP 환경에서 FDDI펌웨어(firmware) 구동방법
Morling et al. Design of a high-speed word-switched transport station
Weaver et al. AIRNET: A real-time comunications network for aircraft
JPH05502315A (ja) データ記憶サブシステムとホスト・データ処理システム間のデータ転送方法