09 - Design Unit Pemrosesan - 02
09 - Design Unit Pemrosesan - 02
Organisasi
&
Arsitektur Komputer
By : Sendi Novianto
Review - 08
▹ Jelaskan cara kerja dari mesin von neuman
▹ Jelaskan alur data yang melewati system bus
▹ Apa yang anda ketahui tentang register set
Sumber
Pembahasan - 09
1. Datapath
5. Siklus Instruksi
1.
Datapath
Datapath
Computer
Processor Memory Devices
(active) (passive) 1
-
Control Input 1
(“brain”) (where
programs,
data
Datapath live when
(“brawn”) Output
running)
Datapath
Organisasi Prosesor (single bus)
1
-
2
2.
Siklus Eksekusi Program
Siklus Eksekusi Program
▹ CPU mem-fetch instruksi berikutnya dari memori
▹ CPU men-decode instruksi
▹ Berdasarkan instruksi, CPU mengeluarkan sinyal
kendali untuk mem-fetch operand lainnya jika
diperlukan dan kemudian akan melaksanakan 2
salah satu tindakan berikut ini : -
■ Melakukan operasi aritmatika atau logika 1
■ Menyimpan sebuah hasil ke dalam memori
■ Membaca sebuah hasil dari atau menuliskan hasil
ke piranti I/O
▹ CPU kembali ke langkah pertama dan
melanjutkan proses hingga program
diberhentikan
Siklus Eksekusi Program
1. IR M[PC] // Fetch instruksi
Instruksi: PC
Instruction
Decoder
LD R2,(R1) ; Address
lines
MAR IR
R2 M[R1] Data
lines
MDR R1 3
-
Langkah-langkah: Y 2
R2
1. MAR R1 Add
2. Read Sub
ALU
3. Tunggu sinyal MFC XOR
Carry-in
// MFC = Memory Function Completed
// Pada saat MFC aktif: Z TEMP
// MDR M[MAR]
4. R2 MDR
Menyimpan Data ke Memori
Write MFC
Instruksi: PC
Instruction
Decoder
ST (R1),R2 ; Address
lines
M[R1] R2 MAR IR
Data
lines
MDR R1 3
-
Langkah-langkah: Y 3
1. MAR R1 R2
Add
2. MDR R2, Write Sub
ALU
3. Tunggu sinyal MFC XOR
// MFC = Memory Function Completed Carry-in
X
Instruksi:
R1 MOV R4,R1 ;
X
R4 R1
R1out
3
-
R4in
Langkah-langkah: 5
X 1. Enable output of R1
R4 // setting R1out to 1
X 2. Enable input of R4
R4out // setting R4in to 1
Operasi Aritmatika dan Logika
Riin
X Instruksi:
Ri
X
ADD R1,R2 ;
Riout
Yin
R1 R1 + R2
X
3
Y
-
X Langkah-langkah: 6
Yout
1. R1out, Yin
A B 2. R2out, Add, Zin
ALU 3. Zout, R1in
Add X Zin
Z
X
Zout
Waktu Eksekusi
R2out, Add, Zin
Riin
X Turn-on time for 3-state driver
Ri
X
Riout Transmission time
Yin
X
3
Y
-
X Propagation delay through 7
Yout ALU
A B
ALU
Setup time
Add X Zin
Hold time
Z
X
Zout
4.
Tahapan Eksekusi Instruksi
Langkah-Langkah
Eksekusi Instruksi Register Set
Instruksi:
Add 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 4
-
3. MDRout, IRin 1
Data
lines
4
MDR R1 -
2
Y
0000000
0
R3
Add
1
ALU
Carry-in
PC+1
Z TEMP
2. Fetch operand #1
4. R3out, MARin, Read
5. R1out, Yin, WMFC
Instruction
PC=PC+1
Decoder
Address
lines
MAR IR
Data
lines
MDR R1
4
-
3
Y
R3
ALU
Z TEMP
3. Lakukan operasi penjumlahan
6. MDRout, Add, Zin
Instruction
PC=PC+1
Decoder
Address
lines
MAR IR
Data
lines
MDR=M[R3] R1
4
-
4
Y=R1
R3
Add
ALU
Carry-in
Zin Z TEMP
4. Simpan hasil penjumlahan
7. Zout, R1in, End
Instruction
PC=PC+1
Decoder
Address
lines
MAR IR
Data
lines
MDR=M[R3] R1
4
-
5
Y=R1
R3
ALU
Z=R1+M[R3] TEMP
Instruksi:
Add R1,(R3) ; R1 R1 + M[R3]
Tahapan Eksekusi “Branching”
Unconditional (JMP Loop)
1. PCout, MARin, Read, Clear Y, Set carry-in to ALU, Add, Zin
2. Zout, PCin, WMFC
3. MDRout, IRin
4. PCout, Yin
4
5. Offset-field-of-IRout, Add, Zin // PC PC + Offset -
6
6. Zout, PCin, End
Conditional (contoh: BRNeg Loop)
7. PCout, MARin, Read, Clear Y, Set carry-in to ALU, Add, Zin
8. Zout, PCin, WMFC
9. MDRout, IRin
4. PCout, Yin , If N=0 then End // take the branch?
5. Offset-field-of-IRout, Add, Zin // PC PC + Offset
6. Zout, PCin, End
5.
Siklus Instruksi
Siklus Instruksi
5
-
1
Siklus Instruksi
Siklus Fetch - Eksekusi
· Pada setiap siklus instruksi, CPU awalnya akan membaca instruksi
dari memori.
5
-
5
THANKS!
Any questions?
You can find me at:
UDINUS Building H Room H.2.4
Sendi.novianto@dsn.dinus.ac.id