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

通信プロセッサ装置

Info

Publication number
JPH02149156A
JPH02149156A JP1260393A JP26039389A JPH02149156A JP H02149156 A JPH02149156 A JP H02149156A JP 1260393 A JP1260393 A JP 1260393A JP 26039389 A JP26039389 A JP 26039389A JP H02149156 A JPH02149156 A JP H02149156A
Authority
JP
Japan
Prior art keywords
register
instruction
address
bit
bits
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP1260393A
Other languages
English (en)
Other versions
JPH0636515B2 (ja
Inventor
Gordon T Davis
ゴードン・テイラー・デイヴイス
Robert E Landa
ロバート・ユージン・ランダ
Baiju D Mandalia
バイジユ・デイラーラル・マンダリア
Den Berg Jan W Van
ジヤン・ワールター・ヴアン・デン・バーグ
Voorhis David C Van
デヴイド・カーテイス・ヴアン・ヴアーリス
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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明は特に通信コントローラに適用できるコンピュー
タアーキテクチャに関する。O8Iの標準によってサポ
ートされるCCITTプロトコルは、SNAのような他
のプロトコルも同様にサポートされるが、本発明のアー
キテクチャについて基礎となるものと考えられる。本発
明を有益に適用しうる特定の装置は、ネットワークイン
ターフェース、大規模システムのフロントエンド通信コ
ントローラ及び遠隔通信スイッチングノードを含む。本
アーキテクチャはネットワークゲートウェイやプロトコ
ル変換にも適用できる。
B、従来技術及びその課題 複数の通信ラインとデータ処理装置との間の信号トラフ
ィックを集信するためプログラム可能な通信コントロー
ラを使用することはそれ自体新しいことではない。たと
えば、米国特許第3863226号、4156796号
、4156932号、4188665号、432854
3号及び4484263号は市販の汎用マイクロプロセ
ッサ及び非同期レシーバ/トランシーバ(USART)
を用いてそのようなコントローラを実現する方法を開示
している。
関連出願である1988年8月2日付けの米国特許出願
第227832号はプロトコルの融通性の目的で媒体ア
クセス(MAC)層を取扱うハードウェア援助機構を開
示している。
ところで、層構造の通信プロトコルで繰返し出てくるヘ
ッダ及びフレームの処理機能を、高スループツトのリア
ルタイム通信において現在及び将来の要求に適切な速度
及びプロトコルのレベルで処理する必要がある。この問
題は本発明によって今日の層構造プロトコル(たとえば
O8I標準)の全てのレベルで繰返し出てくるヘッダ及
びフレームの処理機能の処理を高速化するための専用の
回路及び関連する命令を設けることで解決されている。
こうした回路及び命令は関連するヘッダ及びフレームの
処理オペレーションヲ単一のマシンサイクルで実行でき
るという特徴を含み、またこの特徴はO8Iの物理層、
データリンク層、ネットワーク層、トランスポート層、
セツション層、プレゼンテーション層及びアプリケーシ
ョン層ならびにその他の層構造通信プロトコルでの同様
なオペレーションに対応するのに適した融通性を有する
。従来技術ではリンクアクセス機能の処理のための通信
制御プロセッサが使用され、リンクアクセスレベルより
上の通信プロトコル層を処理するため中間又はホストの
システムでよシ強力なプロセッサが一般には使用されて
いる。
従来の通信コントローラにおいてCPU部を実現するの
に用いられるような現行の汎用マイクロプロセッサ及び
デジタル信号プロセッサはリンク制御又は媒体アクセス
層よシ上の通信プロトコルの層におけるヘッダ及びフレ
ーム情報の処理に関連するサポート機能を取扱うのには
適していないと考えられ、また従来技術ではリンクアク
セスレベルでそのようなサポートの必要性があるという
ことの認識もされていない。本発明ではそのようなサポ
ートが高速の媒体(T−1,T−2及び光ファイバなど
)を効率的に利用することの必要性を認識している。換
言すれば、現在及び将来の高速リンクに課せられる処理
負荷は、リンク制御層よシ上でヘッダ及びフレームの処
理機能の負荷を外さなければ、有効な媒体の使用を制限
するスループットの減少を伴ってIlo及び処理の障害
が必然的に生ずるものであることを本発明では認識して
いるのである。
もちろん、この分野で主要な進歩はいくつかある。たと
えば、通信の制御に適用しうるマイクロプロセッサやV
LSIの技術における改善、プロトコル自体の進歩及び
並行処理における改善などである。これらの進歩は本発
明で認識した問題を軽減するかもしれないが、本発明の
如きよシ効率的かつ完全な解決法を提供するものではな
い。
本発明は上述の如き技術的課題を解決することを目的と
している。
C8課題を解決するための手段 上記目的を達成するため、層構造の通信プロトコル全実
行するための本発明の通信プロセッサは、第1及び第2
のタイプの命令を記憶する手段を有し、上記第1のタイ
プの命令は層構造の通信プロトコルの各層において処理
ヘッダ及びフレーム情報で頻出する機能に関連する所定
のオペレーションを指定するものでアシ、上記第2のタ
イプの命令は上記所定のオペレーション以外の機能を遂
行するためのオペレーションを指定するものであり、上
記所定の機能はそれぞれ複数マシンサイクルを要するた
めにシステムの処理のスループットを制限するものであ
り、上記第1のタイプの命令に応答して各命令によ′つ
て指定されたオペレーションを単一のマシンサイクルで
遂行する特別の目的の回路手段と、上記第2のタイプの
命令に応答して各命令によって指定された機能を遂行す
る汎用演算論理機構と、を具備することを特徴としてい
る。
以下、本発明の作用を実施例と共に説明する。
D、実施例 はじめに本発明の実施例を概説する。本発明は特別目的
の通信プロトコルプロセッサ(cpp)に関し、今日の
層構造の通信プロトコルの全ての層で頻出するヘッダ及
びフレームの処理機能を実現する専用のユニットを有す
る新しく定義された命令アーキテクチャに関する。その
ような専用ユニットは各オペレーションを高速に遂行す
るものである。これらの専用ユニットに加えて、cpp
は汎用演算論理機構(ALU)を有する。専用ユニット
及び関連するレジスタはヘッダ及びフレーム情報の処理
オペレーションを単一のマシンサイクルで実行する。こ
れらのオペレーションは、専用ユニットがない場合には
通常はALUでその実行に複数のマシンサイクルを有す
るもので、特別の処理を必要とする主要な処理負荷とし
て認識されたものである。
このようなヘッダ機能には以下のものが含まれる。
プログラム可能々ビットオペレーションによるブランチ
: 即値データのビットによるブランチは既知であるが、ブ
ランチ条件を示すビットに与えられた優先順位の選択又
はビットの並行評価を提供するものではない。米国特許
第4573118号は条件ビットの優先順位の並行評価
を伴うビットオペレーションによるブランチを開示して
いるが、本発明の如き、ユーザプログラム制御の下で優
先順位を変える機能を有するものではない。
レジスタ再形成−(シフト、マスク及びスワップ)オペ
レーション: シフト、マスク及びスワップはそれ自体既知であるが、
本発明はこれら6つの全ての機能を単一の命令でしかも
単一のマシンサイクルで遂行することによってこれらの
オペレーションを改善している。
アドレス処理オペレーション: 本発明の回路ではヘッダ中の経路指定情報を変換するた
めの連関一致アドレス指定による命令を用いることによ
シ、変換オペレーションを高速化し、ターゲットアドレ
ス情報のために必要な記憶容量を減じている。
同様な取扱いとしてフレーム機能には以下のものが含ま
れている。
CRC(巡回冗長検査)計算: 特別のCRC回路が種々のプロトコルのためのエラーチ
エツクの迅速な実行をサポートする。これは標準的な1
6ビツト又は62ビツトのCRC多項式のサポートを可
能とする。HDLC%DDCMP及びB I 5YNC
を含む標準的なプロトコルのほとんどはCRCチエツク
を使用する。これらの回路は任意の多項式を高速化する
ようプログラムすることができる。
ビット’11 人/ All除オペレーション:特別の
ビット挿入/削除回路は各プロトコル層における特別の
制御キャラクタに関するデータについてのトランスベア
レンジ−を提供する。そのようなトランスペアレンジ−
はフレームの始点及び終点を示す特別の制御キャラクタ
と実際のデータとを分離するためにHDLCのようなプ
ロトコルにおいて必要とされる。
特別キャラクタ検出オペレーション: 特別の命令で用いられる専用の回路がBISYNC及び
DDCMP’Th含むキャラクタ指向プロトコルのほと
んどの場合に必要とされるようなキャラクタプロトコル
機能を提供する。
上述の機能の実行を専用ユニットを介して働く新しいア
ーキテクチャの命令のプログラム可能なセットに移行さ
せることによって、各ユニットを用いて異なる通信ライ
ン及びプロトコルを取扱うための融通性を保持しながら
、多くのUACC(Universal  async
hronous  communicationsco
ntroller )の機能を提供することができる。
CPPはデータリンク制御オペレーションのための専用
のレジスタの特別のセットを含む。サポートされた機能
はHDLC%X、25、SNA%TCP等の標準的なリ
ンクプロトコルにおけるデータの処理を強化する。従来
技術としてのパイプライン方式、並行処理、ブロック転
送、サイクルスチールメモリアクセス手法はさらに性能
を高めるために採用されている。
上述のブロック転送の手法はブロック情報の転送及び同
じ情報部分の処理を同時に行い、さらにCRCのような
他のオペレーションの実行及びピット挿入/削除を同時
に行うことを考慮したものである。
プロセッサの特徴 CPPは3段式のパイプラインで最高6つまでのオペレ
ーションを並行して実行する能力を有している。分離し
た命令及びデータバスによシ、命令の取出しとデータの
参照をパイプライン化することができる。これらのオペ
レーションは以下のカテゴリの中のいずれでもよい。
1、算術演算及びレジスタ転送オペレーション2、乗算
オペレーション 3、メモリアクセスオペレーション 4、 データプロトコルのためのヘッダ処理5、 デー
タプロトコルのためのフレーム処理CPPは4つのアド
レスインデックスレジスタ、12個の汎用データレジス
タ及びその他の特別目的のプロトコルサポートレジスタ
を含む。全てのレジスタは62ビツトである。プロセッ
サは64キロワードの命令メモリ及び16メガバイトの
データメモリをサポートできる。第3図はCPPが用い
られる典型的な環境を示している。本アーキテクチャの
特徴及び機能を要約すれば以下の如くとなる。
命令検索の高速化のための並行処理及びパイプライン化
の他に、新しく定義された命令を単一のマシンサイクル
で実行することによシスループツトがさらに向上される
。パイプライン化及び並行処理は第2図に示唆される。
特別目的のユニットを設計するにあたっては、データ及
びブランチの依存性を考慮しまた性能を高めるためのプ
ログラミング機能を提供できるような配慮がなされてい
る。
メモリロード/ストア、データシフティング、乗算及び
その他のALUオペレーションは並行してかつ単一のマ
シンサイクルで行われる。
参考文献 (1)  Hill、 F、、 Peterson、 
”Digital SystemsHardvrare
 Organiza口on and Design 。
Prentice Hall、 1987年(2)  
Beaven、 P、A、、 ”Parallel P
rogrammableArray 5tructur
ed CRCgenerator  。
IBM Technical Disclosure 
Bulletin。
1978年10月、第2058頁ないし第2062頁(
3)  Hwang、 Kai及びBr1gg5. F
、 A、Computerarchitecture 
and Parallel ProcessingMc
Graw Hill、 1984年(4)  Tane
nbaum、 A、”5tructured Comp
uterOrganization  、 Prent
ice Hall、 1984年以下、図面を参照しな
がら、実施例を詳述する。
CPPのアーキテクチャ 第1図は通信プロトコルプロセッサ(cpp)の全体の
アーキテクチャを示す図である。演算論理機構ALU1
は加算(ADD)、減算(SUBTRACT )及び比
較(COMPARE)という基本的な算術演算、OR,
AND及びXORという論理演算ならびに種々のレジス
タ転送演算を提供する。乗算ユニツ)MUL2はスケー
リング及び丸めの機能を有する乗算をサポートする。メ
モリアクセスユニット3、ヘッダ処理ユニット4及びフ
レーム処理ユニット5(これらは本発明に従って主要な
機能を遂行するためのCPPの特別の構成要素を成すも
のである)については後で詳細に説明する。汎用レジス
タスタック6及びアドレスインデックスレジスタスタッ
ク7は制御バス12及びデータバス13を介する処理ユ
ニット1ないし5のための入力及び出力として用いるこ
とのできる内部で可変的に割振ることのできる記憶部分
を含む。
第1図の下部に示す構成要素8.1ないし8.7を含む
制御ユニット8は演算の実行を制御し及び監視する。命
令レジスタ8.1は命令メモリlRAMから命令を受は
取る。このレジスタ中の命令オペレーションコード(オ
ペコード)ハブコータ8.2でテコードされて、デコー
ダ8.2は制御バス12を介して処理ユニット1ないし
5に制御信号を供給し、データバス13を介して既値デ
ータ又はアドレス情報が転送される。システムクロック
8.6は他の構成要素へタイミング制御信号を供給する
クロックされた間隔で取出し制御部8.4がlRAMに
対して取出しを行う命令を出す。
データバス13はレジスタスタック6.7と処理ユニッ
ト1ないし5との間で並行データ転送ができるよう複数
の双方向経路を有する。プログラムカウンタ8.5及び
次ブランチ(又は割込み)制御論理8.6は次アドレス
を生成し、そのうちの1つがI RAMアドレスバス1
6を介してlRAMに供給されるためマルチプレクサ8
.7によって選択される。データアドレスDA15はデ
ータバスGD 13’を介するデータ転送を行わせるた
めメモリアクセスユニット3とデータRAMとを接続す
るのに用いられる。
オペレーションの並行実行は第2図の参照番号20及び
21に示唆されるようなパイプラインの手法を用いて可
能となる。命令nが実行されている間に次の命令n +
 1がデコードされその命令に続く命令n+2が取出さ
れる。さらに、3つのオペレーションが1つの命令で要
求されるときは、それらのデコード及び実行は並行して
遂行することができる。そのようなオペレーションにつ
いてのバス転送機構及びパイプラインの手法はよく知ら
れている。
第6図は本CPP31が有効に機能しうる典型的な環境
を示す図である。DRAM32は物理的通信インターフ
ェース34との間でデータを交換するためマルチプレク
サ及び入出力インターフェース3,3とインターフェー
スする。Z RAM35は、インターフェース34で動
的に要求された機能を遂行するようCPPに指令するた
めのアプリケーションプログラムの命令を記憶する。ホ
ストインターフェース66はCPPとホスト処理システ
ムとの間のデータ及びコマンドの双方向転送を維持する
のに必要な体系的初期接続手順信号の交換を行う。ブロ
ック37はこの環境に全体として適合できる層構造のプ
ロトコルアプリケーション及び信号処理機能をあられす
命令フォーマットの定義 命令セットは固定されたフォーマット及び52ビツトの
命令長で設計された。第4図は命令ワードにおけるビッ
ト割当ての詳細な定義を示す図である。典型的な32ビ
ツトの命令はフォーマット定義フィールド及び3つのオ
ペコードフィールドを有する。これらのオペコードフィ
ールドで最高3つまでの個別的なオペレーションを要求
する。
フォーマット定義フィールド41は4つの部分(−rな
りちサブフィールド)を有する。2ピツトノサブフイー
ルド42は以下のような3つのタイプの命令フォーマッ
トのうちの1つを指定する。
00−6つの並行オペレーション 01− 任意選択的なレジスタ及びアドレスオペランド
を伴う2つの並行オペレーシ ョン ・ 10−拡張アドレス指定を伴う1つのブラ、ンチオ
ベレーション 各々2ビツトであるサブフィールド43ないし45は対
応するオペコードフィールド1ないし3についての関連
するカテゴリにおけるオペレーションを指定する。各フ
ィールド内のカテゴリは、算術計算、メモリアクセス、
フレーム処理及びヘッダ処理である。
典型的なオペコードフィールド46は5ピツトノオペレ
ーシヨンサブフイールド47及び3ピントのレジスタフ
ィールド48を介して1つのオペレーションを指定する
これらの特別目的のcppの命令に加えて、この命令セ
ットは前掲の文献(4)に記載された手法を用いるAL
Uオペレーション、乗算オペレーション、メモリロード
オペレーション及ヒメモリストアオペレーションを指定
するための汎用命令を含む。
後で説明する第6図ないし第14図は本cpp命令によ
って指定されるオペレーションを遂行するための特別の
目的のユニットを示す図である。
仁の命令セットは以下のような関連オペレーションを有
する命令を含む。
命令セット リ ALU及びメモリロード/ストアオペレーション FMn  RRインデックスAnを用いてメモリからレ
ジスタRRヘロートスル TMn  RRインデックスAnを用いてレジスタタR
Rからメモリへストアする RTn  RRレジスタnからRRへ転送するARn 
 RRレジスタRRにレジスタnを加える SRn  RRレジスタRRからレジスタnを減する 2)フレーム処理オペレーション *CRCRRレジスタRRでCRCを計算する*BSW
 RRRRを用いてビットの挿入又は削除を行う *BCD  RRRRが特別のキャラクタを有するとき
にブランチする 3)ヘッダ処理オペレーション *BBD  RR,、X  RR中の優先ビット検出で
ブランチする(Xはスタック選 択パラメータ) *R8HRRレジスタRRを再形成 *AR8RRRRを用いて新しいアドレスを計算する 4)ブロック転送オペレーション IBMORRRR中の待ち行列コマンドでブロック転送
を遂行する 5)並行オペレーション **EP3 0P1(RR)、0P2(RR)、0P3
(RR) 3つの並行オペレーション **EP2 0PI(RR)1.0P2(RR)2つの
並行オペレーション **EP1  0P1(RR) 1つのオペレーション 注 木  上記命令及びその実行は本発明のノ・−ドウエア
及び手法の新しい特徴とみなされる。
** 上記0P11、OF2及びOF2は個々のオペレ
ーションである。
レジスタ構造 下記の表はレジスタの割当て及び機能を示すものである
レジスタ AQないしA3 ROないしR11 RCP RCA SHP SH8 SHC RC ST NT メモリアクセス及びインデック スレジスタ 汎用データレジスタ CRC多項式レジスタ CRC累算レジスタ ビットトランスペアレンシーパ ターンレジスタ ビットトランスペアレンシー状 況レジスタ 再形成コードレジスタ ブロック転送のためのソースア ドレス ブロック転送のための宛先アド レス ブロック転送のためのバッファ LCIRアドレスについての論理チャネルID 次の節では上述の“*”でマークされた命令を実行する
ための回路について説明する。
ヘッダ処理ユニット 第5図はヘッダ処理ユニット4の構成を示す図である。
BBDユニット60は関連する上述のBBD命令に応答
する機構を提供し、ブランチ条件を指定する条件ビット
に基づいてプログラムの実行をブランチさせるためのオ
ペレーション、及びこのユニットのレジスタにプログラ
ム可能に事前ロードできる優先順位選択データに基づい
てアクティブな状態を示すビットの優先順位選択を行う
ためのオペレーションを実現する。
レジスタ再形成ユニット61はレジスタされたデータを
再構成して評価に適したフォーマットで必要なパラメー
タを抽出する。アドレス経路指定ユニット62は種々の
プロトコル層を介するネットワーク経路及びコネクショ
ンの確立のため必要に応じてヘッダアドレス情報を変換
する。
BBDユニット 第6図に示すように、種々のシステム条件又は割込み要
求事象を表わす入力ラッチ80中の情報はラッチされた
個々のビットの所定の優先順位に従って処理され、その
選択された条件を取扱うためのプログラムルーチンの始
点を表わす次命令アドレスへシステムのプログラム実行
をブランチさせる。優先順位選択機構81はブランチ動
作を必要とするアクティブな状態を表わすラッチ80中
のどのビットが最高の優先順位を有するかを判断し、出
力レジスタ82への転送のため関連するアドレスレジス
タスタックからの命令アドレスを選択するよう機能する
。制御バス12を介するBBD命令のオペコードに応答
するデコーダ84及び85は優先順位アドレス機構への
入力ラッチ8゜をゲートするための制御信号及び優先順
位アドレス4Nlの出力をブランチアドレスレジスタ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ないし120d
中の優先順位選択コード値はデータ転送命令(レジスタ
間又はメモリからレジスタ)又はロード即値命令のよう
なプロセッサのレジスタロード命令に応答して初期設定
することができる。複数のレジスタ120Xは並行して
初期設定することができる。というのは、プロセッサデ
ータバスは、典型的には、単一の優先順位選択レジスタ
で使用できるよりも多くのビットを伝達するものだから
である。
前述の如く、レジスタ120xを初期設定する目的は入
力ランチ80中の条件ビットに関連する優先順位をプロ
グラム可能に変化できるようにすることである。図示の
例では16個の条件ビットがあるので、一意的な優先順
位選択のランクを全ての条件ビットに割当てることがで
きるよう1つの優先順位選択レジスタにつき4ビツトが
必要である。一般には 2Nの長さを有する条件ビット
のセットに対してN個の優先順位ビットが必要となる。
BBD命令に応答して、アクティブ状態の入力ビットに
関連するレジスタ120xにロードされた値は個々の論
理回路122xないし127xヘゲートされる。これら
の論理回路は受は取った大きさを比較して最大の大きさ
を最終出力としてゲートする(すなわち、最高優先順位
の値である)。
したがって、たとえば最高優先順位選択値がレジスタ1
20bに保持されかつビット2がアクティブであるとき
は、レジスタ120b中のその値は、他のレジスタで保
持された値とは関係なく、論理回路122xないし12
7xを介してゲートされる。
入力ラッテ80によりレジスタ120x及びアドレスス
タック116(第8図)に事前ロードがされると、この
回路はBBD命令の実行の準備が完了する。そのような
命令に応答して、第9図のアレイ122xないし127
xは最高優先順位のブランチ条件を衣わすアクティブ状
態にある入力ラッチのビットに関連してレジスタ120
x中の最高優先順位選択値を効率よ(選択する。選択さ
れた値のビットはデコーダ(図示していないが、第6図
のデコーダ85に対応するもの)を介して作動する出力
PO1P1、P2及びP3(P3が最上位ビット)にゲ
ートされ、スタック116(第8図)における関連する
レジスタの出力をアドレスする。これにより、各自のア
ドレスが出力レジスタ82へ転送される。
これらのゲートアレイのオペレーションをさらに詳しく
説明する。入力ラッチ80からのアクティブなビットで
あるビット1、ビット2、・・瞭、ビット16は関連す
る優先順位選択レジスタ120xの出力をゲート122
xないし127xの関連する行へ転送する。アクティブ
でない入力ラッチビットは関連する優先順位レジスタの
出力をオフに強制する。優先順位レジスタ120Xから
の出力はその行のゲートによって最上位ビットから比較
される。ORゲー)129aはアクティブな優先順位レ
ジスタ120xの最上位ビットを調べて、少な(とも1
つの入力がアクティブなら出力P6をオンにする。出力
P3は比較ゲート122a1122b1122C1舎1
1+1にフィードバックされる。各比較ゲー)122x
の出力は対応する優先順位レジスタ120Xかもの最上
位ビットがエンコーダの出力P3と同じ論理レベル(オ
ン又はオフ)にあるときにのみ、オンにされる。対応す
る比較ゲートの出力がオフである全ての入力ビットは他
のエンコーダの出力P2、Pl及びPOの決定する際に
は考慮されない。とい5のは、比較ゲート122a、t
22b、  噛・・の出力におけるオフ状態によってA
NDゲート123a。
125a、127a、123b、125b、127bS
−・会は優先順位レジスタ1208.120b1・・・
の出力のそれ以上の伝播が阻止される。同様にして、各
優先順位レジスタ120xからのより下位の各ビットが
処理されるが、これは以前の優先順位ビットの処理の際
に除去されたレジスタの出力のゲートを閉じた後だけで
ある。こうして、ANDゲート123a、123b、h
aの出力はアクティブであってかつ出力P5と同じ状態
にセットされる最上位ビットを有する優先順位を持った
ビット1、ビット2、・Φ・について第2のビットから
最上位ビットに対応するものである。ORゲート129
bはANDゲート123a、123bX φ・・から入
力に基づいてエンコーダの出力P2を生成する。比較グ
ー)124m。
124b、  −・−は第2のビットと一致しない付加
的な優先順位を除去し、残りの優先順位についてのAN
Dゲート125a、125b、  ・e、、 aはエン
コーダの出力P1を生成するためORゲート129cを
駆動する。同様にして、比較ゲート126m、126b
、  φ・・は第5のビットと一致しない付加的な優先
順位を除去し、残りの優先順位についてのANDゲート
127a、127b。
e−拳はエンコーダの出力POを生成するためORゲー
ト129dを駆動する。
前述の如く、出力POないしP3は最高のアクティブな
ブランチ条件を表わすコード化された4ビツトの値でア
ドレスレジスタスタックをアドレスするのに用いられる
。あるいは、ANDゲート127a、127bの出力は
そのレジスタスタック中のレジスタに直接的にそれぞれ
関連付けて、アクティブにされたとき、対応するアドレ
スレジスタの出力をアドレスバスにゲートするようにし
てもよい。これが可能なのは、2つの優先順位レジスタ
に同じ番号がロードされない限り(そうなるべきではな
い)所与の時間にアクティブにできるのはANDゲート
の出力127xのうちの1つだけだからである。後者の
方法は入力ラッチビットについてプログラム可能に関連
付けられた番号ではなく、アクティブな入力ラッチビッ
ト自体の位置に従ってアドレス選択の優先順位付けを行
おうとするものである。後者の方法においては最低の優
先順位を有する入力ラッチビットは(たとえばラッチピ
ット位置1に存するもの)他にアクティブなビットがな
い場合にのみ、優先性を与えられるということに留意さ
れたい。16個のラッチビット位置では15個の非ゼロ
の選択機能しか得られないので、全てのラツ、チピット
がゼロであるという条件をチエツクするため単純な論理
を追加してこのような状況で一意的なブランチが必要な
ときはアクティブな状態が存在しないことに関連してブ
ランチターゲットアドレスを選択するための出力をゲー
トすることができる。
レジスタ再形成命令の回路 レジスタ再形成(R8H)命令を実行するための回路は
第10図に示されている。入力ラッチ174中の情報は
レジスタ再形成ユニット176のオペレーションによっ
て再形成(R8)=r−)”L’レジスタ75中の各コ
ードとして再形成される。
出力は出力レジスタ177へ送られる。RSコードレジ
スタは関連するR8Hオペレーションの前にデータバス
13を介して適切なシフト、マスク及びスワップオペレ
ーションで初期設定される。
デコーダ178及び179は、制御バス12を介するR
8H命令のオペコードに応答して、レジスタ再形成ユニ
ット176への入力ラッチ174をゲートするための制
御信号及び再形成レジスタ177からの出力をゲートす
るための制御信号を生成する。デコーダ178はデータ
バス13を介するレジスタ転送オペレーションに応答し
て再形成のオプションを指定するデータをレジスタ17
5ヘロードするための制御信号を生成する。
レジスタ175(32ビツトの入力レジスタと仮定する
)にコード化できる再形成のオプションは下記のものを
含む。
1)下位8ビツトのスワップ 2)下位16ビツトのスワップ 3)下位32ビツトのスワップ 4)  Nビットのローテート 5)  Mピットのマスク Lビットのスワップとは、入力レジスタ中のビツ)D(
0)ないしD(L)が以下のように交換されることをい
う。
D(L)   =D(0) D(L−1)=D(1) D(1)   =D(L−1) D(0)   :D(L) Nビットのローテートとは、入力レジスタ中のビットが
Nビットだけ右方又は左方にシフトされることをいう。
右方Nのシフトは、D(i )=D(i+N)を意味し
、左方Nのシフトは、D(+)==D(i−N)を意味
する。
Mピットのマスクとは、指定された個数のビットを最上
位ビット又は最下位ビットから0又は1にセットするこ
とをいう。
上述のオプションを満たす再形成コードレジスタは以下
の如(となる。
M           N’ N1はシフトの方向を示す。
Mlはマスクのセット又はリセットを示す。
M2はマスクMが最上位又は最下位からのものであるこ
とを示し、Nはビット数を表わす(最大32)。
スワップコード 001 下位8ビツト 010 下位16ビツト 011 全62ビツト 100 上位8ビツト 101 中位16ビツト 110 全32ビツト 例:上述のレジスタでは、パケット番号を抽出すること
が必要であると仮定している。
再形成コードは次のようになる。
N=4 4ビツトシフト N1=1 シフト方向(右) M=2828ビットマスク M1=0 ゼロについてリセット M2=0 最上位ビットからマスク スワップコード=000 スワップなし以下余白 R8Hの計算論理は第11図に示すように2つのステー
ジを含む。第1のステージは32個のマルチプレクサ2
09から成る。各マルチプレクサは相対的に1ビツトだ
けシフトされたラッチ174からの入力を有する。スワ
ップユニット210は再形成コードレジスタ(第10図
中のブロック175)からのスワップコード及びシフト
コードを使用してマルチプレクサ209への異なるiU
R制御入力を供給する。第2のステージは再形成コード
レジスタ(第10図)からのマスクコードで制御され、
所望のビットシーケンス適切にセット又はリセットする
マスク論理212を含む。マスク論理212は以下の関
係でもって表わすことができる。
ここで出力ワードベクトルD(L)の長さをLビットと
し、Mがマスクコード、Mlがセット又はす七ツ)、M
2が右方又は左方の方向性を指定するものと仮定する。
他の全てのD(i)については第11図のi番目のマル
チプレクサ209と同じである。
第12図はスワップユニットの詳細を示す図である。デ
コーダ219は所望の範囲のビット(8,16又は62
ビツト)のスワップを行うためスワップコードを用いて
ANDゲート217のうちの1つを選択する。比較論理
216はデコーダ219の出力、レジスタ218及び関
連するマルチプレクサ番号214を用いてスワップユニ
ットがそのマルチプレクサに関係するスワップ機能を遂
行するかどうかを判断する。シフトコードはANDゲー
ト217の出力と排他的論理和され(参照番号215)
、出力となるべき32個のマルチプレクサ入力のうちの
1つを選択するマルチブレフサ出力アドレスを供給する
。XORゲート215は要求されたスワップコードに応
じてシフトコードの下位3ビツト、4ビツト又は5ピツ
トを補数化する。
第13図は一時に複数のパラメータの抽出を可能とする
拡張された再形成機構を示す図である。
この拡張はよシ高速なオペレーションを行うため以下の
機能を有する再形成コードレジスタを使用する。入力レ
ジスタ201は全てKついて共通のものであるが、3つ
の再形成ユニット203で処理される3つの出力レジス
タ204が存在する。
再形成コードレジスタ202は3つのパラメータ(各再
形成ユニットにつき1つ)を抽出するため3つの個別的
なコードを含む。
AR8命令の回路 この回路は第14図に示されている。入力ラッチ252
中の情報はアドレス変換のために処理される。論理チャ
ネルID253は実際の経路指定アドレス255を生成
するためのアドレス生成器254によって使用される。
デコーダ256及び257は制御バス12を介するAR
8命令に応答して、入力ラッチ252をアドレス生成器
254にゲートするための制御信号及び経路指定アドレ
ス255への出力をラッチするための制御信号を生成す
る。デコーダ256はデータバス13を介するレジスタ
転送オペレーションに応答して論理データネルID25
3をロードするための制御信号を生成する。
アドレス経路指定オペレーションのために使用されるハ
ードウェアを第15図に示した。アドレススタック26
1及び経路スタック262は1対1の対応を有するアド
レス変換パラメータで初期設定される。これにより比較
回路265は優先順位エンコーダ回路264と共に入力
レジスタRn260の値を用いて、出力レジスタ(第1
4図のブロック255)へ送ることのできる経路スタッ
ク262中の対応する経路指定アドレスを選択すること
ができる。第8図のものと同様なスタックアクセスデコ
ード機構を用いてアドレススタック及び経路アドレスス
タックを初期設定する。
メモリアクセスユニット 第16図はブロック転送ユニット295及びメモリロー
ド/ストアユニット292から成るメモリアクセスユニ
ットを示す図である。メモリロート/ストアユニット2
92は標準的なデータメモリアクセスを提供する。
BMO(ブロック転送)命令回路 この回路は第17図に示されている。ソースアドレスレ
ジスタ346にはレジスタ転送命令によってデータブロ
ックの開始アドレスのロケーションをロードすることが
できる。ブロック転送状況レジスタ651は転送が進行
するにつれてモニタユニット650によって更新される
。ブロック転送回路はデータ変換でソースアドレスと宛
先アドレスとの間のデータ転送を行う機構を含む。ソー
スアドレス346はンースデータが存在する最初のメモ
リロケーションである。バッファの長さ(これはソース
アドレスのところから始まる転送すべきデータの数であ
る)はカウントレジスタ348に記憶することができる
この回路によってブロック転送要求をスタックにキュー
することができる。待ち行列コマンドレジスタ349は
646.347及び348の内容を待ち行列に挿入する
。またこの回路によってユ−ザはブロック転送と同時に
データ変換が要求されるかどうか(たとえば、C,RC
又はビットの挿入もしくは削除のため)を指定すること
ができるので、フレーム処理ユニット(第1図のブロッ
ク5)への経路354が付勢される。レジスタ346.
347.648及び649にはデータバス16を介して
レジスタ転送オペレーションをロードすることができる
。デコーダ352及び353は制御パス12を介するブ
ロック転送命令に応答してレジスタ646.347及び
348をゲートするための制御信号及び待ち行列コマン
ドレジスタを用いてブロック転送回路へのローディング
を行うための制御信号を生成する。デコーダ352はデ
ータバス15を介するレジスタ転送オペレーションに応
答してブロック転送回路350からブロック転送状況レ
ジスタ351へのロードを行うだめの制御信号を生成す
る。ブロック転送状況レジスタ351はブロック転送機
能の状況を示すものである。データアドレス経路15は
外部DRAM(第3図のブロック32)及び内部スタッ
クをアドレス指定するために用いられる。
第18図はブロック転送論理361の制御を構成するの
に使用される回路の詳細を示す図である。
ブロック転送要求の異なるセットは待ち行列560を用
いて最初にきたものを最初に保管するという順序で記憶
する。待ち行列ポインタ363はブロック転送回路によ
って同時に処理される要求のロケーションを指し示す。
ソフトウェア待ち行列ポインタ367はブロック転送に
ついて待ち行列に提供された最後の要求を指し示す。ブ
ロック転送状況レジスタ351はハードウェア待ち行列
ポインタ366及びソフトウェア待ち行列ポインタ36
7の位置に応じて待ち行列360が空になったか又は−
杯になったかを示す仁とになる。ビット挿入/削除のた
めのデータ変換レジスタ369及びCRC36Bはフレ
ーム処理が経路354に対して付勢されたときに使用さ
れる。
第20図のマルチプレクサ435及び第21図のマルチ
プレクサ459は処理ユニット430及び454を用い
るために経路354をそれぞれ付勢するデコーダ432
及び456によって選択される。各ユニットは新しいC
RC(36B)及びビット挿入/削除ワードBSW(3
69)を計算する。ブロック転送が生じるのは次の場合
だけであるととに留意されたい。すなわち、DRAMが
1サイクルスチールでアクセス可能なとき(他のユニッ
トはアクセスを要求しない)、及びフレーム処理が他の
命令によって使用されていない場合に1マシンサイクル
の間その転送が待機されるブロック転送でデータ変換が
要求されたときである。
フレーム処理ユニット 第19図はエラーチエツク及びデータトランスペアレン
ジ−のためにフレーム情報及びパケットIc)イテオペ
レーションを遂行する専用の7V −入処理ユニットの
構成を示す図である。CRCユ計算することによってエ
ラーチエツクを遂行する。
ビット挿入/削除ユニット390は実際のデータとフレ
ームデリミタ及び制御ワードとを分離するための所望の
データパターンの呼出しでビットの挿入及び削除を行う
。制御キャラクタ検出ユニット391は決定機能の高速
化を図るため特定の制御キャラクタで自動的にブランチ
を行わしめる機構を提供する。
CRCユニット この回路は第20図に示した。レジスタ428中の情報
は多項式レジスタRR429を用いるCRC計算部43
0で処理される。レジスタ429は任意の標準CRC−
CCITT又はCRC−16についてプログラム可能な
32ビツトレジスタである。各々の新しい計算の前に多
項式レジスタ及びCRC累算器が初期設定されることが
重要である。制御パスにより適切なデータフローが提供
される。レジスタ429及び431はデータバス13を
用いるレジスタ転送オペレーションにヨッてロードする
ことができる。デコーダ452及び433は制御パス1
2を介するCRC命令オペコードに応答して、CRC計
算部430への入力ラッチ428をゲートするための制
御信号及びCRC累算器461へ新しい累算値をラッチ
するための制御信号を生成する。デコーダ432はデー
タバス13を介するレジスタ転送オペレーションに応答
シて、レジスタ429へのロードのための制御信号を生
成する。マルチプレクサ435及びデマルチプレクサ4
34.456は正規の命令又はブロック転送オペレーシ
ョンを伴うデータ変換の一部としてCRC計算部430
の使用する経路を選択するのに役立つ。CRC計算部4
50はクロックされない。CRC計算部はI B M 
TechnicalDisclosure bulle
tin第21巻第5号、1978年10月、第2058
ないし2061頁に記載されている。
以下余白 ビット挿入/削除ユニット この回路は第21図に示されている。レジスタ452中
の情報はパターンレジスタRR453を用いるビット処
理部454で処理される。その出力は状況出力バイト4
55において利用可能である。パターンレジスタはビッ
トの挿入又は削除をトランスペアレントに行うことがで
きるビットシーケンスを含む8ビツトのレジスタである
。パターンレジスタ及び状況出力バイトは各々の新しい
計算の前に初期設定することが重要である。制御バスに
よって適切なデータフローが提供される。
レジスタ453及び455はデータバス13を介するレ
ジスタ転送オペレーションによってロードすることがで
きる。デコーダ456及び457は制御バス12を介す
るBSW命令のオペコードに応答して、ビット処理部4
54への入力ラッチのゲーティングのための制御信号及
び状況出力バイト455への新しいバイト及び状況をラ
ッチするための制御信号を生成する。デコーダ456は
データバス13を介するレジスタ転送オペレーションニ
応答して、パターンレジスタ453ヘロードするための
制御信号を生成する。マルチプレクサ459及びデマル
チプレクサ458.460は正規の命令又はブロック転
送オペレーションの71のデータ変換でビット処理部4
54が使用する経路を選択するのに役立つ。
第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]−畠 O リ E−4cJl:L+  −歌 雷 なお、第1衣では以下のことが仮定されている。
1)バート1はアクティブになる2つの比較器(C)の
出力値を含むことができる(この場合、そのカウント及
び残余は2ビツトだけ変化する)。
2)ハート2は分割して示されている。というのは、そ
のカウントはアクティブな比較器(C)の番号とは無関
係だからであシ、バート2の残余ビットに対する対応は
バート1の出力ビットについてのみ有効である。
制御キャラクタ検出ユニット(BCD命令回路)この回
路は第26図に示す。レジスタRR556中の情報はキ
ャラクタ検出のために処理される。
自動的ブランチは新ブランチアドレス出力559に取得
される。デコードロードレジスタ557は様々なブラン
チアドレスのためのキャラクタ処理部558を初期設定
するのに用いられる。デコーダの初期設定は使用されて
いるプロトコル及びブランチルーテンの判断のために必
要なブランチアドレスによって異なる。制御バスによっ
て適切なデータフローが提供される。デコーダ560及
び561は制御バス12を介するBCD命令のオペコー
ドに応答して、キャラクタ処理部558への入力ラッテ
556をゲートし、新ブランチアドレス559をラッチ
する。デコーダ560はデータバス1′5を介するレジ
スタ転送オペレーションニ応答して、キャラクタ処理部
558の構成要素を初期設定するための制御信号を生成
する。
第24図は制御キャラクタ検出オペレーションのために
用いられるハードウェアを示す図である。
キャラクタ556及びブランチアドレススタック567
は1対1の変換のためのアドレスで初期設定される。こ
れにより、比較器568及び優先順位エンコーダは入力
レジスタR・n565中の値を用いてブランチアドレス
スタック262中の対応するブランチアドレスを選択す
ることができる。
このアドレスは出力レジスタ(第23図のブロック55
9)へ送られる。
上述のレジスタ再形成命令、アドレス経路指定命令、ブ
ロック転送命令、及びBCD命令を定義するのにここで
はAHPL (A HardwareProgramm
ing  Language)を用いた。下記の第2衣
ないし第5表は上述の各命令に対応するそれぞれのAH
PLデー′夕である。なお、参考文献(1)の第5章は
この言語の詳細について述べている。
°へ 気 気 気 \ \ へN \ \ \ \ \ \ \ \ \ 
\ \414kII畳骨畳畳畳畳畳畳畳畳着 0  Σ ロ  り Q  cQ −ベ 逼 気 眞  \ \ CiJ@   骨 F9発明の詳細 な説明したように本発明によれば、層構造の通信プロト
コルにおけるプロセッサについて新しいアーキテクチャ
を導入することによシ、その性能を従来に比べて高める
ことができる。
【図面の簡単な説明】
第1図は本発明に基づ<cppシステムの構成を示す図
、第2図は並行処理及びパイプラインを説明する図、第
6図はcppが用いられる典型的な環境を示す図、第4
図はcpp命令のフォーマットを示す図、第5図はヘッ
ダ処理ユニットの構成を示す図、第6図はBBD命令の
実行を説明する図、第7図は優先順位アドレス機構の構
成を示す図、第8図は優先順位エンコーダでアドレス指
定されるアドレススタックアレイを示す図、第9図は優
先順位エンコーダの構成を示す図、第10図はレジスタ
再形成ユニットの構成を示す図、第11図はレジスタ再
形成ユニットのスワップ及びローテートのマルチプレク
サを示す図、第12図はスワップユニットを示す図、第
13図はレジスタ再形成ユニットの他の実施例を示す図
、第14図はアドレス経路指定ユニットを示す図、第1
5図はアドレス生成器の構成を示す図、第16図はメモ
リアクセスユニットを示す図、第17図はブロック転送
ユニットを示す図、第18図はブロック転送オペレーシ
ョンの制御を示す図、第19図はフレーム処理ユニット
を示す図、第20図はCRCユニットの構成を示す図、
第21図はビット挿入/削除ユニットの構成を示す図、
第22図はビット処理部の構成を示す図、第23図は制
御キャラクタ検出ユニットの構成を示す図、第24図は
キャラクタ処理部の構成を示す図である。 (タト1身S) 第2図 第3図 第41!! 第5図 第6図 209の11尺入力へ 第16図 第17図 第20図 第21図

Claims (1)

  1. 【特許請求の範囲】 層構造の通信プロトコルを実行するための通信プロセッ
    サであつて、 第1及び第2のタイプの命令を記憶する手段を有し、上
    記第1のタイプの命令は層構造の通信プロトコルの各層
    において処理ヘッダ及びフレーム情報で頻出する機能に
    関連する所定のオペレーションを指定するものであり、
    上記第2のタイプの命令は上記所定のオペレーション以
    外の機能を遂行するためのオペレーションを指定するも
    のであり、上記所定の機能はそれぞれ複数マシンサイク
    ルを要するためにシステムの処理のスループットを制限
    するものであり、 上記第1のタイプの命令に応答して各命令によつて指定
    されたオペレーションを単一のマシンサイクルで遂行す
    る特別の目的の回路手段と、上記第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 true JPH02149156A (ja) 1990-06-07
JPH0636515B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008547294A (ja) * 2005-06-23 2008-12-25 ヒルシャー ゲゼルシャフト フュア ジステームアウトマツィオーン ミット ベシュレンクテル ハフツング オープンなオートメーションシステムのバス加入機器のデータ通信方法

Families Citing this family (102)

* 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
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 オムロン株式会社 演算装置、制御装置および制御方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62252242A (ja) * 1986-04-25 1987-11-04 Fujitsu Ltd デ−タ送受信方式
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 通信制御装置
JPS63196964A (ja) * 1987-02-10 1988-08-15 Fujitsu Ltd プロトコル・デ−タ・ユニツト処理計算機

Family Cites Families (5)

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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62252242A (ja) * 1986-04-25 1987-11-04 Fujitsu Ltd デ−タ送受信方式
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 通信制御装置
JPS63196964A (ja) * 1987-02-10 1988-08-15 Fujitsu Ltd プロトコル・デ−タ・ユニツト処理計算機

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008547294A (ja) * 2005-06-23 2008-12-25 ヒルシャー ゲゼルシャフト フュア ジステームアウトマツィオーン ミット ベシュレンクテル ハフツング オープンなオートメーションシステムのバス加入機器のデータ通信方法

Also Published As

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

Similar Documents

Publication Publication Date Title
JPH02149156A (ja) 通信プロセッサ装置
US4745547A (en) Vector processing
KR960003046B1 (ko) 비정렬 레퍼런스의 처리가 가능한 risc 컴퓨터 및 그 처리방법
EP0054888B1 (en) Data-processing system with main and buffer storage control
US4016545A (en) Plural memory controller apparatus
US4648034A (en) Busy signal interface between master and slave processors in a computer system
US4298927A (en) Computer instruction prefetch circuit
KR100956970B1 (ko) 프로세서에서의 마스킹된 저장 동작들을 위한 시스템 및방법
JPH0370034A (ja) 順次プログラムの並列実行のためのコンピュータ・システム及び方法並びにデータ値割当方法
US8046568B2 (en) Microprocessor with integrated high speed memory
JPH07152733A (ja) ベクトル・データを処理するコンピュータ・システムおよび方法
EP0248436A2 (en) Method of and apparatus for processing data
JP2001216194A (ja) 演算処理装置
JPH0332818B2 (ja)
JPH04260927A (ja) データ処理装置
US7051146B2 (en) Data processing systems including high performance buses and interfaces, and associated communication methods
US4611278A (en) Wraparound buffer for repetitive decimal numeric operations
US4608633A (en) Method for decreasing execution time of numeric instructions
EP0385136B1 (en) Microprocessor cooperating with a coprocessor
JPH02162422A (ja) 優先ブランチ機構を備えたデータ処理システム
US6931473B2 (en) Data transfer via Host/PCI-X bridges
JPS59114677A (ja) ベクトル処理装置
JPH04260926A (ja) ビット検索回路及びそれを備えたデータ処理装置
JPS6236575B2 (ja)
JP2765882B2 (ja) 並列計算機,ベクトルレジスタ間データフロー同期装置およびネットワークプリセット装置