Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "情報とコンピュータ 静岡大学工学部 安藤和敏 2005.01.17."— Presentation transcript:

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

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

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

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

5 コンピュータアーキテクチャ 命令ポインタ 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) メモリ

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

7 命令取り出し-実行サイクルの例 命令ポインタ 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) メモリ

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

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

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

11 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

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

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

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

15 簡単な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 メモリ

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

17 簡単な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) メモリ

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

19 ジャンプ命令(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) メモリ

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

21 ジャンプ命令(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 メモリ

22 ジャンプ命令(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

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

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

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

26 まとめ 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章)


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

Similar presentations


Ads by Google