坂井 修一 東京大学 大学院 情報理工学系研究科 電子情報学専攻 東京大学 工学部 電気工学科 工学部講義 マイクロプロセッサ応用(1) 坂井 修一 東京大学 大学院 情報理工学系研究科 電子情報学専攻 東京大学 工学部 電気工学科 はじめに 講義概要 マイクロプロセッサのモデル フォンノイマン計算機とその動作 命令セットと機械語 マイクロプロセッサ応用
はじめに 本講義の目的 時間・場所:火曜日 8:30 - 10:00、3-31 ホームページ(坂井分:ダウンロード可能) 教科書・参考書 マイクロプロセッサのハード・ソフトの基本を実践的に学習する 前半:講義 坂井 (ソフトの基本:機械語プログラミング) 三田先生(ハードの基本) 後半:実習 時間・場所:火曜日 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.入出力、例外処理等 はじめに、プロセッサのモデル、命令とは何か、命令セット、命令型式、フォンノイマン計算機とその動作、機械語とアセンブリ言語 2.命令とプログラム RISCとCISC、算術論理演算命令、データ移動命令、ジャンプと ブランチ、スタック、サブルーチンコール 3.アドレス指定方式 4.入出力、例外処理等 5.課題出題: 2月15日: 坂井分課題レポート提出期限(仮) マイクロプロセッサ応用 東大・坂井
利用する設備、成績など 設備 成績 実験用ボード:一人一台を貸し出す:TAが担当 PC: 個人用の計算機(+貸し出し) プログラミング+レポート(坂井分) 出題:11月26日予定 提出期限:2月15日 実作+レポート(三田先生) マイクロプロセッサ応用 東大・坂井
TAなど TA 坂井連絡先: sakai@mtl.t.u-tokyo.ac.jp 岡部淳君(電子情報学大学院生)が担当 Mail address : jokabe@mtl.t.u-tokyo.ac.jp 坂井連絡先: sakai@mtl.t.u-tokyo.ac.jp http://www.mtl.t.u-tokyo.ac.jp/~sakai/ マイクロプロセッサ応用 東大・坂井
1.マイクロプロセッサのモデルと命令 マイクロプロセッサ VLSI上に実装されたコンピュータ マイクロプロセッサ 演算実行部 (ALU) レジスタ群 メモリ マイクロプロセッサ マイクロプロセッサ応用 東大・坂井
1.1 マイクロプロセッサの基本動作 マイクロプロセッサ データ移動 レジスタ ← メモリ: 読み出し メモリ ← レジスタ: 書き込み 1.1 マイクロプロセッサの基本動作 データ移動 レジスタ ← メモリ: 読み出し メモリ ← レジスタ: 書き込み レジスタ ←→ 入出力装置 メモリ ←→ 入出力装置 マイクロプロセッサ 演算実行部 (ALU) レジスタ群 メモリ マイクロプロセッサ応用 東大・坂井
マイクロプロセッサの基本動作(続き) マイクロプロセッサ 算術演算 論理演算 分岐命令 加減乗除 AND, OR, NOT, Shift… 無条件ジャンプ、 条件分岐 マイクロプロセッサ 演算実行部 (ALU) レジスタ群 メモリ マイクロプロセッサ応用 東大・坂井
1.2 命令 命令(instruction) 命令セット(instruction set) 命令形式(instruction format) 1.2 命令 命令(instruction) 計算機の基本動作を指示するもの 命令セット(instruction set) 命令の集合 命令形式(instruction format) 命令を表現する形式。2進数で表現する 計算機とは何か? 「命令を次々に解釈実行する機械」 マイクロプロセッサ応用 東大・坂井
1.3 フォンノイマン計算機の動作 フォンノイマン計算機 フォンノイマン計算機の動作 定義 プログラムカウンタ(PC) 1.3 フォンノイマン計算機の動作 フォンノイマン計算機 定義 機械語のプログラムがデータと同じようにメモリに格納されている計算機 機械語プログラム: 命令の列 プログラムカウンタ(PC) 命令の格納されている番地を格納しているレジスタ フォンノイマン計算機の動作 PCの指す命令を読み出す 命令を解釈する 命令を実行する 結果を格納し、PCの値を更新する(通常PC = PC+1) 計算機はフォンノイマン型である必要はないが、現在の商用計算機はすべてこの型である マイクロプロセッサ応用 東大・坂井
1.4 命令形式 MIPS(RISC型計算機の典型:次回解説)の命令形式 R型: I型: J型: 1.4 命令形式 MIPS(RISC型計算機の典型:次回解説)の命令形式 R型: 算術命令:rd <- rs op rt (funcは実行細則。shamtはシフト量) I型: データ転送命令: rt <- (rs + address)等 即値命令: rt <- rs op immediate等 分岐命令: if (rt <=> rs) then PC = PC + address等 J型: PC = target address等 rs rt rd OP shamt func address/immediate OP rs rt target address OP マイクロプロセッサ応用 東大・坂井
1.5 言語とソフトウェア 応用プログラマ 応用プログラム プログラム言語 コンパイラ アセンブラプログラム アセンブリ言語 アセンブラ 1.5 言語とソフトウェア 応用プログラマ 応用プログラム プログラム言語 コンパイラ アセンブラプログラム アセンブリ言語 アセンブラ 機械語プログラム 機械語 ローダ ハードウェア マイクロプロセッサ応用 東大・坂井
アセンブリ言語とアセンブラ、ローダ アセンブリ言語 アセンブラ ローダ 機械語を人間に読みやすい形になおした言語 add rd rs rt, ld rt rs など アセンブラ アセンブリ言語で書かれたプログラムを機械語に翻訳するプログラム ローダ 機械語を実際に実行する形式に修正するプログラム(アドレスの付け替えなどを行う) マイクロプロセッサ応用 東大・坂井