JP3260812B2 - 通信システム及びそのメモリ割当て方法 - Google Patents
通信システム及びそのメモリ割当て方法Info
- Publication number
- JP3260812B2 JP3260812B2 JP8266192A JP8266192A JP3260812B2 JP 3260812 B2 JP3260812 B2 JP 3260812B2 JP 8266192 A JP8266192 A JP 8266192A JP 8266192 A JP8266192 A JP 8266192A JP 3260812 B2 JP3260812 B2 JP 3260812B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- packets
- miu
- control
- 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 - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/065—Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2205/00—Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F2205/06—Indexing scheme relating to groups G06F5/06 - G06F5/16
- G06F2205/066—User-programmable number or size of buffers, i.e. number of separate buffers or their size can be allocated freely
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Description
【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は周辺ユニットと他の装置
との間の通信を可能とするインターフェースユニットに
関し、特に周辺ユニットがインターフェースの機能を知
らなくとも周辺ユニットのインターフェースを都合の良
いように設定できるモジュール式インターフェースユニ
ットに関する。
との間の通信を可能とするインターフェースユニットに
関し、特に周辺ユニットがインターフェースの機能を知
らなくとも周辺ユニットのインターフェースを都合の良
いように設定できるモジュール式インターフェースユニ
ットに関する。
【0002】
【従来技術及びその問題点】現在のマーケットでは、プ
リンタ、ファクシミリユニットプロッタ等の周辺ユニッ
トは、多数の異なる実体、すなわちローカルエリアネッ
トワーク、個々のパーソナルコンピュータ、広域ネット
ワーク等と通信できることが必要とされる。その潜在市
場を大幅に減らすような、単一の通信インターフェース
しか持っていない周辺ユニットを供給するのではもはや
不充分である。
リンタ、ファクシミリユニットプロッタ等の周辺ユニッ
トは、多数の異なる実体、すなわちローカルエリアネッ
トワーク、個々のパーソナルコンピュータ、広域ネット
ワーク等と通信できることが必要とされる。その潜在市
場を大幅に減らすような、単一の通信インターフェース
しか持っていない周辺ユニットを供給するのではもはや
不充分である。
【0003】その結果、従来技術の雄編ユニットは、カ
ード搭載型で、他のモジュール式インターフェースカー
ドと単に置き換えるだけで取り替えることができるモジ
ュール式インターフェースユニットを備えている。一般
に、このようなインターフェースユニットにより、周辺
ユニットはパケット構成のデータブロックを周知のやり
方で使用することにより、外部世界と通信することがで
きる。個々のインターフェースはかくしてネットワーク
とのインターフェース機能を実行することができ、ネッ
トワークプロトコルのヘッダを処理することができる。
このようなインターフェースユニットは、インターフェ
ースユニットと接続された周辺ユニットとの間で使用さ
れるインターフェースヘッダを挿入し、修正することが
できる。周辺ユニットを1つのコンピュータと直接通信
させようとするときには、インターフェースユニットは
単にインターフェースユニットのプロトコルを処理する
能力を備えているだけであり、ネットワークプロトコル
のヘッダを処理する能力を備えてはいない(あるいはそ
の必要がない)。
ード搭載型で、他のモジュール式インターフェースカー
ドと単に置き換えるだけで取り替えることができるモジ
ュール式インターフェースユニットを備えている。一般
に、このようなインターフェースユニットにより、周辺
ユニットはパケット構成のデータブロックを周知のやり
方で使用することにより、外部世界と通信することがで
きる。個々のインターフェースはかくしてネットワーク
とのインターフェース機能を実行することができ、ネッ
トワークプロトコルのヘッダを処理することができる。
このようなインターフェースユニットは、インターフェ
ースユニットと接続された周辺ユニットとの間で使用さ
れるインターフェースヘッダを挿入し、修正することが
できる。周辺ユニットを1つのコンピュータと直接通信
させようとするときには、インターフェースユニットは
単にインターフェースユニットのプロトコルを処理する
能力を備えているだけであり、ネットワークプロトコル
のヘッダを処理する能力を備えてはいない(あるいはそ
の必要がない)。
【0004】このようなモジュール式インターフェース
ユニットの一つが本願出願人の2563ファミリのライ
ンプリンタに組み込まれており、1枚の着脱自在のカー
ド上に必要なインターフェース機能を設けている。この
カードはプロセッサとランダムアクセスメモリの両者を
備えており、このメモリはインターフェースユニットの
プロセッサ及びプリンタのプロセッサの両方から共有さ
れアクセス可能になっている。
ユニットの一つが本願出願人の2563ファミリのライ
ンプリンタに組み込まれており、1枚の着脱自在のカー
ド上に必要なインターフェース機能を設けている。この
カードはプロセッサとランダムアクセスメモリの両者を
備えており、このメモリはインターフェースユニットの
プロセッサ及びプリンタのプロセッサの両方から共有さ
れアクセス可能になっている。
【0005】図1はシステムの全体構成を示す高レベル
のブロック図であり、周辺ユニット(PU)20(例え
ばプリンタ)、モジュール式インターフェースユニット
(MIU)22、及びホストコンピュータ24を備えて
いる。PU20とMIU22との間の点線26はMIU
/PUインターフェースを示し、点線28はMIU22
をホストコンピュータ24に接続するI/Oハードウエ
アリンクである。全ての通信は(ある制御線機能に関す
るものを除き)MIU22とPU20との間でMIU2
2の共有メモリを通して行われる。
のブロック図であり、周辺ユニット(PU)20(例え
ばプリンタ)、モジュール式インターフェースユニット
(MIU)22、及びホストコンピュータ24を備えて
いる。PU20とMIU22との間の点線26はMIU
/PUインターフェースを示し、点線28はMIU22
をホストコンピュータ24に接続するI/Oハードウエ
アリンクである。全ての通信は(ある制御線機能に関す
るものを除き)MIU22とPU20との間でMIU2
2の共有メモリを通して行われる。
【0006】図1の従来技術のシステムは、データパケ
ット及び制御パケットを使用して通信し、要求/応答プ
ロトコルを採用している。データパケット及び制御パケ
ットはともにヘッダ部及びバッファ部を備えており、ヘ
ッダの構成は一般に図2に示すようになっている。ヘッ
ダの最初の8バイト(0〜7)は装置固有のものであっ
て、PU20とMIU22との間で情報を交信するため
のものではない。ヘッダ中でそれに続く7つのフィール
ドには特定の通信情報が入っている。バイト8及び9
は、周辺ユニットの表示装置をセットする、自己試験す
る、データを周辺ユニットに読み込む、データを接続さ
れているコンピュータに書き込む等のような、行うべき
処置を示すコマンド及びコマンド修飾子のフィールドで
ある。戻りステータスフィールドがそれに続く。このフ
ィールドにはコマンド及びコマンド修飾子のフィールド
により定義された処置を行った結果を指示するものが入
っている。データ開始フィールドはこの特定のヘッダに
関連付けられたバッファの開始バイトのアドレスを示
す。データ長フィールドはバッファ内の有効データのバ
イト数を示し、最大データ長フィールドはパケットのバ
ッファ中で利用できる全バイト数を示す。
ット及び制御パケットを使用して通信し、要求/応答プ
ロトコルを採用している。データパケット及び制御パケ
ットはともにヘッダ部及びバッファ部を備えており、ヘ
ッダの構成は一般に図2に示すようになっている。ヘッ
ダの最初の8バイト(0〜7)は装置固有のものであっ
て、PU20とMIU22との間で情報を交信するため
のものではない。ヘッダ中でそれに続く7つのフィール
ドには特定の通信情報が入っている。バイト8及び9
は、周辺ユニットの表示装置をセットする、自己試験す
る、データを周辺ユニットに読み込む、データを接続さ
れているコンピュータに書き込む等のような、行うべき
処置を示すコマンド及びコマンド修飾子のフィールドで
ある。戻りステータスフィールドがそれに続く。このフ
ィールドにはコマンド及びコマンド修飾子のフィールド
により定義された処置を行った結果を指示するものが入
っている。データ開始フィールドはこの特定のヘッダに
関連付けられたバッファの開始バイトのアドレスを示
す。データ長フィールドはバッファ内の有効データのバ
イト数を示し、最大データ長フィールドはパケットのバ
ッファ中で利用できる全バイト数を示す。
【0007】図3は、データ開始フィールド、データ長
フィールド及び最大データ長フィールドをあるバッファ
に適用したものを表現している。データ開始フィールド
はバッファ30の最初のアドレスを示す。データ長フィ
ールドはバッファ30にある有効データの長さを示す。
最大データ長フィールドはバッファ30の有効データ及
び空のバッファ領域の両者を含む全データ長を示す。
フィールド及び最大データ長フィールドをあるバッファ
に適用したものを表現している。データ開始フィールド
はバッファ30の最初のアドレスを示す。データ長フィ
ールドはバッファ30にある有効データの長さを示す。
最大データ長フィールドはバッファ30の有効データ及
び空のバッファ領域の両者を含む全データ長を示す。
【0008】上に引用した2563プリンタでは、バッ
ファ30は制御パケット用の定められた長さを持ってお
り、また直接にヘッダに付随している。バッファ30は
ヘッダの指示にしたがってシステム内部で通信されてい
る実質的な情報を保持している。バッファの長さが一定
であることから困難が生じる。現在利用できない、これ
までよりも多くのバッファ空間を使えるようにするとい
う柔軟性は、このシステムでは制約される。バッファの
大きさが一定であるため、システムは周辺ユニットまた
はインターフェースユニットから負わされる要求事項の
変化に対応することもできない。その他に、バッファの
大きさが一定であることから、インターフェースの規格
を新しいネットワーク構成やパケット構造に合わせて拡
張しようとするとき制約が生じる。
ファ30は制御パケット用の定められた長さを持ってお
り、また直接にヘッダに付随している。バッファ30は
ヘッダの指示にしたがってシステム内部で通信されてい
る実質的な情報を保持している。バッファの長さが一定
であることから困難が生じる。現在利用できない、これ
までよりも多くのバッファ空間を使えるようにするとい
う柔軟性は、このシステムでは制約される。バッファの
大きさが一定であるため、システムは周辺ユニットまた
はインターフェースユニットから負わされる要求事項の
変化に対応することもできない。その他に、バッファの
大きさが一定であることから、インターフェースの規格
を新しいネットワーク構成やパケット構造に合わせて拡
張しようとするとき制約が生じる。
【0009】交換可能なインターフェースを設ければ、
周辺ユニット対外界の通信に関する柔軟性は大きくなる
が、インターフェースの機能を周辺ユニットの機能から
切離すことにより問題が生じる。具体的に言えば、周辺
ユニットとそれに関連付けられたインターフェースユニ
ットが外部のネットワークまたはコンピュータと通信す
る前に、ある構成設定入力をインターフェースユニット
に供給して通信を行うことができるようにする必要があ
る。例えば、インターフェースユニットがシリアルポー
トを経由して通信しようとする場合には、ボーレート、
1文字あたりのデータビット数、ハンドシェーキングの
形式、線路の極性等を指定する入力が必要である。典型
的には、これら入力はユーザが周辺ユニットのケースを
開き、マニュアルからの指示にしたがってスイッチをセ
ットすることにより実現されていた。これは最も良くと
も扱いにくく、悪くすると誤りのために通信が全くでき
なくなる。
周辺ユニット対外界の通信に関する柔軟性は大きくなる
が、インターフェースの機能を周辺ユニットの機能から
切離すことにより問題が生じる。具体的に言えば、周辺
ユニットとそれに関連付けられたインターフェースユニ
ットが外部のネットワークまたはコンピュータと通信す
る前に、ある構成設定入力をインターフェースユニット
に供給して通信を行うことができるようにする必要があ
る。例えば、インターフェースユニットがシリアルポー
トを経由して通信しようとする場合には、ボーレート、
1文字あたりのデータビット数、ハンドシェーキングの
形式、線路の極性等を指定する入力が必要である。典型
的には、これら入力はユーザが周辺ユニットのケースを
開き、マニュアルからの指示にしたがってスイッチをセ
ットすることにより実現されていた。これは最も良くと
も扱いにくく、悪くすると誤りのために通信が全くでき
なくなる。
【0010】ローカルエリアネットワーク及び他のマル
チユーザネットワークの利用可能性が増大するに連れ
て、インターフェースユニットがネットワークプロトコ
ルのヘッダ及びトレイラを処理することに対する要求も
増えてきている。これらのヘッダが比較的定則の通信線
路から受信されている限り、あるいはデータの流入を選
択的に制御することができるネットワークから受信され
ている限り、インターフェースユニットはプロトコルヘ
ッダをそれが流れている間に除去することができ、シス
テムの性能は低下しない。しかし、高速「停止不能」デ
ータ流を有する新しいネットワークの出現と共に、この
ような途中でのプロトコルヘッダ処理を経済的に達成す
るのが困難になってきている。従って、インターフェー
スユニットは、このようなネットワークプロトコルヘッ
ダを処理するのに益々複雑になり、高価になってきてい
る。
チユーザネットワークの利用可能性が増大するに連れ
て、インターフェースユニットがネットワークプロトコ
ルのヘッダ及びトレイラを処理することに対する要求も
増えてきている。これらのヘッダが比較的定則の通信線
路から受信されている限り、あるいはデータの流入を選
択的に制御することができるネットワークから受信され
ている限り、インターフェースユニットはプロトコルヘ
ッダをそれが流れている間に除去することができ、シス
テムの性能は低下しない。しかし、高速「停止不能」デ
ータ流を有する新しいネットワークの出現と共に、この
ような途中でのプロトコルヘッダ処理を経済的に達成す
るのが困難になってきている。従って、インターフェー
スユニットは、このようなネットワークプロトコルヘッ
ダを処理するのに益々複雑になり、高価になってきてい
る。
【0011】
【目的】それ故、本発明の目的は、共有メモリの動作が
改善された周辺ユニット用モジュール式インターフェー
スユニットを提供することである。
改善された周辺ユニット用モジュール式インターフェー
スユニットを提供することである。
【0012】本発明の他の目的は、ユーザフレンドリな
構成設定を行うことのできるようにするモジュール式イ
ンターフェースユニットを提供することである。
構成設定を行うことのできるようにするモジュール式イ
ンターフェースユニットを提供することである。
【0013】本発明の更に他の目的は、ネットワークプ
ロトコルのヘッダ及びトレーラの処理を改善したモジュ
ール式インターフェースユニットを提供することであ
る。
ロトコルのヘッダ及びトレーラの処理を改善したモジュ
ール式インターフェースユニットを提供することであ
る。
【0014】
【概要】周辺ユニット(PU)を通信リンクを介して外
界と連絡するパケットベース通信システムが開示され
る。このシステムにはモジュール式インターフェースユ
ニット(MIU)が含まれており、このユニットはPU
及びMIUの両者のプロセッサによって共有されるメモ
リを有している。本システムは、制御パケット、読込み
パケット、書出しパケットを使用し、メモリの利用を最
適化するメモリ割当方法を実行する。本システムはPU
の動作に必要な読込みパケットと書出しパケットとの比
を決定するが、通信リングが書出しパケットを伝達しな
いことになっている場合にはこの比を無視する。通信リ
ンクが書出しパケットを伝達する場合には、この比に従
って共有メモリ内で読込みパケット用の空間と書出しパ
ケット用の空間を割り当てる。本システムはまた、PU
を通したユーザ/キーボード入力により、MIUから質
問及び回答メッセージを与えながらMIU構成を行うこ
とができるようにする装置も有している。この特徴によ
り、PUは、単にMIUの交換とユーザによる構成設定
を行うだけで、多数の異なる通信リンクに適応すること
ができる。本システムは更に、ネットワークプロトコル
のヘッダ及びトレーラを迅速に処理する装置も持ってい
る。これらのヘッダ及びトレーラはデータパケットと共
にストアされており、PUが共有メモリ中のパケットを
アクセスする際には、ポインタを使用して、ネットワー
クプロトコルのヘッダ及びトレーラの部分を無視しなが
らこの様なパケットのデータ部分のみをアクセスできる
ようにする。
界と連絡するパケットベース通信システムが開示され
る。このシステムにはモジュール式インターフェースユ
ニット(MIU)が含まれており、このユニットはPU
及びMIUの両者のプロセッサによって共有されるメモ
リを有している。本システムは、制御パケット、読込み
パケット、書出しパケットを使用し、メモリの利用を最
適化するメモリ割当方法を実行する。本システムはPU
の動作に必要な読込みパケットと書出しパケットとの比
を決定するが、通信リングが書出しパケットを伝達しな
いことになっている場合にはこの比を無視する。通信リ
ンクが書出しパケットを伝達する場合には、この比に従
って共有メモリ内で読込みパケット用の空間と書出しパ
ケット用の空間を割り当てる。本システムはまた、PU
を通したユーザ/キーボード入力により、MIUから質
問及び回答メッセージを与えながらMIU構成を行うこ
とができるようにする装置も有している。この特徴によ
り、PUは、単にMIUの交換とユーザによる構成設定
を行うだけで、多数の異なる通信リンクに適応すること
ができる。本システムは更に、ネットワークプロトコル
のヘッダ及びトレーラを迅速に処理する装置も持ってい
る。これらのヘッダ及びトレーラはデータパケットと共
にストアされており、PUが共有メモリ中のパケットを
アクセスする際には、ポインタを使用して、ネットワー
クプロトコルのヘッダ及びトレーラの部分を無視しなが
らこの様なパケットのデータ部分のみをアクセスできる
ようにする。
【0015】
【実施例】図4を参照すると、本発明を取り入れたシス
テムのブロック図が示されている。PU40はプリン
タ、ファクシミリまたはそれ以外の、ネットワークまた
はホストプロセッサと通信するようになっている周辺ユ
ニットとすることができる。PU40は、マイクロプロ
ヤッサ42により、周知のやり方で制御される。ディス
プレイ44にはキーボード46が設けられており、両者
がマイクロプロセッサ42と対話してユーザ入出力を行
う。不揮発性メモリ48はマイクロプロセッサ42のフ
ァームウエアメモリとなり、図示していない他のメモリ
(RAM、ROM)はマイクロプロセッサ42のための
他の操作記憶を含んでいる。PU機構部分50はマイク
ロプロセッサ42により操作されてPUの機能を果た
す。PU40がプリンタであるとすれば、PU機構部分
50はプリンタ機構及びマイクロプロセッサ42からの
指示に応答してこの機構を制御する電子部分から構成さ
れる。
テムのブロック図が示されている。PU40はプリン
タ、ファクシミリまたはそれ以外の、ネットワークまた
はホストプロセッサと通信するようになっている周辺ユ
ニットとすることができる。PU40は、マイクロプロ
ヤッサ42により、周知のやり方で制御される。ディス
プレイ44にはキーボード46が設けられており、両者
がマイクロプロセッサ42と対話してユーザ入出力を行
う。不揮発性メモリ48はマイクロプロセッサ42のフ
ァームウエアメモリとなり、図示していない他のメモリ
(RAM、ROM)はマイクロプロセッサ42のための
他の操作記憶を含んでいる。PU機構部分50はマイク
ロプロセッサ42により操作されてPUの機能を果た
す。PU40がプリンタであるとすれば、PU機構部分
50はプリンタ機構及びマイクロプロセッサ42からの
指示に応答してこの機構を制御する電子部分から構成さ
れる。
【0016】PU40と外界との間の通信は、PU40
が入出力リンク54を介してネットワークまたはホスト
プロセッサと通信することができるようにするために全
てのインターフェース機能を行うMIU52を通して行
われる。MIU52は、MIU52の動作を制御してそ
のインターフェース機能を行うことができるようにする
マイクロプロセッサ56を有している。マイクロプロセ
ッサ56には、作業データ記憶のためのローカルRAM
(これはないこともある)及びROMが設けられてい
る。MIU52のその他の主要構成要素は、入出力リン
クインターフェースモジュール58及び共有メモリ60
である。
が入出力リンク54を介してネットワークまたはホスト
プロセッサと通信することができるようにするために全
てのインターフェース機能を行うMIU52を通して行
われる。MIU52は、MIU52の動作を制御してそ
のインターフェース機能を行うことができるようにする
マイクロプロセッサ56を有している。マイクロプロセ
ッサ56には、作業データ記憶のためのローカルRAM
(これはないこともある)及びROMが設けられてい
る。MIU52のその他の主要構成要素は、入出力リン
クインターフェースモジュール58及び共有メモリ60
である。
【0017】図4のシステムはパケットベースモードで
動作する。各パケットは、(1)パケット中の、コマン
ド、ステータス及びデータロケーション情報を転送する
部分であるパケットヘッダ、及び(2)パケット中の、デ
ータまたはメッセージを転送する部分であるパケットバ
ッファを含んでいる。
動作する。各パケットは、(1)パケット中の、コマン
ド、ステータス及びデータロケーション情報を転送する
部分であるパケットヘッダ、及び(2)パケット中の、デ
ータまたはメッセージを転送する部分であるパケットバ
ッファを含んでいる。
【0018】入出力リンクインターフェースモジュール
58は、出ていくデータを入出力リンク54に導く働き
及びそこから入ってくるデータを受け取る働きをする。
モジュール58は入ってくるパケットを直接マイクロプ
ロセッサ56に導くか、あるいはDMAサブモジュール
62を介して共有メモリ60に導く。インターフェース
モジュール58が低データレート(例えば9600ビッ
ト/秒のRS232リンク)しかサポートしていない場
合は、DMAサブモジュール62は不用である。この様
な場合には、入ってきたデータパケットは、インターフ
ェースモジュール58にバッファされ、マイクロプロセ
ッサ56により読み出され、次いで共有メモリ60の中
へ移動させられる。これとは反対に、インターフェース
モジュール58が高データレート(例えば、16Mビッ
ト/秒のデータレートのトークンリング)を採用したネ
ットワークにインターフェースを取るように機能する場
合には、DMAサブモジュール62が動作に加わる。こ
の様な場合には、マイクロプロセッサ56は、インター
フェースモジュール58に次の有効パケットを共有メモ
リ60の与えられたアドレスにストアするように指示す
る。このアドレスはDMNAサブモジュール62のDM
Aカウンタ(図示せず)に置かれている。パケットは、
受信されると、共有メモリ60中に指定されたアドレス
から直接ストアされる。これらの動作はDMAサブモジ
ュール62と共有メモリ60との間に伸びている制御
線、アドレス線及びデータ線を介して行われる。同じ構
成の線のグループ66及び68がそれぞれ共有メモリ6
0とマイクロプロセッサ56、共有メモリ66とマイク
ロプロセッサ42の間に設けられている。従って、共有
メモリ60はDMAサブモジュール62から直接に入力
を受信することができ、マイクロプロセッサ42及び5
2の双方から全てアクセスすることができる。その結
果、共有メモリ60は、PU40とMIU52との間で
本質的に共有され、これら2つの装置の間に主要情報経
路を形成する。アービトレーションサブモジュール70
は、2つ以上の実体が共有メモリ60にアクセスしよう
とする場合に、この衝突を調停する。
58は、出ていくデータを入出力リンク54に導く働き
及びそこから入ってくるデータを受け取る働きをする。
モジュール58は入ってくるパケットを直接マイクロプ
ロセッサ56に導くか、あるいはDMAサブモジュール
62を介して共有メモリ60に導く。インターフェース
モジュール58が低データレート(例えば9600ビッ
ト/秒のRS232リンク)しかサポートしていない場
合は、DMAサブモジュール62は不用である。この様
な場合には、入ってきたデータパケットは、インターフ
ェースモジュール58にバッファされ、マイクロプロセ
ッサ56により読み出され、次いで共有メモリ60の中
へ移動させられる。これとは反対に、インターフェース
モジュール58が高データレート(例えば、16Mビッ
ト/秒のデータレートのトークンリング)を採用したネ
ットワークにインターフェースを取るように機能する場
合には、DMAサブモジュール62が動作に加わる。こ
の様な場合には、マイクロプロセッサ56は、インター
フェースモジュール58に次の有効パケットを共有メモ
リ60の与えられたアドレスにストアするように指示す
る。このアドレスはDMNAサブモジュール62のDM
Aカウンタ(図示せず)に置かれている。パケットは、
受信されると、共有メモリ60中に指定されたアドレス
から直接ストアされる。これらの動作はDMAサブモジ
ュール62と共有メモリ60との間に伸びている制御
線、アドレス線及びデータ線を介して行われる。同じ構
成の線のグループ66及び68がそれぞれ共有メモリ6
0とマイクロプロセッサ56、共有メモリ66とマイク
ロプロセッサ42の間に設けられている。従って、共有
メモリ60はDMAサブモジュール62から直接に入力
を受信することができ、マイクロプロセッサ42及び5
2の双方から全てアクセスすることができる。その結
果、共有メモリ60は、PU40とMIU52との間で
本質的に共有され、これら2つの装置の間に主要情報経
路を形成する。アービトレーションサブモジュール70
は、2つ以上の実体が共有メモリ60にアクセスしよう
とする場合に、この衝突を調停する。
【0019】PUからのデータの通り道の決定は全てM
IU52によって行われ、PU40にはMIU52が外
界と通信するのに使用するプロトコルや外界から入って
くるデータの特性に関する知識は組み込まれていない。
その結果、PU40は単にMIU52を変更するだけ
で、どんなネットワークプロトコルや特定のホストプロ
セッサとも接続することができる。
IU52によって行われ、PU40にはMIU52が外
界と通信するのに使用するプロトコルや外界から入って
くるデータの特性に関する知識は組み込まれていない。
その結果、PU40は単にMIU52を変更するだけ
で、どんなネットワークプロトコルや特定のホストプロ
セッサとも接続することができる。
【0020】図4のシステムが使用するパケット構造は
図2に示すものと実質上同じである。多くの形式のパケ
ットが存在するが、4つの特定の形式のパケットを以下
で考慮することにする。それは、これらがPU40とM
IU52との間の通信をサポートするからである。
図2に示すものと実質上同じである。多くの形式のパケ
ットが存在するが、4つの特定の形式のパケットを以下
で考慮することにする。それは、これらがPU40とM
IU52との間の通信をサポートするからである。
【0021】データ読込みパケット−このパケットはデ
ータを外界からPU40に送るのに使用される。PU4
0がプリンタである場合には、データ読込みパケットは
処理されてプリントページに編成されてその後にプリン
トされるべき情報を含んでいることがよくある。
ータを外界からPU40に送るのに使用される。PU4
0がプリンタである場合には、データ読込みパケットは
処理されてプリントページに編成されてその後にプリン
トされるべき情報を含んでいることがよくある。
【0022】データ書出しパケット−このパケットはデ
ータをPU40から外界に渡すのに使用される。PU4
0がプリンタである場合には、主なデータ流れは外界か
らプリンタへ向かうのであってその逆ではないので、デ
ータ書出しパケットが必要になることはほとんどない。
実際、広く使用されているあるインターフェース(つま
り、セントロニクスプロトコル)には、データをプリン
タからホストプロセッサへ渡す能力がない。
ータをPU40から外界に渡すのに使用される。PU4
0がプリンタである場合には、主なデータ流れは外界か
らプリンタへ向かうのであってその逆ではないので、デ
ータ書出しパケットが必要になることはほとんどない。
実際、広く使用されているあるインターフェース(つま
り、セントロニクスプロトコル)には、データをプリン
タからホストプロセッサへ渡す能力がない。
【0023】PU制御パケット−このパケットはPUか
らMIUへの雑多な要求/応答情報転送に使用される。
つまり、PUはこのパケットを使って、制御情報をMI
Uへ渡したり、あるいはMIUに対して制御情報を要求
する。この様なパケットは一般にシステム内の制御及び
ハウスキーピング機能に使用される。
らMIUへの雑多な要求/応答情報転送に使用される。
つまり、PUはこのパケットを使って、制御情報をMI
Uへ渡したり、あるいはMIUに対して制御情報を要求
する。この様なパケットは一般にシステム内の制御及び
ハウスキーピング機能に使用される。
【0024】MIU制御パケット−このパケットはMI
UからPUへの雑多な要求/応答情報転送に使用するこ
とを意図している。つまり、MIUはこのパケットを使
って、制御情報をPUへ渡したり、あるいはPUに対し
て制御情報を要求する。
UからPUへの雑多な要求/応答情報転送に使用するこ
とを意図している。つまり、MIUはこのパケットを使
って、制御情報をPUへ渡したり、あるいはPUに対し
て制御情報を要求する。
【0025】PU制御パケット及びMIU制御パケット
は制御コマンドをシステム内で受け渡すことができるよ
うにする。初期設定中に双方向制御パケット通信を確実
に利用できるようにするため、少なくとも2つのパケッ
トがMIU制御パケットとして割り当てられ、少なくと
も2つの別のパケットがPU制御パケットとして割り当
てられる。共有メモリ60の中のいくつかの領域がこれ
らのパケット用に確保されており、従ってこれらの領域
はここを通して制御情報を常にPU40からMIU52
へ、またはその逆方向に送ることができる「窓」を与え
る。
は制御コマンドをシステム内で受け渡すことができるよ
うにする。初期設定中に双方向制御パケット通信を確実
に利用できるようにするため、少なくとも2つのパケッ
トがMIU制御パケットとして割り当てられ、少なくと
も2つの別のパケットがPU制御パケットとして割り当
てられる。共有メモリ60の中のいくつかの領域がこれ
らのパケット用に確保されており、従ってこれらの領域
はここを通して制御情報を常にPU40からMIU52
へ、またはその逆方向に送ることができる「窓」を与え
る。
【0026】図4のシステムは、PU40またはMIU
52によるパケットの「所有」という概念を利用してい
る。パケットの所有者だけがそのパケットへアクセスで
きる。従って、パケットが共有メモリ60内にある間
は、それらのパケットはその所有者だけからアクセスで
き、他の共有メモリ60をアクセスできるものからはア
クセスできない。共有メモリ60内の「メイルボック
ス」を使用することで、所有権をPU40とMIU52
の間で受け渡される。共有メモリ60内の4バイトがP
Uメイルボックスとして確保されており、また4バイト
がMIUメイルボックスとして確保されている。これら
のメイルボックスは各々当該メイルボックス内に有効デ
ータが存在することを示すフラグビットを備えている。
52によるパケットの「所有」という概念を利用してい
る。パケットの所有者だけがそのパケットへアクセスで
きる。従って、パケットが共有メモリ60内にある間
は、それらのパケットはその所有者だけからアクセスで
き、他の共有メモリ60をアクセスできるものからはア
クセスできない。共有メモリ60内の「メイルボック
ス」を使用することで、所有権をPU40とMIU52
の間で受け渡される。共有メモリ60内の4バイトがP
Uメイルボックスとして確保されており、また4バイト
がMIUメイルボックスとして確保されている。これら
のメイルボックスは各々当該メイルボックス内に有効デ
ータが存在することを示すフラグビットを備えている。
【0027】パケットの所有権は、所有者が当該パケッ
トのヘッダを指すポインタを非所有者のメイルボックス
にストアすることにより転送される。所有者はこの非所
有者のメイルボックス中の前述のフラグを有効状態にセ
ットする。所有者は次に、物理的に接続された制御線を
動作させることにより、この非所有者に割り込みをか
け、非所有者は自分のメイルボックスを調べて、セット
されたフラグを見る。次に、非所有者は自分のメイルボ
ックスに先にストアされたパケットヘッダポインタを取
り出す。この時点でこの非所有者がこのパケットの所有
者となり、以前の所有者は非所有者となる。この段階
で、新しい所有者が今度はこのパケット及びそこにスト
アされているデータにアクセスできる。新しい所有者は
そのメイルボックス内のフラグを繰り足手から、物理的
に接続された制御線を通じて新しい非所有者に割り込
む。これにより、非所有者は、もしそうしたければ、別
のパケットの別のパケットの所有権の新たな転送を開始
することができる。
トのヘッダを指すポインタを非所有者のメイルボックス
にストアすることにより転送される。所有者はこの非所
有者のメイルボックス中の前述のフラグを有効状態にセ
ットする。所有者は次に、物理的に接続された制御線を
動作させることにより、この非所有者に割り込みをか
け、非所有者は自分のメイルボックスを調べて、セット
されたフラグを見る。次に、非所有者は自分のメイルボ
ックスに先にストアされたパケットヘッダポインタを取
り出す。この時点でこの非所有者がこのパケットの所有
者となり、以前の所有者は非所有者となる。この段階
で、新しい所有者が今度はこのパケット及びそこにスト
アされているデータにアクセスできる。新しい所有者は
そのメイルボックス内のフラグを繰り足手から、物理的
に接続された制御線を通じて新しい非所有者に割り込
む。これにより、非所有者は、もしそうしたければ、別
のパケットの別のパケットの所有権の新たな転送を開始
することができる。
【0028】上に述べたように、共有メモリ60はPU
40と外界との間の唯一のデータ経路である。図4のシ
ステムの構成の初期設定で、共有メモリ60の構成設定
が行われる。その記憶空間の内のある部分は(前述のよ
うに)制御パケットに割り当てられ、ある部分はデータ
読込みパケットに割り当てられ、ある部分はデータ書出
しパケットに割り当てられる。ある状況下では、共有メ
モリ60はその記憶空間のどの部分もデータ書出しパケ
ットに割り当てていないことがある(以下で説明す
る)。
40と外界との間の唯一のデータ経路である。図4のシ
ステムの構成の初期設定で、共有メモリ60の構成設定
が行われる。その記憶空間の内のある部分は(前述のよ
うに)制御パケットに割り当てられ、ある部分はデータ
読込みパケットに割り当てられ、ある部分はデータ書出
しパケットに割り当てられる。ある状況下では、共有メ
モリ60はその記憶空間のどの部分もデータ書出しパケ
ットに割り当てていないことがある(以下で説明す
る)。
【0029】それ故、共有メモリ60はデータの通信及
び制御の通信が通る「窓」と見なすことができる。この
窓の一部は外界から入ってくる読込みデータのために確
保され、他の部分は外界へ出て行く書出しデータのため
に確保されて良い。共有メモリ60の一部を上述のよう
に割り当てることにより、圧倒的に多量のデータが一方
向に(例えば、入ってくる方向に)流れている場合でも
双方向通信が常にできることが保証される。従って、窓
の一部が常に出て行く方向のパケット用に確保され、こ
の部分へは入ってくるデータからはアクセスできない。
び制御の通信が通る「窓」と見なすことができる。この
窓の一部は外界から入ってくる読込みデータのために確
保され、他の部分は外界へ出て行く書出しデータのため
に確保されて良い。共有メモリ60の一部を上述のよう
に割り当てることにより、圧倒的に多量のデータが一方
向に(例えば、入ってくる方向に)流れている場合でも
双方向通信が常にできることが保証される。従って、窓
の一部が常に出て行く方向のパケット用に確保され、こ
の部分へは入ってくるデータからはアクセスできない。
【0030】共有メモリ60は記憶空間の割当は図4の
システムを最適に機能させるのに非常に重要だから、シ
ステムの構成の初期設定中に極めて詳細な割当プロセス
が行われる。このプロセスを図5ないし図9のフローチ
ャートに示す。
システムを最適に機能させるのに非常に重要だから、シ
ステムの構成の初期設定中に極めて詳細な割当プロセス
が行われる。このプロセスを図5ないし図9のフローチ
ャートに示す。
【0031】◎共有メモリの割当て MIUは共有メモリ割当て手順を制御する。共有メモリ
割当て手順では最初に先ずPU40から要求された読込
み/書出しパケット比率を決定する。例えば、PU40
がプリンタであれば、PU40は共有メモリ60の読込
みデータパケット空間を圧倒的に多く要求し、書出しデ
ータパケットの要求は、もしあったとしてもごくわずか
である。他方,PU40がファクシミリであれば、その
読込み/書出しデータパケット比率は約50/50であ
る。図5のボックス100に示すように、MIU52は
最初にPU40に読込み/書出しデータパケット比率を
要求する。PU40は予め入力されている読込み/書出
しデータパケット比率をそのファームウエアに尋ねる。
この比率は前に述べたようにPU40の通信の特性に基
づいている(ボックス102)。PU40は次にMIU
52に応答を返し、要求されたデータパケット比率を提
供する(ボックス104)。
割当て手順では最初に先ずPU40から要求された読込
み/書出しパケット比率を決定する。例えば、PU40
がプリンタであれば、PU40は共有メモリ60の読込
みデータパケット空間を圧倒的に多く要求し、書出しデ
ータパケットの要求は、もしあったとしてもごくわずか
である。他方,PU40がファクシミリであれば、その
読込み/書出しデータパケット比率は約50/50であ
る。図5のボックス100に示すように、MIU52は
最初にPU40に読込み/書出しデータパケット比率を
要求する。PU40は予め入力されている読込み/書出
しデータパケット比率をそのファームウエアに尋ねる。
この比率は前に述べたようにPU40の通信の特性に基
づいている(ボックス102)。PU40は次にMIU
52に応答を返し、要求されたデータパケット比率を提
供する(ボックス104)。
【0032】MIU52は、通信リンク54がPU40
からホストへの通信をサポートする場合にのみ、PU4
0から提供される比率を採用する。リンク54がセント
ロニクス形式のものである場合には、このようなPUか
らホストへの通信をサポートしない。この理由により、
共有メモリから何らかの割当てを書出しデータパケット
に与えなければならない理由はない。このような場合に
は、MIU52は100%読込みデータパケット側とす
るという比率を使用する(ボックス106)。この比率
の使用方法は以下の説明から明らかになるだろう。な
お、以下に図5の各ボックスの内容を示す: 100−「MIUが読込み/書出しデータパケット比率
をPUに要求」 102−「PUの通信特性に基づき、PUが読込み/書
出しデータパケット比率を決定」 104−「PUが読込み/書出しデータパケット比率を
MIUに回答」 106−「通信リンクがPUからホストへの通信をサポ
ートする場合には、MIUはPUから提供されたこの比
率を使用。そうでない場合には、MIUは100%読込
みデータパケットであるという比率を使用」
からホストへの通信をサポートする場合にのみ、PU4
0から提供される比率を採用する。リンク54がセント
ロニクス形式のものである場合には、このようなPUか
らホストへの通信をサポートしない。この理由により、
共有メモリから何らかの割当てを書出しデータパケット
に与えなければならない理由はない。このような場合に
は、MIU52は100%読込みデータパケット側とす
るという比率を使用する(ボックス106)。この比率
の使用方法は以下の説明から明らかになるだろう。な
お、以下に図5の各ボックスの内容を示す: 100−「MIUが読込み/書出しデータパケット比率
をPUに要求」 102−「PUの通信特性に基づき、PUが読込み/書
出しデータパケット比率を決定」 104−「PUが読込み/書出しデータパケット比率を
MIUに回答」 106−「通信リンクがPUからホストへの通信をサポ
ートする場合には、MIUはPUから提供されたこの比
率を使用。そうでない場合には、MIUは100%読込
みデータパケットであるという比率を使用」
【0033】図6に示すように、MIU52は次にPU
制御パケットに必要なバッファ空間の長さの決定に進
む。最初に、MIU52はPU40に対して、許容でき
る最短のPU制御パケットバッファ長を提示するように
要求する(ボックス108)。PU40は、これに応答
して自分の制御パケットを調べて制御パケットによって
必要になるバッファ情報から許容できる最短の制御パケ
ット長を決定する。換言すれば、そのバッファ長はPU
が発生した要求制御パケットの最大のサイズに基づいて
いる(ボックス110)。これにより、問題のうちの半
分への回答が出来上がった。
制御パケットに必要なバッファ空間の長さの決定に進
む。最初に、MIU52はPU40に対して、許容でき
る最短のPU制御パケットバッファ長を提示するように
要求する(ボックス108)。PU40は、これに応答
して自分の制御パケットを調べて制御パケットによって
必要になるバッファ情報から許容できる最短の制御パケ
ット長を決定する。換言すれば、そのバッファ長はPU
が発生した要求制御パケットの最大のサイズに基づいて
いる(ボックス110)。これにより、問題のうちの半
分への回答が出来上がった。
【0034】問題の他の局面は、PU制御パケットバッ
ファもMIU52から応答制御パケットバッファを受け
取るのに使用されるということである。従って、最短の
バッファはMIU応答制御パケットバッファの最大長も
受け入れなければならない。従って、PU40がMIU
52に応答して許容できる最短の制御パケットバッファ
長を与える(ボックス112)と、MIU52はこれに
続いてもう1つの最短の許容できる最短の制御パケット
バッファ長の決定を行う。このバッファ長はMIU52
が発生する応答制御パケットバッファの最大のサイズに
基づいている(ボックス114)。
ファもMIU52から応答制御パケットバッファを受け
取るのに使用されるということである。従って、最短の
バッファはMIU応答制御パケットバッファの最大長も
受け入れなければならない。従って、PU40がMIU
52に応答して許容できる最短の制御パケットバッファ
長を与える(ボックス112)と、MIU52はこれに
続いてもう1つの最短の許容できる最短の制御パケット
バッファ長の決定を行う。このバッファ長はMIU52
が発生する応答制御パケットバッファの最大のサイズに
基づいている(ボックス114)。
【0035】この段階で、MIU52は、PU制御パケ
ットバッファの大きさを、(1)PUが決定した許容で
きる最短のPU制御パケットバッファ長と、(2)MI
Uが決定した許容できる最短のPU制御パケットバッフ
ァ長のうちの長いほうに定める。この段階で、MIU5
2はPU制御パケットに対する許容可能な最小バッファ
長を確定できた。 なお、以下に図6の各ボックスの内容を示す: 108−「MIUがPUに対して、許容できる最短のP
U制御パケット長を提示するように要求」 110−「PUが生成するあらゆる要求制御パケットの
最大サイズに基づいて、PU制御パケットバッファ長を
PUが決定」 112−「PUがMIUに対して、許容できる最短のP
U制御パケットバッファ長を返答」 114−「MIUが生成するあらゆる応答制御パケット
の最大のサイズに基づいて、もう1つの許容できる最短
のPU制御パケットバッファ長をMIUが決定」 116−「MIUがPU制御パケットバッファ長を、以
下の2つのうちの大きいほうに決定: 1)PUが決定した許容できる最短のPU制御パケット
バッファ長 2)MIUが決定した許容できる最短のPU制御パケッ
トバッファ長」
ットバッファの大きさを、(1)PUが決定した許容で
きる最短のPU制御パケットバッファ長と、(2)MI
Uが決定した許容できる最短のPU制御パケットバッフ
ァ長のうちの長いほうに定める。この段階で、MIU5
2はPU制御パケットに対する許容可能な最小バッファ
長を確定できた。 なお、以下に図6の各ボックスの内容を示す: 108−「MIUがPUに対して、許容できる最短のP
U制御パケット長を提示するように要求」 110−「PUが生成するあらゆる要求制御パケットの
最大サイズに基づいて、PU制御パケットバッファ長を
PUが決定」 112−「PUがMIUに対して、許容できる最短のP
U制御パケットバッファ長を返答」 114−「MIUが生成するあらゆる応答制御パケット
の最大のサイズに基づいて、もう1つの許容できる最短
のPU制御パケットバッファ長をMIUが決定」 116−「MIUがPU制御パケットバッファ長を、以
下の2つのうちの大きいほうに決定: 1)PUが決定した許容できる最短のPU制御パケット
バッファ長 2)MIUが決定した許容できる最短のPU制御パケッ
トバッファ長」
【0036】図7に示すように、MIU52は今度は自
分の制御パケットバッファ長について同じ決定を行う。
この決定は、ボックス118、120、122、124
及び126に示すように行われる。これは、この決定に
当たって、先ずMIU52が最初にPUの発生する応答
制御パケットバッファの最大のサイズを検討し、次いで
MIUの発生する要求制御パケットバッファの最大のサ
イズを決定するという点を除いては、図6に示すものと
同じである。これら2つのバッファサイズのうちで大き
い方がMIU制御パケットバッファ長を定める。なお、
以下に図7の各ボックスの内容を示す: 118−「MIUがPUに対して、許容できる最短のM
IU制御パケットバッファ長を提示するように要求」 120−「PUが生成するあらゆる要求制御パケットの
最大サイズに基づいて、MIU制御パケットバッファ長
をPUが決定」 122−「PUがMIUに対して、許容できる最短のM
IU制御パケットバッファ長を返答」 124−「MIUが生成するあらゆる要求制御パケット
の最大のサイズに基づいて、もう1つの許容できる最短
のMIU制御パケットバッファ長をMIUが決定」 126−「MIUがMIU制御パケットバッファ長を、
以下の2つのうちの大きいほうに決定: 1)PUが決定した許容できる最短のMIU制御パケッ
トバッファ長 2)MIUが決定した許容できる最短のMIU制御パケ
ットバッファ長」
分の制御パケットバッファ長について同じ決定を行う。
この決定は、ボックス118、120、122、124
及び126に示すように行われる。これは、この決定に
当たって、先ずMIU52が最初にPUの発生する応答
制御パケットバッファの最大のサイズを検討し、次いで
MIUの発生する要求制御パケットバッファの最大のサ
イズを決定するという点を除いては、図6に示すものと
同じである。これら2つのバッファサイズのうちで大き
い方がMIU制御パケットバッファ長を定める。なお、
以下に図7の各ボックスの内容を示す: 118−「MIUがPUに対して、許容できる最短のM
IU制御パケットバッファ長を提示するように要求」 120−「PUが生成するあらゆる要求制御パケットの
最大サイズに基づいて、MIU制御パケットバッファ長
をPUが決定」 122−「PUがMIUに対して、許容できる最短のM
IU制御パケットバッファ長を返答」 124−「MIUが生成するあらゆる要求制御パケット
の最大のサイズに基づいて、もう1つの許容できる最短
のMIU制御パケットバッファ長をMIUが決定」 126−「MIUがMIU制御パケットバッファ長を、
以下の2つのうちの大きいほうに決定: 1)PUが決定した許容できる最短のMIU制御パケッ
トバッファ長 2)MIUが決定した許容できる最短のMIU制御パケ
ットバッファ長」
【0037】次に図8に移ると、MIU52は今や次の
事項を知っている:読込み/書出しデータパケットの比
率、最短PU制御パケットバッファ長及び最短MIU制
御パケットバッファ長。MIU52はMIU52にイン
ストールされている共有メモリ60が全部でどのくらい
あるかを確認し、この値を出発値として使用して、パケ
ットに利用できる共有メモリの量を決定する(ボックス
128)。MIUはこの値からメイルボックスのために
必要な共有メモリ量を差し引き(ボックス130)、専
らMIUが使用するために必要な共有メモリ量も差し引
く(ボックス132)。正味の残りがパケットのために
利用できる共有メモリ量である。最後に、MIU52は
通信リンクの必要条件及び特性に基づいて、読込み及び
書出しデータパケットバッファ長を決定する。例えば、
あるネットワークプロトコルは最短長データパケットを
必要とする。従って、MIU52は、ネットワークプロ
トコルの必要条件に合致するようにデータパケットバッ
ファ長を調節する(ボックス134)。なお、以下に図
7の各ボックスの内容を示す: 128−「MIUがMIUにインストールされている共
有メモリの全体量を確認し、この値をパケットに利用で
きる共有メモリ量の出発値として使用する」 130−「メイルボックスに必要な共有メモリ量をパケ
ットのために利用できる共有メモリ量からMIUが差し
引く」 132−「専らMIUが使用するために必要な共有メモ
リ量をパケットのために利用できる共有メモリ量からM
IUが差し引く。この結果が、パケットのために利用で
きる共有メモリ量である」 134−「MIUが、通信リンクの必要条件に基づい
て、読込みデータパケットバッファ長及び書出しデータ
パケットバッファ長を決定」
事項を知っている:読込み/書出しデータパケットの比
率、最短PU制御パケットバッファ長及び最短MIU制
御パケットバッファ長。MIU52はMIU52にイン
ストールされている共有メモリ60が全部でどのくらい
あるかを確認し、この値を出発値として使用して、パケ
ットに利用できる共有メモリの量を決定する(ボックス
128)。MIUはこの値からメイルボックスのために
必要な共有メモリ量を差し引き(ボックス130)、専
らMIUが使用するために必要な共有メモリ量も差し引
く(ボックス132)。正味の残りがパケットのために
利用できる共有メモリ量である。最後に、MIU52は
通信リンクの必要条件及び特性に基づいて、読込み及び
書出しデータパケットバッファ長を決定する。例えば、
あるネットワークプロトコルは最短長データパケットを
必要とする。従って、MIU52は、ネットワークプロ
トコルの必要条件に合致するようにデータパケットバッ
ファ長を調節する(ボックス134)。なお、以下に図
7の各ボックスの内容を示す: 128−「MIUがMIUにインストールされている共
有メモリの全体量を確認し、この値をパケットに利用で
きる共有メモリ量の出発値として使用する」 130−「メイルボックスに必要な共有メモリ量をパケ
ットのために利用できる共有メモリ量からMIUが差し
引く」 132−「専らMIUが使用するために必要な共有メモ
リ量をパケットのために利用できる共有メモリ量からM
IUが差し引く。この結果が、パケットのために利用で
きる共有メモリ量である」 134−「MIUが、通信リンクの必要条件に基づい
て、読込みデータパケットバッファ長及び書出しデータ
パケットバッファ長を決定」
【0038】共有メモリ割当てルーチンでのMIU52
の最後の動作は、利用可能な共有メモリを実際に割り当
てることである。この割り当てを示すのが図9のボック
ス136である。PU40とMIU52との間の双方向
制御通信を確保するためには、共有メモリ60では少な
くとも2つのPU制御パケット及び2つのMIU制御パ
ケットの割当てが行われる。更に、少なくとも2つの読
込みデータパケットが割り当てられなければならず、書
出しデータパケットは必要に応じて割り当てられる。次
いで、読込み/書出し比率に従って、利用可能な共有メ
モリを使い尽くすまで、読込み及び書出しデータパケッ
トが共有メモリ60内に更に割り当てられる。この手続
きにより、共有メモリ60の最適割当てが出来るように
なり、また条件が変わったときは割当てを変えることに
より、大きな柔軟性がシステムに付与される。なお、図
9のボックス136の内容は次のようになっている。 「MIUは利用可能な共有メモリを以下のように割り当
てる: 少なくとも2つのPU制御パケット 少なくとも2つのMIU制御パケット 少なくとも2つの読込みデータパケット 必要なだけの書出しデータパケット MIUは、読込み/書出し比率にしたがって、読込みデ
ータパケットと書出しデータパケットを、利用可能な共
有メモリを使い尽くすまで割り当てる」
の最後の動作は、利用可能な共有メモリを実際に割り当
てることである。この割り当てを示すのが図9のボック
ス136である。PU40とMIU52との間の双方向
制御通信を確保するためには、共有メモリ60では少な
くとも2つのPU制御パケット及び2つのMIU制御パ
ケットの割当てが行われる。更に、少なくとも2つの読
込みデータパケットが割り当てられなければならず、書
出しデータパケットは必要に応じて割り当てられる。次
いで、読込み/書出し比率に従って、利用可能な共有メ
モリを使い尽くすまで、読込み及び書出しデータパケッ
トが共有メモリ60内に更に割り当てられる。この手続
きにより、共有メモリ60の最適割当てが出来るように
なり、また条件が変わったときは割当てを変えることに
より、大きな柔軟性がシステムに付与される。なお、図
9のボックス136の内容は次のようになっている。 「MIUは利用可能な共有メモリを以下のように割り当
てる: 少なくとも2つのPU制御パケット 少なくとも2つのMIU制御パケット 少なくとも2つの読込みデータパケット 必要なだけの書出しデータパケット MIUは、読込み/書出し比率にしたがって、読込みデ
ータパケットと書出しデータパケットを、利用可能な共
有メモリを使い尽くすまで割り当てる」
【0039】図10は割当て後の共有メモリ60の概略
図であり、各種メイルボックス、制御パケットヘッダ、
データパケットヘッダ及びバッファ領域の関係を示す。
図2から想起されるように、各パケットはそれに関連付
けられた内の有効データの先頭アドレスを示すデータ開
始フィールドを持っている。このアドレスは共有メモリ
60のどこにあっても良い。
図であり、各種メイルボックス、制御パケットヘッダ、
データパケットヘッダ及びバッファ領域の関係を示す。
図2から想起されるように、各パケットはそれに関連付
けられた内の有効データの先頭アドレスを示すデータ開
始フィールドを持っている。このアドレスは共有メモリ
60のどこにあっても良い。
【0040】◎MIU構成設定 図4のシステムの最初の動作時に、MIUは通信リンク
の要求事項を満たすように構成設定されなければならな
い。例えば、インターフェースがシリアルデータリンク
であれば、ボーレート、1文字当たりのデータビット
数、ハンドシェークの形式、線路の極性等を定義しなけ
ればならない。このシステムは、ユーザがPU40にあ
るディスプレイ44及びキーボード46と対話すること
により、MIUを的確に構成設定できるようにしてい
る。
の要求事項を満たすように構成設定されなければならな
い。例えば、インターフェースがシリアルデータリンク
であれば、ボーレート、1文字当たりのデータビット
数、ハンドシェークの形式、線路の極性等を定義しなけ
ればならない。このシステムは、ユーザがPU40にあ
るディスプレイ44及びキーボード46と対話すること
により、MIUを的確に構成設定できるようにしてい
る。
【0041】最初に、ユーザはキーボード46を操作し
て、構成設定要求パケットを開始する。これにより、P
U40がMIUの構成設定を、機会内部に設けられたス
イッチに頼らずに、ディスプレイ44上のテキストプロ
ンプトを使用して行うための手段が提供される。
て、構成設定要求パケットを開始する。これにより、P
U40がMIUの構成設定を、機会内部に設けられたス
イッチに頼らずに、ディスプレイ44上のテキストプロ
ンプトを使用して行うための手段が提供される。
【0042】構成設定要求パケットは共有メモリ60に
置かれ、その所有権はMIU52に渡される。これに応
答して、マイクロプロセッサ56はディスプレイ44を
介してユーザに対して表示する質問及び回答をPU40
に渡す。例えば、質問をディスプレイ44上に提示し、
それに続いて構成設定のためのユーザからの回答の1つ
あるいは複数の推奨回答を提示する。これらの推奨回答
の内の1つをユーザが選択できる。回答が選択される
と、その回答はPU40のマイクロプロセッサ42によ
り共有メモリ60に渡される。次に、マイクロプロセッ
サ56は、回答から生じる構成設定データを不揮発性メ
モリ48にストアするように、マイクロプロセッサ42
に要求する。これにより、PU40に既に設けられてい
る不揮発性メモリ48を入出力構成設定データのために
利用することができ、同じようなメモリをMIU52内
に重複して設ける必要がなくなる。
置かれ、その所有権はMIU52に渡される。これに応
答して、マイクロプロセッサ56はディスプレイ44を
介してユーザに対して表示する質問及び回答をPU40
に渡す。例えば、質問をディスプレイ44上に提示し、
それに続いて構成設定のためのユーザからの回答の1つ
あるいは複数の推奨回答を提示する。これらの推奨回答
の内の1つをユーザが選択できる。回答が選択される
と、その回答はPU40のマイクロプロセッサ42によ
り共有メモリ60に渡される。次に、マイクロプロセッ
サ56は、回答から生じる構成設定データを不揮発性メ
モリ48にストアするように、マイクロプロセッサ42
に要求する。これにより、PU40に既に設けられてい
る不揮発性メモリ48を入出力構成設定データのために
利用することができ、同じようなメモリをMIU52内
に重複して設ける必要がなくなる。
【0043】ユーザがキーボード46により構成設定動
作をこれから行うことを表明する前に、マイクロプロセ
ッサ42はPU40が使用する言語の指示を予め渡して
ある。例えば、PU40がプリンタであれば、その指示
や他のユーザインターフェースは英語、ドイツ語等を用
いることができる。マイクロプロセッサ56は、構成設
定要求に応答して、ディスプレイ44上に同じ言語で質
問及び回答を提示する。
作をこれから行うことを表明する前に、マイクロプロセ
ッサ42はPU40が使用する言語の指示を予め渡して
ある。例えば、PU40がプリンタであれば、その指示
や他のユーザインターフェースは英語、ドイツ語等を用
いることができる。マイクロプロセッサ56は、構成設
定要求に応答して、ディスプレイ44上に同じ言語で質
問及び回答を提示する。
【0044】上述の構成設定機能により、MIU52内
の入出力機能の構成設定を、それについての知識を持っ
ていないPU40を使って行うことができる。この結
果、PU40はどんなMIUとも接続することができ、
なおかつ制御機能を遂行することができる。それは質問
及び回答はMIU52の中のマイクロプロセッサ56に
より制御されるからである。
の入出力機能の構成設定を、それについての知識を持っ
ていないPU40を使って行うことができる。この結
果、PU40はどんなMIUとも接続することができ、
なおかつ制御機能を遂行することができる。それは質問
及び回答はMIU52の中のマイクロプロセッサ56に
より制御されるからである。
【0045】◎ネットワークプロトコルパケットヘッダ
の取り扱い 図4に戻ると、そこに図示してあるシステムは、往々に
してネットワークプロトコルヘッダとトレイラとの間に
「カプセル化されている」データを使用するネットワー
クに接続されなければならないことがある。MIU52
の一つの目的は、PU40が、自分の接続されたネット
ワークが具体的にはどんなプロトコルを必要とするのか
については全く気が付かないようにすることである。更
に、MIU52の他の目的は、最適性能を維持すること
ができるように、カプセル化されたデータを最も迅速に
処理することである。以下の説明から判るように、図4
に示すシステムは、これ以上のデータコピーを行うこと
を必要とせずに、リンクインターフェースモジュール5
8と共有メモリ60との間でそのようなカプセル化され
たパケットを転送する。
の取り扱い 図4に戻ると、そこに図示してあるシステムは、往々に
してネットワークプロトコルヘッダとトレイラとの間に
「カプセル化されている」データを使用するネットワー
クに接続されなければならないことがある。MIU52
の一つの目的は、PU40が、自分の接続されたネット
ワークが具体的にはどんなプロトコルを必要とするのか
については全く気が付かないようにすることである。更
に、MIU52の他の目的は、最適性能を維持すること
ができるように、カプセル化されたデータを最も迅速に
処理することである。以下の説明から判るように、図4
に示すシステムは、これ以上のデータコピーを行うこと
を必要とせずに、リンクインターフェースモジュール5
8と共有メモリ60との間でそのようなカプセル化され
たパケットを転送する。
【0046】共有メモリ60の割当ての説明を行ってい
る際に述べたように、MIU52はネットワークパケッ
ト全体(すなわち、ネットワークプロトコルヘッダ+デ
ータ+ネットワークプロトコルトレイラ)を収容するに
充分な大きさのバッファを作り出す。これを図11に示
してある。図11では、バッファ150(共有メモリ6
0中にある)はリンクインターフェースモジュール58
を経由してネットワークから受け取ったままのパケット
全体を含んで描かれている。ネットワークパケットがリ
ンクインターフェースモジュール58と共有メモリ60
の間を通ると、それに続いて、インターフェースパケッ
トヘッダ152が共有メモリ60のマイクロプロセッサ
56により構築される。インターフェースパケットヘッ
ダ152は図2に示した形を取るが、そこに示したデー
タと図3の従来技術のパケットヘッダ構成に示したもの
とでは、3つの重要な差異がある。具体的には、パケッ
トヘッダ152のデータ開始フィールドはバッファ15
0の中の有効データの最初のアドレス(ネットワークプ
ロトコルヘッダの最初のアドレスではない)を示してい
る。データ長フィールドは有効バッファデータだけの長
さを示し、ネットワークプロトコルヘッダ及び、もし存
在すれば、ネットワークプロトコルトレイラはどちらも
このフィールドに書き込まれている長さとしては勘定に
入れていない。最後に、最大データ長フィールドは、バ
ッファ150に格納し得る有効バッファデータの最大量
を示し、ネットワークプロトコルヘッダ及びトレイラの
記憶空間はどちらも勘定に入れていない。
る際に述べたように、MIU52はネットワークパケッ
ト全体(すなわち、ネットワークプロトコルヘッダ+デ
ータ+ネットワークプロトコルトレイラ)を収容するに
充分な大きさのバッファを作り出す。これを図11に示
してある。図11では、バッファ150(共有メモリ6
0中にある)はリンクインターフェースモジュール58
を経由してネットワークから受け取ったままのパケット
全体を含んで描かれている。ネットワークパケットがリ
ンクインターフェースモジュール58と共有メモリ60
の間を通ると、それに続いて、インターフェースパケッ
トヘッダ152が共有メモリ60のマイクロプロセッサ
56により構築される。インターフェースパケットヘッ
ダ152は図2に示した形を取るが、そこに示したデー
タと図3の従来技術のパケットヘッダ構成に示したもの
とでは、3つの重要な差異がある。具体的には、パケッ
トヘッダ152のデータ開始フィールドはバッファ15
0の中の有効データの最初のアドレス(ネットワークプ
ロトコルヘッダの最初のアドレスではない)を示してい
る。データ長フィールドは有効バッファデータだけの長
さを示し、ネットワークプロトコルヘッダ及び、もし存
在すれば、ネットワークプロトコルトレイラはどちらも
このフィールドに書き込まれている長さとしては勘定に
入れていない。最後に、最大データ長フィールドは、バ
ッファ150に格納し得る有効バッファデータの最大量
を示し、ネットワークプロトコルヘッダ及びトレイラの
記憶空間はどちらも勘定に入れていない。
【0047】その結果、パケットヘッダ152及びバッ
ファ150からなるパケットの所有権がマイクロプロセ
ッサ42に渡され、次いでマイクロプロセッサ42がそ
のパケットにアクセスすると、マイクロプロセッサ42
は有効バッファデータ及びそれを定義するデータフィー
ルドを見るだけである。その結果、マイクロプロセッサ
42はプロトコルヘッダ及びトレイラがバッファ150
に存在することを知らず、後の処理においてそれらを無
視することができる。それ故、ネットワークプロトコル
ヘッダ及びトレイラを入って来るネットワークデータか
ら「剥ぎ取る」のに別に処置を取る必要はなく、それだ
けで「剥ぎ取り」が自動的にかつ動作中に(on the fl
y)処理される。
ファ150からなるパケットの所有権がマイクロプロセ
ッサ42に渡され、次いでマイクロプロセッサ42がそ
のパケットにアクセスすると、マイクロプロセッサ42
は有効バッファデータ及びそれを定義するデータフィー
ルドを見るだけである。その結果、マイクロプロセッサ
42はプロトコルヘッダ及びトレイラがバッファ150
に存在することを知らず、後の処理においてそれらを無
視することができる。それ故、ネットワークプロトコル
ヘッダ及びトレイラを入って来るネットワークデータか
ら「剥ぎ取る」のに別に処置を取る必要はなく、それだ
けで「剥ぎ取り」が自動的にかつ動作中に(on the fl
y)処理される。
【0048】PU40が書出しデータパケットをMIU
52に渡すと、この場合も、ネットワークヘッダ及びト
レイラを付加するのに出ていくデータをコピーすること
は必要とされない。このわけは、マイクロプロセッサ5
6が出ていくネットワークプロトコルのヘッダ及びトレ
イラの情報を挿入するため有効バッファデータ領域15
0(図11)の上及び下に予め空間を確保しているから
である。その結果、マイクロプロセッサ56はその情報
を共有メモリ60のネットワークプロトコルヘッダ及び
トレイラ領域に直接挿入することができる。次に、マイ
クロプロセッサ56はDMAサブモジュール62に、ネ
ットワークプロトコルヘッダ、有効バッファデータ、及
びネットワークプロトコルトレイラをネットワークパケ
ットとしてリンク54上に送出するように指示する。
52に渡すと、この場合も、ネットワークヘッダ及びト
レイラを付加するのに出ていくデータをコピーすること
は必要とされない。このわけは、マイクロプロセッサ5
6が出ていくネットワークプロトコルのヘッダ及びトレ
イラの情報を挿入するため有効バッファデータ領域15
0(図11)の上及び下に予め空間を確保しているから
である。その結果、マイクロプロセッサ56はその情報
を共有メモリ60のネットワークプロトコルヘッダ及び
トレイラ領域に直接挿入することができる。次に、マイ
クロプロセッサ56はDMAサブモジュール62に、ネ
ットワークプロトコルヘッダ、有効バッファデータ、及
びネットワークプロトコルトレイラをネットワークパケ
ットとしてリンク54上に送出するように指示する。
【0049】上述の説明は本発明を例示しただけである
ことを理解しなければならない。当業者は、本発明から
逸脱することなく種々の代案及び修正案を考え出すこと
ができる。従って、本発明は特許請求の範囲の射程に入
るこのような代案、修正案及び変形を全て包含するもの
である。
ことを理解しなければならない。当業者は、本発明から
逸脱することなく種々の代案及び修正案を考え出すこと
ができる。従って、本発明は特許請求の範囲の射程に入
るこのような代案、修正案及び変形を全て包含するもの
である。
【0050】
【効果】以上詳細に説明したように、本願発明によれ
ば、周辺ユニットとインターフェースユニットとの間の
共有メモリの割当てを、状況に合わせて柔軟に行うこと
ができ、またインターフェースの構成の設定が簡単化さ
れ、さらにまたパケットのプロトコルヘッダを取り去る
処理が高速化されるという効果がある。
ば、周辺ユニットとインターフェースユニットとの間の
共有メモリの割当てを、状況に合わせて柔軟に行うこと
ができ、またインターフェースの構成の設定が簡単化さ
れ、さらにまたパケットのプロトコルヘッダを取り去る
処理が高速化されるという効果がある。
【図1】本発明を適用できる図1はシステムの全体構成
を示す高レベルのブロック図。
を示す高レベルのブロック図。
【図2】パケットヘッダの構成を示す図。
【図3】従来技術のパケットヘッダの各フィールドとパ
ケットバッファの各セクションとの関係を示す図。
ケットバッファの各セクションとの関係を示す図。
【図4】本発明の一実施例のシステムのブロック図。
【図5】図4のシステムの動作を説明するためのフロー
チャート。
チャート。
【図6】図4のシステムの動作を説明するためのフロー
チャート。
チャート。
【図7】図4のシステムの動作を説明するためのフロー
チャート。
チャート。
【図8】図4のシステムの動作を説明するためのフロー
チャート。
チャート。
【図9】図4のシステムの動作を説明するためのフロー
チャート。
チャート。
【図10】本発明の一実施例における共有メモリの割当
ての例を示す図。
ての例を示す図。
【図11】本発明の一実施例のパケットヘッダの各フィ
ールドとパケットバッファの各セクションとの関係を示
す図。
ールドとパケットバッファの各セクションとの関係を示
す図。
20、40:周辺ユニット(PU) 22、52:モジュール式インターフェースユニット
(MIU) 24:ホストコンピュータ 26:PU/MIUインターフェース 28:I/Oハードウエアリンク 30:バッファ 42、56:マイクロプロセッサ 44:ディスプレイ 46:キーボード 48:不揮発性メモリ 50:PU機構部分 54:入出力リンク 58:入出力リンクインターフェースモジュール 60:共有メモリ 62:DMAサブモジュール 70:アービトレーションサブモジュール
(MIU) 24:ホストコンピュータ 26:PU/MIUインターフェース 28:I/Oハードウエアリンク 30:バッファ 42、56:マイクロプロセッサ 44:ディスプレイ 46:キーボード 48:不揮発性メモリ 50:PU機構部分 54:入出力リンク 58:入出力リンクインターフェースモジュール 60:共有メモリ 62:DMAサブモジュール 70:アービトレーションサブモジュール
───────────────────────────────────────────────────── フロントページの続き (72)発明者 パトリック・ダブリュー・ファルガム アメリカ合衆国アイダホ州ボイジィ・バ ドリィ・ドライブ11288 (72)発明者 ポール・アール・ソーレンソン アメリカ合衆国カリフォルニア州サン・ ディエゴ・ラクエンタ・ドライブ5561 (72)発明者 ジェイムズ・ジー・ウエント アメリカ合衆国カリフォルニア州アーバ ーン・カレッジ・ウエイ197 (56)参考文献 特開 昭63−292747(JP,A) 特開 平2−94942(JP,A) 特開 昭55−85158(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 13/00 G06F 13/10 H04L 29/00
Claims (6)
- 【請求項1】通信リンクを介して周辺ユニットを外部の
システムにリンクするため、モジュール式インターフェ
ースユニットを設け、前記モジュール式インターフェー
スユニットは前記周辺ユニットのマイクロプロセッサと
前記モジュール式インターフェースユニットのマイクロ
プロセッサから共有されるメモリを含むとともに、制御
パケット、読込みパケット及び書出しパケットを使用す
るパケットベース通信システムの、下記の(a)乃至
(c)のステップを設けてなるメモリ割当て方法: (a)前記周辺ユニットの動作に必要とされる読込みパ
ケット対書出しパケットの比率を求める; (b)前記通信リンクが前記周辺ユニットからの書出し
パケットを送信するかどうかを判定する; (c)前記通信リンクが前記書出しパケットを送信しな
い場合は前記比率を無視し、前記メモリ内に所定のパケ
ット空間の割り当てを行い、前記通信リンクが前記書出
しパケットを送信する場合は前記比率に従って前記メモ
リ内に読込みパケット空間及び書出しパケット空間を割
り当てる。 - 【請求項2】前記モジュール式インターフェースユニッ
トと前記周辺ユニットは要求制御パケットを送信し、応
答制御パケットを受信し、これらパケットは夫々ヘッダ
及びバッファを含んでおり、以下の(d)乃至(f)の
ステップをさらに含む、請求項1に記載のメモリ割当て
方法: (d)(i)前記周辺ユニットによって生成され、前記
モジュール式インターフェースユニットへ送信される要
求制御パケットと、 (ii)前記周辺ユニットによって受信される、前記モ
ジュール式インターフェースユニットからの応答制御パ
ケットを収容するために要求される最大バッファサイズ
及び、 (iii)前記モジュール式インターフェースユニット
によって生成され、前記周辺ユニットへ送信される要求
制御パケットと、 (iv)前記モジュール式インターフェースユニットに
よって受信される、前記周辺ユニットからの応答制御パ
ケットを収容するために要求される最大バッファサイズ
を求める; (e)前記(i)及び(ii)の制御パケットのうちサ
イズの大きい方を収容するのに十分なサイズの第1の最
大バッファサイズと、前記(iii)及び(iv)の制
御パケットのうちサイズの大きい方を収容するのに十分
なサイズの第2の最大バッファサイズとを選択する; (f)前記第1の最大バッファサイズに等しい最小周辺
ユニット制御パケットバッファサイズと、前記第2の最
大バッファサイズに等しい最小モジュール式インターフ
ェースユニット制御パケットバッファサイズを、前記メ
モリに割り当てる。 - 【請求項3】前記ステップ(d)において、 前記周辺ユニットは、前記(i)及び(iv)の制御パ
ケットのバッファ要求を調べることによって最大バッフ
ァサイズを示し、 前記モジュール式インターフェースユニットは、前記
(ii)及び(iii)の制御パケットのバッファ要求
を調べることによって最大バッファサイズを示すことを
特徴とする、請求項2に記載の方法。 - 【請求項4】前記ステップ(e)において、 前記モジュール式インターフェースユニットが、前記
(i)及び(ii)の制御パケットに関連する前記最大
バッファサイズのうち大きい方を前記第1の最大バッフ
ァサイズとして選択し、前記(iii)及び(iv)の
制御パケットに関連する前記最大バッファサイズのうち
大きい方を前記第2の最大バッファサイズとして選択す
ることを特徴とする、請求項3に記載の方法。 - 【請求項5】(g)前記ステップ(f)において決定さ
れた最小バッファサイズを少なくとも有する少なくとも
2つのモジュール式インターフェースユニット制御パケ
ット及び少なくとも2つの周辺ユニット制御パケットを
収容するために、前記メモリの一部を割り当てるステッ
プをさらに備えることを特徴とする、請求項4に記載の
方法。 - 【請求項6】(h)パケット送信がいつ有効になったか
を周辺ユニット及びモジュール式インターフェースユニ
ットが認識できるようにするために使用される各ユニッ
トのメイルボックスとして前記メモリの一部を割り当て
るステップをさらに含むことを特徴とする、請求項5に
記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/663,977 US5197128A (en) | 1991-03-04 | 1991-03-04 | Modular interface |
US663,977 | 1991-03-04 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001319201A Division JP3602089B2 (ja) | 1991-03-04 | 2001-10-17 | 通信システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0589013A JPH0589013A (ja) | 1993-04-09 |
JP3260812B2 true JP3260812B2 (ja) | 2002-02-25 |
Family
ID=24664001
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8266192A Expired - Fee Related JP3260812B2 (ja) | 1991-03-04 | 1992-03-04 | 通信システム及びそのメモリ割当て方法 |
JP2001319201A Expired - Fee Related JP3602089B2 (ja) | 1991-03-04 | 2001-10-17 | 通信システム |
JP2003007295A Expired - Fee Related JP3522266B2 (ja) | 1991-03-04 | 2003-01-15 | パケットベースシステム |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001319201A Expired - Fee Related JP3602089B2 (ja) | 1991-03-04 | 2001-10-17 | 通信システム |
JP2003007295A Expired - Fee Related JP3522266B2 (ja) | 1991-03-04 | 2003-01-15 | パケットベースシステム |
Country Status (4)
Country | Link |
---|---|
US (1) | US5197128A (ja) |
EP (1) | EP0505764B1 (ja) |
JP (3) | JP3260812B2 (ja) |
DE (1) | DE69230954T2 (ja) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1993019423A1 (en) * | 1992-03-18 | 1993-09-30 | Intersoft Systems, Inc. | Data collection interface system |
EP0598502B1 (en) * | 1992-11-18 | 1998-04-29 | Canon Kabushiki Kaisha | Method and apparatus for providing a bi-directional interface between a local area network and a peripheral |
US5647056A (en) * | 1992-11-18 | 1997-07-08 | Canon Information Systems, Inc. | Method and apparatus for managing access to a networked peripheral |
US5613160A (en) * | 1992-11-18 | 1997-03-18 | Canon Kabushiki Kaisha | In an interactive network board, method and apparatus for placing a network peripheral in a default configuration |
JP3305042B2 (ja) * | 1993-04-23 | 2002-07-22 | キヤノン株式会社 | 印刷制御装置 |
JPH0784918A (ja) * | 1993-09-17 | 1995-03-31 | Fujitsu Ltd | データ入替回路 |
DE69428512T2 (de) * | 1993-12-30 | 2002-05-29 | Ncr Int Inc | Konfigurationsverfahren für Rechnerperipheriegeräte |
US5829042A (en) | 1996-02-15 | 1998-10-27 | Hewlett-Packard Company | Prefetch operation for network peripheral device having shared memory |
US6038621A (en) * | 1996-11-04 | 2000-03-14 | Hewlett-Packard Company | Dynamic peripheral control of I/O buffers in peripherals with modular I/O |
DE19708755A1 (de) * | 1997-03-04 | 1998-09-17 | Michael Tasler | Flexible Schnittstelle |
US5950014A (en) * | 1997-03-21 | 1999-09-07 | Lsi Logic Corporation | Methodology for pull model invocation |
US6477584B1 (en) | 1997-03-21 | 2002-11-05 | Lsi Logic Corporation | Message FIFO empty early warning method |
US6061755A (en) * | 1997-04-14 | 2000-05-09 | International Business Machines Corporation | Method of layering cache and architectural specific functions to promote operation symmetry |
US5916309A (en) * | 1997-05-12 | 1999-06-29 | Lexmark International Inc. | System for dynamically determining the size and number of communication buffers based on communication parameters at the beginning of the reception of message |
US6046817A (en) * | 1997-05-12 | 2000-04-04 | Lexmark International, Inc. | Method and apparatus for dynamic buffering of input/output ports used for receiving and transmitting print data at a printer |
US6031624A (en) * | 1997-09-08 | 2000-02-29 | Lexmark International, Inc. | Method and apparatus for adaptive data buffering in a parallelized printing system |
US6078402A (en) * | 1997-09-24 | 2000-06-20 | Hewlett-Packard Company | Accessory based resource offset mechanism for a PCI bus in a printer |
JP2000132355A (ja) * | 1998-10-28 | 2000-05-12 | Fujitsu Ltd | 情報処理装置及び情報処理方法並びにコンピュータ読み取り可能な記録媒体 |
US6286073B1 (en) * | 1998-12-01 | 2001-09-04 | Lucent Technologies Inc. | Integrated circuit interface between a personal computer and an external device |
US6341315B1 (en) * | 1999-02-26 | 2002-01-22 | Crossroads Systems, Inc. | Streaming method and system for fiber channel network devices |
AUPQ056099A0 (en) * | 1999-05-25 | 1999-06-17 | Silverbrook Research Pty Ltd | A method and apparatus (pprint01) |
US20030105977A1 (en) * | 2001-12-05 | 2003-06-05 | International Business Machines Corporation | Offload processing for secure data transfer |
US20030105952A1 (en) * | 2001-12-05 | 2003-06-05 | International Business Machines Corporation | Offload processing for security session establishment and control |
US7274477B2 (en) * | 2003-01-24 | 2007-09-25 | Hewlett-Packard Development Company, L.P. | Printer with access to remote file system |
US20040246516A1 (en) * | 2003-06-03 | 2004-12-09 | Curtis Reese | Hard imaging systems, hard imaging management devices, hard imaging devices, articles of manufacture, hard imaging device operational methods, and hard imaging device configuration methods |
GB2405773B (en) * | 2003-09-02 | 2006-11-08 | Siemens Ag | A method of controlling provision of audio communication on a network |
US7340597B1 (en) * | 2003-09-19 | 2008-03-04 | Cisco Technology, Inc. | Method and apparatus for securing a communications device using a logging module |
US20100309510A1 (en) * | 2009-06-09 | 2010-12-09 | Accipiter Innovations, Llc | Systems, methods and devices for printing from a mobile device |
US9019535B1 (en) | 2009-06-09 | 2015-04-28 | Breezyprint Corporation | Secure mobile printing from a third-party device |
WO2012039710A1 (en) * | 2010-09-22 | 2012-03-29 | Hewlett-Packard Development Company, L.P. | Modular interface systems and methods |
US10740228B2 (en) * | 2017-05-18 | 2020-08-11 | Sandisk Technologies Llc | Locality grouping during garbage collection of a storage device |
US10901892B2 (en) * | 2017-05-18 | 2021-01-26 | Western Digital Technologies, Inc. | Locality grouping during garbage collection with flush of buffered write data upon completion of garbage collection operation |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4603385A (en) * | 1983-05-11 | 1986-07-29 | International Business Machines Corp. | Integrated data processing/text processing system having a terminal with dual emulation and enhanced function capabilities |
JPH0642690B2 (ja) * | 1984-05-08 | 1994-06-01 | 日本電気株式会社 | パケット信号の伝送方式 |
US4731735A (en) * | 1985-09-30 | 1988-03-15 | International Business Machines Corporation | Multilingual processing for screen image build and command decode in a word processor, with full command, message and help support |
US4847812A (en) * | 1986-09-18 | 1989-07-11 | Advanced Micro Devices | FIFO memory device including circuit for generating flag signals |
US4924456A (en) * | 1986-09-18 | 1990-05-08 | Racal Data Communications, Inc. | High speed modem |
US4943942A (en) * | 1986-09-19 | 1990-07-24 | Advanced Micro Devices | Full-duplex modem using a single processor |
DE3639571A1 (de) * | 1986-11-20 | 1988-06-01 | Standard Elektrik Lorenz Ag | Verfahren und schaltungsanordnung zum urladen eines zweitrechners |
JPH089254B2 (ja) * | 1987-04-08 | 1996-01-31 | ブラザー工業株式会社 | プリンタ |
JPH01109843A (ja) * | 1987-10-23 | 1989-04-26 | Hitachi Ltd | 次中継ブリツジ指定法 |
US5065343A (en) * | 1988-03-31 | 1991-11-12 | Yokogawa Electric Corporation | Graphic display system for process control using a plurality of displays connected to a common processor and using an fifo buffer |
US5086503A (en) * | 1988-04-08 | 1992-02-04 | International Business Machines Corporation | Methods of remapping a keyboard within a computer system |
JPH0294942A (ja) * | 1988-09-30 | 1990-04-05 | Seiko Epson Corp | データ通信装置 |
EP0369934A3 (en) * | 1988-11-14 | 1990-08-22 | Compuadd Corporation | User-configurable setups in non-volatile storage |
FR2645989A1 (fr) * | 1989-04-17 | 1990-10-19 | Bull Sa | Coupleur multifonctions entre une unite centrale d'ordinateur et les differents organes peripheriques de ce dernier |
US5010514A (en) * | 1989-04-26 | 1991-04-23 | International Business Machines Corporation | Structured fields at a data stream boundary for delimiting files |
JPH02310649A (ja) * | 1989-05-26 | 1990-12-26 | Hitachi Ltd | 受信フレーム転送方式および通信制御装置 |
GB9000643D0 (en) * | 1990-01-11 | 1990-03-14 | Racal Milgo Ltd | Computer bus system |
US5070528A (en) * | 1990-06-29 | 1991-12-03 | Digital Equipment Corporation | Generic encryption technique for communication networks |
-
1991
- 1991-03-04 US US07/663,977 patent/US5197128A/en not_active Expired - Lifetime
-
1992
- 1992-02-28 DE DE69230954T patent/DE69230954T2/de not_active Expired - Fee Related
- 1992-02-28 EP EP92103446A patent/EP0505764B1/en not_active Expired - Lifetime
- 1992-03-04 JP JP8266192A patent/JP3260812B2/ja not_active Expired - Fee Related
-
2001
- 2001-10-17 JP JP2001319201A patent/JP3602089B2/ja not_active Expired - Fee Related
-
2003
- 2003-01-15 JP JP2003007295A patent/JP3522266B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0589013A (ja) | 1993-04-09 |
JP2003258921A (ja) | 2003-09-12 |
JP2002204282A (ja) | 2002-07-19 |
US5197128A (en) | 1993-03-23 |
EP0505764A3 (en) | 1993-10-20 |
EP0505764A2 (en) | 1992-09-30 |
EP0505764B1 (en) | 2000-04-26 |
DE69230954T2 (de) | 2000-08-17 |
JP3522266B2 (ja) | 2004-04-26 |
JP3602089B2 (ja) | 2004-12-15 |
DE69230954D1 (de) | 2000-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3260812B2 (ja) | 通信システム及びそのメモリ割当て方法 | |
TW384428B (en) | Method and apparatus for dynamically managing communications buffers used with packet communication data for a printer | |
US6502144B1 (en) | Data processing apparatus with communication feature, and communication method in a data processing apparatus | |
US7162566B2 (en) | USB-based host-to-host networking method | |
EP0950958A1 (en) | Peripheral device and control method for the same | |
US6038621A (en) | Dynamic peripheral control of I/O buffers in peripherals with modular I/O | |
US5555374A (en) | System and method for coupling a plurality of peripheral devices to a host computer through a host computer parallel port | |
JP2019016063A (ja) | データ転送装置及びデータ転送方法 | |
US7489414B2 (en) | Image forming system and image forming apparatus | |
US20060082827A1 (en) | Network printer to control a print queue and method thereof | |
JP2001094613A (ja) | 通信制御装置、方法および記録媒体 | |
KR100602204B1 (ko) | 메인 제어부와 부 제어부로 구성된 제어 시스템 및 버스연결 방법 | |
US20090180137A1 (en) | Device setting system, device setting method, and computer-readable recording medium saving device setting program | |
JP2000148436A (ja) | 課金管理装置、インターフェース装置、システム、及び記憶媒体 | |
KR100306749B1 (ko) | 네트워크 프린터 시스템 | |
KR100688477B1 (ko) | Usb 디바이스 내 엔드포인트들의 메모리 관리 방법 | |
JP2000330703A (ja) | 記憶機構を備えたUSB(UniversalSerialBus)ヒューマンインターフェース装置 | |
JPH08110883A (ja) | 非scsiデバイスのアクセス方法 | |
JP3878785B2 (ja) | ネットワークインタフェース回路 | |
JP2002051100A (ja) | 中継装置およびその制御方法 | |
JP3457084B2 (ja) | パケットバス制御装置 | |
JP2000165467A (ja) | ユニバーサル・シリアルバス変換システム | |
JP2001325209A (ja) | データ転送制御装置 | |
JP2006244194A (ja) | Usb制御装置、デバイス制御装置 | |
JPS6029861A (ja) | 周辺装置インタ−フエイス |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |