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の処理を実行する. ④ 処理が終われば,待避させていたレジスタ類を復帰させ,元のプログラムの実行に 戻る.
コンピュータ
本日の講義の範囲
デバイス コントローラ デバイス