JPH0636515B2 - 通信プロセッサ装置 - Google Patents

通信プロセッサ装置

Info

Publication number
JPH0636515B2
JPH0636515B2 JP1260393A JP26039389A JPH0636515B2 JP H0636515 B2 JPH0636515 B2 JP H0636515B2 JP 1260393 A JP1260393 A JP 1260393A JP 26039389 A JP26039389 A JP 26039389A JP H0636515 B2 JPH0636515 B2 JP H0636515B2
Authority
JP
Japan
Prior art keywords
register
instruction
bit
address
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP1260393A
Other languages
English (en)
Other versions
JPH02149156A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH02149156A publication Critical patent/JPH02149156A/ja
Publication of JPH0636515B2 publication Critical patent/JPH0636515B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/128Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine for dedicated transfers to a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/12Protocol engines

Description

【発明の詳細な説明】 A.産業上の利用分野 本発明は特に通信コントローラに適用できるコンピユー
タアーキテクチヤに関する。OSIの標準によつてサポ
ートされるCCITTプロトコルは、SNAのような他
のプロトコルも同様にサポートされるが、本発明のアー
キテクチヤについて基礎となるものと考えられる。本発
明を有益に適用しうる特定の装置は、ネツトワークイン
ターフエース、大規模システムのフロントエンド通信コ
ントローラ及び遠隔通信スイツチングノードを含む。本
アーキテクチヤはネツトワークゲートウエイやプロトコ
ル変換にも適用できる。
B.従来技術及びその課題 複数の通信ラインとデータ処理装置との間の信号トラフ
イツクを集信するためプログラム可能な通信コントロー
ラを使用することはそれ自体新しいことではない。たと
えば、米国特許第3863226号、4156796
号、4156932号、4188665号、43285
43号及び4484263号は市販の汎用マイクロプロ
セツサ及び非同期レシーバ/トランシーバ(USAR
T)を用いてそのようなコントローラを実現する方法を
開示している。
関連出願である1988年8月2日付けの米国特許出願
第227832号はプロトコルの融通性の目的で媒体ア
クセス(MAC)層を取扱うハードウエア援助機構を開
示している。
ところで、層構造の通信プロトコルで繰返し出てくるヘ
ツダ及びフレームの処理機能を、高スループツトのリア
ルタイム通信において現在及び将来の要求に適切な速度
及びプロトコルのレベルで処理する必要がある。この問
題は本発明によつて今日の層構造プロトコル(たとえば
OSI標準)の全てのレベルで繰返し出てくるヘツダ及
びフレームの処理機能の処理を高速化するための専用の
回路及び関連する命令を設けることで解決されている。
こうした回路及び命令は関連するヘツダ及びフレームの
処理オペレーシヨンを単一のマシンサイクルで実行でき
るという特徴を含み、またこの特徴はOSIの物理層、
データリンク層、ネツトワーク層、トランスポート層、
セツシヨン層、プレゼンテーシヨン層及びアプリケーシ
ヨン層ならびにその他の層構造通信プロトコルでの同様
なオペレーシヨンに対応するのに適した融通性を有す
る。従来技術ではリンクアクセス機能の処理のための通
信制御プロセツサが使用され、リンクアクセスレベルよ
り上の通信プロトコル層を処理するため中間又はホスト
のシステムでより強力なプロセツサが一般には使用され
ている。
従来の通信コントローラにおいてCPU部の実現するの
に用いられるような現行の汎用マイクロプロセツサ及び
デジタル信号プロセツサはリンク制御又は媒体アスセス
層より上の通信プロトコルの層におけるヘツダ及びフレ
ーム情報の処理に関連するサポート機能を取扱うのには
適していないと考えられ、また従来技術ではリンクアク
セスレベルでそのようなサポートの必要性があるという
ことの認識もされていない。本発明ではそのようなサポ
ートが高速の媒体(T−1、T−2及び光フアイバな
ど)を効率的に利用することの必要性を認識している。
換言すれば、現在及び将来の高速リンクに課せられる処
理負荷は、リンク制御層より上でヘツダ及びフレームの
処理機能の負荷を外さなければ、有効な媒体の使用を制
限するスループツトの減少を伴つてI/O及び処理の障
害が必然的に生ずるものであることを本発明では認識し
ているのである。
もちろん、この分野で主要な進歩はいくつかある。たと
えば、通信の制御に適用しうるマイクロプロセツサやV
LSIの技術における改善、プロトコル自体の進歩及び
並行処理における改善などである。これらの進歩は本発
明で認識した問題を軽減するかもしれないが、本発明の
如きより効率的かつ完全な解決法を提供するものではな
い。
本発明は上述の如き技術的課題を解決することを目的と
している。
C.課題を解決するための手段 上記目的を達成するため、層構造の通信プロトコルを実
行するための本発明の通信プロセツサ装置は、第1及び
第2のタイプの命令を記憶する手段を有し、上記第1の
タイプの命令は層構造の通信プロトコルの各層において
処理ヘツダ及びフレーム情報で頻出する機能に関連する
所定のオペレーシヨンを指定するものであり、上記第2
のタイプの命令は上記所定のオペレーシヨン以外の機能
を遂行するためのオペレーシヨンを指定するものであ
り、上記所定の機能はそれぞれ複数マシンサイクルを要
するためにシステムの処理のスループツトを制限するも
のであり、上記第1のタイプの命令に応答して各命令に
よつて指定されたオペレーシヨンを単一のマシンサイク
ルで遂行する特別の目的の回路手段と、上記第2のタイ
プの命令に応答して各命令によつて指定された機能を遂
行する汎用演算論理機構と、を具備することを特徴とし
ている。
以下、本発明の作用を実施例と共に説明する。
D.実施例 はじめに本発明の実施例を概説する。本発明は特別目的
の通信プロトコルプロセツサ(CPP)に関し、今日の
層構造の通信プロトコルの全ての層で頻出するヘツダ及
びフレームの処理機能を実現する専用のユニツトを有す
る新しく定義された命令アーキテクチヤに関する。その
ような専用ユニツトは各オペレーシヨンを高速に遂行す
るものである。これらの専用ユニツトに加えて、CPP
は汎用演算論理機構(ALU)を有する。専用ユニツト
及び関連するレジスタはヘツダ及びフレーム情報の処理
オペレーシヨンを単一のマシンサイクルで実行する。こ
れらのオペレーシヨンは、専用ユニツトがない場合には
通常はALUでその実行に複数のマシンサイクルを有す
るもので、特別の処理を必要とする主要な処理負荷とし
て認識されたものである。
このようなヘツダ機能には以下のものが含まれる。
プログラム可能なビツトオペレーシヨンによるブラン
チ: 即値データのビツトによるブランチは既知であるが、ブ
ランチ条件を示すビツトに与えられた優先順位の選択又
はビツトの並行評価を提供するものではない。米国特許
第4573118号は条件ビツトの優先順位の並行評価
を伴うビツトオペレーシヨンによるブランチを開示して
いるが、本発明の如き、ユーザプログラム制御の下で優
先順位を変える機能を有するものではない。
レジスタ再形成(シフト、マスク及びスワツプ)オペレ
ーシヨン: シフト、マスク及びスワツプはそれ自体既知であるが、
本発明はこれら3つの全ての機能を単一の命令でしかも
単一のマシンサイクルで遂行することによつてこれらの
オペレーシヨンを改善している。
アドレス処理オペレーシヨン: 本発明の回路ではヘツダ中の経路指定情報を変換するた
めの連関一致アドレス指定による命令を用いることによ
り、変換オペレーシヨンを高速化し、ターゲツトアドレ
ス情報のために必要な記憶容量を減じている。
同様な取扱いとしてフレーム機能には以下のものが含ま
れている。
CRC(巡回冗長検査)計算: 特別のCRC回路が種々のプロトコルのためのエラーチ
エツクの迅速な実行をサポートする。これは標準的な1
6ビツト又は32ビツトのCRC多項式のサポートを可
能とする。HDLC、DDCMP及びBISYNCを含
む標準的なプロトコルのほとんどはCRCチエツクを使
用する。これらの回路は任意の多項式を高速化するよう
プログラムすることができる。
ビツト挿入/削除オペレーシヨン: 特別のビツト挿入/削除回路は各プロトコル層における
特別の制御キヤラクタに関するデータについてのトラン
スペアレンシーを提供する。そのようなトランスペアレ
ンシーはフレームの始点及び終点を示す特別の制御キヤ
ラクタと実際のデータとを分離するためのHDLCのよ
うなプロトコルにおいて必要とされる。
特別キヤラクタ検出オペレーシヨン: 特別の命令で用いられる専用の回路がBISYNC及び
DDCMPを含むキヤラクタ指向プロトコルのほとんど
の場合に必要とされるようなキヤラクタプロトコル機能
を提供する。
上述の機能の実行を専用ユニツトを介して働く新しいア
ーキテクチアの命令のプログラム可能なセツトに移行さ
せることによつて、各ユニツトを用いて異なる通信ライ
ン及びプロトコルを取扱うための融通性を保持しなが
ら、多くのUACC(Universal asynchronous communi
cations controller)の機能を提供することができる。
CPPはデータリンク制御オペレーシヨンのための専用
のレジスタの特別のセツトを含む。サポートされた機能
はHDLC、X.25、SNA、TCP等の標準的なリ
ンクプロトコルにおけるデータの処理を強化する。従来
技術としてのパイプライン方式、並行処理、ブロツク転
送、サイクルスチールメモリアクセス手法はさらに性能
を高めるために採用されている。
上述のブロツク転送の手法はブロツク情報の転送及び同
じ情報部分の処理を同時に行い、さらにCRCのような
他のオペレーシヨンの実行及びピツト挿入/削除を同時
に行うことを考慮したものである。
プロセツサの特徴 CPPは3段式のパイプラインで最高3つまでのオペレ
ーシヨンを並行して実行する能力を有している。分離し
た命令及びデータバスにより、命令の取出しとデータの
参照をパイプライン化することができる、これらのオペ
レーシヨンは以下のカテゴリの中のいずれでもよい。
1.算術演算及びレジスタ転送オペレーシヨン 2.乗算オペレーシヨン 3.メモリアクセスオペレーシヨン 4.データプロトコルのためのヘツダ処理 5.データプロトコルのためのフレーム処理 CPPは4つのアドレスインデツクスレジスタ、12個
の汎用データレジスタ及びその他の特別目的のプロトコ
ルサポートレジスタを含む。全てのレジスタは32ビツ
トである。プロセツサは64キロワードの命令メモリ及
び16メガバイトのデータメモリをサポートできる。第
3図はCPPが用いられる典型的な環境を示している。
本アーキテクチヤの特徴及び機能を要約すれば以下の如
くとなる。
命令検索の高速化のための並行処理及びパイプライン化
の他に、新しく定義された命令を単一のマシンサイクル
で実行することによりスループツトがさらに向上され
る。パイプライン化及び並行処理は第2図に示唆され
る。特別目的のユニツトを設計するにあたつては、デー
タ及びブランチの依存性を考慮しまた性能を高めるため
のプログラミング機能を提供できるような配慮がなされ
ている。
メモリロード/ストア、データシフテイング、乗算及び
その他のALUオペレーシヨンは並行してかつ単一のマ
シンサイクルで行われる。
参考文献 (1)Hill, F., Peterson,“Digital Systems Hardware O
rganization and Design”,Prentice Hall, 1987年 (2)Beaven, P.A.,“Parallel Programmable Array Stru
ctured CRC generator”,IBM Technical Disclosure B
ulletin,1987年10月,第2058頁ないし第2062頁 (3)Hwang,Kai及びBriggs, F.A.“Computer architectur
e and Parallel Processing”,Mc Graw Hill, 1984年 (4)Tanenbaum, A.“Structured Computer Organizatio
n”,Prentice Hell, 1984年 以下、図面を参照しながら、実施例を詳述する。
CPPのアークテクチヤ 第1図は通信プロトコルプロセツサ(CPP)の全体の
アーキテクチヤを示す図である。演算論理機構ALU1
は加算(ADD)、減算(SUBTRACT)及び比較
(COMPARE)という基本的な算術演算、OR、A
ND及びXORという論理演算ならびに種々のレジスタ
転送演算を提供する。乗算ユニツトMUL2はスケーリ
ング及び丸めの機能を有する乗算をサポートする。メモ
リアクセスユニツト3、ヘツダ処理ユニツト4及びフレ
ーム処理ユニツト5(これらは本発明に従つて主要な機
能を遂行するためのCPPの特別の構成要素を成すもの
である)については後で詳細に説明する。汎用レジスタ
スタツク6及びアドレスインデツクスレジスタスタツク
7は制御バス12及びデータバス13を介する処理ユニ
ツト1ないし5のための入力及び出力として用いること
のできる内部で可変的に割振ることのできる記憶部分を
含む。
第1図の下部に示す構成要素8.1ないし8.7を含む
制御ユニツト8は演算の実行を制御し及び監視する。命
令レジスタ8.1は命令メモリIRAMから命令を受け
取る。このレジスタ中の命令オペレーシヨンコード(オ
ペコード)はデコーダ8.2でテコードされて、デコー
ダ8.2は制御バス12を介して処理ユニツト1ないし
5に制御信号を供給し、データバス13を介して既値デ
ータ又はアドレス情報が転送される。システムクロツク
8.3は他の構成要素へタイミング制御信号を供給す
る。クロツクされた間隔で取出し制御部8.4がIRA
Mに対して取出しを行う命令を出す。
データバス13はレジスタスタツク6、7と処理ユニツ
ト1ないし5との間で並行データ転送ができるよう複数
の双方向経路を有する。プログラムカウンタ8.5及び
次ブランチ(又は割込み)制御論理8.6は次アドレス
を生成し、そのうちの1つがIRAMアドレスバス16
を介してIRAMに供給されるためマルチプレクサ8.
7によつて選択される、データアドレスDA15はデー
タバスGD13を介するデータ転送を行わせるためメモ
リアクセスユニツト3とデータRAMとを接続するのに
用いられる。
オペレーシヨンの並行実行は第2図の参照番号20及び
21に示唆されるようなパイプラインの手法を用いて可
能となる。命令nが実行されている間に次の命令n+1
がデコードされその命令に続く命令n+2が取出され
る。さらに、3つのオペレーシヨンが1つの命令で要求
されるときは、それらのデコード及び実行は並行して遂
行することができる。そのようなオペレーシヨンについ
てのバス転送機構及びパイプラインの手法はよく知られ
ている。
第3図は本CPP31が有効に機能しうる典型的な環境
を示す図である。DRAM32は物理的通信インターフ
エース34との間でデータを交換するためマルチプレク
サ及び入出力インターフエース33とインターフエース
する。IRAM35は、インターフエース34で動的に
要求された機能を遂行するようCPPに指令するための
アプリケーシヨンプログラムの命令を記憶する。ホスト
インターフエース36はCPPとホスト処理システムと
の間のデータ及びコマンドの双方向転送を維持するのに
必要な体系的初期接続手順信号の交換を行う。ブロツク
37はこの環境に全体として適合できる層構造のプロト
コルアプリケーシヨン及び信号処理機能をあらわす。
命令フオーマツトの定義 命令セツトは固定されたフオーマツト及び32ビツトの
命令長で設計された。第4図は命令ワードにおけるビツ
ト割当ての詳細な定義を示す図である。典型的な32ビ
ツトの命令はフオーマツト定義フイールド及び3つのオ
ペコードフイールドを有する。これらのオペコードフイ
ールドで最高3つまでの個別的なオペレーシヨンを要求
する。フオーマツト定義フイールド41は4つの部分
(すなわちサブフイールド)を有する。2ビツトのサブ
フイールド42は以下のような3つのタイプの命令フオ
ーマツトのうちの1つを指定する。
・00− 3つの並行オペレーシヨン ・01− 任意選択的なレジスタ及びアドレスオペラン
ドを伴う2つの並行オペレーシヨン ・10− 拡張アドレス指定を伴う1つのブランチオペ
レーシヨン 各々2ビツトであるサブフイールド43ないし45は対
応するオペコードフイールド1ないし3についての関連
するカテゴリにおけるオペレーシヨンを指定する。各フ
イールド内のカテゴリは、算術計算、メモリアクセス、
フレーム処理及びヘツダ処理である。
典型的なオペコードフイールド46は5ビツトのオペレ
ーシヨンサブフイールド47及び3ビツトのレジスタフ
イールド48を介して1つのオペレーシヨンを指定す
る。
これらの特別目的のCPPの命令に加えて、この命令セ
ツトは前掲の文献(4)に記載された手法を用いるALU
オペレーシヨン、乗算オペレーシヨン、メモリロードオ
ペレーシヨン及びメモリストアオペレーシヨンを指定す
るための汎用命令を含む。
後で説明する第6図ないし第14図は本CPP命令によ
つて指定されるオペレーシヨンを遂行するための特別の
目的のユニツトを示す図である。この命令セツトは以下
のような関連オペレーシヨンを有する命令を含む。
命令セツト 1)ALU及びメモリロード/ストアオペレーシヨン FMn RR インデツクスAnを用いてメモリからレ
ジスタRRへロードする TMn RR インデツクスAnを用いてレジスタタR
Rからメモリへストアする RTn RR レジスタnからRRへ転送する ARn RR レジスタRRにレジスタnを加える SRn RR レジスタRRからレジスタnを減ずる 2)フレーム処理オペレーシヨン *CRC RR レジスタRRでCRCを計算する *BSW RR RRを用いてビツトの挿入又は削除を
行う *BCD RR RRが特別のキヤラクタを有するとき
にブランチする 3)ヘツダ処理オペレーシヨン *BBD RR、,X RR中の優先ビツト検出でブラン
チする(Xはスタツク選択パラメータ) *RSH RR レジスタRRを再形成 *ARS RR RRを用いて新しいアドレスを計算す
る 4)ブロツク転送オペレーシヨン *BMO RR RR中の待ち行列コマンドでブロツク
転送を遂行する 5)並行オペレーシヨン **EP3 OP1<RR>、OP2<RR>、OP3
<RR> 3つの並行オペレーシヨン **EP2 OP1<RR>、OP<RR> 2つの並行オペレーシヨン **EP1 OP1<RR> 1つのオペレーシヨン 注 * 上記命令及びその実行は本発明のハードウエア及
び手法の新しい特徴とみなされる。
** 上記OP1、OP2及びOP3は個々のオペレー
シヨンである。
レジスタ構造 下記の表はレジスタの割当て及び機能を示すものであ
る。
レジスタ A0ないしA3 メモリアクセス及びインデツクスレ
ジスタ R0ないしR11 汎用データレジスタ CRCP CRC多項式レジスタ CRCA CRC累算レジスタ BSHP ビツトトランスペアレンシーパター
ンレジスタ BSHS ビツトトロンスペアレンシー状況レ
ジスタ RSHC 再形成コードレジスタ SRC ブロツク転送のためのソースアドレ
ス DST ブロツク転送のための宛先アドレス CNT ブロツク転送のためのバツフア長 LCIR アドレスについての論理チヤネルI
D 次の節では上述の“*”でマークされた命令を実行する
ための回路について説明する。
ヘツダ処理ユニツト 第5図はヘツダ処理ユニツト4の構成を示す図である。
BBDユニツト60は関連する上述のBBD命令に応答
する機構を提供し、ブランチ条件を指定する条件ビツト
に基づいてプログラムの実行をブランチさせるためのオ
ペレーシヨン、及びこのユニツトのレジスタにプログラ
ム可能に事前ロードできる優先順位選択データに基づい
てアクテイブな状態を示すビツトの優先順位選択を行う
ためのオペレーシヨンを実現する。
レジスタ再形成ユニツト61はレジスタされたデータを
再構成して評価に適したフオーマツトで必要なパラメー
タを抽出する。アドレス経路指定ユニツト62は種々の
プロトコル層を介するネツトワーク経路及びコネクシヨ
ンの確立のため必要に応じてヘツダアドレス情報を変換
する。
BBDユニツト 第6図に示すように、種々のシステム条件又は割込み要
求事象を表わす入力ラツチ80中の情報はラツチされた
個々のビツトの所定の優先順位に従つて処理され、その
選択された条件を取扱うためのプログラムルーチンの始
点を表わす次命令アドレスへシステムのプログラム実行
をブランチさせる。優先順位選択機構81はブランチ動
作を必要とするアクテイブな状態を表わすラツチ80中
のどのビツトが最高の優先順位を有するかを判断し、出
力レジスタ82への転送のため関連するアドレスレジス
タスタツクからの命令アドレスを選択するよう機能す
る。制御バス12を介するBBD命令のオペコードに応
答するデコーダ84及び85は優先順位アドレス機構へ
の入力ラツチ80をゲートするための制御信号及び優先
順位アドレス機構の出力をブランチアドレスレジスタ8
2へゲートするための制御信号を生成する。レジスタ転
送オペレーシヨンを指定する命令に応答するデコーダ8
4はデータバス13を介してロードスタツク初期設定レ
ジスタ83に制御信号を生成する。
第7図は第6図に示された優先順位アドレス機構81を
説明する図である。この機構81の特徴は優先順位選択
スタツク102によつて決定されるような優先順位付け
機能をプログラムできることである。スタツク102へ
プロトコル可能にロードされる値はラツチ80中のアク
テイブなビツトの相対的な優先順位を決定し、優先順位
エンコードユニツト103を付勢し、上記BBD命令に
応答してアクセスデコード機構105のブランチアドレ
ススタツク104からアドレスを選択させる。スタツク
102内の関連するレジスタにおいて最高の優先順位の
値をセツトさせるラツチ80中のアクテイブビツトに関
連するこの選択されたアドレスは実行すべき次命令のア
ドレスとして出力レジスタ82へ転送される。これによ
り、選択されたブランチ条件に適したブランチルーチン
が開始される。
この優先順位アドレス機構は関連出願である1988年
10月7日付の米国特許出願第254985号に詳説さ
れている。この機構の他の特徴は上述のアドレス実行オ
ペレーシヨンをCPPシステムの単一のマシンサイクル
で遂行するよう構成されていることである。スタツク1
02及び104は標準のブロツク転送命令に応答してデ
ータ経路107を介して初期設定することができる。他
の特徴として、これらのスタツクはラツチ80に対して
複数のセグメントで供給することができ、これにより、
ラツチ80中のビツト位置に関して優先順位及びアドレ
ス連関の複数のセツトを確立するためのロードオペレー
シヨンを合同することができる。そのような合同によ
り、BBD命令によるスタツクセグメントの選択ができ
るという付加的な利益が得られる。したがつて優先順位
付け又はブランチアドレス連関はいずれのスタツクもロ
ーデイングを繰返すことなしに動的に変化しうる(たと
えば、複数のプロトコルをサポートするため)。これに
より、システムの適応性及びスループツトはさらに改善
される。
第8図はブランチアドレススタツク104をアクセスす
るための機構を示す図である。ブランチアドレススタツ
ク104はこの図では参照番号116で示され、またそ
の入力経路107はこの図では参照番号115で示され
ている。スタツク116を初期設定するため、デコーダ
118(第6図のデコーダ84に対応するもの)はレジ
スタローデイング命令からの情報を処理してバス115
からスタツク中の選択されたレジスタへデータをゲート
する。スタツクからアドレスを読取るため、他のデコー
ダ(図示していないが、第6図のデコーダ85に対応す
るものである)が1つのBBD命令に応答してスタツク
102中の最高の優先順位選択値に反応して出力データ
バス119を介する出力レジスタ82への転送のためス
タツク116中の関連するレジスタから出力を選択す
る。前述の如く、複数のプロトコルをサポートするた
め、スタツク116はブランチアドレスの異なるセツト
をそれぞれロードすることのできる複数のセグメントを
有し、ブランチ機能の異なるセツトを入力ラツチ80中
の条件のセツトと関係付ける。これは、異なるセグメン
トの選択を指定するためBBD命令に情報を与えること
を要求することとなる。
第9図にプログラム可能な優先順位エンコーダユニツト
103の詳細が示されている。ビツト1、ビツト2、・
・・、ビツト16と記された入力ラツチ80(第7図)
からのビツトは関連する優先順位選択レジスタ120a
ないし120dについての選択制御入力として機能す
る。各々4ビツトであるレジスタ120aないし120
d中の優先順位選択コード値はデータ転送命令(レジス
タ間又はメモリからレジスタ)又はロード即値命令のよ
うなプロセツサのレジスタロード命令に応答して初期設
定することができる。複数のレジスタ120xは並行し
て初期設定することができる。というのは、プロセツサ
データバスは、典型的には、単一の優先順位選択レジス
タで使用できるよりも多くのビツトを伝達するものだか
らである。
前述の如く、レジスタ120xを初期設定する目的は入
力ラツチ80中の条件ビツトに関連する優先順位をプロ
グラム可能に変化できるようにすることである。図示の
例では16個の条件ビツトがあるので、一意的な優先順
位選択のランクを全ての条件ビツトに割当てることがで
きるよう1つの優先順位選択レジスタにつき4ビツトが
必要である。一般には、2の長さを有する条件ビツト
のセツトに対してN個の優先順位ビツトが必要となる。
BBD命令に応答して、アクテイブ状態の入力ビツトに
関連するレジスタ120xにロードされた値は個々の論
理回路122xないし127xへゲートされる。これら
の論理回路は受け取つた大きさを比較して最大の大きさ
を最終出力としてゲートする(すなわち、最高優先順位
の値である)。したがつて、たとえば最高優先順位選択
値がレジスタ120bに保持されかつビツト2がアクテ
イブであるときは、レジスタ120b中のその値は、他
のレジスタで保持された値とは関係なく、論理回路12
2xないし127xを介してゲートされる。
入力ラツチ80によりレジスタ120x及びアドレスス
タツク116(第8図)に事前ロードがされると、この
回路はBBD命令の実行の準備が完了する。そのような
命令に応答して、第9図のアレイ122xないし127
xは最高優先順位のブランチ条件を表わすアクテイブ状
態にある入力ラツチのビツトに関連してレジスタ120
x中の最高優先順位選択値を効率よく選択する。選択さ
れた値のビツトはデコーダ(図示していないが、第6図
のデコーダ85に対応するもの)を介して作動する出力
P0、P1、P2及びP3(P3が最上位ビツト)にゲ
ートされ、スタツク116(第8図)における関連する
レジスタの出力をアドレスする。これにより、各自のア
ドレスが出力レジスタ82へ転送される。
これらのゲートアレイのオペレーシヨンをさらに詳しく
説明する。入力ラツチ80からのアクテイブなビツトで
あるビツト1、ビツト2、・・・、ビツト16は関連す
る優先順位選択レジスタ120xの出力をゲート122
xないし127xの関連する行へ転送する。アクテイブ
でない入力ラツチビツトは関連する優先順位レジスタの
出力をオフに強制する。優先順位レジスタ120xから
の出力はその行のゲートによつて最上位ビツトから比較
される。ORゲート129aはアクテイブな優先順位レ
ジスタ120xの最上位ビツトを調べて、少なくとも1
つの入力がアクテイブなら出力P3をオンにする。出力
P3は比較ゲート122a、122b、122c、・・
・にフイードバツクされる。各比較ゲート122xの出
力は対応する優先順位レジスタ120xからの最上位ビ
ツトがエンコーダの出力P3と同じ論理レベル(オン又
はオフ)にあるときにのみ、オンにされる。対応する比
較ゲートの出力がオフである全ての入力ビツトは他のエ
ンコーダの出力P2、P1及びP0の決定する際には考
慮されない。というのは、比較ゲート122a、122
b、・・・の出力におけるオフ状態によつてANDゲー
ト123a、125a、127a、123b、125
b、127b、・・・は優先順位レジスタ120a、1
20b、・・・の出力のそれ以上の伝播が阻止される。
同様にして、各優先順位レジスタ120xからのより下
位の各ビツトが処理されるが、これは以前の優先順位ビ
ツトの処理の際に除去されたレジスタの出力のゲートを
閉じた後だけである。こうして、ANDゲート123
a、123b、・・の出力はアクテイブであつてかつ出
力P3と同じ状態にセツトされる最上位ビツトを有する
優先順位を持つたビツト1、ビツト2、・・・について
第2のビツトから最上位ビツトに対応するものである。
ORゲート129bはANDゲート123a、123
b、・・・から入力に基づいてエンコーダの出力P2を
生成する。比較ゲート124a、124b、・・・は第
2のビツトと一致しない付加的な優先順位を除去し、残
りの優先順位についてのANDゲート125a、125
b、・・・はエンコーダの出力P1を生成するためOR
ゲート129cを駆動する。同様にして、比較ゲート1
26a、126b、・・・は第3のビツトと一致しない
付加的な優先順位を除去し、残りの優先順位についての
ANDゲート127a、127b、・・・はエンコーダ
の出力P0を生成するためORゲート129dを駆動す
る。
前述の如く、出力P0ないしP3は最高のアクテイブな
ブランチ条件を表わすコード化された4ビツトの値でア
ドレスレジスタスタツクをアドレスするのに用いられ
る。あるいは、ANDゲート127a、127bの出力
はそのレジスタスタツク中のレジスタに直接的にそれぞ
れ関連付けて、アクテイブにされたとき、対応するアド
レスレジスタの出力をアドレスバスにゲートするように
してもよい。これが可能なのは、2つの優先順位レジス
タに同じ番号がロードされない限り(そうなるべきでは
ない)所与の時間にアクテイブにできるのはANDゲー
トの出力127xのうちの1つだけだからである。後者
の方法は入力ラツチビツトについてプログラム可能に関
連付けられた番号ではなく、アクテイブな入力ラツチビ
ツト自体の位置に従つてアドレス選択の優先順位付けを
行おうとするものである。後者の方法においては最低の
優先順位を有する入力ラツチビツトは(たとえばラツチ
ビツト位置1に存するもの)他にアクテイブなビツトが
ない場合にのみ、優先性を与えられるということに留意
されたい。16個のラツチビツト位置では15個の非ゼ
ロの選択機能しか得られないので、全てのラツチビツト
がゼロであるという条件をチエツクするため単純な論理
を追加してこのような状況で一意的なブランチが必要な
ときはアクテイブな状態が存在しないことに関連してブ
ランチターゲツトアドレスを選択するための出力をゲー
トすることができる。
レジスタ再形成命令の回路 レジスタ再形成(RSH)命令を実行するための回路は
第10図に示されている。入力ラツチ174中の情報は
レジスタ再形成ユニツト176のオペレーシヨンによつ
て再形成(RS)コードレジスタ175中の各コードと
して再形成される。出力は出力レジスタ177へ送られ
る。RSコードレジスタは関連するRSHオペレーシヨ
ンの前にデータバス13を介して適切なシフト、マスク
及びスワツプオペレーシヨンで初期設定される。デコー
ダ178及び179は、制御バセ12を介するRSH命
令のオペコードに応答して、レジスタ再形成ユニツト1
76への入力ラツチ174をゲートするための制御信号
及び再形成レジスタ177からの出力をゲートするため
の制御信号を生成する。デコーダ178はデータバス1
3を介するレジスタ転送オペレーシヨンに応答して再形
成のオプシヨンを指定するデータをレジスタ175へロ
ードするための制御信号を生成する。
レジスタ175(32ビツトの入力レジスタと仮定す
る)にコード化できる再形成のオプシヨンは下記のもの
を含む。
1)下位8ビツトのスワツプ 2)下位16ビツトのスワツプ 3)下位32ビツトのスワツプ 4)Nビツトのローテート 5)Mビツトのマスク Lビツトのスワツプとは、入力レジスタ中のビツト
(0)ないしD(L)が以下のように交換されることを
いう。
Nビツトのローテートとは、入力レジスタ中のビツトが
Nビツトだけ右方又は左方にシフトされることをいう。
右方Nのシフトは、D(i)=D(i+N)を意味し、
左方Nのシフトは、D(i)=D(i−N)を意味す
る。
Mビツトのマスクとは、指定された個数のビツトを最上
位ビツト又は最下位ビツトから0又は1にセツトするこ
とをいう。
上述のオプシヨンを満たす再形成コードレジスタは以下
の如くとなる。
N1はシフトの方向を示す。
M1はマスクのセツト又はリセツトを示す。
M2はマスクMが最上位又は最下位からのものであるこ
とを示し、Nはビツト数を表わす(最大32)。
スワツプコード 001 下位8ビツト 010 下位16ビツト 011 全32ビツト 100 上位8ビツト 101 中位16ビツト 110 全32ビツト 例:上述のレジスタでは、パケツト番号を抽出すること
が必要であると仮定している。
再形成は次のようになる。
N=4 4ビツトシフト N1=1 シフト方向(右) M=28 28ビツトマスク M1=0 ゼロについてリセツト M2=0 最上位ビツトからマスク スワツプコード=000 スワツプなし RSHの計算論理は第11図に示すように2つのステー
ジを含む。第1のステージは32個のマルチプレクサ2
09から成る。各マルチプレクサは相対的に1ビツトだ
けシフトされたラツチ174からの入力を有する。スワ
ツプユニツト210は再形成コードレジスタ(第10図
中のブロツク175)からのスワツプコード及びシフト
コードを使用してマルチプレクサ209への異なる選択
制御入力を供給する。第2のステージは再形成コードレ
ジスタ(第10図)からのマスクコードで制御され、所
望のビツトシーケンス適切にセツト又はリセツトするマ
スク論理212を含む。マスク論理212は以下の関係
でもつて表わすことができる。
ここで出力ワードベクトルD(L)の長さをLビツトと
し、Mがマスクコード、M1がセツト又はリセツト、M
2が右方又は左方の方向性を指定するものと仮定する。
他の全てのD(i)については第11図のi番目のマルチ
プレクサ209と同じである。
第12図はスワツプユニツトの詳細を示す図である。デ
コーダ219は所望の範囲のビツト(8、16又は32
ビツト)のスワツプを行うためスワツプコードを用いて
ANDゲート217のうちの1つの選択する。比較論理
216はデコーダ219の出力、レジスタ218及び関
連するマレチプレクサ番号214を用いてスワツプユニ
ツトがそのマルチプレクサに関係するスワツプ機能を遂
行するかどうかを判断する。シフトコードはANDゲー
ト217の出力と排他的論理和され(参照番号21
5)、出力となるべき32個のマルチプレクサ入力のう
ちの1つを選択するマルチプレクサ出力アドレスを供給
する。XORゲート215は要求されたスワツプコード
に応じてシフトコードの下位3ビツト、4ビツト又は5
ビツトを補数化する。
第13図は一時に複数のパラメータの抽出を可能とする
拡張された再形成機構を示す図である。この拡張はより
高速なオペレーシヨンを行うため以下の機能を有する再
形成コードレジスタを使用する。入力レジスタ201は
全てについて共通のものであるが、3つの再形成ユニツ
ト203で処理される3つの出力レジスタ204が存在
する。再形成コードレジスタ202は3つのパラメータ
(各再形成ユニツトにつき1つ)を抽出するため3つの
個別的なコードを含む。
ARS命令の回路 この回路は第14図に示されている。入力ラツチ252
中の情報はアドレス変換のために処理される。論理チヤ
ネルID253は実際の経路指定アドレス255を生成
するためのアドレス生成器254によつて使用される。
デコーダ256及び257は制御バス12を介するAR
S命令に応答して、入力ラツチ252をアドレス生成器
254にゲートするための制御信号及び経路指定アドレ
ス255への出力をラツチするための制御信号を生成す
る。デコーダ256はデータバス13を介するレジスタ
転送オペレーシヨンに応答して論理チヤネルID253
をロードするための制御信号を生成する。
アドレス経路指定オペレーシヨンのために使用されるハ
ードウエアを第15図に示した。アドレススタツク26
1及び経路スタツク262は1対1の対応を有するアド
レス変換パラメータで初期設定される。これにより比較
回路263は優先順位エンコーダ回路264と共に入力
レジスタR260の値を用いて、出力レジスタ(第1
4図のブロツク255)へ送ることのできる経路スタツ
ク262中の対応する経路指定アドレスを選択すること
ができる。第8図のものと同様なスタツクアクセスデコ
ーダ機構を用いてアドレススタツク及び経路アドレスス
タツクを初期設定する。
メモリアクセスユニツト 第16図はブロツク転送ユニツト295及びメモリロー
ド/ストアユニツト292から成るメモリアクセスユニ
ツトを示す図である。メモリロード/ストアユニツト2
92は標準的なデータメモリアクセスを提供する。
BMO(ブロツク転送)命令回路 この回路は第17図に示されている。ソースアドレスレ
ジスタ346にはレジスタ転送命令によつてデータブロ
ツクの開始アドレスのロケーシヨンをロードすることが
できる。ブロツク転送状況レジスタ351は転送が進行
するにつれてモニタユニツト350によつて更新され
る。ブロツク転送回路はデータ変換でソースアドレスと
宛先アドレスとの間のデータ転送を行う機構を含む。ソ
ースアドレス346はソースデータが存在する最初のメ
モリロケーシヨンである。バツフアの長さ(これはソー
スアドレスのところから始まる転送すべきデータの数で
ある)はカウントレジスタ348に記憶することができ
る。
この回路によつてブロツク転送要求をスタツクにキユー
することができる。待ち行列コマンドレジスタ349は
346、347及び348の内容を待ち行列に挿入す
る。またこの回路によつてユーザはブロツク転送と同時
にデータ交換が要求されるかどうか(たとえば、CRC
又はビツトの挿入もしくは削除のため)を指定すること
ができるので、フレーム処理ユニツト(第1図のブロツ
ク5)への経路354が付勢される。レジスタ346、
347、348及び349にはデータバス13を介して
レジスタ転送オペレーシヨンをロードすることができ
る。デコーダ352及び353は制御バス12を介する
ブロツク転送命令に応答してレジスタ346、347及
び348をゲートするための制御信号及び待ち行列コマ
ンドレジスタを用いてブロツク転送回路へのローデイン
グを行うための制御信号を生成する。デコーダ352は
データバス13を介するレジスタ転送オペレーシヨンに
応答してブロツク転送回路350からブロツク転送状況
レジスタ351へのロードを行うための制御信号を生成
する。ブロツク転送状況レジスタ351はブロツク転送
機能の状況を示すものである。データアドレス経路15
は外部DRAM(第3図のブロツク32)及び内部スタ
ツクをアドレス指定するために用いられる。
第18図はブロツク転送論理361の制御を構成するの
に使用される回路の詳細を示す図である。ブロツク転送
要求の異なるセツトは待ち行列360を用いて最初にき
たものを最初に保管するという順序で記憶する。待ち行
列ポインタ363はブロツク転送回路によつて同時に処
理される要求のロケーシヨンを指し示す。ソフトウエア
待ち行列ポインタ367はブロツク転送について待ち行
列に提供された最後の要求を指し示す。ブロツク転送状
況レジスタ351はハードウエア待ち行列ポインタ36
3及びソフトウエア待ち行列ポインタ367の位置に応
じて待ち行列360が空になつたか又は一杯になつたか
を示すことになる。ビツト挿入/削除のためのデータ変
換レジスタ369及びCRC368はフレーム処理が経
路354に対して付勢されたときに使用される。
第20図のマルチプレクサ435及び第21図のマルチ
プレクサ459は処理ユニツト430及び454を用い
るために経路354をそれぞれ付勢するデコーダ432
及び456によつて選択される。各ユニツトは新しいC
RC(368)及びビツト挿入/削除ワードBSW(3
69)を計算する。ブロツク転送が生じるのは次の場合
だけであることに留意されたい。すなわち、DRAMが
1サイクルスチールでアクセス可能なとき(他のユニツ
トはアクセスを要求しない)、及びフレーム処理が他の
命令によつて使用されていない場合に1マシンサイクル
の間その転送が待機されるブロツク転送でデータ変換が
要求されたときである。
フレーム処理ユニツト 第19図はエラーチエツク及びデータトランスペアレン
シーのためにフレーム情報及びパケツトについてオペレ
ーシヨンを遂行する専用のフレーム処理ユニツトの構成
を示す図である。CRCユニツト389は巡回冗長検査
(CRC)コードを計算することによつてエラーチエツ
クを遂行する。ビツト挿入/削除ユニツト390は実際
のデータとフレームデリミタ及び制御ワードとを分離す
るための所望のデータパターンの呼出しでビツトの挿入
及び削除を行う。制御キヤラクタ検出ユニツト391は
決定機能の高速化を図るため特定の制御キヤラクタで自
動的にブランチを行わしめる機構を提供する。
CRCユニツト この回路は第20図に示した。レジスタ428中の情報
は多項式レジスタRR429を用いるCRC計算部43
0で処理される。レジスタ429は任意の標準CRC−
CCRTT又はCRC−16についてプログラム可能な
32ビツトレジスタである。各々の新しい計算の前に多
項式レジスタ及びCRC累算器が初期設定されることが
重要である。制御バスにより適切なデータフローが提供
される。レジスタ429及び431はデータバス13を
用いるレジスタ転送オペレーシヨンによつてロードする
ことができる。デコーダ432及び433は制御バス1
2を介するCRC命令オペコードに応答して、CRC計
算部430への入力ラツチ428をゲートするための制
御信号及びCRC累算器431へ新しい累算値をラツチ
するための制御信号を生成する。デコーダ432はデー
タバス13を介するレジスタ転送オペレーシヨンに応答
して、レジスタ429へのロードのための制御信号を生
成する。マルチプレクサ435及びデマルチプレクサ4
34、436は正規の命令又はブロツク転送オペレーシ
ヨンを伴うデータ変換の一部としてCRC計算部430
の使用する経路を選択するのに役立つ。CRC計算部4
30はクロツクされない。CRC計算部はIBMTechni
cal Disclosure bulletin第21巻第5号、1978年
10月、第2058ないし2061頁に記載されてい
る。
ビツト挿入/削除ユニツト この回路は第21図に示されている。レジスタ452中
の情報はパターンレジスタRR453を用いるビツト処
理部454で処理される。その出力は状況出力バイト4
55において利用可能である。パターンレジスタはビツ
トの挿入又は削除をトランスペアレントに行うことがで
きるビツトシーケンスを含む8ビツトのレジスタであ
る。パターンレジスタ及び状況出力バイトは各々の新し
い計算の前に初期設定することが重要である。制御バス
によつて適切なデータフローが提供される。レジスタ4
53及び455はデータバス13を介するレジスタ転送
オペレーシヨンによつてロードすることができる。デコ
ーダ456及び457は制御バス12を介するBSW命
令のオペコードに応答して、ビツト処理部454への入
力ラツチのゲーテイングのための制御信号及び状況出力
バイト455への新しいバイト及び状況をラツチするた
めの制御信号を生成する。デコーダ456はデータバス
13を介するレジスタ転送オペレーシヨンに応答して、
パターンレジスタ453へロードするための制御信号を
生成する。マルチプレクサ459及びデマルチプレクサ
458、460は正規の命令又はブロツク転送オペレー
シヨンのためのデータ変換でビツト処理部454が使用
する経路を選択するのに役立つ。
第22図はビツト処理部454の詳細を示す図である。
入力ラツチ452及び状況出力ワード455からのデー
タは選択ユニツト(S)480によつて選択され、各ユ
ニツトからのデータが全ての入力ラインにわたつて相対
的に1ビツトだけシフトされた6ビツトから成るように
される。比較ユニツト(C)481は選択ユニツト48
0からの各6ビツトとパターンレジスタ453からの入
力とを比較する。その出力はビツト挿入/削除論理48
2に供給される。下記の第1表はこの論理482の機能
を示すものである。この論理482はその出力にレジス
タ455の状況及びバイトOBを含む。この状況には、
以前のバイトPB、挿入又は削除の後の残余ビツト、カ
ウントビツト、及び残余値8の存在又は不存在を示すフ
ラグEが含まれる。
なお、第1表では以下のことが仮定されている。
1)パート1はアクテイブになる2つの比較器(C)の出
力値を含むことができる(この場合、そのカウント及び
残余は2ビツトだけ変化する)。
2)パート2は分割して示されている。というのは、その
カウントはアクテイブな比較器(C)の番号とは無関係
だからであり、パート2の残余ビツトに対する対応はパ
ート1の出力ビツトについてのみ有効である。
制御キヤラクタ検出ユニツト(BCD命令回路) この回路は第23図に示す。レジスタRR556中の情
報はキヤラクタ検出のために処理される。自動的ブラン
チは新ブランチアドレス出力559に取得される。デコ
ードロードレジスタ557は様々なブランチアドレスの
ためのキヤラクタ処理部558を初期設定するのに用い
られる。デコーダの初期設定は使用されているプロトコ
ル及びブランチルーチンの判断のために必要なブランチ
アドレスによつて異なる。制御バスによつて適切なデー
タフローが提供される。デコーダ560及び561は制
御バス12を介するBCD命令のオペコードに応答し
て、キヤラクタ処理部558への入力ラツチ556をゲ
ートし、新ブランチアドレス559をラツチする。デコ
ーダ560はデータバス13を介するレジスタ転送オペ
レーシヨンに応答して、キヤラクタ処理部558の構成
要素を初期設定するための制御信号を生成する。
第24図は制御キヤラクタ検出オペレーシヨンのために
用いられるハードウエアを示す図である。キヤラクタ5
56及びブランイアドレススタツク567は1対1の変
換のためのアドレスで初期設定される。これにより、比
較器568及び優先順位エンコーダは入力レジスタRn
565中の値を用いてブランチアドレススタツク262
中の対応するブランチアドレスを選択することができ
る。このアドレスは出力レジスタ(第23図のブロツク
559)へ送られる。
上述のレジスタ再形成命令、アドレス経路指定命令、ブ
ロツク転送命令、及びBCD命令を定義するのにここで
はAHPL(A Hardware Programming Language)を用
いた。下記の第2表ないし第5表は上述の各命令に対応
するそれぞれのAHPLデータである。なお、参考文献
(1)の第5章はこの言語の詳細について述べている。
F.発明の効果 以上説明したように本発明によれば、層構造の通信プロ
トコルにおけるプロセツサについて新しいアーキテクチ
ヤを導入することにより、その性能を従来に比べて高め
ることができる。
【図面の簡単な説明】
第1図は本発明に基づくCPPシステムの構成を示す
図、第2図は並行処理及びパイプラインを説明する図、
第3図はCPPが用いられる典型的な環境を示す図、第
4図はCCP命令のフオーマツトを示す図、第5図はヘ
ツダ処理ユニツトの構成を示す図、第6図はBBD命令
の実行を説明する図、第7図は優先順位アドレス機構の
構成を示す図、第8図は優先順位エンコーダでアドレス
指定されるアドレススタツクアレイを示す図、第9図は
優先順位エンコーダの構成を示す図、第10図はレジス
タ再形成ユニツトの構成を示す図、第11図はレジスタ
再形成ユニツトのスワツプ及びローテートのマルチプレ
クサを示す図、第12図はスワツプユニツトを示す図、
第13図はレジスタ再形成ユニツトの他の実施例を示す
図、第14図はアドレス経路指定ユニツトを示す図、第
15図はアドレス生成器の構成を示す図、第16図はメ
モリアクセスユニツトを示す図、第17図はブロツク転
送ユニツトを示す図、第18図はブロツク転送オペレー
シヨンの制御を示す図、第19図はフレーム処理ユニツ
トを示す図、第20図はCRCユニツトの構成を示す
図、第21図はビツト挿入/削除ユニツトの構成を示す
図、第22図はビツト処理部の構成を示す図、第23図
は制御キヤラクタ検出ユニツトの構成を示す図、第24
図はキヤラクタ処理部の構成を示す図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 バイジユ・デイラーラル・マンダリア アメリカ合衆国フロリダ州ボカ・ラトン、 ベイウオーター・ドライブ9900番地 (72)発明者 ジヤン・ワールター・ヴアン・デン・バー グ アメリカ合衆国フロリダ州ボカ・ラトン、 フイリツプス・ドライブ541番地 (72)発明者 デヴイド・カーテイス・ヴアン・ヴアーリ ス アメリカ合衆国サウスウエスト・トウエン テイフアースト・ストリート1225番地 (56)参考文献 特開 昭63−196964(JP,A) 特開 昭63−31247(JP,A) 特開 昭62−252242(JP,A) 特開 昭63−129443(JP,A)

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】層構造の通信プロトコルに対応するデータ
    処理の実行のためのプロセッサと、 命令プログラムと当該命令に関連するデータを格納し、
    且つ、前記プロセッサと協働する外部メモリと、 を有し、前記データは層構造の通信プロトコル処理のた
    めのヘッダとフレーム情報を含み、前記命令は少なくと
    も第1と第2のタイプの命令を含み、第1のタイプの命
    令はヘッダとフレーム情報の処理に関し、第2の命令は
    前記第1のタイプの命令によるオペレーション以外のオ
    ペレーションに関するものである通信プロセッサ装置に
    おいて、 外部メモリに接続されて命令を引き出してデコードする
    デコード手段と、 デコード手段と外部メモリに接続されて第1のタイプの
    命令で示された処理を行い、プロセッサのオペレーショ
    ンの単一マシンサイクルで第1のタイプの命令それぞれ
    によって要求されたすべてのオペレーションを行う特別
    目的論理回路手段と、 デコード手段と外部メモリに接続されて第2のタイプの
    命令によって示された処理を行い、第2のタイプの命令
    によって示された機能の実行のために前記デコーダ手段
    の制御のもとに動作する汎用目的論理回路手段と、 を備えたことを特徴とする通信プロセッサ装置。
JP1260393A 1988-10-07 1989-10-06 通信プロセッサ装置 Expired - Fee Related JPH0636515B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/254,986 US4991133A (en) 1988-10-07 1988-10-07 Specialized communications processor for layered protocols
US254986 1988-10-07

Publications (2)

Publication Number Publication Date
JPH02149156A JPH02149156A (ja) 1990-06-07
JPH0636515B2 true JPH0636515B2 (ja) 1994-05-11

Family

ID=22966354

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1260393A Expired - Fee Related JPH0636515B2 (ja) 1988-10-07 1989-10-06 通信プロセッサ装置

Country Status (4)

Country Link
US (1) US4991133A (ja)
EP (1) EP0363173A3 (ja)
JP (1) JPH0636515B2 (ja)
CA (1) CA1319997C (ja)

Families Citing this family (103)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5485370A (en) * 1988-05-05 1996-01-16 Transaction Technology, Inc. Home services delivery system with intelligent terminal emulator
US5572572A (en) 1988-05-05 1996-11-05 Transaction Technology, Inc. Computer and telephone apparatus with user friendly interface and enhanced integrity features
US5249292A (en) * 1989-03-31 1993-09-28 Chiappa J Noel Data packet switch using a primary processing unit to designate one of a plurality of data stream control circuits to selectively handle the header processing of incoming packets in one data packet stream
US5613100A (en) * 1989-09-12 1997-03-18 Nec Corporation Computer system having an open systems interconnection (OSI) management system for an information conversion for management of non-open systems
US5062108A (en) * 1989-09-29 1991-10-29 At&T Bell Laboratories ISDN codeset conversion
JPH03123244A (ja) * 1989-10-06 1991-05-27 Matsushita Electric Ind Co Ltd 通信装置
US5708810A (en) * 1989-10-10 1998-01-13 Unisys Corporation Image-based document processing system having a platform architecture
US5121390A (en) * 1990-03-15 1992-06-09 International Business Machines Corporation Integrated data link controller with synchronous link interface and asynchronous host processor interface
US5237693A (en) * 1990-04-04 1993-08-17 Sharp Kabushiki Kaisha System for accessing peripheral devices connected in network
US6105061A (en) * 1990-07-26 2000-08-15 Nec Corporation Hierarchically distributed network management system using open system interconnection (OSI) protocols
US5153884A (en) * 1990-08-15 1992-10-06 Allen-Bradley Company, Inc. Intelligent network interface circuit
US5245608A (en) * 1990-09-26 1993-09-14 International Business Machines Corporation Logical grouping of layer entities in a layered communication architecture
US5235597A (en) * 1991-03-08 1993-08-10 International Business Machines Corp. Synchronizing asynchronous protocol interactions between peer layers in different nodes of a layered communication network
US5168495A (en) * 1991-05-10 1992-12-01 Ibm Corporation Nested frame communication protocol
US5630157A (en) * 1991-06-13 1997-05-13 International Business Machines Corporation Computer organization for multiple and out-of-order execution of condition code testing and setting instructions
US5224098A (en) * 1991-07-17 1993-06-29 International Business Machines Corporation Compensation for mismatched transport protocols in a data communications network
JP2729420B2 (ja) * 1991-10-02 1998-03-18 三菱電機株式会社 通信用プロセッサ
EP0543512B1 (en) * 1991-11-19 1999-10-06 International Business Machines Corporation Multiprocessor system
US5805808A (en) * 1991-12-27 1998-09-08 Digital Equipment Corporation Real time parser for data packets in a communications network
US5351243A (en) * 1991-12-27 1994-09-27 Digital Equipment Corporation Monitor for packets on a communications network
US5278834A (en) * 1992-05-26 1994-01-11 Alcatel Network Systems, Inc. Method for implementing a data communication protocol stack
US5303237A (en) * 1992-07-31 1994-04-12 International Business Machines Corporation Frame relay system capable of handling both voice and data frames
EP0584027A2 (en) * 1992-08-19 1994-02-23 International Business Machines Corporation Seamless peer-to-peer communications in a layered communications architecture
GB2274230B (en) * 1993-01-07 1996-05-15 Digital Equipment Int Communication systems
US5396505A (en) * 1993-07-06 1995-03-07 Tandem Computers Incorporated Programmable error-checking matrix for digital communication system
DE4343588A1 (de) * 1993-12-21 1995-06-22 Sel Alcatel Ag Verfahren und Einrichtung zur zufälligen Auswahl einer von N gleichen Einheiten, sowie Koppelelement, Koppelnetz und Vermittlungsstelle damit
US5903754A (en) * 1994-06-21 1999-05-11 Microsoft Corporation Dynamic layered protocol stack
US5655140A (en) * 1994-07-22 1997-08-05 Network Peripherals Apparatus for translating frames of data transferred between heterogeneous local area networks
US6334219B1 (en) 1994-09-26 2001-12-25 Adc Telecommunications Inc. Channel selection for a hybrid fiber coax network
US7280564B1 (en) 1995-02-06 2007-10-09 Adc Telecommunications, Inc. Synchronization techniques in multipoint-to-point communication using orthgonal frequency division multiplexing
USRE42236E1 (en) 1995-02-06 2011-03-22 Adc Telecommunications, Inc. Multiuse subcarriers in multipoint-to-point communication using orthogonal frequency division multiplexing
US5796832A (en) 1995-11-13 1998-08-18 Transaction Technology, Inc. Wireless transaction and information system
US5754788A (en) * 1995-12-28 1998-05-19 Attachmate Corporation Method and system for reconfiguring a communications stack
US5870565A (en) * 1996-05-06 1999-02-09 Telefonaktiebolaget L M Ericsson (Publ) Telecommunications management network connected to a common channel signaling network
US6212601B1 (en) * 1996-08-30 2001-04-03 Texas Instruments Incorporated Microprocessor system with block move circuit disposed between cache circuits
US6185207B1 (en) 1997-06-19 2001-02-06 International Business Machines Corporation Communication system having a local area network adapter for selectively deleting information and method therefor
US6215776B1 (en) 1997-10-08 2001-04-10 Lockheed Martin Missiles & Space Company Satellite communication system
US7076568B2 (en) * 1997-10-14 2006-07-11 Alacritech, Inc. Data communication apparatus for computer intelligent network interface card which transfers data between a network and a storage device according designated uniform datagram protocol socket
US6226680B1 (en) 1997-10-14 2001-05-01 Alacritech, Inc. Intelligent network interface system method for protocol processing
US7133940B2 (en) * 1997-10-14 2006-11-07 Alacritech, Inc. Network interface device employing a DMA command queue
US6591302B2 (en) 1997-10-14 2003-07-08 Alacritech, Inc. Fast-path apparatus for receiving data corresponding to a TCP connection
US7167927B2 (en) * 1997-10-14 2007-01-23 Alacritech, Inc. TCP/IP offload device with fast-path TCP ACK generating and transmitting mechanism
US6427173B1 (en) 1997-10-14 2002-07-30 Alacritech, Inc. Intelligent network interfaced device and system for accelerated communication
US6658480B2 (en) 1997-10-14 2003-12-02 Alacritech, Inc. Intelligent network interface system and method for accelerated protocol processing
US7185266B2 (en) * 2003-02-12 2007-02-27 Alacritech, Inc. Network interface device for error detection using partial CRCS of variable length message portions
US8621101B1 (en) 2000-09-29 2013-12-31 Alacritech, Inc. Intelligent network storage interface device
US6427171B1 (en) 1997-10-14 2002-07-30 Alacritech, Inc. Protocol processing stack for use with intelligent network interface device
US6687758B2 (en) * 2001-03-07 2004-02-03 Alacritech, Inc. Port aggregation for network connections that are offloaded to network interface devices
US6757746B2 (en) * 1997-10-14 2004-06-29 Alacritech, Inc. Obtaining a destination address so that a network interface device can write network data without headers directly into host memory
US8539112B2 (en) 1997-10-14 2013-09-17 Alacritech, Inc. TCP/IP offload device
US7042898B2 (en) 1997-10-14 2006-05-09 Alacritech, Inc. Reducing delays associated with inserting a checksum into a network message
US7089326B2 (en) * 1997-10-14 2006-08-08 Alacritech, Inc. Fast-path processing for receiving data on TCP connection offload devices
US7284070B2 (en) * 1997-10-14 2007-10-16 Alacritech, Inc. TCP offload network interface device
US6807581B1 (en) 2000-09-29 2004-10-19 Alacritech, Inc. Intelligent network storage interface system
US7174393B2 (en) * 2000-12-26 2007-02-06 Alacritech, Inc. TCP/IP offload network interface device
US6697868B2 (en) * 2000-02-28 2004-02-24 Alacritech, Inc. Protocol processing stack for use with intelligent network interface device
US6389479B1 (en) 1997-10-14 2002-05-14 Alacritech, Inc. Intelligent network interface device and system for accelerated communication
US7237036B2 (en) * 1997-10-14 2007-06-26 Alacritech, Inc. Fast-path apparatus for receiving data corresponding a TCP connection
US6434620B1 (en) * 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
US8782199B2 (en) 1997-10-14 2014-07-15 A-Tech Llc Parsing a packet header
US6470415B1 (en) 1999-10-13 2002-10-22 Alacritech, Inc. Queue system involving SRAM head, SRAM tail and DRAM body
US7100020B1 (en) * 1998-05-08 2006-08-29 Freescale Semiconductor, Inc. Digital communications processor
US6438678B1 (en) * 1998-06-15 2002-08-20 Cisco Technology, Inc. Apparatus and method for operating on data in a data communications system
US7664883B2 (en) * 1998-08-28 2010-02-16 Alacritech, Inc. Network interface device that fast-path processes solicited session layer read commands
US7328270B1 (en) * 1999-02-25 2008-02-05 Advanced Micro Devices, Inc. Communication protocol processor having multiple microprocessor cores connected in series and dynamically reprogrammed during operation via instructions transmitted along the same data paths used to convey communication data
US6128528A (en) * 1999-03-18 2000-10-03 Medtronics, Inc. Error code calculations for data stored in an implantable medical device
US7174452B2 (en) * 2001-01-24 2007-02-06 Broadcom Corporation Method for processing multiple security policies applied to a data packet structure
USD426071S (en) * 1999-05-14 2000-06-06 Tisha Lee Vandemore Mat for the sequential display of a plurality of photographs
JP5220974B2 (ja) * 1999-10-14 2013-06-26 ブルアーク ユーケー リミテッド ハードウェア実行又はオペレーティングシステム機能の加速のための装置及び方法
US6629288B1 (en) * 2000-03-01 2003-09-30 Conexant Systems, Inc. Single clock cycle CRC engine
US6848072B1 (en) * 2000-09-19 2005-01-25 Bbn Solutions Llc Network processor having cyclic redundancy check implemented in hardware
US8019901B2 (en) * 2000-09-29 2011-09-13 Alacritech, Inc. Intelligent network storage interface system
US6720074B2 (en) * 2000-10-26 2004-04-13 Inframat Corporation Insulator coated magnetic nanoparticulate composites with reduced core loss and method of manufacture thereof
US7305092B2 (en) 2000-12-19 2007-12-04 Qualcomm Incorporated Method and system to accelerate cryptographic functions for secure e-commerce applications
US8218555B2 (en) * 2001-04-24 2012-07-10 Nvidia Corporation Gigabit ethernet adapter
US7274706B1 (en) 2001-04-24 2007-09-25 Syrus Ziai Methods and systems for processing network data
US7085850B2 (en) * 2001-08-22 2006-08-01 International Business Machines Corporation Stateless message processing scheme for network processors interactions
US6976205B1 (en) * 2001-09-21 2005-12-13 Syrus Ziai Method and apparatus for calculating TCP and UDP checksums while preserving CPU resources
US20030121835A1 (en) * 2001-12-31 2003-07-03 Peter Quartararo Apparatus for and method of sieving biocompatible adsorbent beaded polymers
US7496689B2 (en) * 2002-04-22 2009-02-24 Alacritech, Inc. TCP/IP offload device
US7543087B2 (en) * 2002-04-22 2009-06-02 Alacritech, Inc. Freeing transmit memory on a network interface device prior to receiving an acknowledgement that transmit data has been received by a remote device
US20070253430A1 (en) * 2002-04-23 2007-11-01 Minami John S Gigabit Ethernet Adapter
US7337241B2 (en) * 2002-09-27 2008-02-26 Alacritech, Inc. Fast-path apparatus for receiving data corresponding to a TCP connection
US7191241B2 (en) * 2002-09-27 2007-03-13 Alacritech, Inc. Fast-path apparatus for receiving data corresponding to a TCP connection
US7457822B1 (en) 2002-11-01 2008-11-25 Bluearc Uk Limited Apparatus and method for hardware-based file system
US8041735B1 (en) 2002-11-01 2011-10-18 Bluearc Uk Limited Distributed file system and method
US20040088262A1 (en) * 2002-11-06 2004-05-06 Alacritech, Inc. Enabling an enhanced function of an electronic device
US7093099B2 (en) * 2002-12-12 2006-08-15 Alacritech, Inc. Native lookup instruction for file-access processor searching a three-level lookup cache for variable-length keys
JP4136857B2 (ja) * 2003-09-11 2008-08-20 キヤノン株式会社 機器検索方法およびプログラム
US6996070B2 (en) * 2003-12-05 2006-02-07 Alacritech, Inc. TCP/IP offload device with reduced sequential processing
US8176545B1 (en) 2003-12-19 2012-05-08 Nvidia Corporation Integrated policy checking system and method
US8248939B1 (en) 2004-10-08 2012-08-21 Alacritech, Inc. Transferring control of TCP connections between hierarchy of processing mechanisms
US7590930B2 (en) * 2005-05-24 2009-09-15 Intel Corporation Instructions for performing modulo-2 multiplication and bit reflection
JP4903201B2 (ja) * 2005-06-23 2012-03-28 ヒルシャー ゲゼルシャフト フュア ジステームアウトマツィオーン ミット ベシュレンクテル ハフツング オープンなオートメーションシステムのバス加入機器のデータ通信方法
US7738500B1 (en) 2005-12-14 2010-06-15 Alacritech, Inc. TCP timestamp synchronization for network connections that are offloaded to network interface devices
KR100728038B1 (ko) * 2006-03-03 2007-06-14 삼성전자주식회사 Plc 네트워크상에서 데이터를 묶어서 전송하는 방법 및장치
US20070257923A1 (en) * 2006-03-15 2007-11-08 Colin Whitby-Strevens Methods and apparatus for harmonization of interface profiles
TWI358735B (en) * 2008-01-03 2012-02-21 Nanya Technology Corp Memory access control method
US8539513B1 (en) 2008-04-01 2013-09-17 Alacritech, Inc. Accelerating data transfer in a virtual computer system with tightly coupled TCP connections
US8341286B1 (en) 2008-07-31 2012-12-25 Alacritech, Inc. TCP offload send optimization
US9306793B1 (en) 2008-10-22 2016-04-05 Alacritech, Inc. TCP offload device that batches session layer headers to reduce interrupts as well as CPU copies
US8417961B2 (en) * 2010-03-16 2013-04-09 Oracle International Corporation Apparatus and method for implementing instruction support for performing a cyclic redundancy check (CRC)
JP6428805B2 (ja) * 2017-02-07 2018-11-28 オムロン株式会社 演算装置、制御装置および制御方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4811279A (en) * 1981-10-05 1989-03-07 Digital Equipment Corporation Secondary storage facility employing serial communications between drive and controller
SE448919B (sv) * 1983-03-04 1987-03-23 Ibm Svenska Ab Metod for att overfora informationsenheter i ett datornetsystem, samt datornetsystem for genomforande av metoden
JPS62252242A (ja) * 1986-04-25 1987-11-04 Fujitsu Ltd デ−タ送受信方式
DE3674200D1 (de) * 1986-04-30 1990-10-18 Ibm Nichtkodierte information und begleitdaten-vermittlungsvorrichtung.
US4736369A (en) * 1986-06-13 1988-04-05 International Business Machines Corp. Adaptive session-level pacing
JPS6331247A (ja) * 1986-07-24 1988-02-09 Matsushita Electric Ind Co Ltd 通信制御装置
JPS63129443A (ja) * 1986-11-19 1988-06-01 Matsushita Graphic Commun Syst Inc 通信制御装置
JPH0642220B2 (ja) * 1987-02-10 1994-06-01 富士通株式会社 プロトコル・デ−タ・ユニツト処理計算機
US4855905A (en) * 1987-04-29 1989-08-08 International Business Machines Corporation Multiprotocol I/O communications controller unit including emulated I/O controllers and tables translation of common commands and device addresses

Also Published As

Publication number Publication date
EP0363173A2 (en) 1990-04-11
US4991133A (en) 1991-02-05
JPH02149156A (ja) 1990-06-07
CA1319997C (en) 1993-07-06
EP0363173A3 (en) 1991-07-24

Similar Documents

Publication Publication Date Title
JPH0636515B2 (ja) 通信プロセッサ装置
US4016545A (en) Plural memory controller apparatus
US4298927A (en) Computer instruction prefetch circuit
CA1324835C (en) Modular crossbar interconnection network for data transaction between system units in a multi-processor system
JP2539199B2 (ja) デジタルプロセッサ制御装置
US4745547A (en) Vector processing
US6272596B1 (en) Data processor
US4099229A (en) Variable architecture digital computer
EP0185215A2 (en) Forth-like language microprocessor
JPH0283735A (ja) 命令先取り装置
JPS5998262A (ja) メモリ・アクセス方法及び双方向デ−タ・バイト整列装置
EP0458305B1 (en) Microprocessor having branch prediction function
JP2001216194A (ja) 演算処理装置
JPH0332818B2 (ja)
US4620274A (en) Data available indicator for an exhausted operand string
US5146570A (en) System executing branch-with-execute instruction resulting in next successive instruction being execute while specified target instruction is prefetched for following execution
JPH11272546A (ja) 可変長レジスタ装置
EP1143333B1 (en) Microprocessor for supporting reduction of program codes in size
JP4955149B2 (ja) ビットfifoを有するディジタル信号プロセッサ
US4611278A (en) Wraparound buffer for repetitive decimal numeric operations
US4608633A (en) Method for decreasing execution time of numeric instructions
JPH09231071A (ja) コンピュータ装置
US4575795A (en) Apparatus for detecting a predetermined character of a data string
JPH02162422A (ja) 優先ブランチ機構を備えたデータ処理システム
EP0265972A2 (en) Control of the program counter used in a pipelined computer