0 - 岡本研究室

Download Report

Transcript 0 - 岡本研究室

H2:マイクロプロセッサ
岡本 吉央
1
日程
第1回
第2回
イントロダクション
マイクロ動作の理解
基本プログラミング
(2バイト乗算)
第3回
第4回
応用プログラミング
(図形描画)
応用プログラミング
(メロディー出力)
2
コンピュータの利用
ユーザ
入力
どのような仕組みで動
いているのか?
出力
コンピュータ
3
コンピュータ・ハードウェア
入
力
装
置
出
力
装
置
記憶装置
処
理
装
置
4
コンピュータ・ソフトウェア
入
力
装
置
出
力
装
置
記憶装置
ア
プ
リ
ケ
ー
シ
ョ
ン
プ
ロ
グ
ラ
ム
シ
ス
テ
ム
プ
ロ
グ
ラ
ム
処
理
装
置
5
疑問

処理装置 (CPU) はプログラム(≒ソフトウェア)を
どのように解釈しているのか?
高級言語による
プログラム
機械語による
プログラム
6
(今のところの) 回答

コンパイラ,アセンブラと呼ばれる
プログラムを変換するプログラムを使う
コ
ン
パ
イ
ラ
高級言語による
プログラム
ア
セ
ン
ブ
ラ
アセンブリ言語に
よるプログラム
機械語による
プログラム
7
ことばの整理:機械語
CPUが直接理解し実行できる言語のこと
 プログラムは0と1の列から構成される
 CPUごとに異なる

コ
ン
パ
イ
ラ
高級言語による
プログラム
ア
セ
ン
ブ
ラ
アセンブリ言語に
よるプログラム
機械語による
プログラム
8
ことばの整理:高級言語
人間が使いやすいプログラミング言語
 C,C++,Java,Perlなど
 CPUごとに異ならない

コ
ン
パ
イ
ラ
高級言語による
プログラム
ア
セ
ン
ブ
ラ
アセンブリ言語に
よるプログラム
機械語による
プログラム
9
ことばの整理:アセンブリ言語
機械語を人間にわかりやすくした言語
 命令が機械語と (ほぼ) 1 対 1 に対応
 CPUごとに異なる

コ
ン
パ
イ
ラ
高級言語による
プログラム
ア
セ
ン
ブ
ラ
アセンブリ言語に
よるプログラム
機械語による
プログラム
10
ことばの整理:コンパイル

高級言語によるプログラムを
アセンブリ言語によるプログラムに
(または機械語によるプログラムに)
翻訳すること
コ
ン
パ
イ
ラ
高級言語による
プログラム
ア
セ
ン
ブ
ラ
アセンブリ言語に
よるプログラム
機械語による
プログラム
11
ことばの整理:アセンブル

アセンブリ言語によるプログラムを
機械語によるプログラムに
翻訳すること
コ
ン
パ
イ
ラ
高級言語による
プログラム
ア
セ
ン
ブ
ラ
アセンブリ言語に
よるプログラム
機械語による
プログラム
12
ことばの整理:逆アセンブル

機械語によるプログラムを
アセンブリ言語によるプログラムに
翻訳すること
コ
ン
パ
イ
ラ
高級言語による
プログラム
逆
ア
セ
ン
ブ
ル
アセンブリ言語に
よるプログラム
機械語による
プログラム
13
この実験の流れ
1.
アセンブリ言語によるプログラミング
2.
作成したプログラムのアセンブル
(手作業)
3.
実行
14
コンピュータ・ソフトウェア
入
力
装
置
出
力
装
置
記憶装置
ア
プ
リ
ケ
ー
シ
ョ
ン
プ
ロ
グ
ラ
ム
シ
ス
テ
ム
プ
ロ
グ
ラ
ム
処
理
装
置
15
この実験で用いるハードウェア
KUE-CHIP2
 教育用の8ビットマイクロプロセッサ


マイクロプロセッサ ≒ CPU
16
KUE-CHIP2の構造 (p. 14,図1)
17
KUE-CHIP2の各部:バス
入力バス:入力部分とCPU内部を結ぶ
 出力バス:出力部分とCPU内部を結ぶ

18
KUE-CHIP2の各部:ALU
Arithmetic and Logic Unitの略
 演算論理装置
 算術演算,論理演算,アドレスの計算を
行なう

19
KUE-CHIP2の各部:ACC
アキュムレータ (accumulator)
 演算に利用するレジスタ.8ビット
 演算対象,演算結果を保持

20
KUE-CHIP2の各部:IX
インデックスレジスタ (index register)
 演算に利用するレジスタ.8ビット
 演算対象,演算結果を保持


修飾アドレス指定のときのアドレス修飾
にも使用
21
KUE-CHIP2の各部:FLAG
フラグレジスタ (flag register)
 演算・シフト結果により変化.4ビット

0
0
0
0
CF
VF NF ZF
桁上がりフラグ
桁あふれフラグ
負フラグ
ゼロフラグ
22
KUE-CHIP2の各部:PC
プログラムカウンタ (program counter)
 次に実行する命令のメモリ上での
アドレスを保持.8ビット

23
KUE-CHIP2の各部:MAR

メモリアドレスレジスタ

メモリ操作の対象とするアドレスを保持.
8ビット
24
KUE-CHIP2の各部:IR
命令レジスタ
 メモリから読み出した命令を保持.
8ビット

25
KUE-CHIP2の各部:内部メモリ
512バイト.バイト単位の番地指定
 プログラム領域:0~255番地
プログラムまたはデータの格納
 データ領域:256番地~511番地
データの格納

26
KUE-CHIP2でのプログラミング

独自のアセンブリ言語で行なう
プログラムはメモリのプログラム領域に
置かれる (プログラム内臓方式)
 0番地に置かれた命令から順番に
実行される

27
KUE-CHIP2のアセンブリ言語
命令:1バイトか2バイト
 命令の種類:p16,表1を参照
 言語仕様:附録Aを参照

28
プログラム例 (p23,リスト2)
アドレス
データ
命令
00:
0110
001-
0000
02:
0001
0---
OUT
03:
0100
0111
RLL
04:
0011
0000
0000
0001 LD
0010 BA
オペランド
ACC, 01h
ACC
02h
「01」という値をACCに格納する
常に02番地へ戻る
ACCの内容を論理左回転し,ACCに入れる
ACCの内容を出力バッファ(OBUF)に出力する
機械語による
アセンブリ言語による
プログラム
プログラム
アセンブラ
29
アセンブルの方法 (1/4)
p29,A.2 命令セットを参照
 「LD ACC,01h」のアセンブル

0 1 1 0 0 0 1 - 0 0 0 0 0 0 0 1
A
Rsm A
0 =1 0:ACC
0 0
B
A
LD
A
0 =1 1:IX
1 0
A
ST
0
1
1
1
A
SBC 1
0
0
0
A
B = 000:ACC
1 sB =m 000:IX
× Rotate sm
BB = 01-:即値
○ LoaD
BB = 100:直接
◎ STore(P)
BB = 101:直接
○ SuB with
(D) Carry
B = 110:修飾 (P)
B = 111:修飾 (D)
30
アセンブルの方法 (2/4)
p29,A.2 命令セットを参照
 「OUT」のアセンブル

0 0 0 1 0 - - 0
1
0
1
-
- -
-
×
OUT 0
0
0
1
0
- -
-
× OUTput
IN
0
0
0
1
1
- -
-
× INput
RCF 0
0
1
0
0
- -
-
× Reset CF
31
アセンブルの方法 (3/4)
p29,A.2 命令セットを参照
 「RLL ACC」のアセンブル

0 1 0 0 0 1 1 1
A
Rsm A
0 =
1 0:ACC
0 0 00
RA
LD A
0 =
1 1:IX
1 0 01
LA
s m
ARight
1 sArithmetically
m × Rotate sm
ALeft Arithmetically
B
○ LoaD
ST
0 RL
1 1 1 10 ARight BLogically
◎ STore
SBC 1 LL
0 0 1 01 ALeft Logically
B
○ SuB with Carry
32
アセンブルの方法 (4/4)
p29,A.2 命令セットを参照
 「BA 02h」のアセンブル

0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0
c c
- - × Reset CF
00 0- Always
- × Set CF
01 0- on- oVerFlow
RCF 0A 0 01 00
SCF 0VF 0 11 00
Bcc 0NZ 0 01 01 0 1c onc Not ◎
Branch cc
Zero
Ssm 0Z 1 10 00 0A 10 ons Zero
m × Shift sm
33
プログラム例 (p23,リスト2)
アドレス
データ
命令
00:
0110
001-
0000
02:
0001
0---
OUT
03:
0100
0111
RLL
04:
0011
0000
0000
0001 LD
0010 BA
オペランド
ACC, 01h
ACC
02h
「-」は0か1で置き換える (どちらでもよい)
34
プログラム例 (p23,リスト3)
アドレス
データ
命令
00:
0110
0010
0000
02:
0001
0000
OUT
03:
0100
0111
RLL
04:
0011
0000
0000
0001 LD
0010 BA
オペランド
ACC, 01h
ACC
02h
アセンブル完了
35
プログラムの実行

第2.5節に沿って行なう (p.21~25)

注意:
実行前にはRESETを押すこと

全員行なったら次の説明...
36
今日の実験内容
命令がどのように実行されているか
理解する
 フラグの働きを理解する

37
命令はどのように実行されるか?
クロックに沿って実行
 クロック1周期分 → 1つの実行フェーズ


KUE-CHIP2での命令の実行:
各命令は3から5フェーズで実行
P0,P1:各命令共通
 P2以降:各命令相違

p17,表2を参照
38
各フェーズの動作:P0
メモリのプログラム領域から
次に実行する命令を取り出す準備
 次に実行する命令の場所は
PC (プログラムカウンタ) が示す
 実際の動作:



(PC)→MAR
PC++
PCの内容をMARに転送
PCの内容を1増やす
39
各フェーズの動作:P1
命令を読み込む
 実際の動作:


(Mem)→IR:
MARの内容を番地とするメモリの
内容が命令レジスタに転送される
40
各フェーズの動作:P2
命令レジスタに読み込んだ命令を
命令デコーダが解読し,
命令に応じた処理を行なう
 2バイト命令であると分かった場合,
命令の2バイト目を読む準備をする

p17,表2を参照
41
実際に見てみる:リスト1
アドレス
データ
(p 18)
ラベル
命令
オペランド
D1:
EQU
80h
D2:
EQU
81h
ANS:
EQU
82h
00:
64
80
LD
ACC,[D1]
02:
B4
81
ADD
ACC,[D2]
04:
74
82
ST
ACC,[ANS]
06:
0F
HLT
END
80:
03
81:
FD
アセンブル結果の16進表示
プログラムの実行を停止する
メモリ80番地の内容を03とし,
メモリのプログラム領域D2番地の
メモリのプログラム領域D1番地の
メモリのプログラム領域ANS番地に
「D1」を見たら「80h」だと思う
メモリ81番地の内容をFDとする
内容とACCの内容を加算する
内容をACCに格納する
ACCの内容を格納する
(変数宣言,初期化のようなもの)
42
実行のトレース
LD ACC,[D1]
A
p17,表2を参照
B
Bの部分
P0
ACC
IX
LD d
[d]
(d)
P1
P2
P3
P4
(A)→B
(PC)→MAR
PC++
(Mem)→IR
(PC)→MAR
PC++
(Mem)→A
(Mem)→MAR
(Mem)→A
43
実行のトレース
LD ACC,[D1]
00
00
00
00
00
00
000:
001:
002:
...
080:
081:
64
80
B4
03
FD
44
実行のトレース
LD ACC,[D1]
P0: (PC)→MAR, PC++
00
00
00
00
00
01
00
000:
001:
002:
...
080:
081:
64
80
B4
03
FD
45
実行のトレース
LD ACC,[D1]
P1: (Mem)→IR
64
00
00
00
00
01
00
000:
001:
002:
...
080:
081:
64
80
B4
03
FD
46
実行のトレース
LD ACC,[D1]
P2: (PC)→MAR, PC++
64
00
00
00
01
02
00
01
000:
001:
002:
...
080:
081:
64
80
B4
03
FD
47
実行のトレース
LD ACC,[D1]
P3: (Mem)→MAR
64
00
00
00
02
01
80
000:
001:
002:
...
080:
081:
64
80
B4
03
FD
48
実行のトレース
LD ACC,[D1]
P4: (Mem)→A
64
00
00
03
00
02
80
000:
001:
002:
...
080:
081:
64
80
B4
03
FD
49
今日の実験の内容 (1)
フェーズごとの動作 (マイクロ動作) を
実際に追跡 (トレース) する
 リスト1を使用

50
今日の実験内容 (2)

フラグレジスタの働きを理解する

桁上がりフラグ (Carry Flag, CF)


桁あふれフラグ (Overflow Flag, VF)


演算結果に桁あふれが生じると 1
負フラグ (Negative Flag, NF)


演算結果に桁上がりが生じると 1
演算結果が負になると 1
ゼロフラグ (Zero Flag, ZF)

演算結果がゼロになると 1
51
実験課題 3.1 その1

リスト1のプログラムをフェーズ単位で
実行 (シングルフェーズモードを利用)
(1) 2 + 3 = ?
 実行開始から実行終了まで,
観測可能なレジスタ,バスをトレース

(記録用紙は配布)
52
実験課題 3.1 その2

リスト1のプログラムをフェーズ単位で
実行 (シングルフェーズモードを利用)
(2)~(6)
 ADD開始前からADD終了後まで,
フラグレジスタのみをトレース
 負の数は「2の補数」によって表現

53
実験課題 3.1 その3
リスト1のプログラムの
ADD命令をADC命令に変更
 指導書にない課題
 (2)~(6)
 ADC開始前からADC終了後まで,
フラグレジスタのみをトレース

54
実験課題3.1
注意

「6」と「b」の読み間違いに注意

負の数には「2の補数表現」を用いる

「64」は何と読む?
55
実験課題 3.1

(1)


実行開始から実行終了まで,
観測可能なレジスタ,バスをトレース
(2)~(6)
ADD開始前からADD終了後まで,
フラグレジスタのみをトレース
 ADD命令をADC命令に変更して,
ADC開始前からADC終了後まで,
フラグレジスタのみをトレース

56
2の補数表現

8ビットで数を表現する場合
45

-45は?
0 0 1 0 1
1 0 1
-45の8ビットにおける2の補数表現
1
-45

(負の数の表現法)
1 0 1 0 0 1
1
実際足すと?
1 0 0 0 0 0 0 0 0
57
第1回のまとめ
58
ADD命令とADC命令の違い
ADD命令:加算命令.CFを考慮しない
 ADC命令:加算命令.CFを考慮する

「CFを考慮する」とは…
 演算結果によって,CFを変更する
 CFが1であるとき,加算結果に1を足す
59
レポートでの必須検討事項
(p. 26参照)
(1)について
 各命令の各フェーズでの動作を
指導書 p. 16~20 に倣って
図とことばの両方を使ってまとめること
(2)~(6)について
 実験結果から,フラグレジスタの働き,
および,ADD命令とADC命令の違いを
まとめること
60
レポートの作成補助
(1)について
 p19, 20のような図のファイルを
以下の手段で入手可能

インターネット経由:
http://www.algo.ics.tut.ac.jp/~okamotoy/
lect/H2/
大学ページ→教員紹介→情報工学系→岡本吉央→
研究室Web→Teaching→Micro-Processors

メモリスティックで直に
61
次回
実験課題3.2 乗算プログラムの作成
 符号無し2バイト精度の2数の積
 格納する番地は指導書の指示通りで
なくても可
 演算結果は2バイトに収まると仮定


必須の予習:プログラムの作成と
アセンブル
62
符号無し2バイトどうしの乗算
0 0 0 0 0 0 1 1
1 0 1 0 1 0 1 1
× 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
1 0 0 0 0 1 1 1
1 0 1 1 0 1 1 1
1バイト = 8ビット
63
第2回
実験課題3.2 乗算プログラムの作成
 符号無し2バイト精度の2数の積
 格納する番地は指導書の指示通りで
なくてもよい
 演算結果は2バイトに収まると仮定する


必須の予習:プログラムの作成と
アセンブル
64
補足:アドレシング・モード
アドレシング:オペランドの表現
 KUE-CHIP2のアドレシング・モード

(p. 27~29参照)
ACC,IX:ACC,IXの内容がデータ
 即値:オペランドそのものがデータ
 直接:オペランドがメモリのアドレス
そのアドレス上の内容がデータ
 修飾:「オペランド+IXの内容」が
メモリのアドレス
そのアドレス上の内容がデータ

65
第2回
実験課題3.2 乗算プログラムの作成
 符号無し2バイト精度の2数の積
 格納する番地は指導書の指示通りで
なくても可
 演算結果は2バイトに収まると仮定


必須の予習:プログラムの作成と
アセンブル
66
進め方
最低,グループで1つは以下を行なう
 作成したプログラムの入力
 プログラムを確認するため
ホワイトボードの(1)~(4)を計算
 それらが正しく計算できたら
(A)と(B)を計算.実行時間を計測


ホワイトボードに実行時間とプログラム
のメモリ消費量(単位:バイト)を記入
67
終わり方

16:00になったら
「今日のまとめ」と「次回の説明」を
終わったグループはこれで終了
 終わっていないグループは続行

68
第2回のまとめ
69
第2回の必須検討事項 (p. 26参照)
今日用いたプログラムのリストと
フローチャートを載せてプログラムの
説明
 他のグループのプログラムと比較

論点1:実行時間
 論点2:プログラムのメモリ消費量

注意:他グループのプログラムは掲載不要だが,
簡単な説明は記述
70
第2回の必須検討事項 (続)

プログラムの実行時間の算定
p. 17表2 から 各命令のフェーズ数特定
 1フェーズ = 1クロック周期
 クロック周波数 = 100 Hz
 ∴ プログラム実行時間を理論的に算出可能
(1) 実行時間を決めるパラメータを特定
(2) 実行時間を与える公式を導出
(3) 公式からA,Bの実行時間理論値を算出
(4) 理論値と観測値の比較

71
第3回の説明:内容
(p. 25)
3.3 オシロスコープへの文字の出力
必須の予習:プログラムの作成と
アセンブル
 3.4(1) メロディーの出力
予習:軽く目を通してくる
(細かい説明は次回)
推奨:電卓持参

72
オシロスコープへの文字の出力

出力バッファにDAコンバータを付けて
出力信号をオシロスコープへ
DAコンバータ:
ディジタル信号をアナログ信号に
変換する回路
1101
DAコンバータ
13
73
取り付けるDAコンバータの機能
出力バッファの8ビットの中の
上位4ビットを x座標
下位4ビットを y座標 とする
 x座標の取れる範囲は 0h~Fh
 y座標の取れる範囲は 0h~Fh

74
オシロスコープへの出力
LD ACC, 6Bh
OUT
F
B
0
0
6
F
75
オシロスコープへの出力
LD ACC, 6Bh
OUT
F
B
点を1つずつ表示
 続けて表示すれば
全てが同時に
表示されるように
見える

0
0
6
F
76
注意点
1.
1つの点は「・」として表示され
「■」として表示されないので注意
2.
ずっと表示されるようにすること
(プログラムの図形表示部分は
停止しないループ内に来る)
3.
オシロスコープの残像に注意
77
表示する文字・図形について
「A」以外の文字でもよい
 図形でもよい


注意:適度に複雑なものを選ぶこと
78
余力がある場合

文字・図形を動かしてみる(右から左に)
79
メロディーの出力(1)

予習:付録B.1 (p. 30) を軽く読む

推奨:電卓持参
80
第3回
3.3 オシロスコープへの文字の出力
必須の予習:プログラムの作成と
アセンブル
 3.4(1) メロディーの出力
予習:軽く目を通してくる
(細かい説明は後ほど)
推奨:電卓持参

81
注意
使用するDAコンバータは
とても壊れやすいので,
大事に扱うこと
(むやみに触らない)
 特に,取り付け部分周辺の
配線に注意
 取り付けも取り外しも
教員・TAが行ないます

82
進め方
14:30終了を目処に
 グループで最低1つは実行
 オシロスコープの
チャンネル1 → 赤
チャンネル2 → 青
グラウンド → 黒
と接続


14:30頃に次の説明を
83
メロディーの出力

KUE-CHIP2から波を出力し
スピーカから音を出す
今日:音を出す仕組みの基礎
 次回:メロディー出力プログラムの実行

84
音とは??
音は空気の振動 (波)
 音の三要素

大きさ
 高さ
 音色

←波の振幅の大きさ
←波の周波数の高さ
←波の形
85
音を出す原理

KUE-CHIP2→DAコンバータ→スピーカ

スピーカ:
電気信号を音(空気振動)に変換する装置
86
作る波

方形波 (矩形波):長方形の波
波の周期 T (秒)
On
Ta (秒) Tb (秒)

Off
T = Ta + Tb
87
音を出すプログラム (リスト4
p. 31)
アドレス
ラベル
命令
オペランド
クロック数
00:
L0:
LD
ACC, 0xFF
4
02:
OUT
03:
LD
4
波のOn部
を作る
4
4
SUB
ACC, a
ACC, 0x01
07:
BNZ
L1
4
09:
LD
ACC, 0x00
4
05:
0B:
L1:
OUT
0C:
自分で
決める
0E:
L2:
10:
12:
LD
4
4
SUB
ACC, b
ACC, 0x01
BNZ
BA
L2
L0
4
4
4
波のOff部
を作る
88
作る波:長さ

方形波 (矩形波):長方形の波
波の周期 T (秒)
On
Ta (秒) Tb (秒)

Off
Ta = (12+8a)T0,Tb = (16+8b)T0
(ただし,T0 = クロック周期
89
実験内容 3.4(1) p. 26

(a) オシロスコープによるクロック周期
の確認
スイッチCLKを中立に
 ダイヤルCLKFRQの「0」~「8」の周波数
を測定
 信号はコネクタJP3より出力

90
実験内容 3.4(1) p. 26

(b) リスト4のa,bを設定
出力する音の周波数:440Hz (ラ)
 最適な
クロック周期T0,a,bを定める (計算)

91
実験内容 3.4(1) p. 26

(c) 440Hzの音の出力
リスト4の入力
 CLKFRQの設定
 DAコンバータを通してスピーカから出力


出力音が440Hz (誤差±1%) であることを
確認
92
第3回のまとめ
93
第3回の必須検討事項 (p. 26参照)
(3) オシロスコープによる文字の出力
 プログラムのリストを載せて,
プログラムの特徴を説明

注:「他のグループとの美しさの比較」
は不要
94
第3回の必須検討事項 (p. 26参照)
(4) メロディーの出力
(a) 誤差±1%の確認
 どのように最適なa, bを計算したか?
計算過程も記述すること
 どのように確認を行なったか?
実際に誤差を計算すること
 他の方法も考えられるか
95
第3回の必須検討事項 (p. 26参照)
(4) メロディーの出力
(b) 精度を上げるための対策
 KUE-CHIP2だけで対処する場合
(ソフトウェア上,プログラム上の工夫)

そうでなくてもよい場合
(ハードウェア上の工夫)
96
次回の説明
3.4(2) メロディーの出力
 簡単なメロディーを出力させる
 必須の予習:プログラムの作成と
アセンブル
 参考:付録B.2とリスト5 (p. 31~32)
 注意:リスト5は内容を理解してから
参考にすること
97
諸注意
メロディーの出力は無限に繰り返すこと
 p. 32表4「音階の周波数」を参考に


1オクターブ違う音 → 周波数が2倍違う
「休符」はどのように?
(音を出すのは簡単.出さないのは?)
 同じ音が続くと1つの長い音に聞こえる
→対策が必要

98
第4回
3.4(2) メロディーの出力
 簡単なメロディーを出力させる
 必須の予習:プログラムの作成と
アセンブル
 参考:付録B.2とリスト5 (p. 31~32)
 注意:リスト5は内容を理解してから
参考にすること
99
進め方
グループで最低1つは実行
 DAコンバータの取扱いに注意
 できたグループから終了

100
まとめ
必須検討事項 (p. 26)
(4)(c) 各自のデータ表現の特徴
 プログラムのリストを載せて,説明
データ表現:
 CPUが理解できる表現
 01の列としての表現
例えば,「楽譜」は人間に理解できるよう
にメロディーを表現している
101
まとめ
必須検討事項 (p. 26)
(4)(d) 作成したメロディー出力法は
他のCPUにも流用できるか?
他のCPUの例を1つ挙げて考察
 挙げたCPUの実行命令フェーズを調べ,
それを踏まえて考察

(4)(e) 省略 (必須ではない)
102
まとめ
必須検討事項 (p. 26)
(5) 自分が最もよく使用しているCPU
(または,有名なCPU) について
そのアーキテクチャを調べてまとめる
 以下は (この課題での) 重要項目
レジスタ,命令セット,メモリ空間の特徴
は何か?
 乗算命令はどのように実行されているか?

103
全体のまとめ
104
人間と機械の橋渡し

橋渡し = インタフェース
コ
ン
パ
イ
ラ
高級言語による
プログラム
ア
セ
ン
ブ
ラ
アセンブリ言語に
よるプログラム
機械語による
プログラム
105
さらに勉強するために
•これらは直接関係
実験 3学期
するもの
 コンパイラの作成
•間接的な関係にも
 CPUの論理設計
気を配って
講義
 計算機構成論I (3年1学期)
 システム・プログラム論 (3年3学期)
 言語処理系論 (3年3学期)
 計算機構成論II (4年1学期)
106
H2:マイクロプロセッサ
岡本 吉央
107