マイクロプロセッサ応用(4)

工学部講義
マイクロプロセッサ応用(4)
坂井 修一
東京大学 大学院 情報理工学系研究科 電子情報学専攻
東京大学 工学部 電気工学科
• はじめに
• 講義概要
• 入出力
• 例外処理
マイクロプロセッサ応用
東大・坂井
はじめに

本講義の目的
– マイクロプロセッサのハード・ソフトの基本を実践的に学習する
– 前半:講義
• 坂井 (ソフトの基本:機械語プログラミング)
• 三田先生(ハードの基本)
– 後半:実習


時間・場所:火曜日 8:30 - 10:00、3-31
ホームページ(坂井分:ダウンロード可能)
– url: http://www.mtl.t.u-tokyo.ac.jp/~sakai/micro/

教科書・参考書
– Patterson and Hennessy: Computer Organization and Design:The Hardware/Software
Interface 2nd Ed. (邦訳 「コンピュータの構成と設計」(第2版)日経BP)
マイクロプロセッサ応用
東大・坂井
講義の概要と予定(坂井分)
1.マイクロプロセッサのモデルと命令
2.命令とプログラム
3.アドレス指定方式
4.入出力、例外処理等
入出力、例外処理
5.課題出題
2月15日: 坂井分課題レポート提出期限(仮)
マイクロプロセッサ応用
東大・坂井
4.入出力

入出力
– 外部機器とのデータ交換
• 入力のみ: キーボード、マウス、CD-ROM、スキャナ
• 出力のみ: ディスプレイ、プリンタ
• 入出力: ディスク(IDE, SCSI)、モデム、MO、CD-R、LAN IF

特徴
– (ふつう)非同期
• CPUのクロックに同期して動いているわけではない
– (メモリより)遅い
• 転送レート(MB/s)が低い
• アクセス時間(ms)が長い
– 一度に大量のデータ転送が行われることが多い
マイクロプロセッサ応用
東大・坂井
4.1 入出力操作

入出力操作:データ転送の一種
– 専用命令を設ける場合
• CISC的
• in rs port: port番号で指定された機器からの入力
• out rs port: port番号で指定された機器への出力
– メモリマップ入出力
• RISC的
• 入出力機器にメモリアドレスを割り振る
• load, store命令で入出力を実現
– DMA (Direct Memory Access)
– CPUを介さずにメモリ・入出力機器間でデータを転送す
る方式
マイクロプロセッサ応用
東大・坂井
4.2 ポーリングと割り込み

入出力を起動する2つの方式
– ポーリング (polling)
• CPUが定期的に入出力装置の状態を観察し、適当な状態になって
いたらデータ転送を行う
• 比較的遅い入出力機器に向いた方式:マウスなど
• 得失
– ○例外処理が不要
– ×「観察」にプロセッサの処理時間を使ってしまう
» 何の要求がないときでも!
– 割り込み (interrupt)
• 入出力機器からCPUに直接信号を送り、要求を伝える方法
– CPUには「割り込み」信号線が用意されている
• 得失
– ○本当に必要なときだけCPUが入出力の仕事をする
– ×例外処理のオーバヘッドが生じる
マイクロプロセッサ応用
東大・坂井
4.3 割り込みの機構
CPU
D7-D0
A2-A0
③
INTA: 割込許可
A2-A0: 割込許可
レベル
④ 例外処理ベクタ
デコーダ
INTA
I7
INT2
A2
INT1
A1
INT0
A0
エンコード ②
してCPUへ
IVEC
①
I4
I3
割り込み
発生
I2
I1
優先度付き
エンコーダー
ISEL
I
I5
I0
マイクロプロセッサ応用
IACK
I6
周辺機器
制御装置
0
東大・坂井
4.4 DMA

DMA: Direct Memory Access
– CPUを介さずに入出力機器・メモリの間のデータ転送を
行う
CPU
D
A
②
⑤
①
⑤
④
HLDA
DMA
コントローラ
HOLD
メモリ
周辺機器
制御装置
③
マイクロプロセッサ応用
東大・坂井
DMAの手順
1.
2.
3.
4.
周辺機器制御装置に手順を指示する
DMA制御装置に操作の指示を行う
DMA制御装置がCPUをホールドする
CPUからDMA制御装置に、自分がホールド
したことを知らせる
5. 周辺装置制御装置とメモリの間だけでデー
タ転送
マイクロプロセッサ応用
東大・坂井
5.例外処理

例外の原因
– リセット
– エラー
• バスエラー
• アドレスエラー
– 特権違反
– 命令実行の例外
• 0除算
• オーバフロー
• 未定義命令
– トラップ命令
– 入出力等の割り込み
– トレースモード
マイクロプロセッサ応用
東大・坂井
例外処理の手順
1.
2.
3.
4.
5.
優先度に従ってどの例外を受け付けるか決める
実行中の命令を完了し、現在の環境を待避する
優先度ベクタを受け取り、処理ルーチンを決める
処理ルーチンの実現
復帰
3以後は、サブルーチンの実行と似ているが、一般に
特権モードで実行される点が違っている
マイクロプロセッサ応用
東大・坂井