110 likes | 233 Views
工学部講義. マイクロプロセッサ応用 (4). はじめに 講義概要 入出力 例外処理. 坂井 修一 東京大学 大学院 情報理工学系研究科 電子情報学専攻 東京大学 工学部 電気工学科. はじめに. 本講義の目的 マイクロプロセッサのハード・ソフトの基本を実践的に学習する 前半:講義 坂井 (ソフトの基本:機械語プログラミング) 三田先生(ハードの基本) 後半:実習 時間・場所: 火曜日 8 :30 - 10:00、3-31 ホームページ (坂井分:ダウンロード可能)
E N D
工学部講義 マイクロプロセッサ応用(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 IACK I ISEL IVEC I6 INT2 A2 I5 INT1 A1 ① I4 INT0 A0 ② I3 割り込み 発生 エンコード してCPUへ 周辺機器 制御装置 I2 I1 0 I0 優先度付き エンコーダー 東大・坂井
4.4 DMA • DMA: Direct Memory Access • CPUを介さずに入出力機器・メモリの間のデータ転送を行う CPU D A ① ⑤ ② ⑤ ④ HLDA DMA コントローラ 周辺機器 制御装置 メモリ HOLD ③ 東大・坂井
DMAの手順 • 周辺機器制御装置に手順を指示する • DMA制御装置に操作の指示を行う • DMA制御装置がCPUをホールドする • CPUからDMA制御装置に、自分がホールドしたことを知らせる • 周辺装置制御装置とメモリの間だけでデータ転送 東大・坂井
5.例外処理 • 例外の原因 • リセット • エラー • バスエラー • アドレスエラー • 特権違反 • 命令実行の例外 • 0除算 • オーバフロー • 未定義命令 • トラップ命令 • 入出力等の割り込み • トレースモード 東大・坂井
例外処理の手順 • 優先度に従ってどの例外を受け付けるか決める • 実行中の命令を完了し、現在の環境を待避する • 優先度ベクタを受け取り、処理ルーチンを決める • 処理ルーチンの実現 • 復帰 3以後は、サブルーチンの実行と似ているが、一般に 特権モードで実行される点が違っている 東大・坂井