ピット - みる会図書館


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

1. 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

2. UNIX MAGAZINE 1993年2月号

集積度の高いメモリでは、ソフトエラーの可能生も無視 できません。これは粒子 ( 陽子 2 個ぶんの電荷をもっ ) がメモリセルを直撃することで、そこに溜まった電荷がキ ャンセルされてしまうために起こります。 粒子は宇宙線として士厩長外から降り注いでいますし、 半導体を封止する材料中にごく微煢含まれている放射生物 質からも発生します。 / ヾリティ メモリチップは、もともと集積度か高いうえに何一日固、 何百個と使うものなので、従来からパリテイや ECC など の信頼生対策の技術力硬われています。どちらも、記慮装 置を余分に使うことで信頼性を高めています。 パリテイチェックは、エラー検出のための技術です。メ モリよりは、通信などの分野でよく使われてきました。皆 さんも、 RS232C を介した通信の設定で、、パリティ " とい う言葉はお馴染みだと思います。計算機のはかの部分は、 古郞章したら計算機自体が停止する場合が多いのでまだいい のですが、記慮カ駐うと動作が異常 ( 暴走 ) になる可能匪 があります。したがって、異常を検出して計算機を停止さ せることにも意義があります。 多くの場合、バリテイチェックはメモリ 8 ピットに対 して、チェックピットを 1 付加することでおこないます。 SIMM にメモリチップが 9 個載っていたのは、データ 8 ピット十パリティ 1 ビットという意味だったのです。 32 ピット・アーキテクチャの WS でも、文字データなどを 扱うときにはメモリを 8 ビットごとに更新したりしますか ら、バイトごと : ンヾリティカ寸いていたほうか楽です。 パリティの原理は簡単で、データ中の 1 のピットカ嵎 数個か奇数個かの 1 ピットの情報をチェックピットにオ褓内 しておきます。データを読み出したときに、 1 のビットの 数カ嵎数か奇数かを数えれば、エラーか起こったかどうか が分かります ( ただし、これはエラーがどれか 1 つのピッ トに起こった場合に限ります ) 。 このことから、パリティ検査は、、 1 ビット誤り検出 " と う頁されます。工ラーが 2 ビット以上起こったときには、 検出できない可能生があります。 パリティエラーか起こった場合、偶発的なエラーなら は再度読出しによって通常乍に復帰できます。再試行し てもうまくいかなければ、計算機の動作を停止させます。 UNIX MAGAZINE 1993.2 ワークステーションの基礎知識 ( 2 ) UNIX の場合は、停止させるよりもパニックで自主的に ダウンし、リプートするほうか普通でしよう。 パリティ方式は、データピット長にかかわらす 1 ピッ ト付加するだけなので、方式が簡単という長所がありま す。ただし、エラーの発生が分かっても直せないのが欠 点です。 ECC ECC とは、 Error Correcting Code ( 誤り訂正符号 ) の略です。 ECC メモリと呼はれるものは、 ECC にもとづ く誤り訂正回路をもつメモリシステムのことです。 ECC の詳細は符号理論の本にイモ迂るとして、 こでは概要を紹 介します。 1 語 32 ピットのデータを褓内するのに 40 ピット用い るとします。 40 ピットのうち 32 ビットには入力された データをそのまま、残り 8 ピットには入力 32 ピットから ある規則に従って生成されるビットパターンを書いておき ます。これを、、検査ビット " と呼びます。 40 ピットあれば 240 通りの値がとれますが、 ( 入力が 232 しかないのですから ) このうち 232 通りしか使いませ ん。 さてここからがミソですが、 232 個の長さ 40 ビットの データバターン ( 征号言尠のどれについても、ハミング距 離が 4 以 - は隹れるようにすることができます。ハミング距 離が 4 以 - ヒとは、ある符号語が別の符号語に化けるために は、 40 ビットのうち 4 カ所以 - E の位置でビットが反転し なければならないという懣未てす。 40 ビット中のあるビットに誤りが生したとしましよう。 ます、、、ありうる " ピットパターンではないことが分かり ます。次に、 これはどこか 1 ピットか誤ったデータで はないか " と考えて、↑甫を捜すと 1 つしかありません。 ある語 A のうちの 1 ピットが反転したデータ A ′を別の 語 B をもとに作ろうとしたら、 4 ー 1 = 3 ピット以上の 反転が必要だからです。そこで、このデータは A に訂正 できます。 40 ビット中の 2 ピットに誤りが生したとしましよう。 やはり、本来ありえないビットパターンになるので誤りが 生したことは分かります。しかし、、、これはどこか 1 ピッ トか誤ったデータではないか " と考えで嚇甫を捜しても、 1 つもみつかりません。そこで、、、これはどこか 2 ピットが 105

3. UNIX MAGAZINE 1993年2月号

TURBOchannel T 1 アダブタ 図 9 受信構成 4 3 192 Cnt 8 Cnt 5 Cnt TI LIN E 1 1 2 2 8KX24 PROM TURBO dlannel 日 FO 8 SR 12SR Frame R511 CRC 表 3 フレームビットが失われたときの直 たパルスなしの状態を計測し、 HDLC によって挿入され たピットを検知する。 HDLC フラグは、 3 状態の FSM により検知する。 TI フレームの同期には 12SR と 192Cnt 、 Frame- Rom を使用する。 192Cnt は、フレームピットが予想さ れるときに、ちょうどアンダーフローを起こすようになっ ている。フレーミング・パターンをみつけているあいだは、 データバイトは計算されず、また挿入ピットも削除されな いので、これらを補うために 8Cnt と 5Cnt を使用する。 最初に 12SR を 0 にし、 192Cnt と 8Cnt 、 5Cnt を設 定する。次に LIU から送られてきたピットは、フレーム ビットであると仮定して 12SR に送り込む。 FrameRom は 12SR の内容をローテートして、そのなかのどれかがフ レーミング・パターン ( 100011011100 ) と一致するかど うかをテストする。その結果には次のようなものがある。 B ad 4 3 2 1 0 Yes 12 12 12 12 12 No 443 1682 3190 3902 4034 Maybe 50 50 50 50 50 3591 2352 844 132 0 No Maybe E rror Yes 12SR には、フレーミング・パターンにわすか でも似ているものは含まれていない。 12SR には、フレーミング・パターンの最後の 1 のピットまで含まれている ( 12SR は 0 に衫期 化されているので、 12 ピットのフレームピット カ唸まれている可能がある ) 。 12SR にはフレーミング・パターンが含まれてい 含まれている。 12SR には、確実にフレーミング・パターンが るが、 1 か 2 ビットのエラーがある。 UNIX MÄGAZINE 1993.2 フレームビットと仮定したピット列を 12SR へ送り込 んだあと、 FrameRom が No または Error であると判定 した場合、 1 ビットだけすらして、再びフレームピットの テストをおこなう。 FrameRom が Maybe または Yes と 判定したら、次の 193 ビット目を再び 12såに送り込み、 同時に 8Cnt と 5Cnt を重川乍させる。この 2 つのカウンタ がアンダーフローを起こした場合、 40 個の正常なフレーム ピットがあったことが分かる。そこで、 csr. FrameSync を設定する。最悪の場合、フレームの同期に 192 x 193 x 40 ビット、つまり約 1 秒必要だが、通常は約 100mS であ る。 D4 フレーミングでは、 12 ピットのうち 3 ピットまで 工ラーが発生しても、フレーム同期を失わないようにしな ければならない。そのため、いったん csr. FrameSync が 設定されたら、 FrameRom から No の判定力ゞドされない かぎり、フレーム同期はとらない。しかし、フレーム同期 を試みているあいだは、エラーが発生してはならない。表 3 に、それぞれのビットエラー (BAD) での FrameRom からの Error と No の判定の割合を示す。同期をとるため 93

4. UNIX MAGAZINE 1993年2月号

ニプルモード、あるいはスタティックカラム・モードの DRAM を載せた 30pin SIMM もありましたが、 WS にはほとんど ( もしかするとまったく ) 使われなかった ようです。 容量の別は間違いようがありませんし、 WS 用ならビッ ト数は 9 に決まっています 10 し、変則機能はます不要で す。そして速度は 80ns でだいたい、当たり " です。 どうしても気になるなら、 WS の蓋を開けて純正 SIMM に使われている DRAM チップの背中の型番を確 認すればいいでしよう。速度だけは、はっきり分かるよう になっています。 たとえば TC51000ASJ ー 80 、 MB81C1000 ー 80 、 M5 M41000BJ ー 8 、 HM511000AJP ー 8A は、どれもアクセ スタイム 80ns の IM DRAM です。 - ( ハイフン ) の後ろの数字がアクセスタイムなのです。なかには、 MCM511000AJ80 というようにハイフンが入らないも のもありますが、それでも見れば分かるでしよう。 丘 4M DRAM の価格が安くなってきたので、 IM x4bit 構成の 4M DRAM を 2 個と IMx1bit の IM DRAM を 1 個で、 IMx9bit とした SIMM も見かける ようになりました。しかしこれが、 1Mx1bit DRAM を 9 個使った SIMM の代わりに使えないというトラブルが 発生しています。 これは、 IMx4bit DRAM と 1Mx lbit DRAM で はリフレッシュの方式が違ったり、端子の駆動負荷が異 なったりするせいだと思われます。 72pin SIMM 30pin SIMM で 16M DRAM の日にまでは対応でき ますが、メモリ容量が大きくなりすぎるという問題が生し てきました。たとえばいま一番、、句 " の 4Mx 9 SIMM だと、 4 本セットで 16M バイトになります。 ローエンドのディスクレス・マシンではこんなにいら ない 11 でしようし、 PC ではこオレごけで実装可能なメモリ 量が埋められてしまったりします。また、メモリの増設が 16M バイト単位でしかできないというのは不便です。 そこで出てきたのが 72P ⅲ SIMM で、 30P ⅲ SIMM 10 CISC NEWS の -- 碚は伊レトで、 8 ピット SIMM を使っています。 11 筆者にいわせれま、必要なのですが・・ UNIX MAGAZINE 1993.2 ワークステーションの基礎知識 ( 2 ) とくらべて長さが 1 割ほど長く、端子が小さいうえに下 の端の中央部分に窪みがあるというのが見かけ上の違いで す。 72P ⅲ SIMM では 30pin SIMM の経験を活かして、 いくつかの工夫が疑らされています。また、容量とスピー ド以外に、構成 - ヒのバリエーションか数多く存在するのも ( 部品屋さんから適合する SIMM を買ってきて安くすま せようとする人たちには ) 悩みの種です。 72P ⅲ SIMM の特徴は、以下のようになります。 ・ピット数 32 、 36 、 40 の 3 種類があります。 36 ピットは ( 8 ビッ ト十パリティ ) x4 を想定しています。 40 ビット幅のも のは、 ECC 用です。 ・スピード 30pin SIMM とくらべてバリエーションに変わりはあ りませんが、スピードを表現する端子か設けられ、電気 的にアクセスタイムカ半」別できるようになりました。 IM バイト ( 256Kx32bit ) 、 2M バイト、 4M バイト、 ・・と多様です。 16M バイト・ 8 ピットごとの個別アクセスができるかどうかなど、同 しメモリ幅でもイ研頁かの構成があります。 ・サイズ 高さによって、多不頁に分かれます。 ・チッフ陬付け 基板の両面にメモリチップを張り付けるようになりまし た。 72P ⅲ SIMM は最大構成では x 1 構成の DRAM を 40 個使用するので、片面にはとても収まりません。 SIMM の厚みは増しますが、枚数や高さが倍になるよ りはましです。 調 , ヾたかぎりでは、規格表に掲載されているのは高速ペ ージモードをもつものばかりで、ニプルモードやスタテ ィックカラム・モードの 72pin SIMM は見当たりま せん。 写真 1 は SPARCstation SLC 用の 4M バイト SIMM です。一方の側に KM44C1000J ー 8 というチッフ。が 8 個、 反対側には MCM511000AJ80 というチップが 4 個載 っています。 8 個載っているのが IMx4bit 構成の 4M 109

5. UNIX MAGAZINE 1993年2月号

はそのままで、そのはかは各文字の可変長シーケンス (leading character 十文字コードの MSB を立てたも の ) を用いる。 多国語関係以外の拡張としては、文字修飾 ( 下線、反 転、強調 ) やピットマップ・ファイルを読み込み、コンパ ウンド・キャラクタをサポートする機能などがある。 既存の日本語変換システムである jserver 、 Egg 、 Wnn などは、 Nemacs とまったく同じように使用でき る。また、 DOS 版もサポートされていてすでに動いてい るそうだ。 FSF ではソフトウェアの配布方法を、徐々にテープか ら CD-ROM に移行 ( 日本では CD-ROM のみ ) してい く。また今後は、バイナリによる配布もおこなう。すべ てのアーキテクチャのバイナリコードを配布することは できないので、ユーザーが多くコンパイラが標準装備で はなくなる (SoIaris2.0 から ) という理由から、最初は sun の SPARC アーキテクチャのバイナリを配布する ( 1993 年 1 月からの予定 ) 。 表 2 文字セットのタイプ タイプ文字セット Type 1- ド ASCII ASC Ⅱ以外の 1 バイト文字セット Type 1-2 JIS X0201 、 ISO 8859- * など プライベート 1 バイト文字セット TSCII( タイ ) 、 KOI( キリル ) 、 IPA ( 国際表音文字 ) など 2 バイト文字セット GB 、 JIS 、 KS プライベート 2 バイト文字セット Type 2-4 CNS Type 3-4 プライベート 3 バイト文字セット 本最初の数字は外部表現、 2 番目が内部表現で何バイトかを表す。 表 3 標準的なコード系 FSF の今後の活動 Type 1-3 Type 2-3 モードライン *junet* *euc—japan* *euc—korea* *euc—china* *SJiS* *big5* *ctext* コード系 内部コード JIS コード、 7 ヒ・ツト環境 日本語版 EUC 、 8 ビット環境 ハングル版 EUC 、 8 ヒ・ツト環境 中国語版 EUC 、 8 ビット環境 コンハ。ウンド・テキスト Big5 Shift-JIS UNIX MAGAZINE 1993.2 NOTICE FSF の活動について語る Stallman( 左 ) と H0ffman ( 右 ) 25 You'll be free You'll be free, hackers, JOin t1S no ー and Share the SOft 、 hackers, ever more ⅥⅢ kick out those dirty licenses At our call, hackers, at our call When we have enough free software That's not good That's not good, hackers, But they cannot help their neighbors That is true That is true, hackers , Hoarders can get piles 0f money You'll be free You'll be free, hackers, Join us now and share the software らとったそうだ。 Song ”。メロディーはプルガリア民謡の Sadi Moma か フトウェアとハッカーのための歌 "The Free Software Stallman がイ司し、セミナーで披露したフリー に準備されていた ) 。 トウェアの歌まで披露した ( しつは伴奏のテープは事前 どにまで話題が発展した。そして、自作のフリー・ソフ げだしたい気分だと漏らしていた ) 。最後は彼の趣味な ついても質問があった ( 彼の本心では、 GCC からもう逃 ころ考えていないと答えた。また、 C コンパイラなどに BSD を支援する立場をとるが具体的な行動はいまのと るのかという質間が出た。これに対して Stallman は、 参加者からは、 BSD の訴訟間題に FSF はどう対応す ットワーク経由で CD ー ROM を利用できると回答した ) 。 トがおこなわれた ( 参加者のはとんどが、直接あるいはネ ナリ配布を希望するアーキテクチャについてのアンケー man から参加者に対して、 CD-ROM の普及状況とバイ 講演終了後、質間の時間が設けられた。最初に Hoff- の活動をアピールし寄付を募りたいとのことだった。 セミナーの開催やフェアなどに積極的に参加して、 FSF れている。今回のセミナーはこの活動の一環で、今後も 時期は未定だが、 FSF の日本法人設立の準備も進めら

6. UNIX MAGAZINE 1993年2月号

CD 一日 OM は素敵 ( 3 ) 0 表 2 NEWS で声里 周波数 量子化ピット数 チャンネル 16 ピット滷 ステレオ 37 , 800HZ 8 ピット滷線 18 , 900HZ モノラノレ 8 ピットß-law 9 , 450HZ 8 ピット A-Iaw 8 , 000HZ 表 3 NEYVS での ADPCM データ タイプ ( 対応 XA レベル ) フォーマット 37 , 800HZ / 8 ビット 標準形式 37 , 800HZ / 4 ビット (B) CD-ROM XA 音声 18 , 900HZ / 4 ビット (C) 9 , 450HZ / 4 ピット 工ンファシス チャンネル ON ステレオ OFF モノラル 図 2 Sun の x-soundtool の画面 写真 1 音声処理用ハードウェア ちゃんとした業務」 : の用途があり、減価償却ができ川よ問 題はないのですが、コンピュータとは機器の仕組みも違い ますから、接続やファイルの扱い方などちょっと戸惑うこ ともあります。 現在、私の会社で利用しているハードウェアを写真 1 に 示します。一番下がソニー NEWS 、上へ DAT レコー ダー、 CD プレーヤー、一番上に載っている黒くて薄い装 置が DAT-Link です。手前に置かれている小さなラジオ のような箱は、 NEWS の音声処理ポード用インターフェ イス・ポックスです。 のサンプリングで law 圧縮されて 8 ビットデータにな ります。 NetNews にも Sun 用の音声データが数多く流 ・ NE 、 VS 内蔵ポード れていますが、音声信号をサンプリングしたデータにヘッ 内蔵の音声処理ポードと添付ソフトウェア (xsed) を ダを付けたシンプルな形式になっています。 利用しています。これで表 2 のような音声データの録音 / Sun のデモプログラムに、 x-soundtool という録音 再生 / 編集ができます。 xsed は直接 ADPCM のデータ / 再生をおこなうプログラムがあります ( 図 2 ) 。 8kHz 、 の録音 / 再生はできませんが、サンプリングしたデータを 8 ピット law 、モノラルですが、リアルタイムに近いオ 表 3 のような ADPCM データに変換することは可能で シロスコーフ表示なども付いていてなかなか楽しめます。 す。 ADPCM データは、連載第 1 回の図 11 ( 1992 年 Sun の audio ファイルのデータ量は、 ADPCM Level 12 月号 34 ページ ) のように CD-ROM XA で使うため C ( モノラル ) よりは小さくなります。 のサプへッダ情報と ZERO データを付加し、 2 , 336 バイ ・音声里のハードウェア ト単位の mode-2 form-2 データとして出力することもで きます。 NEWS のポードはアナログ入出力しかできす、 音声処理をおこなう際の障害として、コンピュータとの CD や DAT で使われる一ヨ麺勺なデジタル・オーディオ信 接続生がよい咼品質の音声処理用ハードウェアが少ないこ 号を扱えないので CD-DA のデータを直接扱うことはで とが挙げらます。装置自体は音楽用 CD を製作するとき きませんが、こオび人タ ) 機能は手軽に利用できます。した に使うデジタル音楽信号処理用機器カヾ充用できますが、ス がって必要十分な機能は備わっているといえるでしよう。 タジオ用の装置は専門家向けでかなり高価なものが多く、 コンピュータとのインターフェイスにも工夫が必要です。 xsed を起動すると、図 3 のようなパネルが表示されま スペースもとるので、簡単には揃えられません。もちろん す。 こでサンプリング周波数や量子化ピット数などを指 29 UNIX MAGAZINE 1993.2

7. UNIX MAGAZINE 1993年2月号

TURBOchannel T 1 アダブタ channel では、このクロックを 2 て割った 80ns の間隔 になる。これは、 1 つの TI 回線上のピットにつきおよそ 8 サイクルである。 12.5MHz の TURBOchannel では、 同しようにすると 1 ピットにつき 4 サイクルになり、こ れでは足りない。クロックの分割は PAL でおこなわれる ので、クロックの違うシステムではとりあえす違う PAL を使えはよい。きちんと修正するには、 CSR のピットを 使うはうがよいだろう。 いくつかのメーカーが、 TI 回線に対応したルータを作 っており、このアタフ。タと通信できるのならいうことはな い。これらは、 HDLC のチップ ( 8530 など ) を使い、 V. 35 インターフェイスでフレーミングとクロックを扱う DSU/CSU と接続される。ほとんどの HDLC のチップ は 16 ビット CRC しか実装していない。このアダブタ で使用される CRC のチップは 16 および 32 ピットの CRC に対応しているが、 16 ピット CRC のチェックは、 CRC ピットがチップのなかに入る前に反転されてしまう 場合しかおこなわない ( 32 ピット CRC の場合はこれで 正しい ) 。 PROM をプログラムしなおせは、アタフ。タは 正しい 16 ピット CRC をもつバケットを生成できるよ うになるが、入ってきたバケットの 16 ピット CRC は チェックできなくなる ( ソフトウェアであまり手間をかけ すにおこなうことはできる ) 。 HDLC はデータの LSB(Least Significant Bit) を最 初にシフトするが、アタフ。タはデータの MSB からシフト される。送信器と受信器のシフトレジスタの PAL を再プ ログラムすれは噸番を逆にできるが、受信器の CRC の入 カ部分は SR の間違った終端に結線されていた。そのた め、プリント基板の線を切断して新たに線をつないだ。 れでアタフ。タはその内部ではもちろん、旧いアタフ。タとも 通信カそきるようになった。 RxFSM は FIFO か不になったときに、 FIFO の書 出しの信号を生成していた。資料では問題はなかったはず だが、一定の条件のもとでアダブタに重い負荷をかけて 6 時間テストしたところ、 FIFO がおかしな状態になる可能 性があることが分かった。この信号は、ほかの理由で PAL に与えられていたが、 FIFO 不であることを示す信号 を真にすれば簡単に直る。しかし、そのために、この信号 を PAL の未使用の入力墻子に入れる必要が生した。結果 的に、 FIFO のオーバーフローの扱いを再フ。ログラムしな UNIX MAGAZINE 1993.2 PauI Vixie は、 IP ノヾケット用の Ultrix のテンヾイスド ライバを書き、 TxStart に関する作業を担当してくれた。 PauI BartIett と Joel Bartlett 、 Bill Hamburgen は、 このレポート作成にあたって助言を与えてくれた 謝意を表したい。 [ 文献 ] けれはならなかった。 [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] American National Standards lnstitute, Synchro- れた 0 0 れ lnterface Standards for D の t Networks, American NationaI Standard TI. 101 ー 1987 , ANSI December, 1986 American National Standards lnstitute, D の t erarchy - Electrical lnterfaces, American National Standard TI. 102 ー 1987 , ANSI, August, 1987 American National Standards lnstitute, Ca e to-Customer ん sta 〃 0 0 れ一 DSI Metallic lnterface, American National Standard TI. 403 ー 1989 , ANSI, 1989 American National St andards lnstit ute, ス dvanced D 観 0 Comm 社れ佖 0 れ ControI Procedures (AD- CCP), American NationaI Standard X3.6 1979 , ANSI, January, 1979 AT&T, 丑朝ん Ca ac リ Terrestrial D をの I Service, TechnicaI Reference 41451 AT&T, January, 1983 AT&T, D をの t C ん 0 れれ el Ba れん Requirements 0 れ d Objectives, TechnicaI Reference 43801 , AT&T November, 1982 AT&T, Eætended S 社 e 可 7 れ me Fo m 観 , Technical Reference 54016 , AT&T, May, 1986 AT&T, D 朝 S れ c ん 0 れた観を 0 れⅣ e カ囮 0 P れ , TechnicaI Reference 60110 , AT&T, December, 1983 AT&T, ACCUNET T プ .5 Service Desc 〃 0 れ 0 れ d lnterface S ec ca 0 れ s , TechnicaI Reference 62411 , AT&T, October, 1985 [ 10 ] AT&T, ん te 几 0 れれ ec 0 れ S ec cn 0 れ工 0 D をの - tal Cross-Connects, CompatibiIity Bulletin 119 , AT&T, October, 1979 [ 11 ] Bell Communications Research, ス s リれ c ん ro れ 0 社 s Dig- MuItipleces Requirements 0 れ d Obyectives, Tech- nical Reference TSY -000009 , BeIICore, May, 1986 [ 12 ] Bell Communications Research, S リれ c んれ 0 社 s DS3 Add-Drop れ襯ゆ le ェ (ADM 3 / X. 丿 Requirements 0 れ d Obyectives, Technical Reference TSY -000010 , Bell- Core, February, 1988 97

8. UNIX MAGAZINE 1993年2月号

TURBOchannel T 1 アダブタ 6 図 12 13 14 7 11 10 8 6 5 Full H alf Empt xx Full Half Empt Pkt Sgnl Fram Data ビット 31 ~ 16 接続されていない。 ビット 15 ~ 9 受信と送信の FIFO の状態を表す。匍御 / 状態レジスタの説明 ( 図 4 ) を参昭 バケットの終り。ピット 7 ~ 0 か漱態を表すなら 1 、データなら 0 。 信号を失った。正しい TI 信号を受信しているなら 0 。 ビット 7 フレーミング・パターンの同期を失った。受信器が D4 フレーミング・パターンに期しているときには 0 。 ビット 6 データを失った。正しいデータを受信し続けているあいだは 0 、バケットを失ったら 1 。 ビット 5 0 ビット 3 0 アポート。バケットが HDLC アポートて終了すれば 1 。 FIFO オーバーフロー。受信器がデータを書き込もうとしたときに FIFO カヾ不なら 1 。 CRC か不 CRC か不正な場合に 1 。 態 (FifoOverfIow のエラービットも含む ) を FIFO ことなく CRC を生成して付け加える。しかし、受信器の に書き込めたら、クリアされる。 ハードウェアは、チェックはするカ哨リ除はしないので、ソ フトウェアで削除しなければならない。 ・ BadCRC TxStart は、送信器がフラグを送信するのをやめて、 バケットに含まれる CRC が正しくないときは 1 にな データを FIFO から読み出して送り出し始めたとき 1 に る。バケットの最後の 4 バイトは 32 ビットの CRC なる。 TxStart を設定するには、 TxData. EndOfPkt か で、これは送信器が付け加えている。ビットが反転した csr. TxStart を設定すればよい。送信器のハードウェア り、送信器と受信器のあいだで不正なピットが加わった は、 8 ピットのデータを送り終えるまで、つまり約 5 以 り、抜け落ちたりすると、受信器に届いたときに CRC 内に TxStart をクリアする。 TxStart は 1 だが FIFO は高い確率で不正になる。 が空だった場合は、送信器はたんに TxStart をクリアし 送信データレジスタ てフラグを送り続ける。 バケットを送信するためには、ソフトウェアは送信デー 図 7 に示す送信データレジスタは、 4K x 9 ピット構 タレジスタを介して FIFO に一漣のバイト列を書き込め 成の FIFO の書込み専用のポートである。この FIFO ばよい。バケットの最後のバイトを書き込む ( 9 番目の の TI 回線に接続されている側では、送り出すデータを ピットが 1 になっている ) と、 Txst 矼 t が設定さオ送 FIFO の言ムみポートから読み込んでシフトレジスタに書 信を開始する。送信器がバケットの最後のバイト ( 9 番目 き込む ( 図 10 ) 。送信バケットの最後のバイトを送り出す のビットが 1 ) を FIFO から読み出すと、 4 バイトの CRC ときには、 TxData. EndOfPkt を設疋する。そうすると、 を付け加えて csr. TxIntReq を設定し、 HDLC フラグ FIFO のなかの対応するデータの 9 番目のピットも設定さ を送信する状態になる。 れる。このバイトが FIFO を出てくると、送信器はチェッ クサムを付加して終了を表す HDLC フラグを生成する。 バケットを 1 っ FIFO に書き込んでから送信器からの 割込みを待っという簡単なガ去では、バケットを切れ目な 受信したバケットの最後には状態を表すバイトカ咐き、 く送り出すことはできない。割込み処理をおこなって次の 9 番目のピットか設定されている。送信したバケットの最 後はデータで、このときも 9 番目のビットか設定されて バケットを FIFO へ書き込むあいだ、送信器は待ち状態 いる。送信器のハードウェアはソフトウェアの手を借りる になってしまう。ソフトウェアは、送信器か現在のバケッ 9 15 2 1 0 Abrt 0 Bad Flow CRC 0 86 UNIX MAGAZINE 1993.2

9. UNIX MAGAZINE 1993年2月号

誤ったデータではないか " と考えて候補を捜すと、 2 つ以 上存在する可能生があります。そのため、誤りか起きたこ とは分かっても、訂正はできません。 40 ピット中の 3 ビットに誤りが生したとしましよう。 、、正しい " ビットパターンではないことが分かります。し かし、 A のなかの 3 ビットか反転した A / ″は、 B のなか の 1 ピットが反転した B ′と同一である可能性があります ( 1 十 3 = 4 ) 。この場合、データは B に訂正されてしま います。 40 ビット中の 4 ピット以上の誤りが生じた場合には、 別の、、正しい " ピットパターンになってしまう可能生があ ります。 こうしてみると、ハミング距離が 4 であれは、 1 ビッ ト誤り訂正、 2 ピット誤り検出 (Single Error Correct- ing/Double Error Detecting を略して、 SEC/DED と 書くこともあります ) が可能だと分かります。 ECC 回路には、誤り訂正符号にもとづいて検査ピット を作りだす回路と、読み出したデータを調べて誤りの発生 を検出し、可能ならは訂正し、不可能ならば OS に知らせ る機能があります。 検査ビット数を増やせば増やすほど、多くのピットに誤 りが発生しても訂正できます。その代わり、記億容量の無 駄か増えてコストがかさみます。 32 ビットに対してチェックビットが 8 とメモリが 25 % も必要になるので、従来の WS では ECC を備えるもの は少なく、パリティが主でした。 筆者が知っているもっとも古い ( 廉価版のモデルに いたるまですべて ) ECC を備えたⅥは、 IBM RT/PC(IBM6100) です。 IBM の現行機種 RS / 6000 シリーズも、下位機種まですべて ECC を採用していま す。このあたりは、長年メインフレームを作り続けてきた 会社らしいところです。 ニコンの世界では ECC は メインフレームやスーノヾー 昔から当り前の技術でしたから、 DECstation 5000 シリ ーズも」 : 位機種では ECC を採用していました。ご存じな い人がいるかもしれないので説明しておきますが、 DEC (Digital Equipment Corporation) は、営業を始めて まもなくミニコンの大ヒット作 PDP シリーズを世に送 ニコン VAX シリーズでも多くの支持を得て、 IBM のちに ニコンの世界で仮想記慮を実現したスー 106 り出し、 に次ぐ地位を築いた ( 元 ) ミニコンメーカーです。 UNIX は PDP-7 で生まれて PDP-8 で産湯を使い、 VAX-II で育ったようなものです。ただ、 DEC にとって ECC は 当然の機能だったからか、カタログの謳い文句にも見当た りません。筆者も、オプション・カタログのメモリのペー ジを見て、しつは ECC メモリだったと知ったはどです。 それ以外のメーカーでも、 こ 1 年はどのうちに発表 された 50 Mips を超えるハイエンドの WS やサーバー では ECC を採用しているほうが普通になりました。た とえは、現在の Sun の SuperSPARC を使った製品群 (SPARCstation10 、 SPARCserver 6X0 ) や、ソニ の NEWS 5000 シリーズは、 ECC メモリを載せていま す。 ソニーのカタログをよく見ると、 NEWS 5000 のメモ リポードには IC が両面に 20 個ずつ実装されていること が分かります。これで、どうやら 1Mx4bit 構成の 4M DRAM を使っているらしい (4Mx1bit を 40 個では、 2 ウェイ・インターリープができない ) ことや、メモリ ポードにはメモリチッフ。だけを載せ、 ECC 回路はメイン ポード側にあるらしい 7 ことか分かります。 一方、 SPARCstation 10 や SPARCserver 6X0 は、 写真を見るかぎり、 SIMM にはパリテイしか付いていな いようです。これは、筆者には分からない不思議な技を使 っている ( たとえば 32 ビット十 4 ビットでは ECC がで きないので、 2 ワードまとめて 64 ビット十 8 ビット構成に しているとか ) のか、あるいはサードバーティーの才長メ モリべンダーか : 学真、を入れ違えて、 SPARCstation IPX 用の SIMM の写真を SPARCstation 10 用として広告 に載せたのか、さもなければ、 ECC はオプションでパリ テイメモリという構成もあるのだろうか・ 、などと気 になって 8 、夜も眠れません : ー ) SIMM 6 ~ 7 年前から WS でも SIMM カ甘采用され始めました。 SIMM は SingIe lnline Memory Module の略で、小さ な基板上に半導体メモリをいくつか載せて、酉泉をすませ たものです。 Single lnline とは、このメモリモジュール 7 VME バス用などの ECC メモリポードだと、ポード上に ECC 回路 をもっているはすです。 こういう穿鑿をすると、メーカーに嫌われます。 8 UNIX MAGAZINE 1993.2

10. UNIX MAGAZINE 1993年2月号

7 TURBOchannel T 1 アダブタ 図 10 送信一成 5 1 LIU Mux CRC 32 TI LINE 1 1 192 Cnt 8 Cnt 5 Cnt 8 SR 1 8K 4 1 1 : TX 顧 8 1 1 1 に 40 個の正常なフレームビットが必要であることと、 3 ビット以止工ラーが発生した場合には同期が失われるとい うのは、 D4 フレーミングの要求より厳しい。しかし、音 声はエラーが発生してもそれほど問題はない。むしろ、フ レーム同期をとりなおすと接続カ砌れてしまう。 送信器 択 選 の 上 計 設 Crystal Semi の LIU すくなくとも 30 社が LIU 用のチップを製造してい る。あるものは、ほかのメーカーのセカンドソースであっ たり、受信と送信のチップを分けているものもあり、おか しな具合に機能を分割しているものもある。表 4 に、利用 できそうな 9 つの LIU 用チップの上交を示す。 LIU 選択の決定要因はジッタ減袞器である。送信のた めのクロックを受信パルス列から得る場合、ジッタを取り 除かなければならない。さもないと、端にたどり着くまで に、ジッタが受け入れられないほど大きくなってしまうか もしれないからだ。 Rockwell のチップは発表されたばか りで、サンプルしか手に入らなかったが、ジッタに対する 入力の許容度は CrystaI のチップの半分であった。 DaIIas のチップは受信のみであった ( 性能はかなりよい ) 。 TI と Exar のチップははかよりもテサインか古く、多数の外付 けが必要だった。 SiIicon Systems のチップもいくらか の外付けが必喫であった。 Mostek と Siemens のチップ はヨーロッパ向けの設計で、オ→ヾーサンプリング・デジ タル PLL を使用していた。水品以外の外付けカ坏要なの は、この 2 つだけだった。両方とも PLL はとてもよくで きており、ジッタ減袞器があれば Crystal の製品と競え ただろう。 TI の開発者が設計した AT&T のチップは、 図 10 は、送信器の構成図である。矢印はデータの流れ を示す。受信器と以していることに注目してほしい。お もな違いは、フレーミング・バターンを送り出す樹冓が受 信器より少ないことである。 Mux はモジュロ 12 のカ ウンタからフレーミング・パターンを生成する。そして、 CRC を生成してビット挿入をおこない、 LIU へ送り込 む。 Mux は LIU へ送り出す値を TxFSM へフィードハ ックする。これで、送り出したピット数を数えて、 HDLC のためのピット挿入をおこなうことができる。 LIU から TxFSM への信号は送信器のクロックであり、ビットを 受け取ったことと次のピットを用意しなければならないこ とを教える。 FIFO から RxFSM への信号は FIFO か空 であることを示す。 8SR からの信号は、バケットの終り (FIFO 中の 9 番目のピットで示される ) を示す。 94 UNIX MAGAZINE 1993.2