Transcript CS2-11

計算機システム

入出力と周辺装置

和田俊和

講義計画

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

コンピュータの歴史1 コンピュータの歴史2 コンピュータの歴史3 論理回路と記憶,計算:レジスタとALU 主記憶装置とALU,レジスタの制御 命令セットアーキテクチャ 演習問題 パイプライン処理 メモリ階層:キャッシュと仮想記憶 命令レベル並列処理 入出力と周辺装置 (←本日) 演習問題 現代的な計算機アーキテクチャの解説 演習問題 総括と試験 • 教科書:坂井修一著:電子情報通信学会レクチャーシリーズC−9,コンピュータアー キテクチャ,コロナ社 • 最終回の試験 によって成績評価を行う. 5回以上欠席で不合格 とする.

コンピュータ

本日の講義の範囲

デバイス コントローラ デバイス

7.1 周辺装置

(PERIPHERAL DEVICES)

7.1.1

並列処理

• 各デバイス の種類に応 じて,入出力 の方法が異 なる.

7.1.2

液晶ディスプレイ

• • 光は,電磁波であり, 電界の振動と磁界 の振動が通常は直 交している. 特定方向の振動面 を持つ光だけを通 すのが偏光フィルタ.

液晶ディスプレイ

• • • 液晶は印加電圧に よって偏光面が変 化するデバイス. 電圧ゼロのときに, 偏光フィルタの偏光 面と直交する → 光 を通さない. 電圧をかけると偏 光フィルタと同じ偏 光面となり光が通 過する

7.1.3 磁気ディスク

• • • シリンダ トラック セクタ 円盤形デバイス はシーク時間が 短い

7.2

入出力の機構と動作

7.2.1 ハードウエアインタフェース

• 各デバイスはバスによって結合されている. このテキスト では,主記憶 とCPUがバス を経由しない 接続になって いるが,バス を経由してア クセスするも のもある.

バスの種類

• • • VMEバス : モトローラ 68000 用 SBUS: Sun Microsystems の SPARC 用 PCIバス:スイッチ形バス

7.2.2 データ転送の手順

7.A 入出力の手順 ① ポーリングまたは割り込みによる入出力の起動 ② ③ ④ 前処理 命令またはDMAによる主記憶・周辺装置間のデータ転送 後処理 • • ポーリングは,CPUが各周辺装置を見回って,入出力要 求があるかどうかを調べる方法.処理は単純であるが, 入出力要求に即応できない. 割り込みは,周辺装置の割り込みコントローラからCPU に割り込み信号を入れ,CPUに例外処理を行わせる中 で入出力を行わせる方法である.入出力要求に即応す ることが出来るが,レジスタ待避やキャッシュの書き戻し などの前処理・後処理のオーバヘッド時間がかかる.

7.2.2 割り込みの調停

• 複数の割り込み要求を同時にこなすことはできな いので,それらから一つを選択する必要がある. これを行うのがアービタ ( arbiter, 調停器)である. 1.

2.

3.

同じ優先度の割り込み要 求は優先度毎に決められ たランダムアービタに繋ぎ 込まれ,その中からランダ ムに一つを選ぶ. プライオリティエンコーダは, これらの中から優先度の 最も高いものを選び,それ をエンコードしてCPUに送 る. CPUが割り込みを許可す れば,周辺機器とCPU間 でデータ転送が起きる.

デイジーチェイン方式のアービタ

• 簡便なアービタ.コントローラから割り込み要求を送り,最 初に許可信号をもらったデバイスが割り込み権を獲得する. 欠点:CPUか ら近いデバイ スが権利を取 りやすいため, 優先度の低 いデバイスが 処理を進めら れなくなる可 能性がある .

7.2.4 DMA

7.B 周辺装置とのデータ転送 • Direct Memory Access 最も高速なデータ転送の方法 ① 入出力専用命令を使って,デー タの読み出し,または書き出しを 行う.データ入出力用のポートを 用いる. ② 周辺装置にアドレスを割り当て ておき,そのアドレスを用いて, データのロード,ストア命令で データの読み書きを行う. ③ データ転送専用のハードウエア を用いて,CPUを介さずに周辺 装置と主記憶の間で読み書きを 行う.

DMA Controller

• • DMA転送を司る装置. 以下の動作を行う 7.C DMAの手順 ① DMAC のメモリアドレスレジスタ(MAR),アドレスカウンタ(AC)のそれぞれに, CPUが値を書き込みDMA転送開始の指示を送る. ② ③ CPUはバスへのアクセスをやめ,DMACが主導権をもってデータ転送を行う. DMACはアドレスバスにMARの値を書き, 1 回のデータ転送が終わるたびに, MARの値を増やし,ACの値を減らす. ACの値が0になった時点ででDMAは転送を終了し,バスの制御をCPUに戻 す.

7.3

例外処理

7.3.1 例外の要因

7.3.2 例外処理の手順

入出力に伴う割り込みは,例外処理を引き起こす.ここでは 割り込みにとらわれず,一般的な例外処理の説明をする. 7.D 例外処理の手順 ① 例外処理要因が発生したら,CPUはこれを受け付けるかどうかを決める.複数の要 因が重なった場合は優先度が最も高い要因を一つ選択する. ② 受け付けることが決まった場合,実行中プログラムの状態を待避させる.(データレ ジスタ,PC,状態レジスタなどをメモリ上に待避させる.) ③ 例外処理のカーネルプログラムを起動する.カーネルプログラムは,要因に応じて表 7.2の処理を実行する. ④ 処理が終われば,待避させていたレジスタ類を復帰させ,元のプログラムの実行に 戻る.

コンピュータ

本日の講義の範囲

デバイス コントローラ デバイス