Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

DATA PATH fetch and execute cycle

Presentasi serupa


Presentasi berjudul: "DATA PATH fetch and execute cycle"— Transcript presentasi:

1 DATA PATH fetch and execute cycle

2 Organisasi Prosesor (Single-bus)
Y Z MDR MAR PC TEMP R(n-1) R0 IR Instruction Decoder ALU Carry-in Add Sub XOR Address lines Data lines Control lines Memory bus ALU control lines Control Unit DatapathUnit

3 PC: Program Counter MAR: Memory Address Register MDR: Memory Data Register ALU: Arithmetic & Logic Unit IR: Instruction Register SP: Stack Pointer

4 Eksekusi instruksi yang ukurannya tetap
do { 1. IR  [[PC]] // Fetch instruksi 2. PC  [PC] + d // Tunjuk ke lokasi instruksi berikutnya 3. Eksekusi instruksi } while (!stop) Eksekusi instruksi yang ukurannya bervariasi do { // Fetch instruksi IR  [[PC]] PC  [PC] + d } while (!end-of-instruction) Eksekusi instruksi

5 Operasi-operasi Dasar Dalam Eksekusi Instruksi
Pertukaran Data Antar-Register Operasi Aritmatika & Logika di Datapath Mengambil (fetching) Data dari Memori Menyimpan (storing) Data ke Memori

6 Pertukaran Data Antar-Register
R1in Instruksi: MOV R4,R ; R4  [R1] Langkah-langkah: Enable output of R1 // setting R1out to 1 Enable input of R4 // setting R4in to 1 X R1 X R1out R4in X R4 X R4out

7 Operasi Aritmatika dan Logika
Y Z Ri ALU A B X Riin Riout Yin Yout Zin Zout Add Instruksi: ADD R1,R2 ; R1  [R1] + [R2] Langkah-langkah: R1out, Yin R2out, Add, Zin Zout, R1in

8 Mengambil Data dari Memori
Y Z MDR MAR PC TEMP R2 R1 IR Instruction Decoder ALU Carry-in Add Sub XOR Address lines Data lines Read MFC Instruksi: MOV R2,[R1] ; R2  [[R1]] Langkah-langkah: MAR  [R1] Read Tunggu sinyal MFC // MFC = Memory Function Completed // Pada saat MFC aktif: // MDR  M[MAR] R2  [MDR]

9 Menyimpan Data ke Memori
Z MDR MAR PC TEMP R2 R1 IR Instruction Decoder ALU Carry-in Add Sub XOR Address lines Data lines Write MFC Instruksi: MOV [R1],R2 ; [R1]  [R2] Langkah-langkah: MAR  [R1] MDR  [R2], Write Tunggu sinyal MFC // MFC = Memory Function Completed // Pada saat MFC aktif: // M[MAR]  MDR

10 Langkah-langkah Pengeksekusian Instruksi
Time to execute Langkah-langkah Pengeksekusian Instruksi

11 Tahapan Eksekusi Instruksi
Add R1,[R3] ; R1  [R1] + [[R3]] Langkah-langkah: Fetch instruksi PCout, MARin, Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin, WMFC MDRout, IRin Fetch operand (isi lokasi memori yg ditunjuk oleh R3) R3out, MARin, Read R1out, Yin, WMFC Lakukan operasi penjumlahan MDRout, Add, Zin Simpan hasil penjumlahan di R1 Zout, R1in, End

12 1. Fetch instruksi PCout, MARin, Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin, WMFC MDRout, IRin Y Z MDR MAR PC TEMP R3 R1 IR Instruction Decoder ALU Control lines Address lines Data lines Add 1 [PC]+1 Carry-in

13 2. Fetch operand R3out, MARin, Read R1out, Yin, WMFC ALU Instruction
Z MDR MAR PC=[PC]+1 TEMP R3 R1 IR Instruction Decoder ALU Address lines Data lines

14 3. Lakukan operasi penjumlahan
MDRout, Add, Zin Y=[R1] Z MDR=[[R3]] MAR PC TEMP R3 R1 IR Instruction Decoder ALU Address lines Data lines Add Carry-in Zin

15 4. Simpan hasil penjumlahan
Zout, R1in, End Y=R1 Z=[R1]+[[R3]] MDR=M[R3] MAR PC TEMP R3 R1 IR Instruction Decoder ALU Address lines Data lines

16 Tahapan Eksekusi “Branching”
Unconditional (JMP Loop) PCout, MARin, Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin, WMFC MDRout, IRin PCout, Yin Offset-field-of-IRout, Add, Zin // PC  [PC] + Offset Zout, PCin, End Conditional (contoh: JS Loop) PCout, Yin , If SF=0 then End // take the branch?


Download ppt "DATA PATH fetch and execute cycle"

Presentasi serupa


Iklan oleh Google