ppt - 明星大学

Download Report

Transcript ppt - 明星大学

明星大学 情報学科 2010年度後期
コンピュータ設計論
第4回
CPUの役割と仕組み2
命令の解析と実行、クロック、レジスタ
@ DENGINEER
本日 の メニュー
1.命令の解析と実行
2.クロック
3.レジスタ
4.演習
1.命令の解析と実行(1)
CPUの命令実行の仕組み
命令取り出し段階
(fetch cycle)
命令実行段階
(execute cycle)
命令サイクル
1命令
1命令
1命令
1命令
1.命令の解析と実行(2)
命令取り出し段階(fetch cycle)
命令のフェッチ(F)
主記憶装置に格納されている命令コードを
命令レジスタに取り出す
命令の解析(D)
命令レジスタの命令コードを、どんな命令か
命令デコーダによって解析する
プログラムカウンタの更新(A)
解析した命令の長さの分だけ、
プログラムカウンタを加算する
1.命令の解析と実行(3)
命令実行段階(execute cycle)
データの読み出し(R)
解析された命令が必要とするデータを
主記憶装置から読み出す
演算の実行(E)
入力データやレジスタを入力値として
演算回路を動作させて、命令を実行する
実行結果の格納(S)
実行した結果を、必要な場所へ格納したり
出力したりする
1.命令の解析と実行(4)
命令のフェッチ(F)
@
Slow Scan Computer
ADDRESS REGISTER
2
4
2
3
2
2
2
1
2
PROGRAM COUNTER
2
0
4
2
3
2
2
2
1
2
0
INSTRUCTION
MAIN MEMORY
DECODER
JP
MEMORY REGISTER
2
7
2
6
2
5
2
4
2
3
2
2
2
1
2
OVERFLOW
FLAG
0
2
ALU
2
7
2
6
2
7
2
6
7
2
6
2
5
2
4
2
3
2
2
2
5
2
4
2
3
2
2
2
1
2
0
2
1
2
0
WORKING REGISTER
5
2
4
2
3
OUTPUT REGISTER
2
ADD SUB
ACCUMULATOR
2
2
2
1
2
0
INPUT REGISTER
2
1
2
0
2
7
2
6
2
5
2
4
2
3
2
2
LD
STR
RD
WR
SFT
1.命令の解析と実行(5)
命令の解析(D)
@
Slow Scan Computer
ADDRESS REGISTER
2
4
2
3
2
2
2
1
2
PROGRAM COUNTER
2
0
4
2
3
2
2
2
1
2
0
INSTRUCTION
MAIN MEMORY
DECODER
JP
MEMORY REGISTER
2
7
2
6
2
5
2
4
2
3
2
2
2
1
2
OVERFLOW
FLAG
0
2
ALU
2
7
2
6
2
7
2
6
7
2
6
2
5
2
4
2
3
2
2
2
5
2
4
2
3
2
2
2
1
2
0
2
1
2
0
WORKING REGISTER
5
2
4
2
3
OUTPUT REGISTER
2
ADD SUB
ACCUMULATOR
2
2
2
1
2
0
INPUT REGISTER
2
1
2
0
2
7
2
6
2
5
2
4
2
3
2
2
LD
STR
RD
WR
SFT
1.命令の解析と実行(6)
プログラムカウンタの更新(A)
@
Slow Scan Computer
ADDRESS REGISTER
2
4
2
3
2
2
2
1
2
PROGRAM COUNTER
2
0
4
2
3
2
2
2
1
2
0
INSTRUCTION
MAIN MEMORY
DECODER
JP
MEMORY REGISTER
2
7
2
6
2
5
2
4
2
3
2
2
2
1
2
OVERFLOW
FLAG
0
2
ALU
2
7
2
6
2
7
2
6
7
2
6
2
5
2
4
2
3
2
2
2
5
2
4
2
3
2
2
2
1
2
0
2
1
2
0
WORKING REGISTER
5
2
4
2
3
OUTPUT REGISTER
2
ADD SUB
ACCUMULATOR
2
2
2
1
2
0
INPUT REGISTER
2
1
2
0
2
7
2
6
2
5
2
4
2
3
2
2
LD
STR
RD
WR
SFT
1.命令の解析と実行(7)
データの読み出し(R)
@
Slow Scan Computer
ADDRESS REGISTER
2
4
2
3
2
2
2
1
2
PROGRAM COUNTER
2
0
4
2
3
2
2
2
1
2
0
INSTRUCTION
MAIN MEMORY
DECODER
JP
MEMORY REGISTER
2
7
2
6
2
5
2
4
2
3
2
2
2
1
2
OVERFLOW
FLAG
0
2
ALU
2
7
2
6
2
7
2
6
7
2
6
2
5
2
4
2
3
2
2
2
5
2
4
2
3
2
2
2
1
2
0
2
1
2
0
WORKING REGISTER
5
2
4
2
3
OUTPUT REGISTER
2
ADD SUB
ACCUMULATOR
2
2
2
1
2
0
INPUT REGISTER
2
1
2
0
2
7
2
6
2
5
2
4
2
3
2
2
LD
STR
RD
WR
SFT
1.命令の解析と実行(8)
演算の実行(E)
@
Slow Scan Computer
ADDRESS REGISTER
2
4
2
3
2
2
2
1
2
PROGRAM COUNTER
2
0
4
2
3
2
2
2
1
2
0
INSTRUCTION
MAIN MEMORY
DECODER
JP
MEMORY REGISTER
2
7
2
6
2
5
2
4
2
3
2
2
2
1
2
OVERFLOW
FLAG
0
2
ALU
2
7
2
6
2
7
2
6
7
2
6
2
5
2
4
2
3
2
2
2
5
2
4
2
3
2
2
2
1
2
0
2
1
2
0
WORKING REGISTER
5
2
4
2
3
OUTPUT REGISTER
2
ADD SUB
ACCUMULATOR
2
2
2
1
2
0
INPUT REGISTER
2
1
2
0
2
7
2
6
2
5
2
4
2
3
2
2
LD
STR
RD
WR
SFT
1.命令の解析と実行(9)
実行結果の格納(S)
@
Slow Scan Computer
ADDRESS REGISTER
2
4
2
3
2
2
2
1
2
PROGRAM COUNTER
2
0
4
2
3
2
2
2
1
2
0
INSTRUCTION
MAIN MEMORY
DECODER
JP
MEMORY REGISTER
2
7
2
6
2
5
2
4
2
3
2
2
2
1
2
OVERFLOW
FLAG
0
2
ALU
2
7
2
6
2
7
2
6
7
2
6
2
5
2
4
2
3
2
2
2
5
2
4
2
3
2
2
2
1
2
0
2
1
2
0
WORKING REGISTER
5
2
4
2
3
OUTPUT REGISTER
2
ADD SUB
ACCUMULATOR
2
2
2
1
2
0
INPUT REGISTER
2
1
2
0
2
7
2
6
2
5
2
4
2
3
2
2
LD
STR
RD
WR
SFT
2.クロック(1)
クロック信号
システムを順次動作させるための
きっかけとなる同期信号
クロック周波数
1秒間に発生するクロック信号の数
Hz(ヘルツ)
クロック周波数の単位
クロックサイクル時間(クロック周期)
クロック信号が発生する時間の間隔
クロック信号1回分の所要時間でもある
2.クロック(2)
周波数と時間の関係
1周期
1秒
・・・
が 4×10 6個
= 4×10 6 Hz
= 4MHz
4MHz動作時 の 1クロックあたりの実行時間
1
4(MHz)
=
1
4 x 10 6(Hz)
=
0.25 x 10 -6(sec)
=
0.25(μs)
2.クロック(3)
順次動作
1つの命令を取り出して実行
クロックが 数回~十数回 必要
1命令当たり何クロック必要か?
C P I(Clock per Instruction)
2.クロック(4)
Z80CPUの例
この命令の場合は、10クロックなので、
(この命令に限れば)10
CPI となる。
3.レジスタ(1)
CPUの内部にあって、
情報を一時的に記憶するもの。
CPUの内部処理に必要。
それぞれ、専用の役割がある。
3.レジスタ(2)
プログラムカウンタ
次に読み込むべき命令が格納されている メモリの
アドレスを指し示すレジスタ。
アキュムレータ
計算処理をするときに使用されるレジスタ。
フラグレジスタ
計算結果の状態を示すレジスタ。
条件分岐などで参照される。
3.レジスタ(3)
スタックポインタ
サブルーチンからの戻り先アドレスの保存などに利用される
スタック領域の最新のデータの格納アドレスを指し示す
レジスタ。
ベースレジスタ
プログラムやデータを参照する際の、基底となるアドレス
を示すレジスタ。セグメントレジスタと呼ぶ場合もある。
インデックスレジスタ
プログラムやデータを参照する際の、基底からの場所を
示すレジスタ。オフセットレジスタと呼ぶ場合もある。
3.レジスタ(4)
汎用レジスタ
原則として、用途を限定することなく
自由に使うことのできるレジスタ。
命令レジスタ
メモリから読み込んだ、命令に相当するデータを、
どんな命令か解析するためのレジスタ。
通常は、CPUの内部処理でしか参照しないため、
外部からの操作や参照はできない。
@