JP2002541693A - 高性能通信コントローラ - Google Patents

高性能通信コントローラ

Info

Publication number
JP2002541693A
JP2002541693A JP2000609900A JP2000609900A JP2002541693A JP 2002541693 A JP2002541693 A JP 2002541693A JP 2000609900 A JP2000609900 A JP 2000609900A JP 2000609900 A JP2000609900 A JP 2000609900A JP 2002541693 A JP2002541693 A JP 2002541693A
Authority
JP
Japan
Prior art keywords
processor
request
task
data
coupled
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.)
Granted
Application number
JP2000609900A
Other languages
English (en)
Other versions
JP2002541693A5 (ja
JP4530547B2 (ja
Inventor
イェイビン,ヨラム
ウェイッツ,エリエザー
クルニック,モティ
シャレブ,アビ
ハガイ,アビ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Publication of JP2002541693A publication Critical patent/JP2002541693A/ja
Publication of JP2002541693A5 publication Critical patent/JP2002541693A5/ja
Application granted granted Critical
Publication of JP4530547B2 publication Critical patent/JP4530547B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 高速複数プロトコル・データ・ストリームを処理するための通信コントローラであって、ストリームは、フレームからなる。通信コントローラは、2つのプロセッサを有し、第2プロセッサは第1プロセッサを初期化し、高水準管理およびプロトコル機能を処理し、第1プロセッサは、データ・ストリーム・トランザクションを処理する。第1プロセッサと第2プロセッサは、2つの外部バスと結合される。第1プロセッサは、タスクを実行することにより、フレームのトランザクションを処理する。第1プロセッサは、フレーム全体を処理した場合には、第1外部バスと結合される外部装置、または通信チャネルからフレームの一部分を取り出す必要がある場合には、第2外部バスと結合される外部装置のいずれかから、情報を取り出す必要があるときに、タスク・スイッチを実施する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】
本発明は一般に通信コントローラに関し、さらに詳しくは高性能通信コントロ
ーラに関する。
【0002】
【従来の技術】
通信コントローラは通常、ネットワーク製品や通信製品に見出される。通信
コントローラは、種々の多層通信プロトコルに従ってデータ・ストリームを処理
し、1つの通信層に関連するデータ・パケットを、別の通信層に関連するデータ
・パケットに変換する。
【0003】 通信プロセッサが、種々の通信プロトコルに関連するデータ・ストリームを処
理するとき、通信コントローラは、各通信プロトコルを別個のモードで処理し、
種々のモード間をスキップする。
【0004】 通信コントローラは、高速データ・ストリームを処理する必要がある。通信コ
ントローラはさらに、種々の多層通信プロトコルに従って、データ・ストリーム
を処理する必要がある。高速データ・ストリームを処理するため、通信コントロ
ーラは、百MIPS単位以上など、極めて大きな帯域幅を有する必要がある。種
々の通信プロトコルに従って、データを特に極めて高速で受信、送信および処理
するためには、通信コントローラは、種々のモード間を極めて高速にスキップす
る必要がある。
【0005】 図1は、先行技術に基づく旧通信チャネル1180,旧外部メモリ・バンク1
100および旧通信コントローラ101の簡易概略図である。旧通信コントロー
ラ101は、モトローラのMC68360チップと類似する。旧通信コントロー
ラ101は、旧スケジューラ1050,旧直接メモリ・アクセス・コントローラ
(旧第1DMA)1060,旧第1メモリ・バンク1070,旧第1プロセッサ
1090,旧命令メモリ・バンク1130,旧第2プロセッサ1100および旧
インタフェース1160からなる。旧通信コントローラ101は、旧外部メモリ
・バンク1110と結合される。旧通信コントローラ101はまた、別の外部メ
モリ・バンク,ホスト・システムおよび他のプロセッサなど(これらに限定され
ない)、他の外部装置とも結合できる。旧通信コントローラ101は、複数の外
部メモリ・バンクと結合できる。説明の便宜上、複数のメモリ・バンクを、旧外
部メモリ1110という。
【0006】 旧スケジューラ1050は、入力1054,1056および入出力(I/O)
1052を有する。旧第1DMA1060は、入力1066,出力1068およ
びI/O1062,1064を有する。旧第1メモリ・バンク1070は、I/
O1072,1074,1076を有する。旧第1プロセッサ1090は、入力
1095,出力1096およびI/O1092,1094,1098を有する。
旧第2プロセッサ1100は、I/O1102を有する。旧外部メモリ・バンク
1110は、I/O1116を有する。旧インタフェース1060は、I/O1
162,1165を有する。
【0007】 N個の旧周辺装置PR(I)からPR(N)1141から1178は、一括し
て1140とされ、旧周辺バス1112と結合される。N個の旧周辺装置114
0は、旧通信コントローラ101内に配置される。N個の周辺装置1140は、
旧通信コントローラ101を、複数の旧通信チャネルCC(I)からCC(K)
1181から1188(1180と一括表記)と結合する。旧通信チャネル11
80は、I/O(1182と一括表記)を有する。旧周辺装置は、I/O(11
44と一括表記)を有する。I/O1182は、I/O1144と結合される。
【0008】 旧周辺装置1140のI/O1142,旧第1メモリ・バンク1070のI/
O1072および旧スケジューラ1150の入力1054は、旧周辺バス111
2と結合される。旧第1DMA1060のI/O1062,旧外部メモリ・バン
ク1116のI/O1116,旧第2プロセッサ1110のI/O1102,お
よび旧インタフェース1160のI/O1162は、単一バス1113と結合さ
れる。単一バス1113は、旧通信コントローラ101を種々の外部装置と結合
する外部バスである。旧スケジューラ1050のI/O1052は、旧第1プロ
セッサ1090のI/O1092と結合される。旧第1プロセッサ1090のI
/O1094は、旧命令メモリ・バンク1130のI/O1132と結合される
。旧第1プロセッサ90のI/O1095は、旧インタフェース1160のI/
O1165と結合される。旧第1プロセッサ90のI/O1098は、旧第1メ
モリ・バンク1070のI/O1076と結合される。旧第1プロセッサ90の
出力1096は、旧第1DMA100の入力1066と結合される。旧第1DM
A1060のI/O1064は、旧第1メモリ・バンク1070のI/O107
4と結合される。
【0009】 旧インタフェース1060は、旧第1プロセッサ1090によって、および単
一バス1113へのアクセスを有するいずれの装置によってもアクセス可能な1
組のレジスタである。
【0010】 旧周辺装置は通常、1つまたは複数の通信プロトコルを処理するように特化さ
れる。一部の旧周辺装置は、単一通信チャネルと結合でき、一部は、複数の通信
チャネルと結合できる。周辺装置の1つは、シリアル通信コントローラ(SCC
)であり、これは、IEEE802.3/イーサネット(登録商標),高水準/
同期データ・リンク制御(HDLC/SDLC),汎用非同期送受信機(UAR
T)など、種々の通信プロトコルを処理する。もう1つの周辺装置は逐次管理コ
ントローラ(SMC)であり、UARTを処理し、全体的にトランスペアレント
な機能性を提供する。もう1つの周辺装置は、逐次周辺装置インタフェース(S
PI)であり、旧通信コントローラ101が、他の通信コントローラ、およびI
SDN装置やAD変換装置などいくつかの周辺装置との間で、データを交換でき
るようにする。シリアル通信プロトコルを処理する周辺装置は通常、シフト・レ
ジスタなど、並直列変換器からなり、これらの変換器は、通信チャネルから、直
列データ・ビット・ストリームを受信し、当該ビット・ストリームを、複数のビ
ット・ワードのセットに変換し、これが旧第1プロセッサ1090に送出される
。これらの周辺装置はまた、シフト・レジスタなどの並直列変換器からなり、旧
第1プロセッサ1090から複数のビット・ワードを受信して、各ワードを、単
一ビットのストリームに変換する。適切には、旧周辺装置は、ステート・マシン
(state machine)である。
【0011】 旧通信コントローラ101は、多岐にわたる通信プロトコルに従ってデータを
処理できた。旧通信コントローラ101は、旧命令メモリ・バンク1130,旧
第1メモリ・バンク1070,または他の任意のメモリ・バンク内に格納できる
プログラム可能なルーチンに従って、種々の通信プロトコルを処理できる旧第1
プロセッサ1090を有する。データを処理するとき、旧第1プロセッサ109
0は、旧第1メモリ・バンク1070または旧外部メモリ・バンク1110内に
格納されるパラメータのセット(要求チャネル・パラメータ,通信チャネル・パ
ラメータ)を使用する。適切には、パラメータは、各通信プロトコル(プロトコ
ル)の一部である。通常、パラメータは技術上周知である。例えば、イーサネッ
ト(登録商標)・プロトコルに固有のパラメータは、モトローラのMC6830
ユーザーズマニュアルの7−247頁から7−248頁に、UARTプロトコル
に固有のパラメータは、7−145頁に、HDLCプロトコルに固有のパラメー
タは7−173頁に、BISYNCプロトコルに固有のパラメータは7−203
頁に、トランスペアレント・プロトコルに固有のパラメータは7−225頁に記
載される。要求チャネルの状態を定義する要求チャネル・パラメータ,および1
つの通信チャネルの状態を定義する通信チャネル・パラメータなど、種々のパラ
メータがある。例えば、SCCと類似する要求チャネルの要求チャネル・パラメ
ータは、モトローラのMC68260のユーザーズマニュアルの7−125頁、
および種々の通信プロトコルの通信チャネル・パラメータは、モトローラのユー
ザーズマニュアルの7−145頁,7−173頁,7−203頁,7−225頁
および7−247から7−248頁に記載された。
【0012】 旧第2プロセッサ1100は、旧第1プロセッサ1090を初期化して、バイ
ト・スワッピング(byte-swapping),フレーム生成(encapsulation)および経
路設定などの高水準の管理およびプロトコル機能を処理する。旧第1プロセッサ
1090は、すべてのデータ・ストリーム・トランザクションを制御する。旧第
1プロセッサ1090は、旧スケジューラ1150が、かかるトランザクション
の処理要求を受け取り、旧第1プロセッサに、トランザクションを処理する必要
性を知らせた後、トランザクションを処理する。いくつかの旧周辺装置からの複
数の要求が存在する場合には、旧スケジューラ1050は、最高優先要求を選択
する。
【0013】 「タスク」は、データ・フレームの1つのトランザクションを制御するために
、旧第1プロセッサ1090によって実行される命令セットとして定義される。
通常、データのトランザクションは、周辺装置の1つからの受信または送信要求
によって開始される。
【0014】 図2は、旧第1メモリ・バンクの一部分および旧外部メモリ・バンクの一部分
の概略図である。
【0015】 通信チャネルに関連するデータ・フレームは、バッファBF(k)814内に
格納され、このバッファBF(k)814のサイズはプログラムできる。データ
・フレーム(各通信プロトコル内で定義)は、1つまたは複数のバッファ内に格
納され、1つのバッファは、複数のデータ・フレームからのデータを格納しない
。少なくとも1つのデータ・フレームは、1つの通信チャネルに関連する。1つ
の通信チャネルに関連するデータを格納するバッファのセットは、循環待ち行列
を形成する。ほとんどのバッファは、旧外部メモリ・バンク1110内に配置さ
れる。バッファBF(k)814は、バッファ記述子BD(k)812によって
参照され、バッファ記述子は288と一括表記される。バッファ記述子のほとん
どは、旧第1メモリ・バンク1070内に格納され、一部は、旧外部メモリ・バ
ンク1110内に格納される。
【0016】 適切には、バッファ記述子BD(k)812は、ポインタ・フィールド(PT
(k))810,状態および制御フィールド(SW(k))806および長さフ
ィールド(LW(k))808からなる。バッファBF(k)814の始まりは
、PT(k)810によって参照される。LW(k)808は、バッファBF(
k)814の長さを決定する。SW(k)806は、F/SビットFSB(k)
802からなり、これは、旧第1および第2プロセッサ1090,1100のう
ちどちらが、バッファBF(k)812を処理できるか、および/またはこれに
アクセスできるか決定する。旧第1プロセッサ1090がFSB(k)をセット
するのは、BF(k)812内に格納されるすべてのデータの送信を終了したと
き、またはデータ・フレームの受信を終了したとき、または被受信データがBF
(k)812を満たしたときである。旧第2プロセッサ1100がFSB(k)
802をリセットするのは、BF(k)814を、通信チャネルに送信されるデ
ータで満たしたとき、またはBF(k)814内に格納されたデータの読取りを
終了したときであって、当該データは、通信チャネルから受信されたものである
。SW(k)806はまた、ラップ・フィールド(wrap field)(WB(k))
からなり、これは、BD(k)814が、通信チャネルに関連する最後のバッファ
記述子であるかどうかを示した。PT(k)810は、BF(k)814の開始を指
す。バッファは、複数のメモリ・ワードからなるので、一時カウンタTMP(k)
816は、CC(k)から受信された新しいデータ・ワードが格納されるアドレス
か、またはCC(k)に送出されるデータ・ワードが格納されるアドレスを指す。
データ・ワードが格納/送信された後、TMP(k)816は更新される。
【0017】 各バッファ記述子BD(k)814は、記述子ポインタDP(k)818によって
参照される。記述子ポインタは、旧第1メモリ・バンク1070内に格納される
【0018】 旧第1プロセッサ1090は、バッファBF(k)814の処理を終了するまで
は、新しいバッファ記述子BD(k+1)を取り出さず、このバッファ記述子に
関連してバッファBF(k+1)内に格納されたデータを処理しない。
【0019】 データの送受信は、要求通信パラメータ,通信チャネル・パラメータ,TMP
(k)816,DP(k)818,BD(k)812,およびBF(k)814内に格納
されたデータ(情報)を取り出す段階を含む。外部メモリから情報を取り出す必
要がある場合には、旧第1プロセッサ1090は、旧第1DMA1060を起動
し、当該情報が取り出されるまで待機する。当該情報が取り出された後、旧第1
プロセッサ1090は、旧外部メモリ1100からの情報の取り出しを含んだタ
スクを実施し続ける。
【0020】 旧第1プロセッサ1090と旧第2プロセッサ1010は、1つの外部バスを
共用し、これにより、旧通信コントローラ101の周波数および利用可能な帯域
幅を制限する。
【0021】 外部メモリからの情報取り出しなど時間のかかる動作が終了する間、旧第1
プロセッサ1090はアイドル状態となり、周波数を低減した。
【0022】 旧通信コントローラ101は、必要な帯域幅を持たず、タスク間のスキップが
できず、高速データ・ストリーム、特に、種々の通信プロトコルに関連する高速
データ・ストリームを処理することができなかった。
【0023】 高速データ・ストリーム、特に種々の通信プロトコルに関連した高速データ・
ストリームを処理することができる改良された高性能通信コントローラに対する
必要性が存在する。
【0024】
【好適な実施例の説明】
一般に、本発明の1側面は、高速データ・ストリーム、および特に種々の通
信プロトコルに関連する高速データ・ストリームを処理する能力である。
【0025】 使用された個々の語と表現、詳細な説明と添付図面に開示される個々の構造と
動作面の詳細は、説明のためだけであって、いかなる方法でも添付請求の範囲に
記載される本発明の範囲を制限することを意図するものではないことに注意され
たい。
【0026】 図3は、本発明の好適な実施例による通信チャネル180,外部メモリ・バン
ク110および通信コントローラ111の概略図である。破線119に示される
ように、通信コントローラ111は、スケジューラ50,第1DMA60,第2
DMA160,第1メモリ・バンク70,第1プロセッサ90,命令メモリ・バ
ンク130,第2プロセッサ100および複数の周辺装置(140と一括表記)
からなる。通信コントローラ111は、2つの外部バス、すなわち第1バス11
3と第2バス114とに結合される。通信コントローラはまた、外部メモリ・バ
ンク110、および複数の通信チャネル(180と一括表記)と結合される。適
切には、複数の通信チャネル180は、複数の周辺装置140と結合される。通
信コントローラ111はまた、別の外部メモリ・バンク,ホスト・システムおよ
びその他のプロセッサなど他の外部装置(これらに限定されない)と結合できる
。通信コントローラはまた、ブリッジ120,インタフェース160およびブロ
ック転送マシン(BTM)40から構成できる。通信コントローラ111は、複
数の外部メモリ・バンクと結合できる。説明の便宜上、複数のメモリ・バンクは
、外部メモリ・バンク110と称される。
【0027】 スケジューラ50は、入力561から568とI/O52とを有する。第1D
MAは、出力67とI/O62,64,65とを有する。第2DMA160は、
第1DMA60と類似し、出力167とI/O162,164,165とを有す
る。第1メモリ・バンクは、I/O72,74,76,78を有する。第1プロ
セッサ90は、I/O92,93,94,95,96,97,98(説明の便宜
上、I/O97は図8に記載)を有する。第2プロセッサ100はI/O102
,104を有する。外部メモリ・バンク110は、I/O116,118を有す
る。命令メモリ・バンク130は、I/O132を有する。BTM40は、I/
O43,45,47(説明の便宜上、I/O46は図8に記載)。ブリッジ12
0は、I/O124,122を有する。インタフェース160は、I/O162
,164を有する。M個の周辺装置PR(1)からPR(M)1401から14
08(140と一括表記)は、M個のI/O(144と一括表記)と、M個のI
/O(142と一括表記)を有する。M個の周辺装置140は、通信コントロー
ラ111内に配置されるのが望ましい。複数の(M)周辺装置140は、I/O
144,182を介して、通信コントローラ111を、複数の(K)通信チャネ
ルCC(1)からCC(K)1801から1808(180と一括表記)と結合
する。
【0028】 周辺装置140のI/O142,BTM40のI/O43およびスケジューラ
50の入力561から568は、周辺バス112と結合される。第2DMA16
0のI/O162,外部メモリ・バンク110のI/O118,第2プロセッサ
110のI/O104およびブリッジのI/O162は、第2バス114と結合
される。第1DMA60のI/O62,外部メモリ・バンク110のI/O11
6およびブリッジ120のI/O122は、第1バス113と結合される。第1
メモリ・バンク70のI/O72は、BTM40のI/O45と結合される。第
1メモリ・バンク70のI/O74は、第2DMA160のI/O164と結合
される。第1メモリ・バンク70のI/O78は、第1DMA60のI/O64
と結合される。第1メモリ・バンク70のI/O76は、第1プロセッサ90の
I/O98と結合される。第1プロセッサ90のI/O93は、第2DMA16
0のI/O165と結合される。第1プロセッサ90のI/O96は、第1DM
A60のI/O65と結合される。第1プロセッサ90のI/O94は、命令メ
モリ・バンク130のI/O132と結合される。第1プロセッサ90のI/O
95は、インタフェース160のI/O164と結合される。第1プロセッサ9
0のI/O92は、スケジューラ50のI/O52と結合される。第2プロセッ
サ100のI/O102は、ブリッジ120のI/O124と結合される。第2
DMA160のI/O167および第1DMA60のI/O67は、マスキング
論理(図6に示される)を介して、スケジューラの入力561から568と結合
される。
【0029】 ブリッジ120は、第2プロセッサ100を第1バス113とインタフェース
させるために使用される。インタフェース160は、レジスタからなり、第1プ
ロセッサ90を、第1バス100を介して、第2プロセッサ100など種々の装
置と結合するのに使用される。インタフェース160は、第1プロセッサ90に
命令を書き込むのに用いることができる。
【0030】 周辺装置140の中の一部の周辺装置は、バッファまたは待ち行列からなり、
これは、通信チャネル180の中の1つまたは複数の通信チャネルと結合される
。適切には、周辺装置は、より複雑化され、通常、各周辺装置は、1つまたは複
数の通信プロトコルの処理に特化される。一部の周辺装置は、1つの通信チャネ
ルと結合でき、一部は、複数の通信チャネルと結合できる。例えば、本発明の範
囲を制限せずに、HDLCプロトコルを処理する周辺装置は、256の通信チャ
ネルと結合できる。
【0031】 例えば、本発明の範囲を制限せずに、1つの周辺装置は、モトローラのMC6
8360 SCCと類似するが、非同期転送モード通信プロトコルも処理できる
。もう1つの周辺装置は、モトローラのMC68360SMCと類似する。別の
周辺装置は、モトローラのMC68360SPIと類似する。別の周辺装置は、
通信コントローラ111が、ATMプロトコルを処理できるようにし、別の周辺
装置は、通信コントローラ111が、高速イーサネット(登録商標)・プロトコ
ルを処理できるようにする。シリアル通信プロトコルを処理する周辺装置は通常
、シフト・レジスタなどの並直列変換器からなり、これは、通信チャネルから、
直列データ・ビット・ストリームを受信し、当該ビット・ストリームを、複数の
ビット・ワードのセットに変換して、これが第1プロセッサ90に送られる。こ
れらの周辺装置はさらに、シフト・レジスタなどの並直列変換器からなり、第1
プロセッサ90から複数のビット・ワードを受け取って、各ワードを単一ビット
のストリームに変換する。適切には、各周辺装置は、少なくとも1つの通信プロ
トコルに特化されるステート・マシンからなる。ステート・マシンは、生データ
・ビット・ストリームを、通信プロトコルと適合性のあるビット・ストリームに
変換する。
【0032】 通信プロセッサ111は、多岐にわたる通信プロトコルに従ってデータを処理
する。通信コントローラ111は、第1プロセッサ90を有し、これは命令メモ
リ・バンク130,第1メモリ・バンク70または他のメモリ・バンク内に格納
できるプログラム可能ルーチンに従って、種々の通信プロトコルを処理できる。
データを処理するとき、第1プロセッサ90は、第1メモリ・バンク70または
外部メモリ・バンク110内に格納されるパラメータのセット(要求チャネル・
パラメータ,通信チャネル・パラメータ)を使用する。適切には、パラメータは
、各通信プロトコル(プロトコル)の一部である。通常、パラメータは、技術上
周知である。例えば、本発明の範囲を制限せずに、イーサネット(登録商標)・
プロトコルに固有のパラメータは、モトローラのMC68360ユーザーズマニ
ュアルの7−247頁から7−248頁に、UARTプロトコルに固有のパラメ
ータは7−145頁に、HDLCプロトコルに固有のパラメータは7−173頁
に、BISYNCプロトコルに固有のパラメータは7−203頁に、トランスペ
アレント・プロトコルに固有のパラメータは7−225頁に記載された。要求チ
ャネルの状態を定義する要求チャネル・パラメータ,および1つの通信チャネル
の状態を定義する通信チャネル・パラメータなど、種々のタイプのパラメータが
存在する。例えば、SCCと類似する要求チャネルの要求チャネル・パラメータ
は、モトローラのMC68260ユーザーズマニュアルの7−125頁に、種々
の通信プロトコルの通信チャネル・パラメータは、モトローラのユーザーズマニ
ュアルの7−145頁,7−173頁,7−203頁,7−225頁および7−
247頁から7−248頁に記載された。
【0033】 第2プロセッサ100は、第1プロセッサ90を初期化し、バイト・スワッピ
ング, フレーム生成および経路設定など、高水準の管理とプロトコル機能を処理
する。適切には第2プロセッサは、モトローラのMC68360チップ(モトロ
ーラのMC68360チップのユーザーズマニュアルに記載)のCPU32+に
類似する。第1プロセッサ90は、データ・ストリーム・トランザクションを制
御する。
【0034】 「タスク」とは、フレームのトランザクションを制御するために、第1プロセ
ッサ90によって実行される命令セットとして定義される。通常、フレームのト
ランザクションは、周辺装置の1つからの受信または送信要求によって開始され
る。
【0035】 適切には、周辺装置は、データを受信するか、または送信することができる。
説明の便宜上、各周辺装置140は、2つの要求チャネル、すなわち、データを
送信して、送信要求を送るための送信要求チャネルと、データを受信して、受信
要求を送るための受信要求チャネルからなるものと見なされる。説明の便宜上、
z番目のチャネルはRC(z)と表され、z555は、1から2Mの値を有する
指標である。Z555は、z番目の要求チャネルが、受信または送信要求を送っ
たことを示す。
【0036】 適切には、通信コントローラ111によって処理されるデータは、外部メモリ
・バンク110内に格納され、このプロセスは、バッファBF(k),バッファ
記述子BD(k),記述子ポインタDP(k),ポインタ・フィールドPT(k
),一時ポインタTMP(k),状態および制御フィールドSCW(k),長さ
フィールドLW(k),第1と第2のプロセッサ90,100のうちどちらがバ
ッファBF(k)を処理できるか、および/またはアクセスできるか決定するF
/SビットFSB(k)の使用を含む。これらBF(k),BD(k),DP(
k),PT(k),TMP(k),SCW(k),LW(k)およびFSB(k
)は、旧通信プロセッサ101のバッファBF(k),バッファ記述子BD(k
),記述子ポインタDP(k),ポインタ・フィールドPT(k),状態および
制御フィールドSCW(k),ラップ・フィールドWB(k),長さフィールド
LW(k)およびF/SビットFSB(k)と類似する。第1プロセッサ90が
FSB(k)をセットするのは、BF(k)内に格納されたすべてのデータの送
信を終了したとき、またはデータ・フレームの受信を終了したとき、または被受
信データがBF(k)を満たしたときである。第2プロセッサ100がFSB(
k)をリセットするのは、BF(k)が通信チャネルに送信されるデータで満た
されたとき、またはBK(k)内に格納されたデータの読取りを終了したときで
あって、当該データは、通信チャネルから受信されたものである。PT(k)は
、BF(k)の始まりを指す。
【0037】 データ・ワードが格納/送信された後、TMP(k)は更新される。更新され
たTMP(k)は、第1プロセッサ90がタスク・スイッチを実行するか、およ
び/またはこれに従ってタスクの実施を開始するときに、第1メモリ・バンクに
送出される、および/または第1メモリ・バンクから送出される。
【0038】 第1プロセッサ90は通常、現在バッファBF(k)全体の処理を終了するま
では、新しいバッファ記述子BD(k+1)を取り出さず、バッファBF(k+
1)内に格納されたデータを処理しない。
【0039】 後に図10に関して詳細に説明されるように、データの送受信は、要求チャネ
ル・パラメータ,通信チャネル・パラメータ,TMP(k),DP(k),BD
(k)と,BF(k)内に格納されたデータの取り出しを含む。上記の取り出し
の間、DMP動作を実施することが必要な場合であって、DMA要求が第1バス
113もしくは第2DMA160へのアクセスを要求する場合には、第1プロセ
ッサは第1DMA60をアクティブにし、またはDMA要求が第2バス114へ
のアクセスを要求する場合には、第1プロセッサ90は第2DMA60をアクテ
ィブにした。
【0040】 図4は、本発明の好適な実施例による第1DMA60の制御セクションの概略
図である。第1DMA60の制御セクションは、第2DMAの制御セクションと
類似する。適切には、第1DMA60の制御セクションは、DMA要求待ち行列
(待ち行列)62およびイネーブル装置(enable unit1)64からなる。後に
詳細に説明するように、待ち行列62は、複数のDMA要求とイネーブル装置6
4とを格納できる。イネーブル装置64は、要求チャネルからスケジューラ50
に送られる送信要求または受信要求をマスクする。第1DMA60の制御セクシ
ョンは、待ち行列62,イネーブル装置64,要求バイパス・レジスタ(バイパ
ス・レジ)68,入力マルチプレクサ(DI_MUX),出力マルチプレクサ(
DO_MUX)69からなることが望ましい。DI_MUX66は、入力662
,668と出力666とを有する。待ち行列62は、入力626,出力628,
および複数のN個の出力(624と一括表記)を有する。パイパス・レジ68は
、入力682と出力684,686とを有する。DO_MUX69は、入力69
2,694,696と出力698とを有する。イネーブル装置64は、複数のN
入力(646と表記),入力642、および第1DMA60の出力67と結合さ
れる2Mビット出力676を有する。DI_MUX66の入力662,668は
、第1DMA60の入力65と結合される。
【0041】 待ち行列62は、N個のメモリ・ワード621から628を有する。適切には
、メモリ・ワード621から628はそれぞれ、2つの部分6211から628
1と、6212から6282とを有する。z555を格納するための第1部分6
211から6281は、どの要求チャネルが、直接アクセス・メモリ要求(DM
A要求)に関連するかを示す。第2部分6212から6282は、DMA要求を
格納するためのものである。DMA60は、メモリ内の第1位置から、メモリ内
の第2位置に、情報ブロックを移動する、および/またはコピーする。適切には
、DMA要求は、ブロックの送信元,宛先およびサイズを含み、これらは、第1
DMA60によって転送される。
【0042】 バイパス・レジ68は、2つの部分を有する。第1部分681は、z555を
格納するためのもので、第2部分682は、DMA要求を格納するためのもので
ある。
【0043】 DI_MUX66は、入力664を介して、DMA要求とz555とを受信す
る。DI_MUX66は、入力668を介して、BYQ信号668を受信し、こ
の信号は、DMA要求とz555をバイパス・レジ68または待ち行列62に書
き込むかどうか決定する。
【0044】 バイパス・レジ68が空でない場合には、DO_MUX69は入力692を介
して、制御信号を受信し、この信号は、入力696を選択させ、バイパス・レジ
68内に格納されるDMA要求を出力させる。空である場合には、DO_MUX
69は、入力694を選択し、第2部分6212に格納されるDMA要求を出力
する。
【0045】 送信要求はタスクを開始する。受信要求はタスクを開始する。
【0046】 第1部分6211から6281は、待ち行列62の出力624を介して、イネ
ーブル装置64の入力646と結合される。第1プロセッサ70が、RC(z)
に関連するDMA要求を第1DMA60に送出するとき、RC(z)の送信要求
または受信要求は非アクティブとなる。RC(z)に関連するすべてのDMA要
求が実施された後、その受信または送信要求はアクティブとなる。通常、受信ま
たは送信要求は、当該要求に関連するタスクが終了するときに、非アクティブと
なる。
【0047】 イネーブル装置64は、DMA待ち行列62内に格納されるDMA要求に関連
する要求チャネルの送信または受信要求をマスクする。イネーブル装置64は、
出力648を介して、対応するz555を有するイネーブル信号を、スケジュー
ラ50に送出することができる。適切には、出力648は2Mビット,すなわち
2M個の要求チャネルそれぞれにつき1ビットを有し、イネーブル装置64は、
1ビット信号を、RC(z)に関連する出力648のz番目のビットに送出する
【0048】 図5は、本発明の好適な実施例による第1DMA60のバッファ・セクション
の概略図である。第1DMA60のバッファ・セクションは、第2DMA160
のバッファ・セクションと類似する。バッファ・セクションは、第1送信(tx
)バッファ612,第2送信(tx)バッファ614,第1受信(rx)バッフ
ァ616,第2受信(rx)バッファ618,送信制御装置610,受信制御装
置615からなる。
【0049】 第1txバッファ612は、入力6126,6124と出力6122とを有す
る。第2txバッファ614は、入力6146,6144と出力6142とを有
する。送信制御装置610は、入力6108と出力6104,6102とを有す
る。受信制御装置615は、入力6158と出力6154,6105とを有する
。第1rxバッファ616は、入力6162,6164と出力6166とを有す
る。第2rxバッファ618は、入力6182,6184と出力6186とを有
する。
【0050】 第1txバッファ612の出力6122と第1rxバッファ616の入力61
62は、第1DMA60のI/O64,62と結合される。第2txバッファ6
14の入力6146と第2rxバッファ618の出力6186とは、第1バス1
13と結合される。第1txバッファ612の入力6126は、第2txバッフ
ァ614の出力6142と結合される。第1rxバッファ616の出力6166
は、第2rxバッファ618の入力6182と結合される。DO_MUX69の
出力898は、受信制御装置615および送信制御装置610それぞれの入力6
158,6108と結合される。送信制御装置610の出力6102は、第1t
xバッファ612の入力6124と結合される。受信制御装置615の出力61
52は、第1rxバッファ616の入力6164と結合される。送信制御装置6
10の出力6104は、第2txバッファ614の入力6144と結合される。
受信制御装置615の出力6154は、第2rxバッファ618の入力6184
と結合される。
【0051】 送信制御装置610は、DO_MUX69から送出されるDMA命令を格納す
るレジスタを有し、これは、第1メモリ・バンク70のI/O78,第1プロセ
ッサ90のI/O96のいずれかから、I/O64,96を介して、第1バス1
13にデータを送信する段階を含む。送信制御装置610は、第1txバッファ
612を起動して、データをI/O64または96に送信し、第2txバッファ
614を起動して、第1バス113からのデータを第2txバッファ614に読
み出す。送信制御装置は、制御信号を第1および第2txバッファ612,61
4に送出して、第2txバッファ614から第1txバッファ612へとデータ
を送信する。送信制御装置は、z555を格納するためのフィールド6102を
有する。第1および第2txバッファは、独立して動作可能であることが望まし
い。
【0052】 受信制御装置615は、DO_MUX69に送られるDMA命令を格納するレ
ジスタを有し、これは、I/O64,96を介して、第1メモリ・バンク70の
I/078または第1プロセッサ90のI/O96のいずれかに、第1バス11
3からデータを送信する段階を含む。受信制御装置615は、第1rxバッファ
616を起動して、I/O64または96からデータを送信し、第2rxバッフ
ァ618を起動して、第2rxバッファ618から第1バス113にデータを送
信する。受信制御装置615は、制御信号を、第1および第2rxバッファ61
6,618に送出して、第1rxバッファ616から第2rxバッファ618に
データを送出する。受信制御装置615は、z555を格納するためのフィール
ド6502を有する。第1および第2rxバッファ616,618は、独立して
動作可能であることが望ましい。
【0053】 適切には、イネーブル装置64は、待ち行列62の第1部分6211から62
81と681およびバイパス・レジスタ682の内容をチェックしない。受信制
御装置および送信制御装置615,610のフィールド6502と6102の内
容は、第1部分6211から6281と628の内容と比較され、符合しない場
合には、フィールド6502,6102の内容は、イネーブル装置64に送られ
る。
【0054】 図6は、イネーブル装置64,スケジューラ50およびマスキング論理80の
概略図である。マスキング論理は、複数のAND論理ゲートからなる。説明の便
宜上、この図は、複数のAND論理ゲート(ゲート)のうち4つの3入力論理A
NDゲート81から84に関する。第1ゲート81は、入力812,814,8
18と出力816とを有する。第2ゲート82は、入力822,824,828
と出力826とを有する。第3ゲート83は、入力832,834,838と出
力836とを有する。第4ゲート84は、入力842,844,848と出力8
46とを有する。
【0055】 イネーブル装置64の出力671は、第1ゲート81の入力812と結合され
る。イネーブル装置64の出力672は、第2ゲート82の入力822と結合さ
れる。イネーブル装置64の出力673は、ゲート83の入力832と結合され
る。イネーブル装置64の出力674は、第4ゲート84の入力842と結合さ
れる。イネーブル装置164の出力1671は、第1ゲート81の入力818と
結合される。イネーブル装置164の出力1672は、第2ゲート82の入力8
28と結合される。イネーブル装置164の出力1673は、ゲート83の入力
838と結合される。イネーブル装置164の出力1674は、第4ゲート84
の入力848と結合される。第4ゲート84の出力846は、スケジューラ50
の入力564と結合される。第3ゲート83の出力836は、スケジューラ50
の入力563と結合される。第2ゲート82の出力826は、スケジューラ50
の入力562と結合される。第1ゲート81の出力816は、スケジューラ50
の入力561と結合される。第4ゲート84の入力844は、回線1402と結
合されて、要求チャネルから受信または送信要求を受け取る。第3ゲート83の
入力834は、回線14022と結合されて、別の要求チャネルから、受信また
は送信要求を受け取る。第2ゲート82の入力824は、回線14032と結合
されて、要求チャネルから受信または送信要求を受け取る。第1ゲート81の入
力814は、回線14042と結合されて、要求チャネルから、受信または送信
要求を受け取る。
【0056】 第1DMA60または第2DMA160が、受信チャネルに関連するDMA要
求を受け取るとき、ディスエーブル信号(低水準信号)をゲートに送出し、ゲー
トは、当該要求チャネルから受信または送信要求を受け取り、イネーブル信号は
、当該チャネルから来る要求をマスクする。第1DMA60または第2DMAが
、要求チャネルに関連する要求がないときには、それらはイネーブル信号を、要
求チャネルと結合されるゲートに送出する。第1および第2DMA60,160
がともにイネーブル信号を送出する場合には、要求コレクタの受信または送信要
求は、スケジューラ50に到達できる。
【0057】 例えば、第1ゲート81は、第1要求チャネルRZ(1)と結合される。第1
要求チャネルは、回線14042を介して、送信要求(高水準信号)を送出する
。第1または第2DMA60,160の場合には、第1要求チャネルRZ(1)
に関連するDMA要求はない。第1および第2DMA60,160はともに、高
水準信号を、第1ゲート81の入力812,818に送出する。スケジューラ5
0は、入力561を介して、第1要求チャネルRZ(1)から送信要求を受信し
、第1プロセッサ90に、送信要求を処理するために第1タスクT(1)の実行
を開始させる。第1タスクT(1)がDMA要求を必要とするとき、第1プロセ
ッサ90は、DMA要求を、第1または第2DMA60,160のいずれかに送
出する。説明の便宜上、第1プロセッサ90は、DMA要求を第1DMA60に
送出すると仮定する。第1DMA60が、DMA要求の実行が終了に至らないま
で、イネーブル装置64は、低水準信号を第1ゲート81の入力812に送出し
て、第1ゲートの出力信号を低に強制し、これにより、第1要求チャネルRZ(
1)の送信要求をマスクする。
【0058】 ディスエーブル信号はさらに、第1プロセッサ90からもたらされる。ディス
エーブル信号は、第1プロセッサ90がDMA要求を送るときに送出される。第
1プロセッサが、フリップフロップのリセット入力と結合される間、イネーブル
装置64がフリップフロップのセット入力と結合される間、第1プロセッサ90
とイネーブル装置64とは、フリップフロップと結合される。フリップフロップ
の出力は、上述のように、AND論理ゲートの入力と結合される。第1プロセッ
サはまた、第2DMA160のイネーブル装置164と結合される。
【0059】 図7は、本発明の好適な実施例によるスケジューラ50の概略図である。スケ
ジューラ50は、要求セレクタ56,スタック・ポインタ入力マルチプレクサ(
sp入力mux)52,スタック・ポインタ出力マルチプレクサ(sp出力mu
x)58,および2M個のスタック・ポインタ・レジスタ1sp_regから2
Msp_reg541から548(540と一括表記)からなる。
【0060】 スケジューラ50は、最高2M個のスタック・ポインタのセットを格納する。
スタック・ポインタは、タスクT(z)の一部である命令I(z,r)のアドレ
スであり、zとrは整数、zは1から2Mまでの値を有する。タスクT(z)は
、要求チャネルRC(z)からの1つの受信または送信要求に専用であることが
望ましい。タスクT(z)は、命令メモリ・バンク130内,第1メモリ・バン
ク70内,または外部メモリ・バンク110内に格納できる。タスクT(z)ま
たはその一部は、他のメモリ・バンク内にも格納できる。
【0061】 例えば、選択された送信または受信要求が、RC(c)と関連する場合には、
第1プロセッサ90に対して、Dsp_regからスタック・ポインタを取り出
させる。Csp_regの内容は、命令I(c,r)のアドレスである。第1プ
ロセッサ90はついで、タスクT(c)の一部を実行する。
【0062】 通常、図13により詳細に説明されるように、第1プロセッサ90は、外部装
置から情報を取り出す必要があるまで、z番目のタスクT(z)のいくつかの命
令(I(z,r)からI(z,r+d),dは整数)を実行する。第1プロセッサ
90は、RC(z)に関連するDMA要求を第1DMA60または第2DMA1
60に送出し、更新されたスタック・ポインタ(命令I(z,r+d+1)を指
す)を送出し、この命令はI(z,r+d)に続く。適切には、タスクT(z)
が終了する場合には、I(z,I)がZsp_regに送出され、待機して、新
しく選択されたスタック・ポインタをスケジューラ50から受け取る。スケジュー
ラが第1プロセッサ90に、x番目のタスクT(x)と関連する新しく選択され
たスタック・ポインタを送出するとき、第1プロセッサ90は、タスクT(x)
の中の命令の実行を開始する。
【0063】 「タスク・スイッチ」は、タスクの実行停止,被選択タスクの受け取り待機,
および被選択タスクからの命令の実行開始のうち、第1プロセッサ90によって
行われるプロセスとして定義される。通常、被選択タスクは、停止されたタスク
とは異なるが、必ずしもそうではない。
【0064】 要求セレクタ56は、2M個の入力561から568,制御入力569および
出力560を有する。Sp入力mux52は、入力520,529,2M個の出
力の第1セット511から518と、2M個の出力の第2セット521から52
8とを有する。スタック・ポインタ・レジスタ(spレジスタ)541から54
8は、入力の第1セット5411から5481,入力の第2セット5412から
5482および出力5413から5483を有する。Sp出力mux58は、2
M個の入力581から588,入力580および出力589を有する。要求セレ
クタ56の出力560は、sp出力mux58の入力580と結合されて、2M
個の入力581から588のなかのどの入力が、出力589と結合されるか選択
する。要求セレクタの入力561から568は、2M個の要求チャネルRC(1
)からRC(2)(150と一括表記)と結合される。出力648は、図4によ
り詳しく説明されるように、イネーブル信号を受信チャネルに送出する。適切に
は、2M個のAND論理ゲート(図示されず)はそれぞれ2つの入力と1つの出
力を有して、1つの側から、イネーブル装置64の2Mビット出力と、2M個の
受信および送信チャネルに結合され、もう1つの側から、2M個入力561から
568と結合される。
【0065】 送信要求は通常、要求チャネルが通信チャネルへのデータ送信を終了して、要
求チャネルが新しいデータを受け取れるときに送られる。受信要求は通常、受信
チャネルがデータを受信するときに送られる。
【0066】 要求セレクタ56は、1つまたは複数の要求チャネルから、送信または受信要
求を受信したか否かをチェックする。答えが「イエス」である場合には、要求セ
レクタ56は、最高優先順位を有する要求を選択する。説明の便宜上、最高優先
順位を有する要求は、z番目の要求チャネルRC(z)から来たものと仮定する
。要求セレクタ56は、制御信号をSp入力mux52に送出して、Gsp_r
eg内に格納されたz番目のスタック・ポインタが、第1プロセッサ90に送出
されるようにする。第1プロセッサ90は、命令メモリ・バンク130から、z
番目のスタック・ポインタによって指し示される命令I(z,r)を取り出し、
それとタスクT(z)の次の命令の実行を開始する。
【0067】 要求の優先順位は、修正または変更できる。例えば、第1入力561によって
入力される要求は、最も低い優先順位を持つことができ、M番目の入力568に
よって入力される要求は、最も高い優先順位を持つことができる。
【0068】 図8は、本発明の好適な実施例によるブロック転送マシン(BTM)40の概
略図である。BTM40は、BTMデータ・レジスタ(bdataバッファ)4
1,BTM制御装置(bcontrol装置)46,データ・マニピュレータ(
datamanipulator)4およびCRCマシン48からなる。BTM40は、CRC REG42,第1メモリ・バンク70,および周辺装置140と結合される。 CRC REG42は、第1プロセッサ90のレジスタ群の1つである。
【0069】 適切には、BTM40は、周辺装置140と第1メモリ・バンク70との間の
データ転送を処理する。通常、第1プロセッサ90は、BTM40に転送要求を
送出し、転送されるデータの送信元と宛先およびデータ長を示す。例えば、BT
M40が周辺装置および第1メモリ・バンク70に、32ビット・バスによって
結合され、8×32=256ビットを転送する必要がある場合には、第1プロセ
ッサ70は、長さフィールド8を有する転送命令を送出して、8×32ビット転
送が実行されることを示す。通常、ATM通信プロトコルは、48×32=15
36ビットなど、より大きなデータ・ブロックの転送を必要とする。適切には、
BTM40は、DMAコントローラのみから構成できる。DMA40は、データ
転送を処理し、転送するデータも処理できることが望ましい。周辺装置1401
から1408はそれぞれ、I/O1421から1428を有する。
【0070】 Bdataバッファ42は、入力414とI/O412,416とを有する。
CRC REG42は、入力424とI/O426とを有する。BRAM43は
、I/O432と入力434とを有する。データ・マニピュレータ44は、入力
442,444とI/O446とを有する。Bcontrol装置46は、入力
462と出力464とを有する。CRCマシン48は、入力484,482とI
/O486とを有する。
【0071】 周辺バス112は、BTM40lのI/O43を介して、データ・マニピュレ
ータ44のI/O442、およびCRCマシン48の入力482と結合される。
bcontrol装置46の出力464は、BTM40のI/O46を介して、
CRC REG42の入力424,CRCマシンの入力484,データ・マニピ
ュレータの入力44,BRAM43の入力344,およびbdataバッファ4
1の入力414と結合される。bcontrol装置46の入力462は、BT
MのI/O47を介して、第1プロセッサ90のI/O97と結合される。CR
C REG42のI/O426は、BTM40のI/O47を介して、CRCマ
シン48のI/O486と結合される。データ・マニピュレータ44のI/O4
46は、bdataバッファ41のI/O412と結合される。bdataバッ
ファ41のI/O416は、I/O45を介して、第1メモリ・バンク70のI
/O72と結合される。
【0072】 Bcontrol装置46は、第1プロセッサ90の出力97から送られる制
御信号および/または命令オペランドによって起動される。Bcontrol装
置46は、出力464を介して、制御信号をCRC reg42,CRCマシン
48,データ・マニピュレータ44およびデータ・バッファ41に送出すること
によって、BTM40の動作を制御する。Bcontrol装置46は、制御信
号を送出し、この信号はデータを、周辺バス112と第1メモリ・バンク70と
の間で流れさせる。Bcontrol装置は、CRCマシンに、データに関する
CRCチェックを実行させ、結果をCRC REG42に格納させる。適切には
、CRCマシン48は、1つのクロック・サイクルの間に、CRCチェックを実
施する。CRCマシンは、1つのクロック・サイクルの間に、16ビットのデー
タ・ワードについて、CRCチェックを実施できることが望ましい。データ・マ
ニピュレータ44は、I/O442を介してデータ・ワードを読み取ることがで
き、データ・ワードをスワップするか、または桁移動(shift)されたデータ・
ワードを作成することができ、I/O446を介して、bdataバッファ41
のI/O412に、新しいデータ・ワードを送出することができる。Bdata
バッファ41は、新しいデータ・ワードを格納して、これをBRAM43に送出
する。Bdataバッファ41はまた、BRAM43からデータ・ワードを受け
取って、これをデータ・マニピュレータ44に送出することができる。データ・
マニピュレータ44は、データ・ワードをスワップするか、または桁移動された
データ・ワードを作成することができ、I/O442を介して周辺バス112に
新しいデータ・ワードを送出することができる。
【0073】 図9は、本発明の好適な実施例による第1メモリ・バンク70の概略図である
。メモリ・バンク70は適切には、Qセクション(メモリ・バンク)1BANK
からQBANK701から708からなる。1BANKからQBANK701か
ら708の各メモリ・バンクは、第1プロセッサ90,第1DMA60,第2D
MA160およびBTM40と結合される。説明の便宜上、2つのメモリ・バン
ク1BANK701とQBANK708だけが描かれるが、任意の数Qのメモリ
・バンクを実施できる。説明の便宜上、第2DMA160は描かれない。
【0074】 第1プロセッサ90のI/O98は、第1メモリ・バンク70のI/O78を
介して、1BANK701の入力7148,QBANK708の入力7848,
1BANK701のI/O7168,およびQBNAK708のI/O7868
と結合される。第1DMA60のI/O64は、第1メモリ・バンク70のI/
O78を介して、1BANK701の入力7148,QBANK708の入力7
848,1BANK701のI/O7166およびQBANK708のI/O7
866と結合される。BTM40のI/O45は、第1メモリ・バンク70のI
/O72を介して、1BANK701の入力7144,QBANK708の入力
7844,1BANK701のI/O7164およびQBANK708のI/O
7864と結合される。図8に詳述されるように、メモリ・バンク(例えば、1
BANK701)が、第1プロセッサ90のなかの複数の要素,第1DMA60
およびBTM40によって同時にアクセスされる場合には、1BANK701は
、どの要素が最初にサービスを受け、最初の要素がサービスを受けた後、どれが
サービスを受けるか決定する。
【0075】 図10は、本発明の好適な実施例による第1メモリ・バンク70内のQメモリ
・バンクのメモリ・バンク1BANK701の概略図である。1BANK701
は、メモリ・アレイ718,データ・マルチプレクサ(DATA MUX)71
6,アドレス・マルチプレクサ(ADDRESS MUX)714およびメモリ
・セレクタ712からなる。DATA MUX716は、入力7163とI/O
7164,7166,7168,7169とを有する。ADDRESS MUX
714は、入力7144,7146,7148,7149と出力7142とを有
する。メモリ・セレクタ712は、入力7124,7126,7128と出力7
123,7125とを有する。メモリ・アレイ718は、入力7182とI/O
7184とを有する。DATA MUX716の入力7163は、メモリ・セレ
クタ712の出力7123と結合される。ADDRESS MUX714の入力
7149は、メモリ・セレクタ712の出力7125と結合される。ADDRE
SS MUX714の出力7142は、メモリ・アレイ718の入力7182と
結合される。DATA MUX716のI/O7169は、メモリ・アレイ71
8のI/O7184と結合される。
【0076】 BTM40,第1DMA60,第2DMA160および第1プロセッサ90は
、ADDRESS MUX714の入力7144,7146,7148およびメ
モリ・セレクタ712の入力7124,7126,7128に、アドレス・ワー
ドを送出することができる。アドレス・ワード・ビットのいくつかは、メモリ・
セレクタ712に送られ、残りのビットは、ADDRESS MUX714に送
られる。メモリ・セレクタ712に送られるアドレス・ビットは、1BANKか
らQBANK701から708のなかの1つのメモリ・バンクを選択するのに用
いられる。
【0077】 第1プロセッサ90,第1DMA60およびBTM40のなかの1つの要素だ
けが、アドレス・ワードを送出する場合には、この要素が選択され、メモリ・セ
レクタ712は、出力7125,7163から、ADDRESS MUX714
の入力7149およびDATA MUX716の入力7163に選択信号を送る
。選択信号は、ADDRESS MUX714に、被選択要素から、メモリ・ア
レイ718の入力7182にアドレス・ワードの残りのビットを送出させる。選
択信号は、DATA MUX716に、メモリ・アレイ718のI/O84を、
被選択要素のI/Oと結合させる。例えば、BTM40が、BANK1のデータ
・ワードを書き込むとき、アドレス・ワードをBANK701に送り、データ・
ワードを、DATA MUX716のI/O7164に送る。メモリ・セレクタ
712は、アドレス・ワードのいくつかのビットを受信し、BTM40が、1B
ANK701に(から)データ・ワードを書き込む(読み取る)ことを識別する
。メモリ・セレクタ712は、選択信号をDATA MUX716に送出し、こ
れは、I/O7164(ひいては、BTM40のI/O42)を、DATA M
UX716の出力7169、従ってメモリ・アレイ718のI/O7184と結
合する。
【0078】 BTM40,第1DMA60および第1プロセッサ90のなかの複数の要素が
、1BANKにデータ・アドレスを送る場合には、メモリ・セレクタ712は、
最高優先順位を持つ要素からの要求を選択して、選択信号をDATA MUX7
16に、従ってADDRESS MUX714に送出する。例えば、BTM40
および第1プロセッサ90が同時にアドレス・ワードを1BANKに送出し、第
1プロセッサ90がBTM40よりも高い優先順位を持つ場合には、メモリ・セ
レクタは、ADDRESS MUX714の入力7148を、メモリ・アレイ7
18の入力7182と結合させ、DATA MUX716のI/O7168を、
メモリ・アレイ718のI/O7184と結合させる選択信号を送出する。
【0079】 いくつかのメモリ・バンクBANKからQBANKは、逐次アクセスのための
高速を提供するためにインタリーブできる。このインタリービングは、第1メモ
リ・ワードが、第1データ・バンク内にあり、第2メモリ・ワードが第2メモリ
・バンク内にあるようにする。インタリービングは、アドレス・ワードの最も重
要度の低いビットおよび最も重要度の高いビットをスワップすることによって実
施される。例えば、第1メモリ・バンクが、それぞれ2Kワードの16のメモリ
・バンクからなる場合には、アドレス・ワードは、15ビット長にしなければな
らず、4ビットは、16メモリ・バンクの1つを選択するのに用いられ、他の1
1ビットは、2Kワード・メモリ・バンク内のどのデータ・ワードが選択される
かを定義する。インタリービングは、15ビットのアドレス・ワードのうち重要
度の低い4つのビットを、各メモリ・セレクタ712のアドレス・バスの最も重
要度の高い4つのビットに送ることによって実施でき、残りの11ビットは、A
DDRESS MUX714に送られる。
【0080】 図11は、本発明の好適な実施例により、タスクを実行し、タスク・スイッチ
を実施するための方法900の好適な実施例を示すフローチャートである。
【0081】 方法900は、スケジューラ50が、要求チャネルから1つまたは複数の受信
または送信要求を受信したか否かをチェックする段階910から始まる。段階9
10は、経路913によって示されるように、段階920に続く。
【0082】 段階920の間、スケジューラ50は、最高優先順位を有する受信/送信要求
を選択する。説明の便宜上、当該要求はCR(z)から来たと仮定する。スケジ
ューラ50は、被選択受信/送信要求に関連するスタック・ポインタを送出し、
第1プロセッサ90に、CR(x)に関連したタスクT(z)を実行させる。タ
スクT(z)の実行は通常、データ,状態語,要求チャネル・パラメータ,通信
チャネル・パラメータおよびポインタ(情報)の取り出しを含む。段階920の
間、第1プロセッサ90は、タスクT(z)が終了するまで、または外部メモリ
・バンク110または外部装置から情報を取り出す必要があるまで、タスクT(
z)を実行した。
【0083】 経路934と段階960に示されるように、外部メモリ・バンク110内に記
憶される情報を取り出す必要がある場合には、第1プロセッサは、DMA要求を
第1DMA60に送り、更新されたスタック・ポインタSP(z)を、スケジュ
ーラ50のz番目のスタック・ポインタ・レジスタ(Zsp_reg)に格納し
、ディスエーブル信号をスケジューラ50に送出し、これは、RC(z)からの
いずれの送信または受信要求もマスクする。経路962に示されるように、段階
960は、段階910に続く。
【0084】 経路964に示されるように、DMA要求が送られた後、第1DMA60また
は第2DMA160が、段階970の間に、要求を実行して情報を取り出す。情
報が取り出された後、第1DMA60または第2DMA160は、イネーブル信
号をスケジューラ50に送って、T(z)からの受信または送信要求のマスクを
除去する。段階910,920,930,940,950,960が、タスクT
(x)に従って実行される間、段階970は実行できる。
【0085】 破線の経路972に示されるように、段階970は段階910に続き、タスク
T(z)に関連する情報が取り出された後、タスクT(z)は、段階910から
実行できることを意味する。図4に詳述されるように、T(z)は、命令のセッ
トからなるが、第1プロセッサは、これらの命令(I(z,r)からI(z,r
+d))のいくつかを実行し、タスク・スイッチを実行することができる。第1
プロセッサ90が、RC(z)からくる要求に応答するとき、I(z,r+d+
1)から始まって、次の命令を取り出し、これは命令I(z,r+d)に続く。
【0086】 経路924,952および段階950に示されるように、タスクT(z)が終
了する場合には、第1プロセッサ90は、更新されたスタック・ポインタをZs
p_regに送り、方法900は、段階910を開始して、スケジューラ50が
、送信/受信要求を受信したかどうかチェックする。
【0087】 段階960の開始時点で、第1プロセッサ90は、タスクT(z)に関連する
情報を取り出すために、DMA要求を第1DMA60または第2DMA160に
送出して、ディスエーブル信号をスケジューラ50に送出し、これは、CR(z
)からの送信または受信要求をマスクする。第1プロセッサ90は、Zsp_r
egを現在スタック・ポインタに送る。ディスエーブル信号はまた、第1DMA
60または第2DMA160によっても送出できる。
【0088】 図12は、本発明の好適な実施例により、受信または送信要求によって開始さ
れるタスクを実行するための方法1000の好適な実施例を示すフローチャート
である。
【0089】 段階1014,1018,1022,1030は、情報の取り出しを含む。情
報が、外部メモリ・バンク110または任意の他の外部装置に格納される場合に
は、第1プロセッサ90は、図9により説明されるように、タスク・スイッチを
実行する。段階1046は、タスク・スイッチに続けることができる。例えば、
要求周辺装置が、フレーム全体ではなく、当該フレームの一部しか格納せず、第
1プロセッサ90が、当該部分の処理を終了する場合には、当該フレームの残り
の部分を取り出す必要があり、このため、第1プロセッサ90は、タスク・スイ
ッチを実施して、フレームの別の部分が周辺装置内に格納される場合には、この
タスクを実施するために戻すことができる。説明の便宜上、これらのタスク・ス
イッチは、図10には示さず、方法1000は、タスク・スイッチなしで実行さ
れるものとして示される。
【0090】 段階1010の間、第1プロセッサ90は、T(z)の第1命令I(z,1)
を取り出すことにより、被選択タスクT(z)からの命令の実行を開始する。
【0091】 経路1012に示されるように、段階1010は段階1014に続く。段階1
014の間、第1プロセッサ90は、被選択チャネルRC(z)の要求チャネル
・パラメータを取り出して読み取る。
【0092】 例えば、本発明の範囲を制限することなく、チャネル・パラメータは、PD(
k)から構成できる。ATM通信プロトコルに従って送られるデータ・ストリー
ムを受信するときには、第1プロセッサ90は、セルのヘッダを読み取ることが
できる。ヘッダは、アドレスを含み、これは、仮想接続(CV)に関連する。こ
のアドレスは、段階1018の間に、チャネル・パラメータが読み取られるチャ
ネルを定義する。高速イーサネット(登録商標)通信プロトコルに従ってデータ
・ストリームを受信する間、第1プロセッサ90は、衝突が存在したか、予め決
められた時間枠内に衝突が現れたかをチェックし、答えが「イエス」の場合には
、通信コントローラ111は、第1プロセッサが、RC(z)へのデータ送信を含
むタスクを実行するときに、受信した情報を無視するか、またはデータ・ストリ
ームを再送信する。答えが「ノー」の場合には、第1プロセッサ90は、エラー
信号を第2プロセッサ100に送出する。
【0093】 経路1016に示されるように、段階1014は段階1018に続く。段階1
018の間、第1プロセッサは、通信チャネル・パラメータを取り出す。第1プ
ロセッサ90は、通信コントローラ111によって受信(または送信)されるデ
ータ・ワードが、通信フレーム内の最初のデータ・ワードであるかチェックする
。答えがイエスであれば、段階1018は段階1022に続き、ノーである場合
には段階1030に続く。通常、通信チャネル・パラメータは、データ・ワード
がフレーム内の最初であるかどうかを示すフィールドからなる。例えば、ATM
通信プロトコルに従ってセルを受信するとき、この表示が、セルのヘッダ内に見
出される。
【0094】 経路1020に示されるように、段階1018は段階1022に続く。段階1
022の間、第1プロセッサ90は、DP(k)に従ってBF(k)を取り出し
、これは、以前に取り出されたものである。第1プロセッサ90は、CC(k)
から受け取ったデータ・ワードをBF(k)の始まりに書き込むことを開始する
ので、TMP(k)はPT(k)の値を得る。
【0095】 経路1024に示されるように、段階1022は段階1026に続く。段階1
026の間、第1プロセッサは、FSB(k)を読み取る。当該ビットが設定さ
れる場合には、第1プロセッサ90は、BF(k)にアクセスできない。適切に
は、第1プロセッサ90は、第2プロセッサ100がRSB(k)をリセットす
るまで待機し、他のバッファ記述子へのデータ書き込みを試行しないが、これは
必ずしも必要ない。経路1028に示されるように、FSB(k)がリセットさ
れるとき、第1プロセッサは、段階1030の間、TMP(k)を取り出す。T
MP(k)は、被受信データ・ワードが、格納されるアドレス(または送信する
データ・ワードのアドレス)を指す。
【0096】 経路1032に示されるように、段階1030は段階1034に続く。通信コ
ントローラ111が、周辺装置を介して、CC(k)からデータを受信する間、
段階1034が実行される場合には、1つまたは複数のデータ・ワードが、CC
(k)から第1メモリ・バンク70に送られ、ついで、第1メモリ・バンク70
から、TMP(k)により示されるアドレスに送られる。通信コントローラ11
1が、周辺装置を介して、CC(k)にデータを送出する間、段階1034が実
行される場合には、1つまたは複数のデータ・ワードが、TMP(k)により示
されるアドレスから、第1メモリ・バンク70に送られ、ついで、第1メモリ・
バンク70から、CC(k)に送られる。図8により説明されるように、BTM
40は、CC(k)と第1メモリ・バンク70との間のデータの送信を処理する
【0097】 経路1036に示されるように、段階1034は問い合せ段階1038に続く
【0098】 問い合せ段階の間、第1プロセッサ90は、段階1034の間に、BF(k)
内に格納された(BF(k)から送られた)1つまたは複数のデータ・ワードが
、フレーム内の最後のデータ・ワードだったか否か、およびBF(k)が一杯(
空)であるか否かをチェックする。
【0099】 経路1048に示されるように、両方の質問に対する答えが「ノー」である場
合には、段階1038は段階1046に続く。段階1046の間、TMP(k)
が増加し、BF(k)内の空のデータ・ワードを指すようにし(CC(k)に送
信される次のデータ・ワード)、TMP(k)によって以前示されたメモリ・ワ
ードに続く。経路1056に示されるように、段階1046は段階1034に続
く。
【0100】 経路1044に示されるように、BF(k)の状態に関係なく、データ・ワー
ドがフレームの終わりである場合には、問い合せ段階1038は段階1050に
続く。段階1050の間、第1プロセッサ90は、フレーム指示の終わりを第2
プロセッサ100に送出し、FSB(k)を設定することによってBD(k)を
クローズし、通信チャネル・パラメータを更新する。この更新は、次の記述子ポ
インタDP(k+1)によって、DP(k)を置き換える段階を含むことができ
る。
【0101】 例えば、これは、ATM AL5通信プロトコルに従ってデータ・ストリーム
を受信すること(ATM通信プロトコルの部分集合)であるとき、第1プロセッ
サ90は、フレームの送信中、エラーがあったことをCRCチェックが示したか
どうか、またその場合、第2プロセッサに割り込みを送信するかどうかをチェッ
クしなければならない。第1プロセッサ90はまた、最後のセルの長さをチェッ
クして、LW(k)を更新することができる。
【0102】 経路1040に示されるように、BF(k)が一杯(通信コントローラ111
からの被送信データ・ワードのときには空)である場合には、段階1038は、
段階1042に続く。段階1042の間、第1プロセッサ90は、FSB(k)
を設定し、通信チャネル・パラメータを更新することによって、BD(k)をク
ローズする。この更新は、DP(k)を、次の記述子ポインタDP(k+1)と
置き換える段階を含めることができる。
【0103】 図13は、本発明の好適な実施例による種々の受信/送信要求に対する第1プ
ロセッサの応答を示すタイミング図である。
【0104】 信号PR1は、第1プロセッサ90による第1タスクT(1)の実行を表す。
信号PR2は、第1プロセッサ90による第2タスクT(2)の実行を表し、信
号PR3は、第1プロセッサ90による第3タスクT(3)の実行を表す。第1
タスクT(1)は、第2タスクT(2)よりも優先順位が高く、第3タスクT(
3)は、第2タスクT(2)よりも優先順位が低い。
【0105】 遷移1560,1561に示されるように、第1プロセッサ90は、第1タス
クT(1)が、外部メモリ・バンク110から情報を取り出す必要があるまで、
第1タスクT(1)を実行することを開始する。第1タスクT(1)は、優先順
位が高いので、第2および第3タスクT(2)およびT(3)の前に実行される
。遷移1551に示されるように、第1プロセッサ90は、DMA要求を第1D
MA60に送り、タスク・スイッチを実施する。第1プロセッサ90は、タスク
T(1)の実行を停止し、遷移1551,1560に示されるように、タスクT
(2)の実行を開始する。DMA要求は、遷移1562の前に実施され、そうで
なければ、第1タスクT(1)に関連する要求チャネルからの要求は非アクティ
ブとなり、第1プロセッサは、タスクT(1)を実行しない。
【0106】 遷移1561の後、第1プロセッサ90は、第1タスクT(1)を実行したの
と同じ方法で、第2タスクT(2)の実行を開始する。第2タスクT(2)は、
遷移1570,1571に示されるように、外部メモリ・バンク110から情報
を取り出す必要があるまで、実行される。遷移1561,1570に示されるよ
うに、第1プロセッサ90はついで、タスク・スイッチを実施し、すなわち、第
2タスクT(2)の実行を停止し、第1および第2タスクT(1),T(2)を
実行したのと同じ方法で、第3タスクT(3)の実行を開始する。遷移1580
,1581に示されるように、第3タスクT(3)は、外部メモリ・バンク11
0から情報を取り出す必要があるまで、実行される。遷移1581の後、第1プ
ロセッサは、要求があるかどうかをチェックし、すべての受信/送信要求が非ア
クティブとなるので、第1プロセッサ90は、第1タスクT(1)に関連するD
MA要求が終了するまで待機し、ついで、経路1562に示されるように、第1
タスクの実行を続行する。
【0107】 第1タスクT(1)は、遷移1560と1561、遷移1562と1563,
遷移1564と1565および遷移1566と15687の間、実行される。遷
移1561と1562、1563と1564,1565と1566の間、第1D
MA60は、第1タスクT(1)に関連するDMA要求を実行した。第2タスク
T(2)は、遷移1570と1571、遷移1572と1573との間で実施さ
れる。遷移1571と1572の間、第1DMA60または第2DMA160は
、第2タスクT(2)に関連するDMA要求を実行した。第3タスクT(3)は
、遷移1580と1581、遷移1582と1583、遷移1584と1585
、1586と1587の間、実行される。遷移1581と1582、遷移158
3と1584、遷移1585と1586の間、第1DMA60は、第3タスクT
(3)に関連するDMA要求を実行した。
【0108】 図14は、本発明の好適な実施例による、種々の受信/送信要求に対する第1
プロセッサの応答を示すタイミング図である。
【0109】 図11により詳細に説明されるように、信号PR1は、第1プロセッサ90に
よる第1タスクT(1)の実行を表す。第1プロセッサは、遷移1560と15
61,1562と1563,1564と1565,1566と1567の間で、
第1タスクT(1)を実行する。遷移1561,1563,1565は、外部メ
モリ・バンクまたは他の外部装置から情報を取り出す必要性によって通常生じる
タスク・スイッチを示す。
【0110】 信号CR1は、CR(z)から送られる受信/送信要求をあらわす。遷移15
90により示されるように、第1プロセッサ90が、第1タスクT(1)の実行
を終了するまで、当該要求はアクティブである。
【0111】 信号R1は、スケジューラ50に入力されるマスク信号を表す。遷移1591
により示されるように、第1タスクT(1)が、外部メモリ・バンク110から
情報を取り出す必要があるとき、第1プロセッサ90は、DMA要求を第1DM
A60または第2DMA160に送出し、ディスエーブル信号をスケジューラ5
0に送出する。このディスエーブル信号は、信号R1をリセットする。図4によ
り詳細に説明されるように、第1DMA60または第2DMA160が、RC(
z)の結果生じるすべてのDMA要求を実行した後、イネーブル信号をスケジュ
ーラ50に送出する。このイネーブル信号は、遷移1592により示されるよう
に、信号R1をセットする。遷移1592は、遷移1562の前提条件である。
RC(z)に関連するDMA要求が十分実行されない限り、第1プロセッサ90
は、第1タスクT(1)を処理しない。
【0112】 DMA要求は、遷移1562に先立って実施され、実施されない場合には、第
1タスクT(1)に関連する要求チャネルからの要求はいずれも非アクティブと
なり、第1プロセッサは、タスクT(1)からの命令の実行を再開しない。
【0113】 遷移1592,1594,1596に示されるように、R1信号は、第1DM
A60が、RC(z)に関連するDMA要求の実行を終了した後、設定される。
遷移1593,1595により示されるように、信号R1は、RC(z)に関連
するDMA要求を実行する必要があるときにリセットされる。
【0114】 遷移1597に示されるように、第1プロセッサ90が第1タスクT(1)の
実行を終了するときに、R1はリセットされる。
【0115】 このため、データ・プロセッサ命令をグループ化するための改良された方法と
装置の少なくとも1つの好適な実施例と、命令システムの実施例を含む実施例が
本明細書に記述された。当業者には、本発明の主題が種々の方法で変更でき、上
記に特に記載された好適な形態以外にも、多くの実施例を想定できることが明ら
かであろう。したがって、上記に開示された本発明の主題は、説明のためのもの
であって制限的なものではなく、法律に認められる最大の範囲まで、添付請求の
範囲は、本発明の真正の意図および範囲に属する当該すべての変更およびその他
の実施例を包含することが意図される。本発明の範囲は、上述の詳細な説明では
なく、添付請求の範囲、ならびにこれと同等のものの許容できる最も広範な解釈
によって判断される。
【図面の簡単な説明】
本発明は、添付請求の範囲内に詳しく示されるが、本発明の他の特徴は、添付
図面とあわせて、上記の詳細な説明によって開示される。
【図1】 先行技術による旧通信チャネル,旧外部メモリおよび旧通信コン
トローラの簡易概略図である。
【図2】 先行技術による旧外部メモリ・バンクの一部分および旧外部メモ
リ・バンクの一部分の概略図である。
【図3】 本発明の好適な実施例による通信チャネル,外部メモリ・バンク
および通信コントローラの概略図である。
【図4】 本発明の好適な実施例による第1直接メモリ・アクセス・コント
ローラの制御セクションの概略図である。
【図5】 本発明の好適な実施例による第1直接アクセス・メモリ・コント
ローラのバッファ・セクションの概略図である。
【図6】 本発明の一実施例によるイネーブル装置,スケジューラおよびマ
スキング論理の概略図である。
【図7】 本発明の好適な実施例によるスケジューラの概略図である。
【図8】 本発明の好適な実施例によるブロック転送マシンの概略図である
【図9】 本発明の好適な実施例による第1メモリ・バンクの概略図である
【図10】 本発明の好適な実施例による第1メモリ・バンク内のメモリ・
バンクの1つの概略図である。
【図11】 本発明の好適な実施例によりタスクを実行し、タスク・スイッ
チを実施する方法の好適な実施例を示すフローチャートである。
【図12】 本発明の好適な実施例により、受信または送信要求によって起
動されたタスクを実行する方法の好適な実施例を示すフローチャートである。
【図13】 本発明の好適な実施例により、種々の受信/送信要求に対する
第1プロセッサの応答を示すタイミング図である。
【図14】 本発明の好適な実施例により種々の受信/送信要求に対する第
1プロセッサの応答を示すタイミング図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 クルニック,モティ イスラエル国 テル・アビブ 63421 ピ ンスカー・ストリート16 (72)発明者 シャレブ,アビ イスラエル国 テル・アビブ 67454 ナ ハラル・ストリート10 (72)発明者 ハガイ,アビ イスラエル国 ヘルツリア 46422 ビル 54 Fターム(参考) 5B089 GA04 HA16 HB11 JA13 KD01 KE02 KE03 KE09 KF05 5K032 DB19 DB20 DB22 DB24

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 高速データ・ストリームを受信,送信および処理するための
    高速通信コントローラであって、前記データ・ストリームは、フレームからなり
    、前記通信コントローラは、複数の通信チャネルおよび第1と第2外部バスとに
    結合するように対応しており、前記通信コントローラは: データ・ストリームを制御する第1プロセッサであって、前記第1プロセッサ
    は、タスクを実行することにより、フレームのトランザクションを制御する第1
    プロセッサ; 高水準管理および通信プロトコル機能を処理するための第2プロセッサ;およ
    び タスクを実行する必要性があるかどうか検出するため、かつ前記第1プロセッ
    サにより実行される被選択タスクを選択するための前記第1プロセッサと結合さ
    れるスケジューラ; によって構成されることを特徴とする高速通信コントローラ。
  2. 【請求項2】 前記第1プロセッサと結合されて、タスクを格納するための
    命令メモリ・バンク; 前記第1プロセッサと結合されて、前記第1プロセッサにより処理されるデー
    タを格納するための第1メモリ・バンク; 前記第1プロセッサおよび前記第1外部バスと結合されて、前記第1外部バスと
    結合される外部メモリ・バンク内に格納される情報を取り出すための、第1直接
    メモリ・アクセス・コントローラ; 前記第1プロセッサおよび前記第2外部バスと結合されて、前記第2外部バス
    と結合される外部メモリ・バンク内に格納する情報を取り出すための、第2直接
    メモリ・アクセス・コントローラ;および 前記スケジューラおよび前記第1メモリ・バンクと結合されて、前記複数通信
    チャネルと前記第1メモリ・バンクとの間でバッファリングするための複数の周
    辺装置; によって構成されることを特徴とする請求項1記載の通信コントローラ。
  3. 【請求項3】 前記スケジューラは、複数のスタック・ポインタを格納し; スタック・ポインタはタスクと関連し; 前記スケジューラは、前記第1プロセッサに、被選択スタック・ポインタを送
    出し、前記被選択スタック・ポインタは、前記被選択タスクと関連し; タスクの実行は、前記被選択スタック・ポインタを更新する段階を含み; 前記第1プロセッサは、前記第1プロセッサが前記被選択タスクの実行を停止
    するときに、前記スケジューラに、前記更新された被選択スタック・ポインタを
    送ること; を特徴とする請求項2記載の通信コントローラ。
  4. 【請求項4】 前記第1プロセッサは、前記タスクの実行が、前記外部メモ
    リ・バンクから情報を取り出す段階を含むときに、タスクの実行を停止すること
    を特徴とする請求項3記載の通信コントローラ。
  5. 【請求項5】 周辺装置は、2つの要求チャネルを有し; 前記第1要求チャネルは、前記通信コントローラから通信チャネルに送られた
    前記データの送信を処理し; 前記第2要求チャネルは、通信チャネルから、前記通信コントローラに送られ
    る前記データの受信を処理し; 前記第1要求チャネルが前記通信チャネルに送られるデータを受信できるとき
    、前記第1要求チャネルは、送信要求を前記スケジューラに送出し;および 前記第2要求チャネルが通信チャネルからデータを受信したとき、前記第2要
    求チャネルは、前記スケジューラに受信要求を送出すること; を特徴とする請求項4記載の通信コントローラ。
  6. 【請求項6】 前記スケジューラは: 前記周辺装置と結合され、送信要求および受信要求を受け取り、かつ被選択要
    求を選択するための要求セレクタ; 複数のスタック・ポインタを格納するための複数のスタック・ポインタ・レジ
    スタ; 前記複数のスタック・ポインタ・レジスタおよび前記第1プロセッサと結合さ
    れて、前記複数のスタック・ポインタ・レジスタにスタック・ポインタを書き込
    むためのスタック・ポインタ入力マルチプレクサ;および 前記複数のスタック・ポインタ・レジスタ,前記第1プロセッサおよび前記要
    求セレクタと結合されて、前記被選択スタック・ポインタを前記第1プロセッサ
    に送出するためのスタック・ポインタ出力マルチプレクサ; から構成されることを特徴とする請求項5記載の通信コントローラ。
  7. 【請求項7】 前記第1直接メモリ・アクセス・コントローラおよび前記第
    2直接メモリ・アクセス・コントローラは: 前記第1プロセッサと結合され、複数の直接メモリ・アクセス要求を格納する
    ための直接メモリ・アクセス要求待ち行列;および 前記直接メモリ・アクセス要求待ち行列および前記スケジューラと結合されて
    、前記直接メモリ・アクセス・メモリ・コントローラ内に格納された前記直接メ
    モリ・アクセス要求に関連する第1要求チャネルからの送信要求をマスクするた
    め、かつ前記直接メモリ・アクセス・メモリ・コントローラ内に格納された前記
    直接メモリ・アクセスに関連する第2要求チャネルからの受信要求をマスクする
    ためのイネーブル装置; によって構成されることを特徴とする請求項6記載の通信コントローラ。
  8. 【請求項8】 前記第1直接メモリ・アクセス・コントローラおよび前記第
    2直接メモリ・アクセス・コントローラはさらに: 直接メモリ・アクセス要求を格納するための要求バイパス・レジスタ; 前記直接メモリ・アクセス要求待ち行列内または前記要求バイパス・レジスタ
    内に、直接メモリ・アクセス要求を格納するか否かを決定するための入力マルチ
    プレクサ;および 前記第1メモリ・バンク,前記直接メモリ・アクセス要求待ち行列および前記
    バイパス要求レジスタと結合されて、前記要求バイパス・レジスタが、有効な直
    接メモリ・アクセス要求を格納する場合には、前記要求バイパス・レジスタ内に
    格納される前記直接メモリ・アクセス要求を選択するための出力マルチプレクサ
    ; によって構成されることを特徴とする請求項7記載の通信コントローラ。
  9. 【請求項9】 前記直接メモリ・アクセス要求待ち行列は、複数のメモリ・
    ワードを有し; 各メモリ・ワードは、第1部分と第2部分とを有し; 前記第2部分は、直接メモリ・アクセス要求を格納するためであり;および 前記第1部分は、ラベルを格納するためのもので、前記ラベルは、前記第2部
    分内に格納される前記直接メモリ・アクセス要求に関連する前記要求チャネルを
    示すこと; を特徴とする請求項8記載の通信コントローラ。
  10. 【請求項10】 第1直接メモリ・アクセス・コントローラと第2直接メモ
    リ・アクセス・コントローラのうち1つの中にあるイネーブル装置が、前記第1
    要求チャネルからの送信要求をマスクするとき、第1要求チャネルからの送信要
    求がマスクされ;および 前記第1直接メモリ・アクセス・コントローラと第2直接メモリ・アクセス・
    コントローラのうち1つの1つの中にあるイネーブル装置が、前記第2要求チャ
    ネルからの受信要求をマスクするときに、第2要求チャネルからの受信要求がマ
    スクされること; を特徴とする請求項7記載の通信コントローラ。
  11. 【請求項11】 請求項10記載の通信コントローラであってさらに、デー
    タを前記周辺装置から前記第1メモリ・バンクに転送し、かつ前記第1メモリ・
    バンクから前記周辺装置に転送するためのブロック転送マシンを有し; 前記ブロック転送マシンは: 前記周辺装置と結合されて、データを操作するためのビット・フィールド装置
    ; 前記周辺装置と結合されて、CRCチェックを実施するためのCRCマシン; 前記CRCマシン、前記データ・マニピュレータおよび前記第1メモリ・バン
    クと結合されて、前記第1メモリ・バンクから前記周辺装置に送られるデータを
    格納するためと、前記第1メモリ・バンクに書き込まれるデータを格納するため
    のBTMデータ・レジスタ;および 前記CRCマシン,前記データ・マニピュレータおよび前記BTMデータ・レ
    ジスタと結合されて、前記ブロック転送マシンを制御するためのBTM制御装置
    ; によって構成されることを特徴とする請求項10記載の通信コントローラ。
  12. 【請求項12】 前記第1メモリ・バンクは、複数のセクションを有し、各
    セクションは、前記第1プロセッサ,前記第2プロセッサ,前記直接メモリ・ア
    クセス・コントローラ,前記第2直接メモリ・アクセス・コントローラおよび前
    記BTMと結合され、各セクションは: 情報を格納するためのメモリ・アレイ; 前記第1プロセッサ,前記第2プロセッサ,前記直接メモリ・アクセス・コン
    トローラ,前記第2直接メモリ・アクセス・コントローラおよび前記BTMから
    、被選択装置を選択するためのメモリ・セレクタ; 前記被選択装置と前記メモリ・アレイとの間で前記データの送信を可能にする
    ためのデータ・マルチプレクサ;および 前記被選択装置が、前記メモリ・アレイにアドレス・ワードを送出できるよう
    にするためのアドレス・マルチプレクサ: からなることを特徴とする請求項11記載の通信コントローラ。
  13. 【請求項13】 前記外部メモリ・バンクは、データを格納するための複数
    のバッファを有し; 前記外部メモリ・バンクはさらに、ポインタ,状態および制御フィールドおよ
    び長さフィールドを格納するためのバッファ記述子を有し; 前記ポインタは、バッファを指し; 前記長さフィールドは、前記ポインタによって参照される前記バッファの長さ
    を定義し;および 前記状態および制御ワードは、F/Sフィールドを有し、前記第1プロセッサ
    と前記第2プロセッサのうちどれが、前記ポインタにより参照される前記バッフ
    ァにアクセスできるかを示すこと; を特徴とする請求項5記載の通信コントローラ。
  14. 【請求項14】 バッファが、要求チャネルに関連するデータを格納し; 1つの要求チャネルに関連するバッファのセットが、循環待ち行列を形成し; 前記状態および制御ワードは、前記ラップ・フィールドを有する前記バッファ
    記述子により参照される前記バッファが、前記セット内の前記最終バッファであ
    るかどうかを示すラップ・フィールドからなり; 前記バッファは、1つのデータ・フレームからのデータを格納し; 各バッファは、複数のメモリ・ワードからなり; 前記第1メモリ・バンクは、一時ポインタを格納し;および 一時ポインタは、前記第1プロセッサにより処理されるその次のメモリ・ワー
    ドを指すこと; を特徴とする請求項13記載の通信コントローラ。
  15. 【請求項15】 前記第1プロセッサは、前記バッファ記述子により参照さ
    れる前記バッファが、前記第1プロセッサによって処理された後、前記F/Sフ
    ィールドを設定し;および 前記第2プロセッサは、前記バッファ記述子により参照された前記バッファが
    、前記第2プロセッサにより処理された後、前記F/Sフィールドをリセットす
    ること; を特徴とする請求項14記載の通信コントローラ。
  16. 【請求項16】 前記第1プロセッサが、タスク・スイッチを実施するとき
    、前記第1メモリ・バンク内に、前記更新された一時ポインタを保存し;および 前記第1プロセッサは、タスクから命令を実行するとき、前記第1プロセッサ
    は、前記一時ポインタを取り出すこと; を特徴とする請求項14記載の通信コントローラ。
  17. 【請求項17】 データ・ストリームのトランザクションを処理するための
    方法であって、前記データ・ストリームはフレームからなり、フレームのトラン
    ザクションは、タスクの実行によって処理され、タスクの実行は、外部装置から
    情報を取り出す段階を含み、前記方法は: トランザクションを処理する必要があるかチェックする段階; トランザクションを処理する必要がある場合には、前記タスクが終了するまで
    、または前記タスクの実行が、外部装置から情報を取り出す段階を含むまで、タ
    スクを実行する段階; 前記タスクが終了する場合には、トランザクションを処理する必要があるかどう
    かチェックする段階にジャンプする段階;および 他の場合には、前記外部装置からの前記情報を取り出し、外部装置から情報を
    取り出す段階を含んだ前記タスクの実行を停止し、およびトランザクションを処
    理する必要があるかどうかチェックする段階にジャンプするプロセスを開始する
    段階; からなることを特徴とする方法。
  18. 【請求項18】 通信チャネルからフレームの一部を受信する必要があるとき
    に、タスクの実行が停止されることを特徴とする請求項17記載の方法。
  19. 【請求項19】 高速データ・ストリームを受信,送信および処理するために
    通信コントローラを動作する方法であって、前記データ・ストリームは、フレー
    ムからなり、前記通信コントローラは、複数の通信チャネルおよび外部装置と結
    合され、前記通信コントローラは、データ・ストリーム・トランザクションを制
    御するための第1プロセッサであって;前記第1プロセッサは、タスクを実行す
    ることにより、フレームのトランザクションを制御する第1プロセッサ;高水準
    管理および通信プロトコル機能を処理するための第2プロセッサ;前記第1プロ
    セッサと前記第2プロセッサとに結合されて、前記プロセッサと前記第2プロセ
    ッサを外部装置と結合させるための第1外部装置;前記第1プロセッサと前記第
    2プロセッサとに結合されて、前記第1プロセッサと前記第2プロセッサとを外
    部装置に結合させるための第2外部バス;および第1プロセッサと結合されて、
    タスクの実行する必要があるかを検出し、どのタスクを実行するか選択するため
    のスケジューラを有しており; 前記方法は: トランザクションを処理する必要があるかどうかチェックする段階; トランザクションを処理する必要がある場合には、前記タスクが終了するまで
    、または前記タスクの実行が、外部装置から情報を取り出す段階を含むまで、タ
    スクを実行する段階; 前記タスクが終了する場合には、トランザクションを処理する必要があるかど
    うかチェックする段階にジャンプする段階;および 他の場合には、前記外部装置から前記情報を取り出し、外部装置から情報を取
    り出す段階を含む前記タスクの実行を停止し、かつトランザクションを処理する
    必要があるかどうかチェックする段階にジャンプする段階; によって構成されることを特徴とする方法。
  20. 【請求項20】 前記通信コントローラはさらに、前記第1プロセッサと結
    合されて、タスクを格納するための命令メモリ・バンク;前記第1プロセッサと
    結合されて、前記第1プロセッサにより処理されたデータを格納するための第1
    メモリ・バンク;前記第1プロセッサおよび前記第1外部バスと結合されて、前
    記第1外部バスと結合された外部メモリ・バンク内に格納された情報を取り出す
    ための第1直接メモリ・アクセス・コントローラ;前記第1プロセッサおよび前
    記第2外部バスと結合されて、前記第2外部バスと結合された外部メモリ・バン
    ク内に格納された情報を取り出すための第2直接メモリ・アクセス・コントロー
    ラ;前記スケジューラおよび前記第1メモリ・バンクと結合されて、複数の通信
    チャネルと前記第1メモリ・バンクとの間をバッファリングするための複数の周
    辺装置を有し;各周辺装置は、2つの要求チャネルからなり、前記第1要求チャ
    ネルは、前記通信コントローラから通信チャネルに送られたデータの送信を処理
    し;前記第2要求チャネルは、通信チャネルから前記通信コントローラに送られ
    たデータの受信を処理し;前記要求チャネル・パラメータは、要求チャネルの状
    態を定義し;通信チャネル・パラメータは、通信チャネルの状態を定義し;前記
    外部メモリ・バンクは、データを格納するために複数のバッファを有し;前記外
    部メモリ・バンクはさらに、ポインタ,状態および制御フィールドおよび長さフ
    ィールドを格納するために、バッファ記述子を有し;前記ポインタは、バッファ
    を指し;前記方法は: タスクを開始する段階; 要求チャネル・パラメータを読み取る段階; 通信チャネル・パラメータを取り出し、前記タスクがフレーム内の最初のデー
    タ・ワードを処理する段階を含むかどうか示す通信チャネル・パラメータをチェ
    ックする段階; 前記タスクが、フレーム内の前記最初のデータ・ワードを処理する段階を含む
    場合には、 バッファ記述子を取り出す段階; 前記バッファ記述子内のポインタの値に、一時ポインタを設定する段階; 前記バッファ記述子がアクティブであるかどうかをチェックし、前記バッフ
    ァ記述子がアクティブでない場合には、前記バッファ記述子がアクティブになる
    まで待機する段階; を実施し; 前記タスクが、フレーム内の最初のデータ・ワードを処理する段階を含まない
    場合には、前記一時ポインタを取り出す段階にジャンプする段階; データを受信する場合には、通信チャネルから外部装置にデータを移動し、デ
    ータを送出する場合には、外部装置から通信チャネルにデータを移動する段階; データ・フレームが終了したか、またバッファが終了したかチェックする段階
    ; バッファが終了した場合には、通信チャネル・パラメータを更新し、バッファ
    記述子を取り出す段階にジャンプする段階; フレームが終了した場合には、フレームの終わりの指示を送り、バッファ記述
    子をクローズし、通信チャネル・パラメータを更新し、タスクを開始する段階に
    ジャンプする段階;および そうでない場合には、一時ポインタを更新し、データを移動する段階にジャン
    プする段階; からなることを特徴とする請求項19記載の方法。
JP2000609900A 1999-04-02 2000-03-14 高性能通信コントローラ Expired - Lifetime JP4530547B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/285,519 1999-04-02
US09/285,519 US6473808B1 (en) 1999-04-02 1999-04-02 High performance communication controller for processing high speed data streams wherein execution of a task can be skipped if it involves fetching information from external memory bank
PCT/IB2000/000698 WO2000060477A2 (en) 1999-04-02 2000-03-14 High performance communication controller

Publications (3)

Publication Number Publication Date
JP2002541693A true JP2002541693A (ja) 2002-12-03
JP2002541693A5 JP2002541693A5 (ja) 2007-03-29
JP4530547B2 JP4530547B2 (ja) 2010-08-25

Family

ID=23094597

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000609900A Expired - Lifetime JP4530547B2 (ja) 1999-04-02 2000-03-14 高性能通信コントローラ

Country Status (7)

Country Link
US (1) US6473808B1 (ja)
EP (1) EP1177504A2 (ja)
JP (1) JP4530547B2 (ja)
KR (1) KR100638067B1 (ja)
CN (1) CN1149806C (ja)
TW (1) TW478264B (ja)
WO (1) WO2000060477A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8989242B2 (en) 2011-02-10 2015-03-24 Nec Corporation Encoding/decoding processor and wireless communication apparatus

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6748466B2 (en) * 2001-06-29 2004-06-08 Intel Corporation Method and apparatus for high throughput short packet transfers with minimum memory footprint
US7216186B2 (en) * 2001-09-27 2007-05-08 Intel Corporation Controlling data flow between processor systems
US7158542B1 (en) 2002-05-03 2007-01-02 Atheros Communications, Inc. Dynamic preamble detection
JP2003331749A (ja) * 2002-05-17 2003-11-21 Hitachi Displays Ltd カラー陰極線管
US7139862B2 (en) * 2003-02-24 2006-11-21 Nokia Corporation Interleaving method and apparatus with parallel access in linear and interleaved order
KR100553348B1 (ko) * 2004-05-31 2006-02-20 한국전자통신연구원 피엠이엠 제어기를 이용한 고속 스트리밍 데이터 전송장치 및 방법
US20070094432A1 (en) * 2005-10-24 2007-04-26 Silicon Integrated Systems Corp. Request transmission mechanism and method thereof
US8768778B2 (en) 2007-06-29 2014-07-01 Boku, Inc. Effecting an electronic payment
GB0809381D0 (en) * 2008-05-23 2008-07-02 Vidicom Ltd Funds transfer electronically
GB0809383D0 (en) 2008-05-23 2008-07-02 Vidicom Ltd Customer to supplier funds transfer
GB0809386D0 (en) * 2008-05-23 2008-07-02 Vidicom Ltd Transferring funds electronically
GB0809382D0 (en) * 2008-05-23 2008-07-02 Vidicom Ltd Funds transfer electronically
JP5195408B2 (ja) * 2008-12-25 2013-05-08 富士通セミコンダクター株式会社 マルチコアシステム
US8116730B2 (en) * 2009-01-23 2012-02-14 Vidicom Limited Systems and methods to control online transactions
US9652761B2 (en) 2009-01-23 2017-05-16 Boku, Inc. Systems and methods to facilitate electronic payments
US8041639B2 (en) * 2009-01-23 2011-10-18 Vidicom Limited Systems and methods to facilitate online transactions
US8548426B2 (en) * 2009-02-20 2013-10-01 Boku, Inc. Systems and methods to approve electronic payments
US9990623B2 (en) 2009-03-02 2018-06-05 Boku, Inc. Systems and methods to provide information
US8700530B2 (en) 2009-03-10 2014-04-15 Boku, Inc. Systems and methods to process user initiated transactions
US8224727B2 (en) 2009-05-27 2012-07-17 Boku, Inc. Systems and methods to process transactions based on social networking
US8160943B2 (en) * 2009-03-27 2012-04-17 Boku, Inc. Systems and methods to process transactions based on social networking
US8131258B2 (en) 2009-04-20 2012-03-06 Boku, Inc. Systems and methods to process transaction requests
WO2010138969A1 (en) * 2009-05-29 2010-12-02 Boku, Inc. Systems and methods to schedule transactions
US9595028B2 (en) * 2009-06-08 2017-03-14 Boku, Inc. Systems and methods to add funds to an account via a mobile communication device
US9697510B2 (en) 2009-07-23 2017-07-04 Boku, Inc. Systems and methods to facilitate retail transactions
US9519892B2 (en) 2009-08-04 2016-12-13 Boku, Inc. Systems and methods to accelerate transactions
US8660911B2 (en) 2009-09-23 2014-02-25 Boku, Inc. Systems and methods to facilitate online transactions
US8224709B2 (en) 2009-10-01 2012-07-17 Boku, Inc. Systems and methods for pre-defined purchases on a mobile communication device
US8412626B2 (en) * 2009-12-10 2013-04-02 Boku, Inc. Systems and methods to secure transactions via mobile devices
US8566188B2 (en) 2010-01-13 2013-10-22 Boku, Inc. Systems and methods to route messages to facilitate online transactions
US8219542B2 (en) * 2010-03-25 2012-07-10 Boku, Inc. Systems and methods to provide access control via mobile phones
US8583504B2 (en) * 2010-03-29 2013-11-12 Boku, Inc. Systems and methods to provide offers on mobile devices
US8355987B2 (en) 2010-05-06 2013-01-15 Boku, Inc. Systems and methods to manage information
US8589290B2 (en) 2010-08-11 2013-11-19 Boku, Inc. Systems and methods to identify carrier information for transmission of billing messages
US8699994B2 (en) 2010-12-16 2014-04-15 Boku, Inc. Systems and methods to selectively authenticate via mobile communications
US8412155B2 (en) 2010-12-20 2013-04-02 Boku, Inc. Systems and methods to accelerate transactions based on predictions
US8583496B2 (en) 2010-12-29 2013-11-12 Boku, Inc. Systems and methods to process payments via account identifiers and phone numbers
US8700524B2 (en) 2011-01-04 2014-04-15 Boku, Inc. Systems and methods to restrict payment transactions
US8543087B2 (en) 2011-04-26 2013-09-24 Boku, Inc. Systems and methods to facilitate repeated purchases
US9830622B1 (en) 2011-04-28 2017-11-28 Boku, Inc. Systems and methods to process donations
US9191217B2 (en) 2011-04-28 2015-11-17 Boku, Inc. Systems and methods to process donations

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0788266A2 (en) * 1995-11-30 1997-08-06 Motorola, Inc. Transmission load control for multichannel HDLC TDM line

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4980820A (en) * 1985-02-28 1990-12-25 International Business Machines Corporation Interrupt driven prioritized queue
US5060140A (en) * 1986-01-16 1991-10-22 Jupiter Technology Inc. Universal programmable data communication connection system
US5193071A (en) * 1988-12-22 1993-03-09 Digital Equipment Corporation Memory apparatus for multiple processor systems
JPH05210481A (ja) * 1991-09-18 1993-08-20 Ncr Internatl Inc 直接アクセス式ビデオバス

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0788266A2 (en) * 1995-11-30 1997-08-06 Motorola, Inc. Transmission load control for multichannel HDLC TDM line

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8989242B2 (en) 2011-02-10 2015-03-24 Nec Corporation Encoding/decoding processor and wireless communication apparatus

Also Published As

Publication number Publication date
KR20010105407A (ko) 2001-11-28
EP1177504A2 (en) 2002-02-06
KR100638067B1 (ko) 2006-10-25
CN1149806C (zh) 2004-05-12
WO2000060477A2 (en) 2000-10-12
US6473808B1 (en) 2002-10-29
CN1346468A (zh) 2002-04-24
TW478264B (en) 2002-03-01
JP4530547B2 (ja) 2010-08-25
WO2000060477A3 (en) 2001-01-18

Similar Documents

Publication Publication Date Title
JP4530547B2 (ja) 高性能通信コントローラ
US6742063B1 (en) Method and apparatus for efficient transfer of data packets
US5043938A (en) Node controller for a local area network
US6526462B1 (en) Programmable multi-tasking memory management system
US6163820A (en) Efficient data transfer mechanism for input/output devices
EP1358562B8 (en) Method and apparatus for controlling flow of data between data processing systems via a memory
JP2539614B2 (ja) ポインタアドレスを発生するための装置および方法
US7363396B2 (en) Supercharge message exchanger
CN101930416B (zh) 硬件协助处理器间的沟通
US9280297B1 (en) Transactional memory that supports a put with low priority ring command
US9678866B1 (en) Transactional memory that supports put and get ring commands
US20050195833A1 (en) Full hardware based TCP/IP traffic offload engine(TOE) device and the method thereof
US20040225779A1 (en) Programmable CPU/interface buffer structure using dual port RAM
US6691178B1 (en) Fencepost descriptor caching mechanism and method therefor
JPH04233352A (ja) システムメモリからネットワークへのパケットに配列されるデータのフローを制御するネットワークアダプタおよびデータのフローを制御する方法
WO1999005809A1 (en) System for reducing bus overhead for communications with a network interface
EP1358563A1 (en) Method and apparatus for controlling flow of data between data processing systems via a memory
EP1358561A1 (en) Method and apparatus for transferring interrupts from a peripheral device to a host computer system
JPH09167127A (ja) ハードウェアとソフトウェアの間でのデータ転送を調整するための方法及び装置
US5533203A (en) Start of packet receive interrupt for ethernet controller
JPH03127154A (ja) 転送制御システム
JP3115801B2 (ja) 並列計算機システム
GB2226739A (en) Node controller for local area network
Qiao et al. Design of DMA controller for multichannel PCI bus frame engine and data link manager
KR20210006128A (ko) 대칭적 인터페이스 기반 인터럽트 신호 처리 장치 및 방법

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20041217

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20050411

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070123

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100216

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100517

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100608

R150 Certificate of patent or registration of utility model

Ref document number: 4530547

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130618

Year of fee payment: 3

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term