Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Desain Unit Pemrosesan

Presentasi serupa


Presentasi berjudul: "Desain Unit Pemrosesan"— Transcript presentasi:

1 Desain Unit Pemrosesan

2 Mesin von Neumann Konsep untuk memiliki sebuah program yang tersimpan dalam memori komputer Arsitektur dasar mesin ini masih menjadi kerangka referensi pada komputer modern

3 Mesin von Neumann

4 Mesin von Neumann Program disimpan dalam unit memori utama, yang berhadapan dengan piranti input/output (I/O) melalui unit pengolahan pusat (CPU atau central processing unit) CPU membaca dari atau menulis ke memori, pertama-tama dengan mengirimkan alamat word ke unit memori melalui bus adress dan kemudian menerima atau mengirimkan data melalui bus data. Data dipertukarkan antara CPU dan unit I/O juga menggunakan data bus. Operasi ini disinkronisasikan oleh dua bus control dengan sinyal kendali yang dikirim oleh CPU dan sinyal acknowledgement serta sinyal interupsi yang diterima oleh CPU.

5 Prosesor: Control & Datapath
Processor (active) Computer Control Datapath Memory (passive) (dimana program, data ada ketika dijalankan) Devices Input Output That is, any computer, no matter how primitive or advance, can be divided into five parts: 1. The input devices bring the data from the outside world into the computer. 2. These data are kept in the computer’s memory until ... 3. The datapath request and process them. 4. The operation of the datapath is controlled by the computer’s controller. All the work done by the computer will NOT do us any good unless we can get the data back to the outside world. 5. Getting the data back to the outside world is the job of the output devices. The most COMMON way to connect these 5 components together is to use a network of busses.

6 Bagian Utama CPU Kumpulan register / register set
Unit aritmatika dan logika (ALU / Arithmetic and Logic Unit) Unit kendali logika (CU / Control Unit)

7 Bagian Utama CPU Kumpulan register menyimpan informasi sementara yang diperlukan untuk melaksanakan sebuah instruksi atau kumpulan instruksi / program ALU menggunakan nilai-nilai yang tersimpan dalam kumpulan register untuk melakukan operasi aritmatika dan logika

8 Bagian Utama CPU CU mengendalikan sistem dalam dua cara:
Dengan mengarahkan transfer ke dan dari register baik ke maupun dari memori, ALU dan register lainnya Dengan memerintahkan ALU ke operasi yang akan dijalankan

9 Bagian Utama CPU

10 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

11 Register Program Counter
Menyimpan alamat memori dari instruksi selanjutnya yang akan dijalankan Pelaksanaan sebuah program biasanya dilakukan berurutan, maka alamat instruksi berikutnya bernilai 1 lebih tinggi daripada alamat dari instruksi saat ini. PC ← (PC)+1 Jika suatu jump atau cabang instruksi dijalankan, instruksi yang akan dilaksanakan berikutnya disimpan pada alamat yang ditentukan dalam cabang instruksi. Dalam hal ini, kita ingin me-load langsung alamat baru ke PC : PC ← bagian alamat dari instruksi cabang

12 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

13 Register Umum Untuk menyimpan nilai-nilai sementara selama pelaksanaan instruksi Sebuah komputer memiliki sebuah register prosesor untuk pelaksanaan instruksi-instruksi, disebut Accumulator (ACC)

14 Register Flag Mengendalikan aliran pelaksanaan pada CU dan ALU

15 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

16 Operasi Dasar Prosesor
Operasi-operasi Dasar: Mengambil (fetching) Data dari Memori Menyimpan (storing) Data ke Memori Pertukaran Data Antar-Register Operasi Aritmatika & Logika di Datapath

17 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 salah satu tindakan berikut ini : Melakukan operasi aritmatika atau logika 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

18 Siklus Eksekusi Program
1. IR  M[PC] // Fetch instruksi 2. PC  PC + d // Tunjuk ke lokasi instruksi berikutnya 3. Eksekusi instruksi

19 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: LD R2,(R1) ; R2  M[R1] Langkah-langkah: MAR  R1 Read Tunggu sinyal MFC // MFC = Memory Function Completed // Pada saat MFC aktif: // MDR  M[MAR] R2  MDR

20 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: ST (R1),R2 ; M[R1]  R2 Langkah-langkah: MAR  R1 MDR  R2, Write Tunggu sinyal MFC // MFC = Memory Function Completed // Pada saat MFC aktif: // M[MAR]  MDR

21 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

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

23 Operasi (A&L): Bagian dari Pertukaran Data
Komponen-komponen Datapath: Register: tempat penyimpanan data ALU: tempat pemrosesan aritmatika & logika Bus: penghubung antar-register & antara register-ALU Eksekusi Instruksi merupakan kombinasi pertukaran data antara: Register  Bus  Register Register  Bus  ALU Register  Bus  Memori Pertukaran data dilakukan dengan cara mengaktifkan gerbang-gerbang register dengan menggunakan sinyal-sinyal kendali (PCout, PCin, dst.) Selain itu, juga ada sinyal-sinyal kendali yang berhubungan dengan komponen-komponen lain (Memori: Read, Write; ALU: Add, Sub, Set Carry-in, dst.)

24 Tahapan Eksekusi Instruksi
Add R1,(R3) ; R1  R1 + M[R3] Langkah-langkah: Fetch instruksi PCout, MARin, Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin, WMFC MDRout, IRin Fetch operand #1 (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

25 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

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

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

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

29 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: BRNeg Loop) PCout, Yin , If N=0 then End // take the branch?

30 LD Rd,X

31 Tahapan Eksekusi Instruksi: LD Rd,X
LD R16,X ; R16  M[X] Langkah-langkah: Fetch instruksi PCout, MARin, Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin, WMFC MDRout, IRin Fetch operand dari lokasi memori yang ditunjuk oleh X Xout, MARin, Read WMFC Lakukan operasi ALU Simpan hasil penjumlahan di R16 MDRout, R16in, End

32 Tahapan Eksekusi Instruksi: LD Rd,X
PCout, MARin, Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin, WMFC MDRout, IRin Xout, MARin, Read WMFC MDRout, R16in, End Y Z MDR MAR PC TEMP R16 X IR Instruction Decoder ALU Control lines Read Address lines PCout Data lines MARin Clear Y Add 1 Set Carry-in PC+1 Zin

33 Tahapan Eksekusi Instruksi: LD Rd,X
PCout, MARin, Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin, WMFC MDRout, IRin Xout, MARin, Read WMFC MDRout, R16in, End Y Z = PC+1 MDR MAR PC TEMP R16 X IR Instruction Decoder ALU Control lines WMFC Address lines PCin Data lines Zout

34 Tahapan Eksekusi Instruksi: LD Rd,X
PCout, MARin, Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin, WMFC MDRout, IRin Xout, MARin, Read WMFC MDRout, R16in, End Y Z MDR MAR PC+1 TEMP R16 X IR Instruction Decoder ALU Control lines Address lines IRin Data lines MDRout

35 Tahapan Eksekusi Instruksi: LD Rd,X
PCout, MARin, Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin, WMFC MDRout, IRin Xout, MARin, Read WMFC MDRout, R16in, End Y Z MDR MAR PC+1 TEMP R16 X IR Instruction Decoder ALU Control lines Read Address lines MARin Data lines Xout

36 Tahapan Eksekusi Instruksi: LD Rd,X
PCout, MARin, Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin, WMFC MDRout, IRin Xout, MARin, Read WMFC MDRout, R16in, End Y Z MDR MAR PC+1 TEMP R16 X IR Instruction Decoder ALU Control lines WMFC Address lines Data lines

37 Tahapan Eksekusi Instruksi: LD Rd,X
PCout, MARin, Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin, WMFC MDRout, IRin Xout, MARin, Read WMFC MDRout, R16in, End Y Z MDR MAR PC+1 TEMP R16 X IR Instruction Decoder ALU Control lines Address lines Data lines MDRout R16in

38 ADD Rd,Rs

39 Tahapan Eksekusi Instruksi: ADD Rd, Rs
ADD R16,R17 ; R16  R16 + R17 Langkah-langkah: Fetch instruksi PCout, MARin, Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin, WMFC MDRout, IRin Fetch operand ke-1 (R16) R16out, Yin Fetch operand ke-2 (R17) dan Lakukan operasi ALU R17out, Add, Zin Simpan hasil penjumlahan di R16 Zout, R16in, End

40 Tahapan Eksekusi Instruksi: ADD Rd, Rs
PCout, MARin, Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin, WMFC MDRout, IRin R16out, Yin R17out, Add, Zin Zout, R16in, End Y Z MDR MAR PC TEMP R16 R17 IR Instruction Decoder ALU Control lines Read Address lines PCout Data lines MARin Clear Y Add 1 Set Carry-in PC+1 Zin

41 Tahapan Eksekusi Instruksi: ADD Rd, Rs
PCout, MARin, Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin, WMFC MDRout, IRin R16out, Yin R17out, Add, Zin Zout, R16in, End Y Z = PC+1 MDR MAR PC TEMP R16 R17 IR Instruction Decoder ALU Control lines WMFC Address lines PCin Data lines Zout

42 Tahapan Eksekusi Instruksi: ADD Rd, Rs
PCout, MARin, Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin, WMFC MDRout, IRin R16out, Yin R17out, Add, Zin Zout, R16in, End Y Z MDR MAR PC+1 TEMP R16 R17 IR Instruction Decoder ALU Control lines Address lines IRin Data lines MDRout

43 Tahapan Eksekusi Instruksi: ADD Rd, Rs
PCout, MARin, Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin, WMFC MDRout, IRin R16out, Yin R17out, Add, Zin Zout, R16in, End Y Z MDR MAR PC+1 TEMP R16 R17 IR Instruction Decoder ALU Control lines Address lines Data lines Yin R16out

44 Tahapan Eksekusi Instruksi: ADD Rd, Rs
PCout, MARin, Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin, WMFC MDRout, IRin R16out, Yin R17out, Add, Zin Zout, R16in, End Control lines Instruction Decoder PC+1 Address lines MAR IR Data lines MDR R17 R17out Y=R16 R16 Add ALU Zin Z TEMP

45 Tahapan Eksekusi Instruksi: ADD Rd, Rs
PCout, MARin, Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin, WMFC MDRout, IRin R16out, Yin R17out, Add, Zin Zout, R16in, End Y=R16 Z=R16+R17 MDR MAR PC+1 TEMP R16 R17 IR Instruction Decoder ALU Control lines Address lines Data lines R16out Zout

46 Peningkatan Kinerja Prosesor

47 Multiple-bus: salah satu cara peningkatan kinerja
MDR MAR PC TEMP Register File IR Instruction Decoder ALU A B C Data lines Address lines Memory Bus Add R1,R2,R3 ;R1R2+R3

48 Bandingkan dengan Organisasi Single-bus
Y Z MDR MAR PC TEMP R3 R1 IR Instruction Decoder ALU R2 Add R1,R2,R3 ;R1R2+R3

49 Beberapa Teknik Peningkatan Kinerja Prosesor Lainnya
Pre-fetching: instruksi berikutnya (i+1) di-fetch pada waktu pengeksekusian instruksi (i) Perlu teknik “Branch Prediction” 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


Download ppt "Desain Unit Pemrosesan"

Presentasi serupa


Iklan oleh Google