工学部講義 マイクロプロセッサ応用(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以後は、サブルーチンの実行と似ているが、一般に 特権モードで実行される点が違っている マイクロプロセッサ応用 東大・坂井
© Copyright 2025 ExpyDoc