【手続補正書】
【提出日】平成19年1月23日(2007.1.23)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
高速データ・ストリームを受信，送信，および処理するための高速通信コントローラ（１１１）であって、前記データ・ストリームはフレームからなり、前記通信コントローラは複数の通信チャネルに結合するように対応しており、前記通信コントローラは、
データ・ストリーム・トランザクションを制御する第１プロセッサであって、前記第１プロセッサは、タスクを実行することにより、フレームのトランザクションを制御する、第１プロセッサ（９０）と、
高水準管理および通信プロトコル機能を処理するための第２プロセッサ（１１０）と、
前記第１プロセッサに結合され、タスクを実行する必要性があるかどうかを検出するため、かつ前記第１プロセッサにより実行される被選択タスクを選択するためのスケジューラ（５０）と、を含み、
前記通信コントローラ（１１１）は、第１および第２外部バスに結合されるように対応付けられており、かつ、
前記第１プロセッサ（９０）は、タスクの実行が外部メモリ・バンク（１１０）から情報をフェッチすることを含む場合、前記タスクを実行するために停止する、
ことを特徴とする高速通信コントローラ（１１１）。
【請求項２】
前記第１プロセッサに結合され、タスクを格納するための命令メモリ・バンク（１３０）と、
前記第１プロセッサに結合され、前記第１プロセッサにより処理されるデータを格納するための第１メモリ・バンク（７０）と、
前記第１プロセッサおよび前記第１外部バスに結合され、前記第１外部バスに結合される外部メモリ・バンク内に格納された情報を取り出すための第１直接メモリ・アクセス・コントローラ（６０）と、
前記第１プロセッサおよび前記第２外部バスに結合され、前記第２外部バスに結合される外部メモリ・バンク内に格納された情報を取り出すための第２直接メモリ・アクセス・コントローラ（１６０）と、
前記スケジューラおよび前記第１メモリ・バンクに結合され、前記複数の通信チャネルと前記第１メモリ・バンクとの間でバッファリングするための複数の周辺装置（１４０）と、
をさらに含むことを特徴とする請求項１記載の通信コントローラ（１１１）。
【請求項３】
前記スケジューラ（５０）は、複数のスタック・ポインタを格納し、
スタック・ポインタは、タスクと関連し、
前記スケジューラは、前記第１プロセッサに被選択スタック・ポインタを送出し、前記被選択スタック・ポインタは、前記被選択タスクと関連し、
タスクの実行は、前記被選択スタック・ポインタの更新を含み、
前記第１プロセッサは、前記第１プロセッサが前記被選択タスクの実行を停止するときに、前記更新された被選択スタック・ポインタを前記スケジューラに送出する、
ことを特徴とする請求項２記載の通信コントローラ（１１１）。
【請求項４】
周辺装置（１４０）と、
前記スケジューラ（５０）および前記周辺装置（１４０）に結合された周辺バス（１１２）と、
をさらに含むことを特徴とする請求項３記載の通信コントローラ（１１１）。
【請求項５】
周辺装置（１４０）は、２つの要求チャネルを有し、
第１要求チャネルは、前記通信コントローラから通信チャネルに送られた前記データの送信を処理し、
第２要求チャネルは、通信チャネルから前記通信コントローラに送られる前記データの受信を処理し、
前記第１要求チャネルが前記通信チャネルに送られるデータを受信できるとき、前記第１要求チャネルは、前記スケジューラに送信要求を送出し、
前記第２要求チャネルが通信チャネルからデータを受信したとき、前記第２要求チャネルは、前記スケジューラに受信要求を送出する、
ことを特徴とする請求項４記載の通信コントローラ（１１１）。
【請求項６】
前記スケジューラ（５０）は、
前記周辺装置に結合され、送信要求および受信要求を受け取り、かつ被選択要求を選択するための要求セレクタ（５６）と、
複数のスタック・ポインタを格納するための複数のスタック・ポインタ・レジスタ（５４１−５４８）と、
前記複数のスタック・ポインタ・レジスタおよび前記第１プロセッサに結合され、前記複数のスタック・ポインタ・レジスタにスタック・ポインタを書き込むためのスタック・ポインタ入力マルチプレクサ（５２）と、
前記複数のスタック・ポインタ・レジスタ，前記第１プロセッサ、および前記要求セレクタに結合され、前記被選択スタック・ポインタを前記第１プロセッサに送出するためのスタック・ポインタ出力マルチプレクサ（５８）と、
を含むことを特徴とする請求項５記載の通信コントローラ（１１１）。
【請求項７】
前記第１直接メモリ・アクセス・コントローラ（６０）は、
前記第１プロセッサに結合され、複数の直接メモリ・アクセス要求を格納するための直接メモリ・アクセス要求待ち行列（６２）と、
前記第１直接メモリ・アクセス要求待ち行列および前記スケジューラに結合され、前記第１直接メモリ・アクセス・メモリ・コントローラ内に格納された前記直接メモリ・アクセス要求に関連する第１要求チャネルからの送信要求をマスクするため、かつ前記第１直接メモリ・アクセス・メモリ・コントローラ内に格納された前記直接メモリ・アクセス要求に関連する第２要求チャネルからの受信要求をマスクするためのイネーブル装置（６４）と、
を含むことを特徴とする請求項６記載の通信コントローラ（１１１）。
【請求項８】
前記第１直接メモリ・アクセス・コントローラは、
直接メモリ・アクセス要求を格納するための要求バイパス・レジスタ（６８）と、
前記直接メモリ・アクセス要求待ち行列内または前記要求バイパス・レジスタ内に、直接メモリ・アクセス要求を格納すべきか否かを決定するための入力マルチプレクサ（６６）と、
前記第１メモリ・バンク，前記直接メモリ・アクセス要求待ち行列、および前記バイパス要求レジスタに結合され、前記要求バイパス・レジスタが有効な直接メモリ・アクセス要求を格納する場合には、前記要求バイパス・レジスタ内に格納される前記直接メモリ・アクセス要求を選択するための出力マルチプレクサ（６９）と、
をさらに含むことを特徴とする請求項７記載の通信コントローラ（１１１）。
【請求項９】
前記直接メモリ・アクセス要求待ち行列（６２）は、複数のメモリ・ワードを有し、
各メモリ・ワードは、第１部分と第２部分とを有し、
前記第２部分は、直接メモリ・アクセス要求を格納するためにあり、
前記第１部分は、ラベルを格納するためにあり、前記ラベルは、前記第２部分内に格納された前記直接メモリ・アクセス要求に関連する前記要求チャネルを示す、
ことを特徴とする請求項８記載の通信コントローラ（１１１）。
【請求項１０】
第１直接メモリ・アクセス・コントローラ（６０）内の前記イネーブル装置（６４）が第１要求チャネルからの送信要求をマスクするとき、前記第１要求チャネルからの送信要求がマスクされ、
前記第１直接メモリ・アクセス・コントローラ（６０）内のイネーブル装置が第２要求チャネルからの受信要求をマスクするとき、前記第２要求チャネルからの受信要求がマスクされる、
ことを特徴とする請求項７記載の通信コントローラ（１１１）。
【請求項１１】
前記周辺装置から前記第１メモリ・バンクに、かつ前記第１メモリ・バンクから前記周辺装置にデータを転送するためのブロック転送マシン（４０）をさらに有する通信コントローラ（１１１）において、
前記ブロック転送マシンは、
前記周辺装置に結合され、データを操作するためのデータ・マニピュレータ（４４）と、
前記周辺装置に結合され、ＣＲＣチェックを実行するためのＣＲＣマシン（４８）と、
前記ＣＲＣマシン，前記データ・マニピュレータ，および前記第１メモリ・バンクに結合され、前記第１メモリ・バンクから前記周辺装置に送られるデータを格納し、前記第１メモリ・バンクに書き込まれるデータを格納するためのブロック転送マシン・データ・レジスタ（４１）と、
前記ＣＲＣマシン，前記データ・マニピュレータ，および前記ブロック転送マシン・データ・レジスタに結合され、前記ブロック転送マシンを制御するためのブロック転送マシン制御装置（４６）と、
を含むことを特徴とする請求項１０記載の通信コントローラ（１１１）。
【請求項１２】
前記第１メモリ・バンクは、複数のセクション（７０１−７０８）を有し、各セクションは、前記第１プロセッサ，前記第２プロセッサ，前記直接メモリ・アクセス・コントローラ，前記第２直接メモリ・アクセス・コントローラ，および前記ブロック転送マシンに結合され、各セクションは、
情報を格納するためのメモリ・アレイと、
前記第１プロセッサ，前記第２プロセッサ，前記直接メモリ・アクセス・コントローラ，前記第２直接メモリ・アクセス・コントローラ，および前記ブロック転送マシンから、被選択装置を選択するためのメモリ・セレクタと、
前記被選択装置と前記メモリ・アレイとの間で前記データの送信を可能にするためのデータ・マルチプレクサと、
前記被選択装置が前記メモリ・アレイにアドレス・ワードを送出できるようにするためのアドレス・マルチプレクサと、
を含むことを特徴とする請求項１１記載の通信コントローラ（１１１）。
【請求項１３】
外部メモリ・バンク内のバッファに格納されたデータを処理するためにさらに対応する通信コントローラ（１１１）において、
前記通信コントローラ（１１１）は、ポインタ，状態および制御フィールド，および長さフィールドからなる少なくとも１つのバッファ記述子を前記外部メモリ・バンクから取り出し、かつ処理するために対応しており、
前記ポインタは、前記外部メモリ・バンク内のバッファを指し、
前記長さフィールドは、前記ポインタによって参照される前記バッファの長さを定義し、
前記状態および制御ワードは、Ｆ／Ｓフィールドを有し、前記第１プロセッサと前記第２プロセッサのうちどちらが前記ポインタにより参照される前記バッファにアクセスできるかを示す、
ことを特徴とする請求項５記載の通信コントローラ（１１１）。
【請求項１４】
前記通信コントローラ（１１１）は、ラップ・フィールドを有する前記バッファ記述子により参照される前記バッファが要求チャネルと関連する一組のバッファ中の最終バッファであるかどうかを示すために、前記ラップ・フィールドを取り出し、かつ循環待ち行列を形成するために対応しており、
前記第１メモリ・バンクは、一時ポインタを格納し、
一時ポインタは、前記第１プロセッサにより処理される次のメモリ・ワードを指し、
バッファは、単一のデータ・フレームからのデータを格納し、
各バッファは、複数のメモリ・ワードからなる、
ことを特徴とする請求項１３記載の通信コントローラ（１１１）。
【請求項１５】
前記第１プロセッサ（９０）は、前記バッファ記述子により参照される前記バッファが前記第１プロセッサによって処理された後、前記Ｆ／Ｓフィールドを設定し、
前記第２プロセッサ（１００）は、前記バッファ記述子により参照される前記バッファが前記第２プロセッサにより処理された後、前記Ｆ／Ｓフィールドをリセットする、
ことを特徴とする請求項１４記載の通信コントローラ（１１１）。
【請求項１６】
前記第１プロセッサがタスク・スイッチを実行するとき、前記第１メモリ・バンク内に前記更新された一時ポインタを保存し、
前記第１プロセッサがタスクからの命令の実行を開始するとき、前記第１プロセッサは、前記一時ポインタを取り出す、
ことを特徴とする請求項１４記載の通信コントローラ（１１１）。
【請求項１７】
通信コントローラによってデータ・ストリームのトランザクションを処理するための方法（９００）において、前記データ・ストリームはフレームからなり、フレームのトランザクションはタスクの実行によって処理され、タスクの実行は外部装置から情報を取り出す段階を含み、前記方法は、
トランザクションを処理する必要があるかチェックする段階（９１０）と、
トランザクションを処理する必要がある場合には、前記タスクが終了するまで、または前記タスクの実行が外部装置から情報を取り出す段階を含むまで、タスクを実行する段階（９２０）と、
前記タスクが終了する場合には、トランザクションを処理する必要があるかどうかチェックする段階にジャンプする段階と、
そうでない場合（９７０）には、前記外部装置からの前記情報を取り出し、外部装置から情報を取り出す段階を含んだ前記タスクの実行を停止し、およびトランザクションを処理する必要があるかどうかチェックする段階にジャンプするプロセスを開始する段階と、
を含むことを特徴とする方法（９００）。
【請求項１８】
通信チャネルからフレームの一部を受信する必要があるとき、タスクの実行が停止されることを特徴とする請求項１７記載の方法（９００）。
【請求項１９】
タスクを開始する段階（１０１０）と、
要求チャネル・パラメータを読み取る段階（１０１４）と、
通信チャネル・パラメータを取り出し（１０１４）、前記タスクがフレーム内の最初のデータ・ワードを処理する段階を含むかどうか示す通信チャネル・パラメータをチェックする段階と、
前記タスクがフレーム内の前記最初のデータ・ワードを処理する段階を含む場合には、
バッファ記述子を取り出し、前記バッファ記述子内のポインタの値に一時ポインタを設定する段階（１０２２）と、
前記バッファ記述子がアクティブであるかどうかをチェック（１０２６）し、前記バッファ記述子がアクティブでない場合には、前記バッファ記述子がアクティブになるまで待機する段階と、
前記一時ポインタを取り出す段階（１０３０）と、を実行し、
そうでない場合には、前記一時ポインタを取り出す段階にジャンプする段階と、
データを受信する場合、通信チャネルから外部装置にデータを移動し、データを送出する場合、外部装置から通信チャネルにデータを移動する段階（１０３４）と、
データ・フレームが終了したかどうか、またバッファがその終了に達したかどうかをチェックする段階（１０３８）と、
バッファがその終了に達した場合、通信チャネル・パラメータを更新し（１０５２）、バッファ記述子を取り出す段階にジャンプする段階と、
フレームが終了した場合には、フレームの終了の指示を送り（１０５０）、バッファ記述子をクローズし、通信チャネル・パラメータを更新し（１０５４）、タスクを開始する段階にジャンプする段階と、
そうでない場合には、一時ポインタを更新し（１０５２）、データを移動する段階にジャンプする段階と、
をさらに含むことを特徴とする請求項１７記載の方法（９００）。