Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
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 ;R1R2+R3
48
Bandingkan dengan Organisasi Single-bus
Y Z MDR MAR PC TEMP R3 R1 IR Instruction Decoder ALU R2 Add R1,R2,R3 ;R1R2+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
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.