TURBOchannel - みる会図書館


検索対象: UNIX MAGAZINE 1993年2月号
23件見つかりました。

1. UNIX MAGAZINE 1993年2月号

TURBOchannel TI アダフタ TI D4PKT 概要 TID4PKT アダブタは、 TURBOchannel I / 0 シス テムのコミュニケーション・モジュールの 1 つで、研 究用のプロトタイプである ( 製品ではない ) 。 HDLC 手 順 (flags 、 bit stuffing 、 CRC) を使って、 D4 フレーム ( 1.554Mbps のデジタル電話回線 ) の TI 回線上でバケッ トが送受信できる。 LAN を大都市圏、または広域ネット ワークに利用することを目的として言 t されている。電気 的なインターフェイスは DSX-I 、物理的なインターフェ イスは電話用の RJ48 モジュラージャックである。 DSU (Data Service Unit) 機能を内蔵し、 CSU (Channel Service Unit) やマルチプレクサなどに直孑妾続できる。 図 1 は、 TI 回線で 2 つのバケットルータを接続した例 だ。一番上の例では、電話会社の 2 線式の電話回線を使用 して接続している。図で CO と記されている電話局は、同 し地域内にあっても、西海岸と東海岸に位置していてもよ い。中央の例では、 TI 回線ははかの 3 本の TI 回線 ( 音 声回線でもかまわない ) と多重化されている。そして、マ イクロ波を利用した T2 回線でイ云送されている。この場合、 2 地点間の最巨離はおよそ 15km である。一番下の例は はかの 27 本の TI 回線と多重化されており、 T3 回線の専 用光ファイバーで鮟続されている。 DEC では New Eng- land にある多数の事業所間を光ファイバーの専用ネット ワークで接続している。 実装 図 2 にアダブタを実寸で示す。シングルスロットの TURBOchanneI オプション・モジュールで、 DMA で UNIX MAGAZINE 1993.2 David Boggs (Dig1tal Equipment Corporation) はなくプログラム I/O を使用し、 4MB のアドレス空 間を占有する。 25MHz のバスクロックを使用しており、 16MHz より遅いクロックのシステムで使うには PAL の 交換が必要である。消費電力は 5V 、 1.5A で 7.5W 、 12V 電源は不要である。モジュールにジャンパやスイッチはな く、スロットに挿し込むだけで使える。 モジュラーコネクタの隣に、 2 つの LED がある。キャ リア (carrier) LED は、アタフ。タが正しい TI 信号を受信 したときに点灯する。フレーム同期 (FrameSync) LED は、アタフ。タが T 1 信号のピット列中の D4 フレーミン グ・パターンに同期したときに点灯する。これらの LED は、制御 / 状態レジスタのなかの同じ名前のピットに対応 し、アダブタの重川乍中に点灯する。 TI 回線の全体の伝送速度は 1.544Mbps である。ただ し、 193 ビットにつき 1 ピットのオーバーヘッドがあるの で、実際のビットレートは 1.536Mbps になる 1 。 HDLC のオーノヾーヘッドがさらに 2—3Kbps あるが、アタフ。タ はユーサーデータを 1.5Mbps 以上で伝送できる ( 正確 な伝送速度はデータのパターンに依存する。最悪の場合は 1.28Mbps で、これは全データが 1 の場合 ) 。 TI 回線は全ニ重である。バケットを同時に双方向へ伝 送でき、合わせた伝送速度は 3Mbps である ( これに対し Ethernet は半ニ重で、つねに 1 つのバケットしか伝送で きないが、伝速度は IOMbps である ) 。 DS5000 / 200 システム 2 には 3 つの TID4PKT アダフ。タを取り付ける 調主 : DECsytem 5000 モデル 200 のこと。 TURBOchanneI を 主 : 1.536Mbps = 1.544Mbps >< ( 192 / 193 ) アタフ。タとソフトウェアは、 Ethernet 間でバケットを ことができる。 2 1 3 スロットもつ DECstation である。 77

2. UNIX MAGAZINE 1993年2月号

TURBOchanneI T 1 アダブタ [ 13 ] BeII Communications Research, Extended Super- frame Fo ロれ (ESF) / れ可佖 ce S 〃 ec c れ , Tech- nical Reference TSY -000194 , BellCore, December, 1987 [ 14 ] BeII Communications Research, Sy れ c ん ro れ 0 0 c ル et 0 (SONET) Tra れ夘 0 Systems: Com- mo れ Genertc Criteria, Technical Reference TSY- 000253 , BellCore, September, 1989 [ 15 ] lnternational Telegraph and Telephone Consulta- tive Committee, D 朝 rarc んリ 0 / Bit Rates, Recommendation G. 702 , CCITT, November, 1988 [ 16 ] lnternational Telegraph and Telephone Consulta- tive Committee, Physical/Electrical Characteris- tics 可〃 era 几んを c 佖 I D 朝 al lnterfaces, Recommen- dation G. 703 , CCITT, November, 1988 [ 17 ] lnternational Telegraph and Telephone Consulta- tive Committee, F れ c 0 れ Characteristics 可 1 れ - terfaces Associated んル etwo N0des, Recom- mendation G. 704 , CCITT, November, 1988 [ 18 ] lnternational Telegraph and Telephone Consult a- tive Committee, The CO れカ OI 0 / jitter 0 れ d れ - der 厖れ市の t 佖 I networks 市を c ん are based 0 れ the プ 5 イイん 6 / s 履 er 佖几んリ , Recommendation G. 824 , CCITT, November, 1988 [ 19 ] HDLC 、 ame s 加社 c , lnternational 'Standard 3309 , ISO, Ⅱ . d. [ 20 ] C. Davis, An Experimental PuIse Code Modulation system for Short-Haul Trunks, 召 e 〃 System Techni- cal ノ 0 I , 41 ( 1 ) : 1 ー 24 , January, 1962 [ 21 ] J. Mayo, A Bipolar Repeater for Pulse Code Sig- nals, Bell System Technical ノ 0 ロ協 I , 41 ( 1 ) : 25 ー 97 , January, 1962 [ 22 ] M. Aaron, PCM Transmission ⅲ the Exchange PIant, BeII System Technical ノ 0 盟•n , 41 ( 1 ) : 99 ー 141 , January, 1962 [ 23 ] K. FuItz and D. Penick, The TI Carrier System, 召 e ″ System Technical ノ 0 r れ , 44 ( 5 ) : 1405-1451 , September, 1965. [ 24 ] A. DuttweiIer. Waiting Time Jitter. Bell System Technical ノ 0 社 r れ , 51 ( 1 ) : 165 ー 207 , January, 1972. [ 25 ] C. Byrne, R. Karafin and D. Robinson, Systematic Jitter in a Chain of Digital Regenerators, Bell Sys- tem TechnicaI ノ 0 社 r れ佖 I , 42 ( 6 ) : 2679 ー 2714 , Novem- ber, 1963. [ 26 ] IB M , B れ 0 型 S リれ c ん ro れ 0 s CO mm れを c 佖 0 れ s , Gen- eral lnformation GA -27 ー 3004-2 , IBM 1970 [ 27 ] IBM, IBM S れ c ん ro れ 0 社 s D 佖カん Co れ ol , Gen- eral lnformation GA ー 27-3093 , IBM, n. d. [ 28 ] R. Donnan and J. Kersey, Sunchronous Data Link Contr01: A Perspective, IBM Systems ノ 0 " 4 13 : 140 ー 162 , May, 1974 98 [ 29 ] Digital Equipment Corporation, TURBOchannel 〃佖 ware S ec c 佖 0 れ , Document EK-369AA-OD DEC, 1991 [ 30 ] DigitaI Equipment Corporation, TURBOchannel Firmware Spec c 観れ , Document EK-T CAAD- FS, DEC, 1991 [ 31 ] Digital Equipment Corporation, TURBOchannel Mec ん 0 れを c 記 Draw れ gs , Document EK- TCAAD- OM, DEC, 1991 「 TURBOchanneI TI Adapter 」 CDEC WRL 月 esear ℃ん Re- 〃 0 置 9 プ / イ』、 DEC Western Research Laboratory 、 1991 より ( 0 1991 , Digital Equipment Corporation SMSG UNIX MAGAZINE 1993.2 TEL 03 ( 5395 ) 2981 / FAX 03 ( 5395 ) 2982 SRA 内 SMSG 事務局 ( 担当 : 長日、静未 ) 南大塚第一生命ピル 5 階 170 東京都豊島区南大塚 2 ー 26 ー 15 申込み・問・先 に、郵便または FAX で - 己宛に送付。 所定の申込み用紙を 1993 年 1 月 30 日 ( 土 ) まで 申込み方法 費 : 年間 200 , 000 円 バーはあらかじ是出した名簿に記載の者に限定する。 できる。ただし、的な研究活動をおこなうため、参加メン *±0 会員各社は、研究会などに 1 ~ 4 名を参加させることが 今回の募集は法人を対象とするもので、募集定数は先着 30 究発表をおこなった。 nance) にも過去 2 回参加し、パネラーとしての意見表明や研 主催の国ド祭会言義 CSM(Conference on Software Mainte- 宿硎多 ( 年 1 回 ) などを定期的に翩崔している。また、 IEEE 1990 年 12 月に発足した。月例研究会のはか、意見交換会や合 理に関する問題点や技術について検討するための研究会として SMSG は、管理者や技術者が、ソフトウェアの保守・管 会員募集のお知らせ ( ソフトウェア・メインテナンス研究会 )

3. UNIX MAGAZINE 1993年2月号

TURBOchannel T 1 アダブタ ム・モジュールがあり、これにいくっかのオプション・ に 5 つの連続した 1 があれば、そのあとに 0 を埋め込む モジュール 7 カ甘妾続されているからである。システム・モ はたは挿入する ) 。受信器は、 5 つの連続した 1 のあとの ジュールは、オプション・モジュールを読み書きできる。 0 を取り出す ( または取り除く ) 。ピット挿入のおかげで、 またオプション・モジュールもシステム・モジュールを データをフラグと間違うことがない。連続した 6 つ以止の 読み書きできるが、オプション・モジュール間 0 凾信する 1 があるときは、バケットの終了を表す。もし、ちょうど ことはできない。 6 つ連続した 1 ならばにれもフラグである ) 、バケット は正常に終了する。 7 つ連続した 1 があれば ( アポート ) 、 システム・モジュールて重力いているプログラムが、オプ バケットが壊れていることを示しているのて捨てなくては ション・モジュールのなかのアドレス空間に実効アドレス のあるロード / ストア命令を実行したとき、 I / O 読込みま ならない。 バケットの終了フラグの直前に置かれたバイトは、 たは I/O 書込みのバス操作が実行される。システム・モ ジュールは、オプション・モジュールを指定する信号をバ CRC (Cyclic Redundancy Checksum) である。送 スに送出する。そして、アドレスを 32 ピットのデータ / 信器は、 CRC を計算してデータの末尾 ( フラグの前 ) に アドレスパス上に載せる。オプション・モジュール側は 付け加える。そして、受信器はそれを本饐する。 CRC が このアドレスをレジスタのなかに保存する。次のサイクル 正しくなければ、バケットは壊れているのて捨てなくては で、システム・モジュールはワード 8 を読み書きする。も ならない。 CRC は、バケットのなかのピットを多項式で し、オプション・モジュール側の準備ができていなけれ 割った余りである。受け取った CRC を含むバケットピッ ば、バス操作を止めておくようにシグナルを出すこともで トについて、受信器か祠じ除算をおこなった場合の余りは 0 でなければならない。 きる。 1 を、、ノヾルス ビット挿入を使い、 0 を、、パルスあり ' DS5000 システムでは、アダブタへの I/O の読 なし " と符号化すれば、 TI 回線のパルス密度の要求を満た 込み / 書出しには、キャッシュもマップもされていない すことかできる。これは逆 HDLC (lnverted HDLC) KSEG19 メモリ領域にあるアドレスを使わなくてはなら と呼ばれる。ー殳に、音声回線ではパルスありを 1 ( 正確 ない (I/O スロット 0 のべースアドレスは 0XBE000000 、 には、 1 はすべてパルスありと呼ばれる ) として符号化す スロット 1 は 0XBE400000 ) 。 DS5000 / 200 では、 1 ″ s る。最悪のケースは、 HDLC のフラグのビットがパルス のあいだに 5 回の I/O 書出しと、 2 回の I/O 。囚みが可 なし、つまり 7 つの連続したパルスなしになってしまうこ 能である。 TI がフル稼動した場合、送信器は I/O 書出し とである。この場合のパルス密度は 12.5 % である。 を、受信器は I / 0 読込みを 5 礬ごとにおこなう。 HDLC について説明し残した部分がかなりあるが、そ オプション・モジュールは、システム・モジュールを介 のほとんどは信頼性のないデータグラムを送る場合には関 した DMA (Direct Memory Access) によって主記憶 係がない。必要なら、 HDLC のアドレスと制御フィール を読み書きできる。オプション・モジュールは、 DMA を ドはソフトウェアによって実現できる。 開始するための言囚みまたは書込みのシグナルを送り、シ ステム・モジュールから ack (acknowledgement) か戻っ TURBOchannel てくるのを待つ。この ack を受け取ると、オプション・モ ジュールはバスにアドレスを載せ、そして書込みを実行す TURBOchanneI は同期式の非対称な入出力用のバス る。または、すこし待ってから、 32 ビットのワードをそ で、 DEC がワークステーション用に開発したものである 5 のあとのサイクルで読み出すことを繰り返す。ピーク時の [ 29 ー 31 ] 。同期というのは、グローバルクロックがあり、 バンド幅は毎秒 100MB (40ns ごとに 32 ピットワード その立ち上がりの工ッジでバスのすべてのシグナルを検出 するからである。また、非文というのは、 1 つのシステ 調主 : おもにプロセッサとメモリ。 6 調主 : TURBOchanneI ポードのこと。 7 調主 : 32 ピットワード。 8 5 訳注 : DECstation 3000 シリーズ、 VAXstation 4000 、 DEC 調主 : MIPS R3000 プロセッサ・アーキテクチャによる。 9 3000 (Alpah AXP) シリーズて株用している。 曇 1 旨 82 UNIX MAGAZINE 1993.2

4. UNIX MAGAZINE 1993年2月号

TURBOchannel T 1 アダブタ = 800Mbps = 100MB/s) である。毎秒 192KB 程度 なので、このアタフ。タでは DMA は使用しない 10 。 TURBOchannel のクロックは、 12.5 ~ 25MHz で あれば自由に設定できる。低速の TURBOchanneI で は IOCTL2 PAL ( E14 ) を変更しなければならな い。高速の PAL は 27 ~ 15.6MHz ( DS5000 / 200 ) の クロックに対応しているが、低速の PAL は 16.6 ~ 7.8MHz ( DS5000 / IXX ) である。これは、次のバージョ ンで改善する予定である。 TURBOchannel の説明はこれですべてである。多く の DEC の I/O バスは非同期かっ対称型なので、遅くて 複雑なものになり、簡単なデバイスの実装も高価になる。 プロクラミンク・インターフェイス TID4PKT は、プログラムで入出力をおこなう I/O デ バイスであり、 DMA は使用しない。デバイスドライバが アタフ。タと通信するときは、アタフ。タの 4MB のアドレス 空間に実効アドレスのあるロード / ストア命令を実行する。 アタブタのアドレス空間は、制御 / 状態レジスタ、デー タレジスタ、オプション ROM の 3 つに分かれている。 ・制御 / 状態レジスタ (CSR: Control/Status Regis- ter): 1 ワードアドレスである。このレジスタのいくっ かのピット (FIFO 状態など ) は言も囚みしかできない。 ただし、割込み許可やルーフ。バックなどのビットは囚 みも書込みも可能である。 ・テータレジスタ . 1 ワードアドレスである。送信データ を書き込み、受信したデータを読み込む。送信と受信 は互いに完全に独立しているが、データレジスタは同し I/O アドレスを共有している。 ・オプション ROM: アタフ。タのアドレス空間の 128KB を占めている。アダブタについての情報 ( 形式、メー カー、リピジョンレベルなど ) と、メモリにロードして ROM Executive のもとで実行できる診断プログラム が入っている。 制御 / 状態レジスタ 図 4 に示す制御 / 状態レジスタはこのアタブタを尺し、 アドレスの 17 ビット目と 4 ビット目が 1 になったとき 10 言心主 : 192KB/s = 192 x 8 Kbps 1.536Mbps UNIX MAGAZINE 1993.2 に参照できる。アドレスのそのほかのビットは無視される ため、ほかの多くの I/O アドレスでも缶剏 / 状態レジスタ を参照できる。 csr. TxIntReq と csr. RxInReq 、 csr. TxUnder— ードウェアが設定してソフトウェアがクリ fl 。 w は、 アするが、これらのピットはいつ設定されるか分からな いので、クリアの実行には注意が必要である。クリアす る場合は、対応するピットに 1 を書き込む。このとき、 csr. IntEnbI や csr. LoopBack 、 csr. TxLc1CIk など を変更しないように注意しなければならない。 csr. IntEnbI をクリアして、 csr. RxIntReq と csr. TxIntReq をポーリングすれは、割込みなしにアタフ。タが 操作できる。割込みがかかるようにするには、アタフ。タの 割込み許可のビットのほかに、 CPU のレジスタのビット も設定しなければならない。 csr. TxIntReq と csr. Rx IntReq の両方を、割込み処理から戻る前か、別の割込み がかかる前にクリアする必喫がある。 csr. TxUnderf10w は送信器の状態を示す唯一のビッ トである。送信器の FIFO のアンダーフローというのは、 ハードウェアとソフトウェアの同期がとれていないことを 表している。送り出されたバケットに CRC が含まれて いないときは、 HDLC による転送は失敗し、終了する。 これにより、受信側でバケットカ噸なわれたことカ忍で きる。 アダフ。タのテストをおこなう場合、 csr ・ LoopBack を 設定すれば、送信したすべてのバケットが受け取れるの で、これらを上交するとよい。ルーフ。バック・テスト中は、 受信器は TI 回線からのデータを無視するため、送られて きたバケットはすべて失われる。受信器とのルーフ。バック と同様に TI 回線 - 日ンヾケットが送信されたとすると、対 向する受信器はループバック・テストのバケットを本当の データであると判断する。そのため、ルーフンヾック中、送 信器はフレーム化されていないデータがすべて 1 のバケッ トを TI 回線に送信する。すべて 1 のデータは回線に とっては正しいが、フレームの形式をとっていないため、 このデータを受け取った受信器は回線か落ちているとみな す (csr. FrameSync は偽である ) 。 csr. TxLc1C1k の適切な値は、 TI 回線に接続されて いるアダブタによって異なる。ある回線では、送信器は 受信器が受け取ったデータから回復したクロックを使う 83

5. UNIX MAGAZINE 1993年2月号

TURBOchanneI T 1 アダブタ 使いこなすのは、地雷原を歩くようなものである。 ESF ではなく D4 フレーミング ESF はきわめて複雑だが、 D4 は実装がはるかに簡単 であった。ほとんどの TI 回線は D4 フレーミングを使用 している。 ESF ( と一殳には B8ZS も ) を使用している 回線は、どこでも利用できるわけではなく特注品である。 なんらかの理由でどうしても ESF が必要な場合には、 D4 俐用者イと ESF ( 回纒則 ) の変換かて、きる CSU を使 えばよい。 CSU にある EIA232 ターミナルポートを使え は ESF の機能力鉢リ用できる。 シリアル制御用チップは使わず HDLC を実装 多くのメーカーが HDLC を実装した VLSI チップを作 っている。単純なシリアル制御の機能しかないものから、 アドレスと制御フィールドを解釈できる複雑なプロトコル チップまでさまざまなものがある。 TI 回線用のフレー ングをおこなうチップと同様、 HDLC チップは一ヨ殳に構 成がきわめて複雑で、ときには DMA による入出力の機 能を備えているものさえある。ルータのあいたで信頼生の 低いデータグラムを転送するには、 HDLC のもっとも基 本的な機能があればよく、残りの機能はとりたてて必要は DMA ではなくソフトウェアで I / O プリント回路基板を実装する場所がなかったからであ る。 TURBOchannel I/O ノヾスへの DMA インターフェ イスを使えは、カーネル内での CPU とアタフ。タ間のデー タ転送は不要になるが、多くのチッフ。が必喫である。また、 バケットごとに割込みが発生する。 DMA で最大限の効率 を得るためには、 DMA を主記匱中のバッファ管理と協調 して動かさなけれはならない。そのため、バケットごとに 割込みが発生しないようにする必要がある。その実現には さらにチッフ。が必喫だが、単純に場戸励ゞなかった。表面実 装をおこない、ドーターポードを使えば可能だったが、設 計にもっと時間がかかっただろうし、使用ガ去もさらに複 雑になっていただろう。 16 ビット CRC ではなく 32 ビット CRC 16 ビット CRC のエラー検出能力は、バケットの大き さが 4K ピットを超えると低下する。このアタブタの最大 ノヾケット長は 16K ビットである。 Ethernet は、最大ノ 96 ケット長がおよそ 12K ピットで、 HDLC [ 19 ] て推奨さ れている 32 ビット CRC を使用している。このアダブ タは、おそらく Ethernet からバケットを受け取ったり、 Ethernet へ送り出したりする。そのため、同しレベルの 工ラー検出をおこなうように Ethernet と同じ CRC を 使用している。 VLSI の代わりにいくつかの単純な FSM を使って D4 フレーミングと HDLC を実現するのではなく、 TI アダ プタを TI のフレーミングをおこなうチップとそれにつな がった HDLC のチップ、そして DMA を使って、ちょ うど DEC の PMAD-AA Ethernet アタフ。タのように 言することもできた。このように設言 t すれば、 TI また は HDLC の諞田を理解する必要はない。たしかに、プロ グラムは複雑になり、性能か落ちるかもしれないが、確実 に動くはすである。 バク CRC の最後の 5 ピットが 1 の場合、 TxFSM はピ ットの挿入に失敗する。受信器は終了フラグの最初のピッ トを挿入ピットと間違え、状況が悪化する。この間違い は、 HDLC の実装ではよくある。いくっかの標準文書に は、最後の CRC ピットの後ろと終了フラグの前に挿入 ビットが必要であると記されている。このバグを修正する ために、 1 個の状態を TxFSM に加えた。 IP プロトコル は、バケットの約 3 % が受信伏態の悪さゆえに捨てられて いるが、うまく動いている。 受信器のフレーム同期機構は、間違った送信器の HDLC フラグパターンとの同期をとろうとして、それに 全体の 25 % の時間を消費していた。 HDLC フラグ中の 0 のビットがフレームピットの可能性があると判断した場 合、フラグのみカイ云送されているような回線では、その後 ろの 193 ビット目も 0 で、 FrameROM は 40 回、 May- be の判断を下してしまう。その結果、フレームの同期に 失敗する。フレーム同期のアルゴリズムのシミュレーショ ンではランダムなデータを使用したため、この問題は発見 されなかった。 RxFSM の 2 つの線を変更し、このバグ を修正した。 TURBOchannel のクロックはアダブタのなかの FSM のクロックに使用される。 25MHz の TURBO- UNIX MAGAZINE 1993.2

6. UNIX MAGAZINE 1993年2月号

TURBOchannel T 1 アダブタ 変数 Random の値をトグル式に切り替える。 真の場合、送信バケットの長さはランダムに決まり、ラ ンダムなデータで埋められる。 ・ DataCheck Random が 変数 LoopBack の値をトグル式に切り替える。 ・ Loop 査される。 Check が真の場合、受信バケットのなかのデータか検 変数 DataCheck の値をトグル式に切り替える。 LOOP Data 90 ピットを設定する代わりに、 csr. TxStart を設定して FIFO に 2 バイト書き込み、最後のデータの 9 番目の て、強制的に HDLC をアポートさせる。具イ勺には、 する。これは、送信器の FIFO をアンダーフローにし テストカ鮗ると、正常な場合と失敗した場合の数を表示 去をテストする。任意の 1 文字を入力すると終了する。 送信器と受信器で HDLC のアポートの発生とその除 ・ AbortTest 合、送信速度か変化するかもしれないからだ。 アで直接実行される。これは、 OS を介して計測した場 テスト時間に上 tf 列して高くなる。テストは、ハードウェ ズトに使用されるクロックは 1 秒単位なので、精度は れる ( 1 バイトのフラグと 4 バイトの CRC)0 このテ とに 5 バイトのオーバーヘッドのバイトが付け加えら か小さい。この速度を計算するときには、バケットご 数は、最大イ云送スピードの 1.536Mbps よりはいくら このコマンドから報告される 1 秒あたりの送信ピット は、 HDLC の挿入ピットを考慮して生成したもので、 定のパターン ( 0 、 1 、 2...255 ) である。このパターン よって制御される。送信バケットのなかのデータは一 了する。送信するバケットの長さは、変数 Length に バケット数を言 t 測する。任意の 1 文字を入力すると終 バケットを次々と送信し、 1 秒間に送信したピット数と ・ Speed の場合、送信器は内蔵の水品発振器を使用する。 変数 C10ck の値をトグル式に切り替える。 C10ck が真 ・ Clock 同期とキャリアの LED が点灯する。 器の入力に入る。 LoopBack が設定されると、フレーム Back が真の場合、送信器からの出力がループして受信 送信器を重川乍させる。 RxStatus . abort が真ならば、 正しく動いている。 ・ ScopeLoop 連続的に制御 / 状態レジスタを読み出す。任意の 1 文 字を入力すると終了する。このコマンドを実行すると、 TURBOchanneI のハードウェアのテンヾッグのための、 安定したオシロスコープの杉カイ乍りだされる。 コマンド吏用方法 TI 回線をさまざまな場所でループさせたり、診断コマ ンドを実行したりすると、回線やアタブタの多くの間題が 鮹夬できる。 ・アダブタの乍テスト アダフ。タの簡潔で完全なテストのためには、 LoopBack を設定して Test コマンドを起重丿ければよい。 これは、モジュラージャックとトランス、およびドライ バとレシーバ回路を除くアダブタ本をテストする。も し、すべての変数かオ川月値のままならば、 Test は、長 さがランダムに変化し、ランダムなデータをもつバケッ トを送信し、戻ってきたバケットのデータを検査する。 テストの開始変は、ソフトウェアがハードウェアと同 期をとろうとするので、いくつか悪い状態カ尋匱告される かもしれない。またテストの終了時に、送信した正常な バケット数と受け取った正常なバケット数が一致しな いこともある。 ・ TI 回線の乍テスト 通常はアダブタ内部でループさせすに、 TI 回線自体を いくつかの方法でループさせる。 TI 回線を外部でルー プさせて、 csr. LoopBack を設定せすに Test を起動 する。 CSU のルーフンヾック・スイッチを入れてテスト すると、アダフ。タ全体とアタフ。タから CSU へのケープ ル、および CSU の大部分についてテストできる。そ のほかに、 CSU には TI 回線を落とす特別なシグナル を送って、遠く離れた CSU とループするためのスイ ッチがある。これを利用すると、アタブタ本と手前の CSU 、 TI 回線および対向する CSU のはとんどについ てテストできる。 ・双方向のテスト 2 つのアタブタと TI 回線全体をテストするには、一方 のアタブタ上で Ech 。コマンドを動かし、もう一方のア UNIX MAGAZINE 1993.2

7. UNIX MAGAZINE 1993年2月号

TURBOchannel T 1 アダブタ 図 8 アダブタのなカデータの流れ Rx FSM 日 FO 8 8 1 I/O Line LIU 1 8 1 Tx FSM 日 FO 8 8 1 フレームピットと HDLC による挿入ビットを削除し、シ 8 つの状態と 21 の出力があり、 TxFSM には 7 つの状 フトレジスタ (SR) でデータのピットを送り込む。シフト 態と 23 の出力がある。それぞれの FSM ごとに、 3 つ レジスタカヾ不になると、 RxFSM はデータをバイト単位 の PROM を使っている。 FSM のクロックは、 TI 回線 で FIFO に書き出す。シフトレジスタへの受イ大態の書 のビット幅のおよそ 8 倍、つまり、 TI 回線上のピットは 込みと、 FIFO への書出しは並行しておこなえる。プログ 648nS の幅があり、 FSM のクロックは 80ns 間隔であ ラムが、実行アドレスがアダブタの 4MB の空間内にある る。これによって、ビットがくるあいだに、シフトレジス ロード命令を実行すると、データは FIFO から出て、 I/O タやカウンタの操作、アンダーフローのテストなどができ インターフェイスを通じて TURBOchannel 上に載せら る。 1.5Mbps というのはとりたてて速いわけではないが、 速度制限のない TTL の腕力を借りて、十分な速度か得ら れる。 送信器でのデータの流れは、受信器のものと対称にな れるようにしている。 っている。プログラムがその実行アドレスがアダブタの プログラムによる I / O インターフェイスの寒見には、 7 4MB の空間内にあるストア命令を実行すると、 TUR- つの IC しか使っていない。 4KB の FIFO があったの BOchannel から流れてきたデータは I/O インターフェ で、 OS 側で割込みをそれはど高速に処理しなくてもよく イスを通じて FIFO に入る。 TxFSM は FIFO からデー なった。また、アダブタか頻繁に重川乍しても、割込みによ タを読んでシフトレジスタのなかにロードし、 TI フレー る 1 回のコンテクスト・スイッチのあいだに数バケット ムビットと HDLC のヒ、ツト挿入をおこない、 CRC ビッ の処理ができる。さらに、バケット間に 1 個の HDLC フ トを加える。それから、そのビット列を LIU へ送り出す。 ラグだけしか入っていないようなバケットの生成も、デバ LIU は正と負のパルスを生成し、 DSX-I インターフェイ イスドライバにあれこれと工夫を凝らさなくてもよいよう スをトランスを通して駆動する。 になっている。 1 バイト移動するのに必要な命令サイクル を最小にするように、細心の注意か払われている。 受信器 データの言もムみ中に受信器の FIFO 状態を返すことで、 図 9 は受信器の構成図である。矢印はデータのビット コピーしているループのなかでの余分な CSR の I/O の流れを示す。 LIU は、 3 つの信号を同期回路を通して 込みを避けることができる。同様に、余分な CSR の I/O RxFSM に供給する。 3 つの信号とは、 clock と data 、 読込みは、送イ訓にコピーをおこなうループのなかでも必 loss-of-signal である。 RxFSM はデータのピットを 8SR 要ない。 に送り、 8Cnt でデータを数える。 8Cnt がアンダーフロー データの流れ を起こしたときは、 8SR にあるバイトを FIFO に書き出 す。また、状態も同時に 8SR に入り、 FIFO に書き出さ 図 8 は、アダフ。タのなかのデータの流れを示している。 れる。ピットは 8SR から書き出さ CRC に入れられ TI 回線から始まり、パルスはトランスを通じて LIU へ る。そのとき末尾に HDLC フラグがあれば、 CRC はそ やってくる。 LIU は入ってきたパルスからクロックを取 れを最後のデータであるとみなす。 5Cnt を使って連続し り出し、データを RxFSM にイ合する。 RxFSM は、 TI ニニロ 92 UNIX MAGAZINE 1993.2

8. UNIX MAGAZINE 1993年2月号

、 - 日匚こ五回 図 2 TURBOchannel T 1 アダブタ 0 RxCRC RxCRC Ct 旧 1 RxFrame Rx2Cntr RxFrmCntr RxFSM2 RxFSM1 RxFSMO 0 TID4PKT アダブタ Carri er C C FrameSync TxFrame TxDataSR RxDataSR RxFrm Rom RxFifo TxFifo OptionRom Conn 0 い 374 TxFSMO TxFSM 1 TxFSM2 TxF 「 n9猷「 Tx2Cntr C R 2 C R 0 240 C C TxCRC TxCRC 0 TI 回線 UNIX MAGAZINE 1993.2 た。シリコン・トランジスタの普及により、省電力で信 回線を 1 本のケープルで伝送できるようにする必要があっ 時、市行抛の配管とマンホールは飽和状態で、複数の音声 最初の商用システムは 1962 年に設置された [ 20 ー -- 23 ] 。当 TI 回線は 1950 年代の終りにベル研究所で開発され、 頼性の高いラインリピータが作れるようになった。こうし て、それまでもつばらアナログ技術で実現されていた多重 化にデジタル技術が使えるようになったのである。 24 本のアナログ音声回線は、それぞれ 8 ピットの精度 で毎秒 8 , 000 回でサンプリングしてデジタル化さ伝送 速度は合計で 1.536Mbps となった 3 。 24 回線ぶんをサ 3 調主 : 1.536Mbps = 8bit x 24 本 x 8 , 000 回 / 秒 79

9. UNIX MAGAZINE 1993年2月号

TURBOchanneI TI アダブタ ・セナー News & N0tice CoIumn 東京 GNU テクニ UNIX Fair'92 Notice News ・ ワークステー、ヨンのお 本屋さんめぐり B00 Review NetNews 便り AII right reserved. in cooperation with Miller Freeman, lnc. , U. S. A. , 1992. MateriaI from UNIX REVIEW in this issue is published ら・ David Boggs ・みるく ・・坂下に秀 ・を 77 115 62 120 坂下秀 121 UNiX MAGAZINE VOL. 8 # 2 1993 年 2 月号 ( 通巻 76 号 ) 1993 年 2 月 1 日発行 発行人・藤井章生 編集人・大久保讓治 "ditor's Network Address:unixmag@ascii. C0叩 発行所・株式会社アスキー 〒 107 ー 24 東京都港区南青山 6 ー 1 1 ー 1 スリーエフ南青山ビル 電話 03 ー 3486 ー 7111 振替東京 4 ー 161144 禁転載⑥ 1993 ASCII Corporation 1079302

10. UNIX MAGAZINE 1993年2月号

TURBOchanneI T 1 アダブタ 7 ではなくネットワークから起動して使用するには、ファイ ルと起動するサーバーを登録し、 REX のコマンド boot -Dn 6/mop ( マニュアルには書かれていない ) を実行す る。ここでれは、置き換えたい ROM があるアダフ。タの スロット番号である ( 6 / tftp でもよい ) 。プログラムを 起動する REX コマンドは、 REX か再ネ川月化されるまで は、アタフ。タ上の ROM からではなくネットワークから 診断プログラム このイメージを読み込む。 もとづいてランダムな値を生成し、残りのデータと上交 生成するための初期値と仮定される。そして、この値に そうでなけれは、最初の 4 バイトはランダムな数値を ンは一定パターン ( 0 、 1 、 2...255 ) であると仮定する。 イトが ( 0123 ) だったら、バケットのデータのパター ンとを上交して違いを出力する。バケットの最初の 4 バ 論理変比真の場合、受信したバケットと正しいパター ・ DataCheck ン ( 0 、 1 、 2...255 ) て理められる。 は、バケット長は Length となる。中身は一定のパター ムになり、中身もランダムな数て理められる。偽の場合 論理変比真の場合、送信するバケットの長さはランダ ・ Random 長さ Length になる。 までのランダムなバイト長になる。偽であれば、一定な 真の場合は、送信するバケットの長さは 2 から Length 2 ~ 2 , 048 までの整変数 Random ( 頁を参照 ) が ・ Length はかのコマンドの動作を変更できる。 下記の 5 つの変数がある。これらはコマンドで設定し、 プログラム変数 は t 0 と入力すればよい。 は、スロット 0 のアダブタの言斤プログラムを開始するに アタフ。タの TURBOchanneI のスロット番号 ) 。たとえ ト ) が出ているときに t れと入力する ( れはテストする 言斤プログラムを開始するには、 > > (REX のプロンプ 88 する。 ・ LoopBack 論理変この変数の値は、 CSR に書込みがおこなわ れるときはかならす csr ・ LoopBack に設定される。 れが真の場合、送信器からの出力はループして受信器の 入力に入り、すべて 1 のデータが TI 回線に送り出され る。 TI 回線からのバケットは無視される。 ・ C10ck 論理変数。この変数の値は CSR への書込みがおこな われるときには、かならす csr . txLc1C1k に設定さ れる。真の場合は送信器は内蔵の水品囎辰器を使用する が、偽の場合は、受信した信号から再生したクロックを 使用する。 診断コマンド 下記の診断プログラムはキーポードから利用するもの で、 OS を介した場合のように複雑な操作をせすに、アダ プタのテンヾッグと TI 回線のテストかできる。 ? を入力する とコマンドー覧が、 help でコマンドと 1 行の説明が表示 される。コマンドの実行は、コマンド名の先頭からはかの コマンドと区別できるだけの文字を入力し、その後、キャ リッジ・リターンかスペースを入力する。実行中のコマン ドを停止するには、任意の 1 文字を入力すればよい。 ・ Quit および xit アダブタの診断プログラムから抜けて REX に戻る。 ・ Test 連続的 ( ンヾケットを送受信する。任意の 1 文字を入力 すると終了する。正常なバケットを 10 個受信するた びに ! か表示される。送受信に失敗すると、その状態を 表示して回数を数える。テストカ鮗ると、成功した送受 信バケットの数と失敗した送受信バケットの数を表示 する。このコマンドは、 TxTest と RxTest ( 次項を参 照 ) をループのなかで呼び出しているだけである。 ・ TxTest 連続的にバケットを送信する。任意の 1 文字を入力す ると終了する。正常なバケットを 10 回送信するたび に ! が表示される。もし csr. TxUnderF10w が真なら ば、 CSR を表示し、そのバケットは失敗したバケット として数える。テストカ鮗ると、成功したバケットの数 と失敗した数を表小する。バケットの長さと内容は、変 数 Length および R d 。 m で制御される。 UNIX MAGAZINE 1993.2