論理回路基礎

Download Report

Transcript 論理回路基礎

論理回路基礎
11. 論理回路からコンピュータへ
五島 正裕
論理回路基礎
今日の内容
 論理回路 と コンピュータ
 プロセッサの例
 試験問題
論理回路基礎
論理回路 と コンピュータ
論理回路基礎
論理回路からコンピュータへ
 コンピュータ = 巨大な順序回路
 原理的には,学習した「順序回路の構成法」に従って設計できる
 実際には,不可能
 コンピュータの状態数:
 主記憶 1GB = 8Gb : 28,000,000,000 ≈ 210
 HD 80GB = 640Gb : …
 状態遷移図?,状態遷移表?
10
≈ 1030
論理回路基礎
構造化
 構造化
 演算器
 メモリ
 制御
 命令 (instruction)
 演算器に対する指示
 どのデータに対して,どんな演算を施すか
 プログラム : 命令列
論理回路基礎
構造化
 構造化
 演算器
 メモリ
 制御
 機能ブロックに分けられる
 機能ブロック間のインタフェースの決定
 個々の機能ブロックの設計

学習した「順序回路の構成法」
論理回路基礎
von Neumann 型コンピュータ
 ノイマン型 (von Neumann-type) コンピュータ
 プログラム格納(内蔵)方式 (stored-program)
 逐次実行方式(プログラム・カウンタ)
 主記憶に格納されたプログラムの命令を,
 遂次 取り出して実行.
 「プログラム 内蔵 方式」
 普通こっちだが,よい訳ではないので…
 フォン・ノイマン・ボトルネック(死語)
 「データに加えて,命令も主記憶から取り出すので…」
論理回路基礎
プログラム格納 (stored-program) 方式
 プログラムを主記憶に格納
 プログラム自体が,操作(演算)の対象に
 プログラムを自ら書き換え可能

実行時書き換え:重要ではない

実行前書き換え:重要!
 ⇒ 真にプログラマブルなコンピュータ
 もし,プログラム内蔵方式でなかったら:
 プログラムを自ら操作することはできない

ロード等のために別の何か(オペレータ?)が必要に…

OS はあり得ない
論理回路基礎
簡単なプロセッサの例
論理回路基礎
プロセッサ
 命令セット・アーキテクチャ (Instruction-Set Architecture : ISA)
 プログラムに対するインタフェース
 どんな命令があり,どういう動作をするか を定めた仕様
 プロセッサは機能ブロックにわけられる
 機能ブロック間のインタフェースの決定
 個々の機能ブロックの設計
論理回路基礎
命令の種類
 数え方にもよるが,数十種くらい.
 ロード/ストア
 演算命令
 算術論理演算 (ALU : Arithmetic Logic Unit)
 シフト
 浮動小数点演算
 制御命令
 分岐 (branch) 命令
:PC 相対
 ジャンプ命令
:絶対
 その他
 システム・コール
 コプロセッサ制御
論理回路基礎
命令フォーマット
op
31
Rs
25
op
31
20
Rs
25
op
31
Rt
Rd
15
Rt
20
func
10
0
immediate
15
0
jump_target
25
op : op code
0
Rs : source reg #
Rt : target reg #
Rd : destination reg #
論理回路基礎
演算命令
 算術論理演算 (ALU, Arithmetic Logic Unit) 命令
 r[Rd] = r[Rs] + r[Rt]
 r[Rt] = r[Rs] + immediate
 シフト命令
 r[Rd] = r[Rs] << shamt
op
31
Rs
25
op
31
Rt
20
Rs
25
Rd
15
Rt
20
shamt func
10
0
immediate
15
0
論理回路基礎
ロード/ストア命令
 ロード命令
 r[Rt] = *(r[Rs] + immediate)
 ストア命令
 *(r[Rs] + immediate) = r[Rt]
op
31
Rs
25
Rt
20
immediate
15
0
論理回路基礎
制御命令
 (条件)分岐命令
 if (cond) PC = PC + immediate
 cond:

R[Rs] == 0, R[Rs] > 0, …

R[Rs] == R[Rt]
op
31
Rs
25
Rt
20
immediate
15
0
論理回路基礎
制御命令
 ジャンプ命令
 PC = PC + jump_target
 ジャンプ命令(レジスタ間接)
 PC = r[Rs]
op
31
Rs
25
op
31
Rt
20
immediate
15
0
jump_target
25
0
論理回路基礎
命令の実行フェーズ
1.
IF
命令フェッチ
2.
ID
命令デコード/レジスタ読み出し
3.
EX
実行
4.
MEM
メモリ・アクセス
5.
WB
レジスタ書き戻し (Write-Back)

名称は歴史的(esp. ID)
100
IF
PC
IR
0
200
ID
Rs
Rt
Reg
File
EX
MEM
WB
DR
MDR
MA MD
100
104
12 8
add 23 1
208
1000
ld
Main Memory
論理回路基礎
実行例
100
ld
r2 = *(r1 + 8)
104
add
r3 = r2 + 1
100
104
IF
PC
IR
ld
0
200
ID
12 8
Rs
Rt
Reg
File
EX
MEM
WB
DR
MDR
MA MD
100
104
12 8
add 23 1
208
1000
ld
Main Memory
104
IF
PC
IR
ld
0
200
ID
12 8
Rs
Rt
Reg
File
200
WB
DR
12 8
add 23 1
208
1000
ld
8
EX
MEM
100
104
MDR
MA MD
Main Memory
104
IF
PC
IR
ld
0
200
ID
12 8
Rs
Rt
Reg
File
200
100
104
12 8
add 23 1
208
1000
ld
8
EX
208
MEM
WB
DR
MDR
MA MD
Main Memory
104
IF
PC
IR
ld
0
200
ID
12 8
Rs
Rt
Reg
File
200
100
104
12 8
add 23 1
208
1000
ld
8
EX
208
MEM
DR
MDR
1000
WB
MA MD
Main Memory
104
IF
PC
IR
ld
ID
0
200
1000
Reg
File
200
12 8
Rs
Rt
100
104
12 8
add 23 1
208
1000
ld
8
EX
208
MEM
DR
MDR
1000
WB
MA MD
Main Memory
104
108
IF
PC
IR
add 23
ID
0
200
1000
Reg
File
1
Rs
Rt
EX
MEM
WB
DR
MDR
MA MD
100
104
12 8
add 23 1
208
1000
ld
Main Memory
108
IF
PC
IR
add 23
ID
0
200
1000
Reg
File
1000
1
Rs
Rt
WB
DR
12 8
add 23 1
208
1000
ld
0
EX
MEM
100
104
MDR
MA MD
Main Memory
108
IF
PC
IR
add 23
ID
0
200
1000
Reg
File
1000
1
Rs
Rt
100
104
12 8
add 23 1
208
1000
ld
1
EX
1001
MEM
WB
DR
MDR
MA MD
Main Memory
108
IF
PC
IR
add 23
ID
0
200
1000
Reg
File
1000
1
Rs
Rt
100
104
12 8
add 23 1
208
1000
ld
1
EX
1001
MEM
DR
MDR
1001
WB
MA MD
Main Memory
108
IF
PC
IR
add 23
ID
0
200
1000
1001
Reg
File
1000
1
Rs
Rt
100
104
12 8
add 23 1
208
1000
ld
1
EX
1001
MEM
DR
MDR
1000
WB
MA MD
Main Memory
論理回路基礎
今日のまとめ
論理回路基礎
今日のまとめ
 論理回路 と コンピュータ
 学習した「順序回路の構成法」に従って設計できない
 構造化

演算器

メモリ

制御
 ノイマン型コンピュータ:プログラム内蔵方式
 プロセッサの例
論理回路基礎
今後の予定
 3/ 2
 試験 (9:00~10:30)
 来年度前期
 「コンピュータ・ハードウェア」 by 坂井先生
論理回路基礎
試験問題
論理回路基礎
問題 1
 用語説明(10点 × 3問)
 5 (?) 問中,3問以上を選択して回答せよ
例えば:

データ・セレクタ

桁上げ先見回路

SRAM と DRAM

プログラム内蔵方式

etc
論理回路基礎
問題 2
 順序回路の設計 (70点)
1. 順序回路の仕様を示す
2. 簡単化する(簡単化後の状態数は,3 か 4)
3. 出力関数,次状態関数を求める
4. それらを簡単化する
5. 回路図を描く
論理回路基礎
問題 3
 電気回路,電子回路を用いない論理回路の,完全(完備)集合を示せ.
 機械式,流体式など
 実現可能性,性能,コストなどは問わない
 加点 <= 30点
 回答例が少ないものほど高得点