坂井 修一 東京大学 大学院 情報理工学系研究科 電子情報学専攻 東京大学 工学部 電気工学科

Slides:



Advertisements
Similar presentations
CPU設計と パイプライン.
Advertisements

計算機システムⅡ 主記憶装置とALU,レジスタの制御
CPU実験 第1回中間発表 4班 瀬沼、高橋、津田、富山、張本.
情報システム基盤学基礎1 コンピュータアーキテクチャ編 第2回 命令
Ibaraki Univ. Dept of Electrical & Electronic Eng.
坂井 修一 東京大学 大学院 情報理工学系研究科 電子情報学専攻 東京大学 工学部 電気工学科
坂井 修一 東京大学 大学院 情報理工学系研究科 電子情報学専攻 東京大学 工学部 電気工学科
コンピュータ系実験Ⅲ 「ワンチップマイコンの応用」 第2週目
コンピュータの主役はCPU(Central Processing Unit)
2012年度 計算機システム演習 第4回 白幡 晃一.
オリジナルなCPUの開発 指導教授:笠原 宏 05IE063 戸塚 雄太 05IE074 橋本 将平 05IE089 牧野 政道
App. A アセンブラ、リンカ、 SPIMシミュレータ
2006年度 計算機システム演習 第4回 2005年5月19日.
第4回目 2006/05/08.
ソフトウェアとのインターフェース.
計算機システムⅡ 命令セットアーキテクチャ
Ibaraki Univ. Dept of Electrical & Electronic Eng.
プロセッサ設計教育のための 命令セット・スーパースカラシミュレータの試作と評価
プログラムはなぜ動くのか.
計算機基礎Ⅱ,Ⅲ (指導書 pp. 76~94) 改訂:佐竹 純二 (作成:岡本 吉央).
高性能コンピューティング論2 第1回 ガイダンス
第3回 CPUの管理と例外処理 OSによるハードウェアの管理 CPUの構成、動作 CPUの管理 例外処理、割り込み処理 コンテキストスイッチ
第5回 CPUの役割と仕組み3 割り込み、パイプライン、並列処理
2016年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
基本情報技術概論(第8回) 埼玉大学 理工学研究科 堀山 貴史
「ソフトウェアのしくみ」.
第7回 2006/6/12.
第3回目 2006/05/01.
2012年度 計算機システム演習 第6回 福田 圭祐.
アドバンスト コンピュータ アーキテクチャ 五島.
計算機システム 第1回 2006/04/22.
・ディジタル回路とクロック ・プロセッサアーキテクチャ ・例外処理 ・パイプライン ・ハザード
アドバンスト コンピュータ アーキテクチャ RISC と 命令パイプライン
1.コンピュータと情報処理 p.18 第1章第1節 2.コンピュータの動作のしくみ CPUと論理回路
勉強会その3    2016/5/1 10 8分35秒 データの表現 演算.
計算機システム 第2回 2011/05/02(月) 「コンピュータ・アーキテクチャへのいざない」
コンピュータ系実験Ⅲ 「ワンチップマイコンの応用」 第1週目 アセンブリ言語講座
第6回 6/4/2011 状態遷移回路とシングルサイクルCPU設計
電子計算機工学 Keiichi MIYAJIMA Computer Architecture
ディジタル回路の設計と CADによるシステム設計
計算機構成 第2回 ALUと組み合わせ回路の記述
コンピュータアーキテクチャ 第 7 回.
計算機構成 第5回 RISCの命令セットアーキテクチャ テキスト第4章
情報とコンピュータ 静岡大学工学部 安藤和敏
先週の復習: CPU が働く仕組み コンピュータの構造 pp 制御装置+演算装置+レジスタ 制御装置がなければ電卓と同様
09. メモリ・ディスアンビギュエーション 五島 正裕.
坂井 修一 東京大学 大学院 情報理工学系研究科 電子情報学専攻 東京大学 工学部 電気工学科
Ibaraki Univ. Dept of Electrical & Electronic Eng.
コンピュータアーキテクチャ 第 9 回.
コンピュータアーキテクチャ 第 2 回.
コンピュータアーキテクチャ 第 4 回.
情報基礎Ⅱ (第1回) 月曜4限 担当:北川 晃.
計算機アーキテクチャ1 (計算機構成論(再)) 第一回 計算機の歴史、基本構成、動作原理
2017年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
コンピュータアーキテクチャ 第 3 回.
基本情報技術概論(第13回) 埼玉大学 理工学研究科 堀山 貴史
コンピュータアーキテクチャ 第 2 回.
コンピュータアーキテクチャ 第 5 回.
計算機アーキテクチャ1 (計算機構成論(再)) 第二回 命令の種類と形式
コンピュータアーキテクチャ 第 4 回.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
プロセッサ設計支援ツールを用いた 独自プロセッサの設計
コンピュータアーキテクチャ 第 9 回.
コンピュータアーキテクチャ 第 3 回.
コンピュータアーキテクチャ 第 5 回.
ca-9. 数の扱い (コンピュータアーキテクチャとプロセッサ)
2014年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
情報システム基盤学基礎1 コンピュータアーキテクチャ編
6.3 インタプリタ (1)インタプリタ(interpreter)とは
情報システム基盤学基礎1 コンピュータアーキテクチャ編
Presentation transcript:

坂井 修一 東京大学 大学院 情報理工学系研究科 電子情報学専攻 東京大学 工学部 電気工学科 工学部講義 マイクロプロセッサ応用(2) 坂井 修一  東京大学 大学院 情報理工学系研究科 電子情報学専攻 東京大学 工学部 電気工学科 はじめに 講義概要 RISCとCISC さまざまな命令 マイクロプロセッサ応用

はじめに 本講義の目的 時間・場所:火曜日 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日: 坂井分課題レポート提出期限(仮) マイクロプロセッサ応用 東大・坂井

2.命令とプログラム 復習 命令:計算機の基本動作を指示するもの プログラム: 命令を並べてひとまとまりの仕事を指示するもの プログラム: 命令を並べてひとまとまりの仕事を指示するもの 命令セット: ある計算機で実行可能なすべての命令の集合 計算機は「命令セット」によって特徴づけられる マイクロプロセッサ応用 東大・坂井

2.1 RISCとCISC マイクロプロセッサの分類 RISC CISC 命令数 少ない 多い 命令形式 一語固定長 可変長 単純 複雑 RISC: Reduced Instruction Set Computer CISC: Complex Instruction Set Computer RISC CISC 命令数 少ない 多い 命令形式 一語固定長 可変長 個々の命令動作 (アドレシングモード) 単純 複雑 レジスタ数 多い 少ない Sun Sparc MIPS R10000 IBM PowerPC Comaq Alpha Intel X86 Motorola M68000 例 マイクロプロセッサ応用 東大・坂井

RISC vs. CISC 歴史的な考察 CISCが先にあった(1960年代頃~) CISCへの反省 RISCの発案と展開 レジスタは高価 命令の種類(特にアドレッシングの種類)は多数あればユーザの要求に応えられると考えられた CISCへの反省 じっさいの計算では、ほとんどが単純な命令 複雑な命令 コンパイラが出力するのが難しい 単純な命令の組合せで実現可能 RISCの発案と展開 1980年代の潮流: Cocke (IBM, Turing Award Winner), Patterson(UCB), Hennessy(Stanford)ら 「RISCはCISCより速い」は真実! IntelにおいてもCISC命令をRISCに解釈し直して実行している マイクロプロセッサ応用 東大・坂井

2.2 命令の分類 算術演算命令 論理演算命令 データ転送命令 条件分岐命令 無条件ジャンプ命令 加算、減算、積算、除算、算術シフト 論理和、論理積、論理シフト データ転送命令 ロード(メモリ→レジスタ)、ストア(レジスタ→メモリ) 条件分岐命令 ~の条件下で分岐(~: =、>、<、≦、≧、≠) 無条件ジャンプ命令 マイクロプロセッサ応用 東大・坂井

2.3 算術演算命令 代表的な算術演算命令 加算 減算 積算 除算 算術シフト add, addu(add unsigned) addi(add immdediate), addiu(add imm. unsign.) 減算 sub, subu 積算 mult, multu 除算 div, divu 算術シフト sla(shift left arithmetic), sra(shift right arithmetic) マイクロプロセッサ応用 東大・坂井

算術演算命令の動作 rd = rs + rtの場合: レジスタ同士の加算 + アセンブリ言語の記述 add rd rs rt IR: Instructioin Register add rs rt rd レジスタ rs ALU + rd 制御の流れ rt データの流れ マイクロプロセッサ応用 東大・坂井

算術演算命令の動作(続き) 例外 正常に結果が出ないとき(に起こす割り込み) 算術演算命令で起こる例外 この他の例外 オーバフロー: 結果の絶対値が大きすぎる 0除算: 除数が0 この他の例外 未定義命令、アンダーフロー(浮動小数点命令で結果が小さすぎるとき)等 マイクロプロセッサ応用 東大・坂井

2.4 論理演算命令 代表的な論理演算命令 論理演算命令の動作 論理積 論理和 論理シフト ビット列操作 算術演算命令の動作と同様 2.4 論理演算命令 代表的な論理演算命令 論理積 and, andi (and immediate) 論理和 or, ori (or immediate) 論理シフト sll (shift left logical), srl (shift right logical) ビット列操作 bsop (bit string operation) 論理演算命令の動作 算術演算命令の動作と同様 マイクロプロセッサ応用 東大・坂井

2.5 データ転送命令 代表的なデータ転送命令 メモリからレジスタへ レジスタからメモリへ レジスタとメモリの間のデータ交換 2.5 データ転送命令 代表的なデータ転送命令 メモリからレジスタへ lw (load word), lh (load half word), lb (load byte) li (load immediate) レジスタからメモリへ sw (store word), sh (store half word), sb (store byte) si (store immediate) レジスタとメモリの間のデータ交換 swp (swapp) 入出力機器からの入力命令 in 入出力機器への出力命令 out (注)入出力機器をメモリマップにして、特別の命令を設けないものもある マイクロプロセッサ応用 東大・坂井

データ転送命令の動作 rd = lw rd from dpl(rs) の場合: 1語ロード アセンブリ言語の記述 lw rd dpl(rs) IR: Instructioin Register メモリ lw rs rd dpl + rs 制御の流れ rd アドレスの流れ データの流れ レジスタ マイクロプロセッサ応用 東大・坂井

2.6 条件分岐命令 代表的な条件分岐命令 条件判定→ジャンプ 条件設定: 条件設定後分岐命令とともに用いる 条件設定後分岐 2.6 条件分岐命令 代表的な条件分岐命令 条件判定→ジャンプ beq(branch on equal), bne(branch on not equal) blt(branch on less than), ble(branch on less than or equal) 条件設定: 条件設定後分岐命令とともに用いる (算術演算命令による条件設定) slt(set on less than), slti(set less than imm.) sltu(set less than unsigned), sltiu(set less than imm. uns.) 条件設定後分岐 jpcc(jump on condition code) マイクロプロセッサ応用 東大・坂井

条件分岐命令の動作 beq rs rt dpl の場合: 等しいときPC相対分岐 IR: Instructioin Register 1 Y N rs = ? + 制御の流れ rt PC: Program Counter アドレスの流れ データの流れ instruction address レジスタ マイクロプロセッサ応用 東大・坂井

2.7 無条件ジャンプ命令 代表的な無条件ジャンプ命令 無条件ジャンプ命令の動作:jr rs の場合 ジャンプ サブルーチンジャンプ 2.7 無条件ジャンプ命令 代表的な無条件ジャンプ命令 ジャンプ j (jump), jr (jump register) サブルーチンジャンプ jal (jump and link), trap 無条件ジャンプ命令の動作:jr rs の場合 jr rs IR: Instructioin Register rs 制御の流れ PC: Program Counter アドレスの流れ instruction address レジスタ マイクロプロセッサ応用 東大・坂井