情報とコンピュータ 静岡大学工学部 安藤和敏 2005.12.05.

Slides:



Advertisements
Similar presentations
1 B10 CPU を作る 1 日目 解説 TA 高田正法
Advertisements

第8回 今日の目標 §3.1 ソフトウェア 機械語と記憶装置の関係を示せる ソフトウェアの階層を示せる OSの役割を示せる
プログラミング入門 (教科書1~3章) 2005/04/14(Thu.).
計算機システムⅡ 主記憶装置とALU,レジスタの制御
第8回 今日の目標 §3.1 ソフトウェア 機械語と記憶装置の関係を示せる ソフトウェアの階層を示せる OSの役割を示せる
データ構造とアルゴリズム 第10回 mallocとfree
情報システム基盤学基礎1 コンピュータアーキテクチャ編 第2回 命令
情報とコンピュータ 静岡大学工学部 安藤和敏
2012年度 計算機システム演習 第4回 白幡 晃一.
応用情報処理V 第1回 プログラミングとは何か 2004年9月27日.
オリジナルなCPUの開発 指導教授:笠原 宏 05IE063 戸塚 雄太 05IE074 橋本 将平 05IE089 牧野 政道
App. A アセンブラ、リンカ、 SPIMシミュレータ
計算機システムⅡ 命令セットアーキテクチャ
計算機システム ハードウェア編(第3回) ~ ノイマン型コンピュータ ~.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
  【事例演習6】  数式インタプリタ      解 説     “インタプリタの基本的な仕組み”.
応用情報処理V 第1回 プログラミングとは何か 2003年9月29日.
プログラムはなぜ動くのか.
計算機基礎Ⅱ,Ⅲ (指導書 pp. 76~94) 改訂:佐竹 純二 (作成:岡本 吉央).
2016年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
基本情報技術概論(第8回) 埼玉大学 理工学研究科 堀山 貴史
「ソフトウェアのしくみ」.
第7回 2006/6/12.
計算機入門I ハードウェア(1) 計算機のハードウェア構成 ~計算機のハードウェアとは何か~
コンピュータの原理 1E17M053-9 奈良 皐佑 1E17M070-7 師尾 直希        1E17M078-6 渡邊 惇.
システムソフトウェア講義の概要 計算機システムの復習:中央演算処理装置(CPU),プログラムの実行,主記憶装置,補助記憶装置
プログラミング言語入門 手続き型言語としてのJava
勉強会その1    2016/4/ 分35秒 コンピュータアーキテクチャとは? コンピュータの構成 命令の実行.
1.コンピュータと情報処理 p.18 第1章第1節 2.コンピュータの動作のしくみ CPUと論理回路
勉強会その3    2016/5/1 10 8分35秒 データの表現 演算.
システムソフトウェア講義の概要 計算機システムの復習:中央演算処理装置(CPU),プログラムの実行,主記憶装置,補助記憶装置
情報リテラシー2014 part 5/5 (亀田担当分最終回)
コンピュータ系実験Ⅲ 「ワンチップマイコンの応用」 第1週目 アセンブリ言語講座
プログラミング言語入門.
情報とコンピュータ 静岡大学工学部 安藤和敏
コンピュータの基本構成について 1E16M001-1 秋田梨紗 1E16M010-2 梅山桃香 1E16M013-3 大津智紗子
プログラミング基礎a 第1回 ハードウェアとソフトウェア プログラミング総論 ~プログラミング言語とは~
計算機構成 第3回 データパス:計算をするところ テキスト14‐19、29‐35
プログラミング基礎a 第1回 ハードウェアとソフトウェア プログラミング総論 ~プログラミング言語とは~
第5章 計算とプログラム 本章で説明すること ・計算の概観と記述法 ・代表的な計算モデル ・プログラムとプログラム言語.
先週の復習: CPU が働く仕組み コンピュータの構造 pp 制御装置+演算装置+レジスタ 制御装置がなければ電卓と同様
コンピュータアーキテクチャ 第 10 回.
C言語 はじめに 2016年 吉田研究室.
2010年度 情報科学序論 ~ 内部構造と動作の仕組み(2) ~.
情報とコンピュータ 静岡大学工学部 安藤和敏
データ構造とアルゴリズム 第11回 リスト構造(1)
坂井 修一 東京大学 大学院 情報理工学系研究科 電子情報学専攻 東京大学 工学部 電気工学科
Ibaraki Univ. Dept of Electrical & Electronic Eng.
コンピュータアーキテクチャ 第 9 回.
コンピュータアーキテクチャ 第 10 回.
コンピュータアーキテクチャ 第 2 回.
情報基礎Ⅱ (第1回) 月曜4限 担当:北川 晃.
計算機アーキテクチャ1 (計算機構成論(再)) 第一回 計算機の歴史、基本構成、動作原理
2013年度 プログラミングⅠ ~ 内部構造と動作の仕組み(2) ~.
2017年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
コンピュータアーキテクチャ 第 2 回.
第5章 計算とプログラム 本章で説明すること ・計算の概観と記述法 ・代表的な計算モデル ・プログラムとプログラム言語 1.
コンピュータアーキテクチャ 第 5 回.
情報とコンピュータ 静岡大学工学部 安藤和敏
システムソフトウェア講義の概要 計算機システムの復習:中央演算処理装置(CPU),プログラムの実行,主記憶装置,補助記憶装置
第4回 CPUの役割と仕組み2 命令の解析と実行、クロック、レジスタ
コンピュータアーキテクチャ 第 5 回.
コンピュータアーキテクチャ 第 11 回.
情報とコンピュータ 静岡大学工学部 安藤和敏
情報とコンピュータ 静岡大学工学部 安藤和敏
2014年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
情報システム基盤学基礎1 コンピュータアーキテクチャ編
2008年度 情報科学序論 ~ 内部構造と動作の仕組み(2) ~.
6.3 インタプリタ (1)インタプリタ(interpreter)とは
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
Presentation transcript:

情報とコンピュータ 静岡大学工学部 安藤和敏 2005.12.05

9章 マシンアーキテクチャ コンピュータを組み立てよう アーキテクチャ例―P88計算機 P88計算機のプログラミング まとめ

プログラムが実行されるまで Pascalプログラム アセンブリ言語のプログラム 機械語プログラム 電気回路による実行 Z := X + Y コンパイル COPY AX,X ADD AX,Y COPY CN1,AX COPY AX,CN1 COPY Z,AX アセンブリ言語のプログラム 0010110100100 0110101010001 0011001000100 1100100101101 0110110100001 機械語プログラム 電気回路による実行

アセンブリ言語と機械語 アセンブリ言語の命令文と機械語命令文は1対1に対応する. アセンブリ言語 機械語 COPY AX,X 001011100010100 *COPY AX,X * アセンブリ言語の命令文と機械語命令文は1対1に対応する.

コンピュータアーキテクチャ 命令ポインタ IP 10 *COPY AX,X * 11 *ADD AX,Y * 12 *COPY CN1,AX* 命令 命令レジスタ IR 13 *COPY AX,CN1* 14 *COPY Z,AX * 条件フラグ CF 20(X) 7 21(Y) 4 演算レジスタ AX データ 22(Z) 23(CN1) 中央処理装置(CPU) メモリ

命令取り出し-実行サイクル コンピュータは,次の2つのステップを繰返し実行する. (命令取り出し) IPが指定するアドレスに記憶されている命令を取り出し,その命令をIRに入れる.IPの値を1つ増やす. (命令実行) IR にある命令を実行する. この2つのステップを,命令取り出し-実行サイクルという.

命令取り出し-実行サイクルの例 命令ポインタ IP 10 *COPY AX,X * 12 15 13 11 14 10 11 *ADD AX,Y * 命令 命令レジスタ IR 12 *COPY CN1,AX* 13 *COPY AX,CN1* *COPY CN1,AX* *COPY Z,AX * *COPY AX,CN1* *ADD AX,Y * *COPY AX,X * 14 *COPY Z,AX * 条件フラグ CF 20(X) 7 21(Y) 4 演算レジスタAX データ 22(Z) 11 7 11 11 23(CN1) 11 中央処理装置(CPU) メモリ

P88計算機の12種の命令(1) 書式 動作 COPY AX,mem mem番地の内容をAXへコピー COPY mem,AX

P88計算機の12種の命令(2) 書式 動作 ADD AX,mem AX:= AX + mem番地の内容 SUB AX,mem MUL AX,mem AX:= AX * mem番地の内容 DIV AX,mem AX:= AX / mem番地の内容

P88計算機の12種の命令(3) 書式 動作 CMP AX,mem CF:= AX - mem番地の内容 テキストの記述と異なることに注意

if CF >= 0 then IP := lab1 書式 動作 JMP lab1 IP:= lab1 JNB lab1 if CF >= 0 then IP := lab1 JB lab1 if CF < 0 then IP := lab1

P88計算機の12種の命令(5) 書式 動作 IN AX 整数を読み込んでAXへ代入する OUT AX AXの内容を出力する これらの命令はそれぞれPascalのReadln, Writeln文に相当する.

簡単なP88プログラム(1) IN AX OUT AX

簡単なP88プログラム(2) IN AX COPY M1,AX MUL AX,M1 OUT AX

簡単なP88プログラム(2) 命令ポインタ IP 10 *IN AX * 12 10 11 14 13 11 *COPY M1,AX * 命令レジスタ IR 12 *MUL AX,M1 * 命令 13 *OUT AX * *COPY M1,AX * *MUL AX,M1 * *OUT AX * *IN AX * 14 条件フラグ CF 20(M1) 7 演算レジスタAX データ 7 7 49 中央処理装置(CPU) 49 メモリ

簡単なP88プログラム(3) IN AX COPY A,AX COPY B,AX COPY AX,A DIV AX,B OUT AX

簡単なP88プログラム(3) 命令ポインタ IP 10 *IN AX * 12 11 16 13 10 14 15 17 11 *COPY A,AX * 命令レジスタ IR 12 *IN AX * 13 *COPY B,AX * 命令 *COPY A,AX * *IN AX * *COPY B,AX * *COPY AX,A * *OUT AX * *IN AX * *DIV AX,B * 14 *COPY AX,A * 条件フラグ CF 15 *DIV AX,B * 16 *OUT AX * 15 演算レジスタAX 15 20(A) 3 5 15 15 3 データ 3 21(B) 5 中央処理装置(CPU) メモリ

ジャンプ命令(1) L1 ADD AX,A JMP L1

ジャンプ命令(1) 命令ポインタ IP 10(L1) *ADD AX,A * 10 11 11 10 12 11 10 12 11 *JMP L1 * 命令 命令レジスタ IR *JMP L1 * *ADD AX,A * *ADD AX,A * *ADD AX,A * *JMP L1 * 条件フラグ CF 20(A) 7 演算レジスタAX データ 21 14 7 中央処理装置(CPU) メモリ

ジャンプ命令(2) COPY AX,M0 L1 ADD AX,M1 OUT AX CMP AX,M10 JB L1

ジャンプ命令(2) 命令ポインタ IP 10 *COPY AX,M0 * 15 10 12 14 12 13 11 14 13 15 14 11(L1) *ADD AX,M1 * 命令レジスタ IR 12 *OUT AX * 命令 13 *CMP AX,M10* *JB L1 * *OUT AX * *JB L1 * *CMP AX,M10* *OUT AX * *JB L1 * *ADD AX,M1 * *COPY AX,M0 * *ADD AX,M1 * *ADD AX,M1 * *CMP AX,M10* *OUT AX * *CMP AX,M10* 14 *JB L1 * 条件フラグ CF 20(M0) -2 -1 21(M1) 1 演算レジスタAX データ 22(M10) 3 1 3 2 中央処理装置(CPU) 3 2 1 メモリ

ジャンプ命令(3) IN AX COPY M1,AX SUB AX,M1 CMP AX,M1 JB NEXT NEXT COPY AX,M1 OUT AX 命令ポインタ IP 命令レジスタ IR COPY AX,M1 COPY M1,AX JB NEXT SUB AX,M1 OUT AX IN AX CMP AX,M1 条件フラグ CF -10 演算レジスタAX 10 10 10 M1 10 中央処理装置(CPU) 10

アセンブリ言語 COPY, ADD, CMP などの記号化された形で書かれた機械語命令の言語をアセンブリ言語という. 1940年代,1950年代のコンピュータ・プログラムはアセンブリ言語で書かれていた. その後,PascalやCなどのより人間の言葉に近い高水準言語が登場した.現在においては,大規模はプログラムをアセンブリ言語で書く人はいない.

フォン・ノイマン型アーキテクチャ(1) 命令が計算データとともにメモリに記憶され,命令取り出し-実行サイクルを繰り返すCPUを持つコンピュータ(・アーキテクチャ)は,フォン・ノイマン型コンピュータ(アーキテクチャ)と呼ばれる. このアーキテクチャは,数学,物理学,経済学など,様々な分野においてその才能を発揮した天才 John von Neuman (1903-1957) によって,1940年代に考案された. 60年後の現在においても,どんなコンピュータ(パソコンも,スパコン)もノイマン型アーキテクチャに基づいている.

フォン・ノイマン型アーキテクチャ(2) フォン・ノイマン型アーキテクチャが登場する前のコンピュータは,1つの決まった計算(例えば,円周率の計算とか図形の面積の計算など)しかできなかった. なぜならば,プログラムはハードウェアで実現されていたから. ノイマン型アーキテクチャの画期的な点は,プログラムをハードウェアから独立させて,メモリの中に内蔵したことにある.(プログラム内蔵方式) メモリの内容を書き換えれば,1つのコンピュータでいろいろな計算を行うことができる.

まとめ Pascal(第1~4章) Z := (X + Y) 命令取り出し-実行サイクル(第9章) 翻訳(第10章) 命令ポインタ IP 10 *COPY AX,X * 11 11 *ADD AX,Y * 命令レジスタ IR 12 *COPY CN1,AX* 13 *COPY AX,CN1* *COPY AX,X * 14 *COPY Z,AX * 条件フラグ CF アセンブリ言語(第9章) 20(X) 7 21(Y) 4 演算レジスタ AX 22(Z) 7 23(CN1) 命令解読と実行(第6章)