CS2-11

Report
計算機システムⅡ
入出力と周辺装置
和田俊和
講義計画
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. プライオリティエンコーダは,
これらの中から優先度の
最も高いものを選び,それ
をエンコードしてCPUに送
る.
3. 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の処理を実行する.
④ 処理が終われば,待避させていたレジスタ類を復帰させ,元のプログラムの実行に
戻る.
本日の講義の範囲
コンピュータ
デバイス
コントローラ
デバイス

similar documents