Computer
Processor
(active)
Control
Datapath
Memory
(passive)
(dimana
program,
data ada
ketika
dijalankan)
Devices
Input
Output
Kumpulan Register
Register dari sebuah komputer secara
kolektif disebut sebagai kumpulan register
/ register set
Beberapa register mungkin mempunyai
jenis yang sama, yang lainnya mungkin
berbeda
Beberapa register berlaku umum pada
hampir semua komputer
Register Instruksi
Register khusus untuk menyimpan instruksi
Pertama, instruksi di-fetch dari memori dan disimpan
dalam IR kemudian PC ditingkatkan sehingga ia
menunjuk ke instruksi berikutnya
IR M[PC]
PC (PC)+1
M[PC] menunjukkan isi lokasi memori yang ditunjuk oleh
PC.
Sekali instruksi disimpan dalam IR, maka instruksi
tersebut dapat di-decode oleh Control Unit (CU) dan
operasi mikro dapat diaktifkan untuk pelaksanaannya
Register Umum
Untuk menyimpan nilai-nilai sementara
selama pelaksanaan instruksi
Sebuah komputer memiliki sebuah
register prosesor untuk pelaksanaan
instruksi-instruksi, disebut Accumulator
(ACC)
Register Flag
Mengendalikan aliran pelaksanaan pada
CU dan ALU
Address
lines
Memory
bus
Data
lines
PC
Instruction
Decoder
MAR
IR
MDR
R0
Control
Unit
Y
R(n-1)
ALU
control
lines
Add
Sub
ALU
XOR
Carry-in
TEMP
Datapath
Unit
// Fetch instruksi
// Tunjuk ke lokasi instruksi
berikutnya
3. Eksekusi instruksi
Read
MFC
Instruksi:
LD R2,(R1) ; R2 M[R1]
Address
lines
Langkah-langkah:
1.
MAR R1
2.
Read
3.
4.
Data
lines
PC
Instruction
Decoder
MAR
IR
MDR
R1
R2 MDR
R2
Sub
ALU
XOR
Carry-in
TEMP
19
MFC
Instruksi:
ST (R1),R2 ; M[R1] R2
Address
lines
Langkah-langkah:
1.
MAR R1
2.
3.
Data
lines
PC
Instruction
Decoder
MAR
IR
MDR
R1
R2
Sub
ALU
XOR
Carry-in
TEMP
20
Instruksi:
MOV R4,R1
; R4 R1
R1
X
Langkah-langkah:
R1out
R4in
X
1.
Enable output of R1
2.
Enable input of R4
// setting R1out to 1
// setting R4in to 1
R4
X
R4out
21
Instruksi:
ADD R1,R2
Ri
; R1 R1 + R2
X
Riout
Yin
X
Y
X
Yout
Langkah-langkah:
1.
R1out, Yin
2.
3.
Zout, R1in
ALU
Add
Zin
Z
X
Zout
22
23
R1,(R3)
; R1 R1 + M[R3]
Langkah-langkah:
1.
Fetch instruksi
1. PCout, MARin, Read, Clear Y, Set carry-in to ALU, Add, Zin
2. Zout, PCin, WMFC
3. MDRout, IRin
2.
3.
4.
1. Fetch
1.instruksi
PCout, MARin, Read, Clear Y, Set carry-in to ALU, Add, Zin
2.
3.
Address
lines
Data
lines
Control lines
PC
Instruction
Decoder
MAR
IR
MDR
R1
00000000
Y
R3
Add
ALU
PC+1 Carry-in
Z
TEMP
25
2. Fetch operand
#1
4.
R3out, MARin, Read
5.
Address
lines
Data
lines
PC=PC+1
Instruction
Decoder
MAR
IR
MDR
R1
Y
R3
ALU
Z
TEMP
26
3. Lakukan operasi
penjumlahan
6.
Address
lines
Data
lines
PC=PC+1
Instruction
Decoder
MAR
IR
MDR=M[R3]
R1
Y=R1
R3
Add
ALU
Carry-in
Zin
TEMP
27
4. Simpan hasil
penjumlahan
7.
Address
lines
Data
lines
PC=PC+1
Instruction
Decoder
MAR
IR
MDR=M[R3]
R1
Y=R1
R3
ALU
Z=R1+M[R3]
TEMP
28
// PC PC + Offset
// PC PC + Offset
LD
Rd,X
30
; R16 M[X]
Langkah-langkah:
1.
Fetch instruksi
1. PCout, MARin, Read, Clear Y, Set carry-in to ALU, Add, Zin
2. Zout, PCin, WMFC
3. MDRout, IRin
2.
3.
4.
2.
3.
MDRout, IRin
4.
5.
WMFC
6.
Control lines
Read
Instruction
Decoder
PC
Address
lines
Data
lines
Clear Y
PCout
MAR
IR
MARin
MDR
00000000
Y
R16
Add
ALU
1
Set
PC+1 Carry-in
Z
TEMP
Zin
32
2.
3.
MDRout, IRin
4.
5.
WMFC
6.
Control lines
WMFC
PC
Address
lines
Data
lines
Instruction
Decoder
PCin
MAR
IR
MDR
Y
R16
ALU
Z = PC+1
TEMP
Zout
33
2.
3.
MDRout, IRin
4.
5.
WMFC
6.
Address
lines
Data
lines
Control lines
PC+1
Instruction
Decoder
MAR
IR
IRin
MDR
MDRout
Y
R16
ALU
Z
TEMP
34
2.
3.
MDRout, IRin
4.
5.
WMFC
6.
Control lines
Read
Address
lines
Data
lines
PC+1
Instruction
Decoder
MAR
IR
MARin
MDR
X
Xout
Y
R16
ALU
Z
TEMP
35
2.
3.
MDRout, IRin
4.
5.
WMFC
6.
Control lines
WMFC
Address
lines
Data
lines
PC+1
Instruction
Decoder
MAR
IR
MDR
Y
R16
ALU
Z
TEMP
36
2.
3.
MDRout, IRin
4.
5.
WMFC
6.
Address
lines
Data
lines
Control lines
PC+1
Instruction
Decoder
MAR
IR
MDR
MDRout
Y
R16
R16in
ALU
Z
TEMP
37
ADD Rd,Rs
38
R16,R17
Langkah-langkah:
1.
Fetch instruksi
1. PCout, MARin, Read, Clear Y, Set carry-in to ALU, Add, Zin
2. Zout, PCin, WMFC
3. MDRout, IRin
2.
3.
4.
2.
3.
MDRout, IRin
4.
R16out, Yin
5.
6.
Control lines
Read
Instruction
Decoder
PC
Address
lines
Data
lines
Clear Y
PCout
MAR
IR
MARin
MDR
R17
00000000
Y
R16
Add
ALU
1
Set
PC+1 Carry-in
Z
TEMP
Zin
40
2.
3.
MDRout, IRin
4.
R16out, Yin
5.
6.
Control lines
WMFC
PC
Address
lines
Data
lines
Instruction
Decoder
PCin
MAR
IR
MDR
R17
Y
R16
ALU
Z = PC+1
TEMP
Zout
41
2.
3.
MDRout, IRin
4.
R16out, Yin
5.
6.
Address
lines
Data
lines
Control lines
PC+1
Instruction
Decoder
MAR
IR
IRin
MDR
R17
MDRout
Y
R16
ALU
Z
TEMP
42
2.
3.
MDRout, IRin
4.
R16out, Yin
5.
6.
Address
lines
Data
lines
Yin
Control lines
PC+1
Instruction
Decoder
MAR
IR
MDR
R17
Y
R16
R16out
ALU
Z
TEMP
43
2.
3.
MDRout, IRin
4.
R16out, Yin
5.
6.
Address
lines
Data
lines
Control lines
PC+1
Instruction
Decoder
MAR
IR
MDR
R17
R17out
Y=R16
R16
Add
Zin
ALU
Z
TEMP
44
2.
3.
MDRout, IRin
4.
R16out, Yin
5.
6.
Address
lines
Data
lines
Control lines
PC+1
Instruction
Decoder
MAR
IR
MDR
R17
Y=R16
R16
R16out
ALU
Zout
Z=R16+R17
TEMP
45
46
ALU
TEMP
MDR
MAR
Data
lines
Address
lines
Memory Bus
47
Instruction
Decoder
MAR
IR
MDR
R1
R2
R3
ALU
Z
TEMP
48
Pipelining:
eksekusi instruksi dipecah kedalam tahap-tahap
yang dapat dilakukan secara overlap
Fetch Instruksi
Decode Instruksi
Baca Operand (dari register asal)
Lakukan Operasi
Tulis Hasil (ke register tujuan)
On-chip Cache:
mempercepat akses data dari/ke memori
49