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
Links
- 238000004891 communication Methods 0.000 title claims abstract description 178
- 238000000034 method Methods 0.000 claims abstract description 48
- 230000008569 process Effects 0.000 claims abstract description 34
- 238000012545 processing Methods 0.000 claims abstract description 17
- 230000006870 function Effects 0.000 claims abstract description 6
- 239000000872 buffer Substances 0.000 claims description 104
- 230000002093 peripheral effect Effects 0.000 claims description 63
- 230000005540 biological transmission Effects 0.000 claims description 39
- 238000012546 transfer Methods 0.000 claims description 14
- 230000000873 masking effect Effects 0.000 claims description 7
- 230000009191 jumping Effects 0.000 claims 8
- 230000008878 coupling Effects 0.000 claims 2
- 238000010168 coupling process Methods 0.000 claims 2
- 238000005859 coupling reaction Methods 0.000 claims 2
- 230000003139 buffering effect Effects 0.000 claims 1
- 230000000977 initiatory effect Effects 0.000 claims 1
- 230000007704 transition Effects 0.000 description 34
- 238000010586 diagram Methods 0.000 description 23
- DZXZHGCGNRRJEG-WMWQKROPSA-N 5-[(e)-2-[4-[(e)-2-(3-carboxy-4-hydroxyphenyl)ethenyl]-3-fluorophenyl]ethenyl]-2-hydroxybenzoic acid Chemical compound C1=C(O)C(C(=O)O)=CC(\C=C\C=2C=C(F)C(\C=C\C=3C=C(C(O)=CC=3)C(O)=O)=CC=2)=C1 DZXZHGCGNRRJEG-WMWQKROPSA-N 0.000 description 15
- 230000004044 response Effects 0.000 description 4
- 102100021568 B-cell scaffold protein with ankyrin repeats Human genes 0.000 description 1
- 101000971155 Homo sapiens B-cell scaffold protein with ankyrin repeats Proteins 0.000 description 1
- SDIXRDNYIMOKSG-UHFFFAOYSA-L disodium methyl arsenate Chemical compound [Na+].[Na+].C[As]([O-])([O-])=O SDIXRDNYIMOKSG-UHFFFAOYSA-L 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/387—Information 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
Description
ーラに関する。
コントローラは、種々の多層通信プロトコルに従ってデータ・ストリームを処理
し、1つの通信層に関連するデータ・パケットを、別の通信層に関連するデータ
・パケットに変換する。
理するとき、通信コントローラは、各通信プロトコルを別個のモードで処理し、
種々のモード間をスキップする。
ントローラはさらに、種々の多層通信プロトコルに従って、データ・ストリーム
を処理する必要がある。高速データ・ストリームを処理するため、通信コントロ
ーラは、百MIPS単位以上など、極めて大きな帯域幅を有する必要がある。種
々の通信プロトコルに従って、データを特に極めて高速で受信、送信および処理
するためには、通信コントローラは、種々のモード間を極めて高速にスキップす
る必要がある。
100および旧通信コントローラ101の簡易概略図である。旧通信コントロー
ラ101は、モトローラのMC68360チップと類似する。旧通信コントロー
ラ101は、旧スケジューラ1050,旧直接メモリ・アクセス・コントローラ
(旧第1DMA)1060,旧第1メモリ・バンク1070,旧第1プロセッサ
1090,旧命令メモリ・バンク1130,旧第2プロセッサ1100および旧
インタフェース1160からなる。旧通信コントローラ101は、旧外部メモリ
・バンク1110と結合される。旧通信コントローラ101はまた、別の外部メ
モリ・バンク,ホスト・システムおよび他のプロセッサなど(これらに限定され
ない)、他の外部装置とも結合できる。旧通信コントローラ101は、複数の外
部メモリ・バンクと結合できる。説明の便宜上、複数のメモリ・バンクを、旧外
部メモリ1110という。
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を有する。
て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と結合される。
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と結合される。
一バス1113へのアクセスを有するいずれの装置によってもアクセス可能な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)である。
処理できた。旧通信コントローラ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頁に記載された。
ト・スワッピング(byte-swapping),フレーム生成(encapsulation)および経
路設定などの高水準の管理およびプロトコル機能を処理する。旧第1プロセッサ
1090は、すべてのデータ・ストリーム・トランザクションを制御する。旧第
1プロセッサ1090は、旧スケジューラ1150が、かかるトランザクション
の処理要求を受け取り、旧第1プロセッサに、トランザクションを処理する必要
性を知らせた後、トランザクションを処理する。いくつかの旧周辺装置からの複
数の要求が存在する場合には、旧スケジューラ1050は、最高優先要求を選択
する。
、旧第1プロセッサ1090によって実行される命令セットとして定義される。
通常、データのトランザクションは、周辺装置の1つからの受信または送信要求
によって開始される。
の概略図である。
格納され、このバッファBF(k)814のサイズはプログラムできる。データ
・フレーム(各通信プロトコル内で定義)は、1つまたは複数のバッファ内に格
納され、1つのバッファは、複数のデータ・フレームからのデータを格納しない
。少なくとも1つのデータ・フレームは、1つの通信チャネルに関連する。1つ
の通信チャネルに関連するデータを格納するバッファのセットは、循環待ち行列
を形成する。ほとんどのバッファは、旧外部メモリ・バンク1110内に配置さ
れる。バッファBF(k)814は、バッファ記述子BD(k)812によって
参照され、バッファ記述子は288と一括表記される。バッファ記述子のほとん
どは、旧第1メモリ・バンク1070内に格納され、一部は、旧外部メモリ・バ
ンク1110内に格納される。
(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は更新される。
参照される。記述子ポインタは、旧第1メモリ・バンク1070内に格納される
。
は、新しいバッファ記述子BD(k+1)を取り出さず、このバッファ記述子に
関連してバッファBF(k+1)内に格納されたデータを処理しない。
(k)816,DP(k)818,BD(k)812,およびBF(k)814内に格納
されたデータ(情報)を取り出す段階を含む。外部メモリから情報を取り出す必
要がある場合には、旧第1プロセッサ1090は、旧第1DMA1060を起動
し、当該情報が取り出されるまで待機する。当該情報が取り出された後、旧第1
プロセッサ1090は、旧外部メモリ1100からの情報の取り出しを含んだタ
スクを実施し続ける。
共用し、これにより、旧通信コントローラ101の周波数および利用可能な帯域
幅を制限する。
プロセッサ1090はアイドル状態となり、周波数を低減した。
できず、高速データ・ストリーム、特に、種々の通信プロトコルに関連する高速
データ・ストリームを処理することができなかった。
ストリームを処理することができる改良された高性能通信コントローラに対する
必要性が存在する。
信プロトコルに関連する高速データ・ストリームを処理する能力である。
動作面の詳細は、説明のためだけであって、いかなる方法でも添付請求の範囲に
記載される本発明の範囲を制限することを意図するものではないことに注意され
たい。
ク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と称される。
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と一括表記)と結合
する。
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と結合
される。
させるために使用される。インタフェース160は、レジスタからなり、第1プ
ロセッサ90を、第1バス100を介して、第2プロセッサ100など種々の装
置と結合するのに使用される。インタフェース160は、第1プロセッサ90に
命令を書き込むのに用いることができる。
これは、通信チャネル180の中の1つまたは複数の通信チャネルと結合される
。適切には、周辺装置は、より複雑化され、通常、各周辺装置は、1つまたは複
数の通信プロトコルの処理に特化される。一部の周辺装置は、1つの通信チャネ
ルと結合でき、一部は、複数の通信チャネルと結合できる。例えば、本発明の範
囲を制限せずに、HDLCプロトコルを処理する周辺装置は、256の通信チャ
ネルと結合できる。
8360 SCCと類似するが、非同期転送モード通信プロトコルも処理できる
。もう1つの周辺装置は、モトローラのMC68360SMCと類似する。別の
周辺装置は、モトローラのMC68360SPIと類似する。別の周辺装置は、
通信コントローラ111が、ATMプロトコルを処理できるようにし、別の周辺
装置は、通信コントローラ111が、高速イーサネット(登録商標)・プロトコ
ルを処理できるようにする。シリアル通信プロトコルを処理する周辺装置は通常
、シフト・レジスタなどの並直列変換器からなり、これは、通信チャネルから、
直列データ・ビット・ストリームを受信し、当該ビット・ストリームを、複数の
ビット・ワードのセットに変換して、これが第1プロセッサ90に送られる。こ
れらの周辺装置はさらに、シフト・レジスタなどの並直列変換器からなり、第1
プロセッサ90から複数のビット・ワードを受け取って、各ワードを単一ビット
のストリームに変換する。適切には、各周辺装置は、少なくとも1つの通信プロ
トコルに特化されるステート・マシンからなる。ステート・マシンは、生データ
・ビット・ストリームを、通信プロトコルと適合性のあるビット・ストリームに
変換する。
する。通信コントローラ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頁に記載された。
ング, フレーム生成および経路設定など、高水準の管理とプロトコル機能を処理
する。適切には第2プロセッサは、モトローラのMC68360チップ(モトロ
ーラのMC68360チップのユーザーズマニュアルに記載)のCPU32+に
類似する。第1プロセッサ90は、データ・ストリーム・トランザクションを制
御する。
ッサ90によって実行される命令セットとして定義される。通常、フレームのト
ランザクションは、周辺装置の1つからの受信または送信要求によって開始され
る。
説明の便宜上、各周辺装置140は、2つの要求チャネル、すなわち、データを
送信して、送信要求を送るための送信要求チャネルと、データを受信して、受信
要求を送るための受信要求チャネルからなるものと見なされる。説明の便宜上、
z番目のチャネルはRC(z)と表され、z555は、1から2Mの値を有する
指標である。Z555は、z番目の要求チャネルが、受信または送信要求を送っ
たことを示す。
・バンク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)の始まりを指す。
たTMP(k)は、第1プロセッサ90がタスク・スイッチを実行するか、およ
び/またはこれに従ってタスクの実施を開始するときに、第1メモリ・バンクに
送出される、および/または第1メモリ・バンクから送出される。
では、新しいバッファ記述子BD(k+1)を取り出さず、バッファBF(k+
1)内に格納されたデータを処理しない。
ル・パラメータ,通信チャネル・パラメータ,TMP(k),DP(k),BD
(k)と,BF(k)内に格納されたデータの取り出しを含む。上記の取り出し
の間、DMP動作を実施することが必要な場合であって、DMA要求が第1バス
113もしくは第2DMA160へのアクセスを要求する場合には、第1プロセ
ッサは第1DMA60をアクティブにし、またはDMA要求が第2バス114へ
のアクセスを要求する場合には、第1プロセッサ90は第2DMA60をアクテ
ィブにした。
図である。第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と結合される。
、メモリ・ワード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によって転送される。
格納するためのもので、第2部分682は、DMA要求を格納するためのもので
ある。
る。DI_MUX66は、入力668を介して、BYQ信号668を受信し、こ
の信号は、DMA要求とz555をバイパス・レジ68または待ち行列62に書
き込むかどうか決定する。
して、制御信号を受信し、この信号は、入力696を選択させ、バイパス・レジ
68内に格納されるDMA要求を出力させる。空である場合には、DO_MUX
69は、入力694を選択し、第2部分6212に格納されるDMA要求を出力
する。
ーブル装置64の入力646と結合される。第1プロセッサ70が、RC(z)
に関連するDMA要求を第1DMA60に送出するとき、RC(z)の送信要求
または受信要求は非アクティブとなる。RC(z)に関連するすべてのDMA要
求が実施された後、その受信または送信要求はアクティブとなる。通常、受信ま
たは送信要求は、当該要求に関連するタスクが終了するときに、非アクティブと
なる。
する要求チャネルの送信または受信要求をマスクする。イネーブル装置64は、
出力648を介して、対応するz555を有するイネーブル信号を、スケジュー
ラ50に送出することができる。適切には、出力648は2Mビット,すなわち
2M個の要求チャネルそれぞれにつき1ビットを有し、イネーブル装置64は、
1ビット信号を、RC(z)に関連する出力648のz番目のビットに送出する
。
の概略図である。第1DMA60のバッファ・セクションは、第2DMA160
のバッファ・セクションと類似する。バッファ・セクションは、第1送信(tx
)バッファ612,第2送信(tx)バッファ614,第1受信(rx)バッフ
ァ616,第2受信(rx)バッファ618,送信制御装置610,受信制御装
置615からなる。
る。第2txバッファ614は、入力6146,6144と出力6142とを有
する。送信制御装置610は、入力6108と出力6104,6102とを有す
る。受信制御装置615は、入力6158と出力6154,6105とを有する
。第1rxバッファ616は、入力6162,6164と出力6166とを有す
る。第2rxバッファ618は、入力6182,6184と出力6186とを有
する。
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
と結合される。
るレジスタを有し、これは、第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バッファは、独立して動作可能であることが望まし
い。
ジスタを有し、これは、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は、独立して
動作可能であることが望ましい。
81と681およびバイパス・レジスタ682の内容をチェックしない。受信制
御装置および送信制御装置615,610のフィールド6502と6102の内
容は、第1部分6211から6281と628の内容と比較され、符合しない場
合には、フィールド6502,6102の内容は、イネーブル装置64に送られ
る。
概略図である。マスキング論理は、複数の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とを有する。
る。イネーブル装置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と結合されて、要求チャネルから、受信または送信
要求を受け取る。
求を受け取るとき、ディスエーブル信号(低水準信号)をゲートに送出し、ゲー
トは、当該要求チャネルから受信または送信要求を受け取り、イネーブル信号は
、当該チャネルから来る要求をマスクする。第1DMA60または第2DMAが
、要求チャネルに関連する要求がないときには、それらはイネーブル信号を、要
求チャネルと結合されるゲートに送出する。第1および第2DMA60,160
がともにイネーブル信号を送出する場合には、要求コレクタの受信または送信要
求は、スケジューラ50に到達できる。
要求チャネルは、回線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)の送信要求をマスクする。
エーブル信号は、第1プロセッサ90がDMA要求を送るときに送出される。第
1プロセッサが、フリップフロップのリセット入力と結合される間、イネーブル
装置64がフリップフロップのセット入力と結合される間、第1プロセッサ90
とイネーブル装置64とは、フリップフロップと結合される。フリップフロップ
の出力は、上述のように、AND論理ゲートの入力と結合される。第1プロセッ
サはまた、第2DMA160のイネーブル装置164と結合される。
ジューラ50は、要求セレクタ56,スタック・ポインタ入力マルチプレクサ(
sp入力mux)52,スタック・ポインタ出力マルチプレクサ(sp出力mu
x)58,および2M個のスタック・ポインタ・レジスタ1sp_regから2
Msp_reg541から548(540と一括表記)からなる。
スタック・ポインタは、タスクT(z)の一部である命令I(z,r)のアドレ
スであり、zとrは整数、zは1から2Mまでの値を有する。タスクT(z)は
、要求チャネルRC(z)からの1つの受信または送信要求に専用であることが
望ましい。タスクT(z)は、命令メモリ・バンク130内,第1メモリ・バン
ク70内,または外部メモリ・バンク110内に格納できる。タスクT(z)ま
たはその一部は、他のメモリ・バンク内にも格納できる。
第1プロセッサ90に対して、Dsp_regからスタック・ポインタを取り出
させる。Csp_regの内容は、命令I(c,r)のアドレスである。第1プ
ロセッサ90はついで、タスクT(c)の一部を実行する。
置から情報を取り出す必要があるまで、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)
の中の命令の実行を開始する。
および被選択タスクからの命令の実行開始のうち、第1プロセッサ90によって
行われるプロセスとして定義される。通常、被選択タスクは、停止されたタスク
とは異なるが、必ずしもそうではない。
出力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と結合される。
求チャネルが新しいデータを受け取れるときに送られる。受信要求は通常、受信
チャネルがデータを受信するときに送られる。
求を受信したか否かをチェックする。答えが「イエス」である場合には、要求セ
レクタ56は、最高優先順位を有する要求を選択する。説明の便宜上、最高優先
順位を有する要求は、z番目の要求チャネルRC(z)から来たものと仮定する
。要求セレクタ56は、制御信号をSp入力mux52に送出して、Gsp_r
eg内に格納されたz番目のスタック・ポインタが、第1プロセッサ90に送出
されるようにする。第1プロセッサ90は、命令メモリ・バンク130から、z
番目のスタック・ポインタによって指し示される命令I(z,r)を取り出し、
それとタスクT(z)の次の命令の実行を開始する。
入力される要求は、最も低い優先順位を持つことができ、M番目の入力568に
よって入力される要求は、最も高い優先順位を持つことができる。
略図である。BTM40は、BTMデータ・レジスタ(bdataバッファ)4
1,BTM制御装置(bcontrol装置)46,データ・マニピュレータ(
datamanipulator)4およびCRCマシン48からなる。BTM40は、CRC REG42,第1メモリ・バンク70,および周辺装置140と結合される。 CRC REG42は、第1プロセッサ90のレジスタ群の1つである。
データ転送を処理する。通常、第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を有する。
CRC REG42は、入力424とI/O426とを有する。BRAM43は
、I/O432と入力434とを有する。データ・マニピュレータ44は、入力
442,444とI/O446とを有する。Bcontrol装置46は、入力
462と出力464とを有する。CRCマシン48は、入力484,482とI
/O486とを有する。
ータ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と結合される。
御信号および/または命令オペランドによって起動される。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に
新しいデータ・ワードを送出することができる。
。メモリ・バンク70は適切には、Qセクション(メモリ・バンク)1BANK
からQBANK701から708からなる。1BANKからQBANK701か
ら708の各メモリ・バンクは、第1プロセッサ90,第1DMA60,第2D
MA160およびBTM40と結合される。説明の便宜上、2つのメモリ・バン
ク1BANK701とQBANK708だけが描かれるが、任意の数Qのメモリ
・バンクを実施できる。説明の便宜上、第2DMA160は描かれない。
介して、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は
、どの要素が最初にサービスを受け、最初の要素がサービスを受けた後、どれが
サービスを受けるか決定する。
・バンクのメモリ・バンク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と結合される。
、ADDRESS MUX714の入力7144,7146,7148およびメ
モリ・セレクタ712の入力7124,7126,7128に、アドレス・ワー
ドを送出することができる。アドレス・ワード・ビットのいくつかは、メモリ・
セレクタ712に送られ、残りのビットは、ADDRESS MUX714に送
られる。メモリ・セレクタ712に送られるアドレス・ビットは、1BANKか
らQBANK701から708のなかの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と結
合する。
、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と結合させる選択信号を送出する。
高速を提供するためにインタリーブできる。このインタリービングは、第1メモ
リ・ワードが、第1データ・バンク内にあり、第2メモリ・ワードが第2メモリ
・バンク内にあるようにする。インタリービングは、アドレス・ワードの最も重
要度の低いビットおよび最も重要度の高いビットをスワップすることによって実
施される。例えば、第1メモリ・バンクが、それぞれ2Kワードの16のメモリ
・バンクからなる場合には、アドレス・ワードは、15ビット長にしなければな
らず、4ビットは、16メモリ・バンクの1つを選択するのに用いられ、他の1
1ビットは、2Kワード・メモリ・バンク内のどのデータ・ワードが選択される
かを定義する。インタリービングは、15ビットのアドレス・ワードのうち重要
度の低い4つのビットを、各メモリ・セレクタ712のアドレス・バスの最も重
要度の高い4つのビットに送ることによって実施でき、残りの11ビットは、A
DDRESS MUX714に送られる。
を実施するための方法900の好適な実施例を示すフローチャートである。
または送信要求を受信したか否かをチェックする段階910から始まる。段階9
10は、経路913によって示されるように、段階920に続く。
を選択する。説明の便宜上、当該要求はCR(z)から来たと仮定する。スケジ
ューラ50は、被選択受信/送信要求に関連するスタック・ポインタを送出し、
第1プロセッサ90に、CR(x)に関連したタスクT(z)を実行させる。タ
スクT(z)の実行は通常、データ,状態語,要求チャネル・パラメータ,通信
チャネル・パラメータおよびポインタ(情報)の取り出しを含む。段階920の
間、第1プロセッサ90は、タスクT(z)が終了するまで、または外部メモリ
・バンク110または外部装置から情報を取り出す必要があるまで、タスクT(
z)を実行した。
憶される情報を取り出す必要がある場合には、第1プロセッサは、DMA要求を
第1DMA60に送り、更新されたスタック・ポインタSP(z)を、スケジュ
ーラ50のz番目のスタック・ポインタ・レジスタ(Zsp_reg)に格納し
、ディスエーブル信号をスケジューラ50に送出し、これは、RC(z)からの
いずれの送信または受信要求もマスクする。経路962に示されるように、段階
960は、段階910に続く。
は第2DMA160が、段階970の間に、要求を実行して情報を取り出す。情
報が取り出された後、第1DMA60または第2DMA160は、イネーブル信
号をスケジューラ50に送って、T(z)からの受信または送信要求のマスクを
除去する。段階910,920,930,940,950,960が、タスクT
(x)に従って実行される間、段階970は実行できる。
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)に続く。
了する場合には、第1プロセッサ90は、更新されたスタック・ポインタをZs
p_regに送り、方法900は、段階910を開始して、スケジューラ50が
、送信/受信要求を受信したかどうかチェックする。
情報を取り出すために、DMA要求を第1DMA60または第2DMA160に
送出して、ディスエーブル信号をスケジューラ50に送出し、これは、CR(z
)からの送信または受信要求をマスクする。第1プロセッサ90は、Zsp_r
egを現在スタック・ポインタに送る。ディスエーブル信号はまた、第1DMA
60または第2DMA160によっても送出できる。
れるタスクを実行するための方法1000の好適な実施例を示すフローチャート
である。
報が、外部メモリ・バンク110または任意の他の外部装置に格納される場合に
は、第1プロセッサ90は、図9により説明されるように、タスク・スイッチを
実行する。段階1046は、タスク・スイッチに続けることができる。例えば、
要求周辺装置が、フレーム全体ではなく、当該フレームの一部しか格納せず、第
1プロセッサ90が、当該部分の処理を終了する場合には、当該フレームの残り
の部分を取り出す必要があり、このため、第1プロセッサ90は、タスク・スイ
ッチを実施して、フレームの別の部分が周辺装置内に格納される場合には、この
タスクを実施するために戻すことができる。説明の便宜上、これらのタスク・ス
イッチは、図10には示さず、方法1000は、タスク・スイッチなしで実行さ
れるものとして示される。
を取り出すことにより、被選択タスクT(z)からの命令の実行を開始する。
014の間、第1プロセッサ90は、被選択チャネルRC(z)の要求チャネル
・パラメータを取り出して読み取る。
k)から構成できる。ATM通信プロトコルに従って送られるデータ・ストリー
ムを受信するときには、第1プロセッサ90は、セルのヘッダを読み取ることが
できる。ヘッダは、アドレスを含み、これは、仮想接続(CV)に関連する。こ
のアドレスは、段階1018の間に、チャネル・パラメータが読み取られるチャ
ネルを定義する。高速イーサネット(登録商標)通信プロトコルに従ってデータ
・ストリームを受信する間、第1プロセッサ90は、衝突が存在したか、予め決
められた時間枠内に衝突が現れたかをチェックし、答えが「イエス」の場合には
、通信コントローラ111は、第1プロセッサが、RC(z)へのデータ送信を含
むタスクを実行するときに、受信した情報を無視するか、またはデータ・ストリ
ームを再送信する。答えが「ノー」の場合には、第1プロセッサ90は、エラー
信号を第2プロセッサ100に送出する。
018の間、第1プロセッサは、通信チャネル・パラメータを取り出す。第1プ
ロセッサ90は、通信コントローラ111によって受信(または送信)されるデ
ータ・ワードが、通信フレーム内の最初のデータ・ワードであるかチェックする
。答えがイエスであれば、段階1018は段階1022に続き、ノーである場合
には段階1030に続く。通常、通信チャネル・パラメータは、データ・ワード
がフレーム内の最初であるかどうかを示すフィールドからなる。例えば、ATM
通信プロトコルに従ってセルを受信するとき、この表示が、セルのヘッダ内に見
出される。
022の間、第1プロセッサ90は、DP(k)に従ってBF(k)を取り出し
、これは、以前に取り出されたものである。第1プロセッサ90は、CC(k)
から受け取ったデータ・ワードをBF(k)の始まりに書き込むことを開始する
ので、TMP(k)はPT(k)の値を得る。
026の間、第1プロセッサは、FSB(k)を読み取る。当該ビットが設定さ
れる場合には、第1プロセッサ90は、BF(k)にアクセスできない。適切に
は、第1プロセッサ90は、第2プロセッサ100がRSB(k)をリセットす
るまで待機し、他のバッファ記述子へのデータ書き込みを試行しないが、これは
必ずしも必要ない。経路1028に示されるように、FSB(k)がリセットさ
れるとき、第1プロセッサは、段階1030の間、TMP(k)を取り出す。T
MP(k)は、被受信データ・ワードが、格納されるアドレス(または送信する
データ・ワードのアドレス)を指す。
ントローラ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との間のデータの送信を処理する
。
。
内に格納された(BF(k)から送られた)1つまたは複数のデータ・ワードが
、フレーム内の最後のデータ・ワードだったか否か、およびBF(k)が一杯(
空)であるか否かをチェックする。
合には、段階1038は段階1046に続く。段階1046の間、TMP(k)
が増加し、BF(k)内の空のデータ・ワードを指すようにし(CC(k)に送
信される次のデータ・ワード)、TMP(k)によって以前示されたメモリ・ワ
ードに続く。経路1056に示されるように、段階1046は段階1034に続
く。
ドがフレームの終わりである場合には、問い合せ段階1038は段階1050に
続く。段階1050の間、第1プロセッサ90は、フレーム指示の終わりを第2
プロセッサ100に送出し、FSB(k)を設定することによってBD(k)を
クローズし、通信チャネル・パラメータを更新する。この更新は、次の記述子ポ
インタDP(k+1)によって、DP(k)を置き換える段階を含むことができ
る。
を受信すること(ATM通信プロトコルの部分集合)であるとき、第1プロセッ
サ90は、フレームの送信中、エラーがあったことをCRCチェックが示したか
どうか、またその場合、第2プロセッサに割り込みを送信するかどうかをチェッ
クしなければならない。第1プロセッサ90はまた、最後のセルの長さをチェッ
クして、LW(k)を更新することができる。
からの被送信データ・ワードのときには空)である場合には、段階1038は、
段階1042に続く。段階1042の間、第1プロセッサ90は、FSB(k)
を設定し、通信チャネル・パラメータを更新することによって、BD(k)をク
ローズする。この更新は、DP(k)を、次の記述子ポインタDP(k+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)よりも優先順位が低い。
ク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)を実行しない。
と同じ方法で、第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
タスクの実行を続行する。
遷移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要求を実行した。
プロセッサの応答を示すタイミング図である。
よる第1タスクT(1)の実行を表す。第1プロセッサは、遷移1560と15
61,1562と1563,1564と1565,1566と1567の間で、
第1タスクT(1)を実行する。遷移1561,1563,1565は、外部メ
モリ・バンクまたは他の外部装置から情報を取り出す必要性によって通常生じる
タスク・スイッチを示す。
90により示されるように、第1プロセッサ90が、第1タスクT(1)の実行
を終了するまで、当該要求はアクティブである。
により示されるように、第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)を処理しない。
1タスクT(1)に関連する要求チャネルからの要求はいずれも非アクティブと
なり、第1プロセッサは、タスクT(1)からの命令の実行を再開しない。
A60が、RC(z)に関連するDMA要求の実行を終了した後、設定される。
遷移1593,1595により示されるように、信号R1は、RC(z)に関連
するDMA要求を実行する必要があるときにリセットされる。
実行を終了するときに、R1はリセットされる。
装置の少なくとも1つの好適な実施例と、命令システムの実施例を含む実施例が
本明細書に記述された。当業者には、本発明の主題が種々の方法で変更でき、上
記に特に記載された好適な形態以外にも、多くの実施例を想定できることが明ら
かであろう。したがって、上記に開示された本発明の主題は、説明のためのもの
であって制限的なものではなく、法律に認められる最大の範囲まで、添付請求の
範囲は、本発明の真正の意図および範囲に属する当該すべての変更およびその他
の実施例を包含することが意図される。本発明の範囲は、上述の詳細な説明では
なく、添付請求の範囲、ならびにこれと同等のものの許容できる最も広範な解釈
によって判断される。
図面とあわせて、上記の詳細な説明によって開示される。
トローラの簡易概略図である。
リ・バンクの一部分の概略図である。
および通信コントローラの概略図である。
ローラの制御セクションの概略図である。
ローラのバッファ・セクションの概略図である。
スキング論理の概略図である。
。
バンクの1つの概略図である。
チを実施する方法の好適な実施例を示すフローチャートである。
動されたタスクを実行する方法の好適な実施例を示すフローチャートである。
第1プロセッサの応答を示すタイミング図である。
1プロセッサの応答を示すタイミング図である。
Claims (20)
- 【請求項1】 高速データ・ストリームを受信,送信および処理するための
高速通信コントローラであって、前記データ・ストリームは、フレームからなり
、前記通信コントローラは、複数の通信チャネルおよび第1と第2外部バスとに
結合するように対応しており、前記通信コントローラは: データ・ストリームを制御する第1プロセッサであって、前記第1プロセッサ
は、タスクを実行することにより、フレームのトランザクションを制御する第1
プロセッサ; 高水準管理および通信プロトコル機能を処理するための第2プロセッサ;およ
び タスクを実行する必要性があるかどうか検出するため、かつ前記第1プロセッ
サにより実行される被選択タスクを選択するための前記第1プロセッサと結合さ
れるスケジューラ; によって構成されることを特徴とする高速通信コントローラ。 - 【請求項2】 前記第1プロセッサと結合されて、タスクを格納するための
命令メモリ・バンク; 前記第1プロセッサと結合されて、前記第1プロセッサにより処理されるデー
タを格納するための第1メモリ・バンク; 前記第1プロセッサおよび前記第1外部バスと結合されて、前記第1外部バスと
結合される外部メモリ・バンク内に格納される情報を取り出すための、第1直接
メモリ・アクセス・コントローラ; 前記第1プロセッサおよび前記第2外部バスと結合されて、前記第2外部バス
と結合される外部メモリ・バンク内に格納する情報を取り出すための、第2直接
メモリ・アクセス・コントローラ;および 前記スケジューラおよび前記第1メモリ・バンクと結合されて、前記複数通信
チャネルと前記第1メモリ・バンクとの間でバッファリングするための複数の周
辺装置; によって構成されることを特徴とする請求項1記載の通信コントローラ。 - 【請求項3】 前記スケジューラは、複数のスタック・ポインタを格納し; スタック・ポインタはタスクと関連し; 前記スケジューラは、前記第1プロセッサに、被選択スタック・ポインタを送
出し、前記被選択スタック・ポインタは、前記被選択タスクと関連し; タスクの実行は、前記被選択スタック・ポインタを更新する段階を含み; 前記第1プロセッサは、前記第1プロセッサが前記被選択タスクの実行を停止
するときに、前記スケジューラに、前記更新された被選択スタック・ポインタを
送ること; を特徴とする請求項2記載の通信コントローラ。 - 【請求項4】 前記第1プロセッサは、前記タスクの実行が、前記外部メモ
リ・バンクから情報を取り出す段階を含むときに、タスクの実行を停止すること
を特徴とする請求項3記載の通信コントローラ。 - 【請求項5】 周辺装置は、2つの要求チャネルを有し; 前記第1要求チャネルは、前記通信コントローラから通信チャネルに送られた
前記データの送信を処理し; 前記第2要求チャネルは、通信チャネルから、前記通信コントローラに送られ
る前記データの受信を処理し; 前記第1要求チャネルが前記通信チャネルに送られるデータを受信できるとき
、前記第1要求チャネルは、送信要求を前記スケジューラに送出し;および 前記第2要求チャネルが通信チャネルからデータを受信したとき、前記第2要
求チャネルは、前記スケジューラに受信要求を送出すること; を特徴とする請求項4記載の通信コントローラ。 - 【請求項6】 前記スケジューラは: 前記周辺装置と結合され、送信要求および受信要求を受け取り、かつ被選択要
求を選択するための要求セレクタ; 複数のスタック・ポインタを格納するための複数のスタック・ポインタ・レジ
スタ; 前記複数のスタック・ポインタ・レジスタおよび前記第1プロセッサと結合さ
れて、前記複数のスタック・ポインタ・レジスタにスタック・ポインタを書き込
むためのスタック・ポインタ入力マルチプレクサ;および 前記複数のスタック・ポインタ・レジスタ,前記第1プロセッサおよび前記要
求セレクタと結合されて、前記被選択スタック・ポインタを前記第1プロセッサ
に送出するためのスタック・ポインタ出力マルチプレクサ; から構成されることを特徴とする請求項5記載の通信コントローラ。 - 【請求項7】 前記第1直接メモリ・アクセス・コントローラおよび前記第
2直接メモリ・アクセス・コントローラは: 前記第1プロセッサと結合され、複数の直接メモリ・アクセス要求を格納する
ための直接メモリ・アクセス要求待ち行列;および 前記直接メモリ・アクセス要求待ち行列および前記スケジューラと結合されて
、前記直接メモリ・アクセス・メモリ・コントローラ内に格納された前記直接メ
モリ・アクセス要求に関連する第1要求チャネルからの送信要求をマスクするた
め、かつ前記直接メモリ・アクセス・メモリ・コントローラ内に格納された前記
直接メモリ・アクセスに関連する第2要求チャネルからの受信要求をマスクする
ためのイネーブル装置; によって構成されることを特徴とする請求項6記載の通信コントローラ。 - 【請求項8】 前記第1直接メモリ・アクセス・コントローラおよび前記第
2直接メモリ・アクセス・コントローラはさらに: 直接メモリ・アクセス要求を格納するための要求バイパス・レジスタ; 前記直接メモリ・アクセス要求待ち行列内または前記要求バイパス・レジスタ
内に、直接メモリ・アクセス要求を格納するか否かを決定するための入力マルチ
プレクサ;および 前記第1メモリ・バンク,前記直接メモリ・アクセス要求待ち行列および前記
バイパス要求レジスタと結合されて、前記要求バイパス・レジスタが、有効な直
接メモリ・アクセス要求を格納する場合には、前記要求バイパス・レジスタ内に
格納される前記直接メモリ・アクセス要求を選択するための出力マルチプレクサ
; によって構成されることを特徴とする請求項7記載の通信コントローラ。 - 【請求項9】 前記直接メモリ・アクセス要求待ち行列は、複数のメモリ・
ワードを有し; 各メモリ・ワードは、第1部分と第2部分とを有し; 前記第2部分は、直接メモリ・アクセス要求を格納するためであり;および 前記第1部分は、ラベルを格納するためのもので、前記ラベルは、前記第2部
分内に格納される前記直接メモリ・アクセス要求に関連する前記要求チャネルを
示すこと; を特徴とする請求項8記載の通信コントローラ。 - 【請求項10】 第1直接メモリ・アクセス・コントローラと第2直接メモ
リ・アクセス・コントローラのうち1つの中にあるイネーブル装置が、前記第1
要求チャネルからの送信要求をマスクするとき、第1要求チャネルからの送信要
求がマスクされ;および 前記第1直接メモリ・アクセス・コントローラと第2直接メモリ・アクセス・
コントローラのうち1つの1つの中にあるイネーブル装置が、前記第2要求チャ
ネルからの受信要求をマスクするときに、第2要求チャネルからの受信要求がマ
スクされること; を特徴とする請求項7記載の通信コントローラ。 - 【請求項11】 請求項10記載の通信コントローラであってさらに、デー
タを前記周辺装置から前記第1メモリ・バンクに転送し、かつ前記第1メモリ・
バンクから前記周辺装置に転送するためのブロック転送マシンを有し; 前記ブロック転送マシンは: 前記周辺装置と結合されて、データを操作するためのビット・フィールド装置
; 前記周辺装置と結合されて、CRCチェックを実施するためのCRCマシン; 前記CRCマシン、前記データ・マニピュレータおよび前記第1メモリ・バン
クと結合されて、前記第1メモリ・バンクから前記周辺装置に送られるデータを
格納するためと、前記第1メモリ・バンクに書き込まれるデータを格納するため
のBTMデータ・レジスタ;および 前記CRCマシン,前記データ・マニピュレータおよび前記BTMデータ・レ
ジスタと結合されて、前記ブロック転送マシンを制御するためのBTM制御装置
; によって構成されることを特徴とする請求項10記載の通信コントローラ。 - 【請求項12】 前記第1メモリ・バンクは、複数のセクションを有し、各
セクションは、前記第1プロセッサ,前記第2プロセッサ,前記直接メモリ・ア
クセス・コントローラ,前記第2直接メモリ・アクセス・コントローラおよび前
記BTMと結合され、各セクションは: 情報を格納するためのメモリ・アレイ; 前記第1プロセッサ,前記第2プロセッサ,前記直接メモリ・アクセス・コン
トローラ,前記第2直接メモリ・アクセス・コントローラおよび前記BTMから
、被選択装置を選択するためのメモリ・セレクタ; 前記被選択装置と前記メモリ・アレイとの間で前記データの送信を可能にする
ためのデータ・マルチプレクサ;および 前記被選択装置が、前記メモリ・アレイにアドレス・ワードを送出できるよう
にするためのアドレス・マルチプレクサ: からなることを特徴とする請求項11記載の通信コントローラ。 - 【請求項13】 前記外部メモリ・バンクは、データを格納するための複数
のバッファを有し; 前記外部メモリ・バンクはさらに、ポインタ,状態および制御フィールドおよ
び長さフィールドを格納するためのバッファ記述子を有し; 前記ポインタは、バッファを指し; 前記長さフィールドは、前記ポインタによって参照される前記バッファの長さ
を定義し;および 前記状態および制御ワードは、F/Sフィールドを有し、前記第1プロセッサ
と前記第2プロセッサのうちどれが、前記ポインタにより参照される前記バッフ
ァにアクセスできるかを示すこと; を特徴とする請求項5記載の通信コントローラ。 - 【請求項14】 バッファが、要求チャネルに関連するデータを格納し; 1つの要求チャネルに関連するバッファのセットが、循環待ち行列を形成し; 前記状態および制御ワードは、前記ラップ・フィールドを有する前記バッファ
記述子により参照される前記バッファが、前記セット内の前記最終バッファであ
るかどうかを示すラップ・フィールドからなり; 前記バッファは、1つのデータ・フレームからのデータを格納し; 各バッファは、複数のメモリ・ワードからなり; 前記第1メモリ・バンクは、一時ポインタを格納し;および 一時ポインタは、前記第1プロセッサにより処理されるその次のメモリ・ワー
ドを指すこと; を特徴とする請求項13記載の通信コントローラ。 - 【請求項15】 前記第1プロセッサは、前記バッファ記述子により参照さ
れる前記バッファが、前記第1プロセッサによって処理された後、前記F/Sフ
ィールドを設定し;および 前記第2プロセッサは、前記バッファ記述子により参照された前記バッファが
、前記第2プロセッサにより処理された後、前記F/Sフィールドをリセットす
ること; を特徴とする請求項14記載の通信コントローラ。 - 【請求項16】 前記第1プロセッサが、タスク・スイッチを実施するとき
、前記第1メモリ・バンク内に、前記更新された一時ポインタを保存し;および 前記第1プロセッサは、タスクから命令を実行するとき、前記第1プロセッサ
は、前記一時ポインタを取り出すこと; を特徴とする請求項14記載の通信コントローラ。 - 【請求項17】 データ・ストリームのトランザクションを処理するための
方法であって、前記データ・ストリームはフレームからなり、フレームのトラン
ザクションは、タスクの実行によって処理され、タスクの実行は、外部装置から
情報を取り出す段階を含み、前記方法は: トランザクションを処理する必要があるかチェックする段階; トランザクションを処理する必要がある場合には、前記タスクが終了するまで
、または前記タスクの実行が、外部装置から情報を取り出す段階を含むまで、タ
スクを実行する段階; 前記タスクが終了する場合には、トランザクションを処理する必要があるかどう
かチェックする段階にジャンプする段階;および 他の場合には、前記外部装置からの前記情報を取り出し、外部装置から情報を
取り出す段階を含んだ前記タスクの実行を停止し、およびトランザクションを処
理する必要があるかどうかチェックする段階にジャンプするプロセスを開始する
段階; からなることを特徴とする方法。 - 【請求項18】 通信チャネルからフレームの一部を受信する必要があるとき
に、タスクの実行が停止されることを特徴とする請求項17記載の方法。 - 【請求項19】 高速データ・ストリームを受信,送信および処理するために
通信コントローラを動作する方法であって、前記データ・ストリームは、フレー
ムからなり、前記通信コントローラは、複数の通信チャネルおよび外部装置と結
合され、前記通信コントローラは、データ・ストリーム・トランザクションを制
御するための第1プロセッサであって;前記第1プロセッサは、タスクを実行す
ることにより、フレームのトランザクションを制御する第1プロセッサ;高水準
管理および通信プロトコル機能を処理するための第2プロセッサ;前記第1プロ
セッサと前記第2プロセッサとに結合されて、前記プロセッサと前記第2プロセ
ッサを外部装置と結合させるための第1外部装置;前記第1プロセッサと前記第
2プロセッサとに結合されて、前記第1プロセッサと前記第2プロセッサとを外
部装置に結合させるための第2外部バス;および第1プロセッサと結合されて、
タスクの実行する必要があるかを検出し、どのタスクを実行するか選択するため
のスケジューラを有しており; 前記方法は: トランザクションを処理する必要があるかどうかチェックする段階; トランザクションを処理する必要がある場合には、前記タスクが終了するまで
、または前記タスクの実行が、外部装置から情報を取り出す段階を含むまで、タ
スクを実行する段階; 前記タスクが終了する場合には、トランザクションを処理する必要があるかど
うかチェックする段階にジャンプする段階;および 他の場合には、前記外部装置から前記情報を取り出し、外部装置から情報を取
り出す段階を含む前記タスクの実行を停止し、かつトランザクションを処理する
必要があるかどうかチェックする段階にジャンプする段階; によって構成されることを特徴とする方法。 - 【請求項20】 前記通信コントローラはさらに、前記第1プロセッサと結
合されて、タスクを格納するための命令メモリ・バンク;前記第1プロセッサと
結合されて、前記第1プロセッサにより処理されたデータを格納するための第1
メモリ・バンク;前記第1プロセッサおよび前記第1外部バスと結合されて、前
記第1外部バスと結合された外部メモリ・バンク内に格納された情報を取り出す
ための第1直接メモリ・アクセス・コントローラ;前記第1プロセッサおよび前
記第2外部バスと結合されて、前記第2外部バスと結合された外部メモリ・バン
ク内に格納された情報を取り出すための第2直接メモリ・アクセス・コントロー
ラ;前記スケジューラおよび前記第1メモリ・バンクと結合されて、複数の通信
チャネルと前記第1メモリ・バンクとの間をバッファリングするための複数の周
辺装置を有し;各周辺装置は、2つの要求チャネルからなり、前記第1要求チャ
ネルは、前記通信コントローラから通信チャネルに送られたデータの送信を処理
し;前記第2要求チャネルは、通信チャネルから前記通信コントローラに送られ
たデータの受信を処理し;前記要求チャネル・パラメータは、要求チャネルの状
態を定義し;通信チャネル・パラメータは、通信チャネルの状態を定義し;前記
外部メモリ・バンクは、データを格納するために複数のバッファを有し;前記外
部メモリ・バンクはさらに、ポインタ,状態および制御フィールドおよび長さフ
ィールドを格納するために、バッファ記述子を有し;前記ポインタは、バッファ
を指し;前記方法は: タスクを開始する段階; 要求チャネル・パラメータを読み取る段階; 通信チャネル・パラメータを取り出し、前記タスクがフレーム内の最初のデー
タ・ワードを処理する段階を含むかどうか示す通信チャネル・パラメータをチェ
ックする段階; 前記タスクが、フレーム内の前記最初のデータ・ワードを処理する段階を含む
場合には、 バッファ記述子を取り出す段階; 前記バッファ記述子内のポインタの値に、一時ポインタを設定する段階; 前記バッファ記述子がアクティブであるかどうかをチェックし、前記バッフ
ァ記述子がアクティブでない場合には、前記バッファ記述子がアクティブになる
まで待機する段階; を実施し; 前記タスクが、フレーム内の最初のデータ・ワードを処理する段階を含まない
場合には、前記一時ポインタを取り出す段階にジャンプする段階; データを受信する場合には、通信チャネルから外部装置にデータを移動し、デ
ータを送出する場合には、外部装置から通信チャネルにデータを移動する段階; データ・フレームが終了したか、またバッファが終了したかチェックする段階
; バッファが終了した場合には、通信チャネル・パラメータを更新し、バッファ
記述子を取り出す段階にジャンプする段階; フレームが終了した場合には、フレームの終わりの指示を送り、バッファ記述
子をクローズし、通信チャネル・パラメータを更新し、タスクを開始する段階に
ジャンプする段階;および そうでない場合には、一時ポインタを更新し、データを移動する段階にジャン
プする段階; からなることを特徴とする請求項19記載の方法。
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)
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)
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)
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)
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 | 直接アクセス式ビデオバス |
-
1999
- 1999-04-02 US US09/285,519 patent/US6473808B1/en not_active Expired - Lifetime
-
2000
- 2000-03-14 EP EP00927643A patent/EP1177504A2/en not_active Withdrawn
- 2000-03-14 KR KR1020017012668A patent/KR100638067B1/ko active IP Right Grant
- 2000-03-14 JP JP2000609900A patent/JP4530547B2/ja not_active Expired - Lifetime
- 2000-03-14 WO PCT/IB2000/000698 patent/WO2000060477A2/en not_active Application Discontinuation
- 2000-03-14 CN CNB008058997A patent/CN1149806C/zh not_active Expired - Lifetime
- 2000-05-09 TW TW089106144A patent/TW478264B/zh not_active IP Right Cessation
Patent Citations (1)
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)
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 |