2008年04月14日

SCSI 3

reset
select without atn
transfer (command: test unit ready)
transfer (status)
transfer (message)
negate
select without atn
transfer (command: inquiry)
transfer (data)
transfer (status)
transfer (message)
negate
select without atn
transfer (command: read capacity)
transfer (data)
transfer (status)
transfer (message)
negate
select without atn ←ここまで動いた
transfer (command: mode sense)


> フェーズの遷移先もどう決まるのかわからない。

イニシエータ(PC)とターゲット(HDD)との接続が確立した後は、
ターゲットがフェーズも切断も決めるらしい。

selectコマンドは、接続が確立したらCPUに割り込み。
その後、ターゲットからコマンド転送要求があって、割り込み。

transfer infoコマンドは、送信が終わって、ターゲットがフェーズを
次に移して最初にターゲットからREQが来たときにCPUに割り込み。
ただし、message-in フェーズでのtransfer infoコマンドは、
送信が終わったらCPUに割り込み。

イニシエータとターゲット間の通信は、ターゲットがREQを、イニシエータがACKを制御して、REQ上げる->ACK上げる->REQ下げる->ACK下げるで1バイト転送する。よって、データ転送は、転送方向がどちらであれ、ターゲットが開始する。

フェーズは、その他4本の制御線(I/O, C/D, MSG, SEL)で決定され、SEL(接続要求)を除いた3本はターゲットが制御する。フェーズの遷移は、これら3本の値をターゲットが決めた上でREQを上げることによって、イニシエータに通知される(のだろう)。

なんとなくすっきり。
posted by Shinra at 22:38| Comment(0) | TrackBack(0) | EMU | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。