【コラム】
ということで、簡単にPipeの説明が終わったところで、USB 3.0のStreamに話を移したい。前回ちょっと触れた通り、Burst Transferと似たスキームで実装されているものにBulk Streamingがあるという話をした。これをもう少し正確に書くと、Transactionの種類にはBulk、Control、Interrupt、Isochronousの4種類があり(これは以前も説明した)、BUrst TransferはこのうちBulkを使う事になる。で、このBulkには(連載の313回までに説明した)Simple Bulk IN/OUT以外にBulk Streamingがある、という話である。このBulk StreamingはStream Pipeと非常に似た構成であるが、Pipe IDではなくStream IDを使う、という話である。
ということでBulk Streamingである。Photo01はSPSM(General Stream Protocol State Machine)の構成である。細かなエラーハンドリングなどは全て下位層で行われることが前提だから、State Machineとしては恐ろしく単純な構造になっていることが判る。Bulk Streamを行うIN/OUT EndpointはどちらもこのSPSMに沿って処理を行うことになる。
ここで、
| Disable | (HostとDevice/Endpointとの間で)Pipeが構成された直後の初期状態、あるいはSPSMで何かエラーがあった場合にはこのStateとなる。初期状態の場合にはすぐにPrime Pipe Stateに遷移するが、エラーがあった場合はソフトウェア的にそのエラーを解消するまではPrime Pipe Stateに復帰できないことになっている。もっとも実際にはエラーがあった場合、Link Layerレベルでそのエラーの対処が行われ、場合によっては一度EndpointレベルでのLink Downが行われ、そこから再びLink Re-establishという形になるだろうから、この間ずっとStreamを待機状態においておくよりも、あっさりDisabledという形でStreamを破棄するほうが賢明かもしれない。 |
|---|---|
| Prime Pipe | この状態は、Endpoint Buffer setが用意された事を、HostからDeviceに通知するものとなる。 |
| Idle | 文字通り待機状態。この段階では、まだStreamは何も選択されていない。ここでBufferの状態に変更があれば再びPrime Pipeに遷移するし、Hostが転送を開始する場合はMoveDataに向けてHost Initiated Transitionが、Deviceが転送開始する場合はStartStreamに向けてDevice Initiated Transitionがそれぞれ発生する。転送が終了すると、再びIdleに戻る形だ。 |
| StartStream | DeviceからHostにStreamを使ってデータ転送を要求する場合には、このStateに入る。もっともUSBの場合、実際の転送そのものは必ずHost側が行うから、DeviceがInitiateするといっても、実際にはHostに転送要求を出すようにDevice側が要請するといった形になる。この要請がHost側に受け入れられるとAccept、Hostから拒否されるとRejectのTransitionになるわけだ。 |
| MoveData | ここが実際にStream Dataの転送を行うStateとなる。Host InitiatedのTransitionでここに推移してきた場合、Current StreamはHost側で定めることになり、逆にStart Stream State経由で推移してきた場合、Current StreamはStart Stream Stateの中で(Device側によって)定められることになる。MoveData Stateは転送が完了するか、中断した場合に終了、(エラーでなければ)そのままIdle Stateに戻る形になる。ちなみにIdle Stateに戻った時点で、Current Streamは無効となる。 |
といった仕組みである。
この一連のState Machineで利用されるのが、Stream IDと呼ばれる16bitの値である。実は既に説明してきたDPHやACK/NRDY/ERDYといったTPには、Stream IDのためのFieldが確保されている。(これはStreamを使う場合のみなので、Streamを使わない場合はReserved扱いだが)。Stream IDのFieldには幾つかのSID値が定められている。
(続く)
【コラム】3Dグラフィックス・マニアックス 第79回 人工知性でコンテンツを生成するプロシージャル技術(3)
【レポート】今週の秋葉原情報 - 785GのMini-ITXマザーが発売に、VGAではRadeon HD 5750のファンレスも
| 【レポート】マカフィーの世界の専門家の意識調査「サイバー防衛報告書」とセキュリティソリューション [21:15 5/25] |
| アップル、Aperture 3.2.4を公開 - バグ修正、安定性向上など [20:51 5/25] |
| 【レポート】GTC 2012 - VGXでエンタープライズ環境でのGPU需要開拓を狙うNVIDIA [20:07 5/25] |
| デル、期間限定キャンペーンに特価アイテム追加、アップグレード無料も継続 [19:41 5/25] |
| 上海問屋、iPhoneとほぼ同じ薄さのバッテリ内蔵ヘッドホンアンプ [19:05 5/25] |
|
【連載】これだけは要チェック! TOEIC(R)単語帳 第108回 今回のお題は…「issue」 [20:00 5/27] キャリア |
|
TVアニメ『ペルソナ4』、新規カットを加えた再編集版を劇場でイベント上映 [20:00 5/27] ホビー |
|
「ギャラクシーエンジェル」の大月悠祐子がWEBで新連載 [19:52 5/27] ホビー |
|
[9nine]制服姿見納め? セーラー服で登場も川島海荷「4人はコスプレ」 [19:15 5/27] エンタメ |
|
「NO.6」4巻は書き下ろしドラマCD付、木乃のサイン会も [18:49 5/27] ホビー |