• • • • •
Nama : Sendi Novianto, S.Kom, M.T, Telp : 024 7010 9913 / 089 669 3666 13 Ym / Email : to_sendi /
[email protected] Tmpt Tinggal : Boja S1 – UDINUS • SMS Gateway Untuk Penjualan Berjenjang Pada PT. Astro Media Komunindo
• S2 – ITS • Implementasi Algoritma Genetika Pada Perhitungan Perkalian Berbasis Metode Trachtenberg By Sendi Novianto, S.Kom, M.T. Email :
[email protected]
• • • • • •
Pakaian rapi & Sopan Pakai Sepatu Ijin Jika Tidak Masuk Maksimal Terlambat ?? Menit Tidak boleh diabsenkan Nilai • Tugas -> ??% • UTS -> ??% • UAS -> ??%
• Sejarah Komputer
• Abacus (Japan)
* Alat Hitung Tradisional dan Kalkulator Mekanik * Komputer Generasi Pertama * Komputer Generasi Kedua * Komputer Generasi Ketiga * Komputer Generasi Keempat
• Abacus (Rusian)
* Komputer Generasi Kelima
• Abacus (China)
• Abacus (School)
• Abacus (Roman)
• Abacus Binary
• Konrad Zuse (1941) -> Z3 -> design pesawat & peluru kendali • 1943 Inggris -> Colossus -> pemecah kode rahasia • Amerika, Howard H. Aiken (1900 – 1973) + IBM => The Hardvd-IBM Automatic Sequence Controlled Calculator (Mark I) • Eniac -> 17rb tv, 70rb resistor, 5jt solder, 160kw listrik
• 1948 -> Transistor ditemukan • 1956 -> transistor dipakai dalam komputer • IBM -> Super computer (Stretch) untuk penelitian atom • Bahasa assembly dipakai sebagai pengganti biner • 1960 -> komputer untuk umum • Cobol & Fortran
• 1958 -> IC oleh Jack Kilby dari texas Instrument • Transistor Terlalu panas di Ganti IC
• Chip Intel 4004 th.1971 cikal bakal kemajuan IC • Kemampuan control pada CPU, memory, dan kendali input / output • Microwave, televisi memakai microprosesor • IBM, Apple (mouse) • LAN, Internet, Dll
• Buatlah Rangkuman tentang sejarah perkembangan hardware / software yang telah anda pilih meliputi • • • •
Penemu & Pengembangnya Arsitekturnya (Design Fisik & Rangkaiannya) Kelebihan / keunggulan Kekurangannya
Dikumpulkan Paling Lambat Pada Pertemuan Ke-2
• Meningkatkan Utilitas CPU • Data dan Instruksi dapat diakses dengan cepat oleh CPU • Efisiensi dalam pemakaian memory yang terbatas • Transfer dari / ke memori utama ke / dari CPU dapat lebih efisien
• Pembatasan ruang awal dan akhir pada tiap proses yang terjadi • Base register memegang alamat fisik yang terkecil yang dilegalkan • Limit register menentukan ukuran dari jarak alamat tersebut • Contoh : jika base register memegang 300040 dan limit register 120900, maka program bisa mengakses secara legal di semua alamat dari 300040 sampai 420940
• Prosedur untuk menetapkan alamat fisik yang akan digunakan oleh program yang terdapat di dalam memori utama.
• Compilation Time • Execution Time • Load Time
• Alamat CPU -> logika • Alamat memory -> fisik • Compile & Load time -> alamat fisik & logika identik • Execution time -> alamat fisik & logika berbeda • Kumpulan alamat logika program -> ruang alamat logika/virtual • Kumpulan alamat fisik yang berhubungan dengan alamat logika -> ruang alamat fisik
• Ukuran memori fisik yang terbatas • Pemanggilan routine program yang diperlukan • Hanya program utama yang di muat di memori • Routine tambahan diletakkan di dalam disk • Pemuatan dinamis hanya bisa di rancang dalam pembuatan program oleh user
• Sama halnya dengan pemuatan dinamis • Dipisahkan ke dalam file yang dikenal DLL • Ukuran program utama menjadi lebih kecil • Akses terhadap memori jauh lebih cepat
• Carilah Video teknologi terkini dari topik pilihan anda • Tiap mahasiswa walaupun kelompok tetap mencari video berdasarkan topiknya • Dalam satu kelompok meskipun topik sama, tetapi video berbeda-beda (contoh Topik Game : Perkembangan XBOX, PS, Karakter Game Dll • Tiap Kelompok Dikumpulkan Dalam 1 CD Bercover dengan tulisan topik dan nama kelompoknya serta kelompok mata kuliah • Video Dikelompokkan Dalam Folder (Cont : A11.2002.01184 – XBOX) Dikumpulkan Paling Lambat Pada Pertemuan Ke-3
• Data dan instruksi disimpan dalam satu memori • Isi dari memori ini dapat dialamatkan dengan lokasi tanpa memperhatikan tipe datanya • Eksekusi terjadi secara sekuensial dari satu instruksi ke instruksi selanjutnya
• Pada bahasa pemrograman tingkat tinggi, misal C, contoh : x = x +y; • Statemen tersebut memberi instruksi kepada komputer untuk menambah nilai yang tersimpan di x dengan nilai yang tersimpan di y dan meletakkan hasilnya di x
• Pada bahasa mesin, operasi tersebut membutuhkan tiga instruksi (misalnya variabel x dan y terletak di lokasi 513 dan 514) : – Load register berisi lokasi memori 513 – Tambahkan isi lokasi memori 513 ke register – Simpan isi register di lokasi memori 513
• Instruksi Aritmatika dan Logika (Arithmetic and Logic Instruction) – Data Processing, contoh : ADD, SUB, MPY, DIV, OR, AND
• Instruksi Memory (Memory Instruction) – Data Storage, contoh : LOAD, STOR
• Bahasa pemrograman tingkat tinggi mengekspresikan operasi dalam bentuk aljabar ringkas, menggunakan variabel • Bahasa mesin mengekspresikan operasi dalam bentuk dasar melibatkan perpindahan data dari dan ke register
• Instruksi I/O (I/O Instruction)
• Komputer harus memiliki suatu set instruksi supaya user dapat memformulasikan pemrosesan data • Program yang ditulis dalam bahasa pemrograman tingkat tinggi harus diterjemahkan ke bahasa mesin untuk dijalankan/dieksekusi • Jadi, set instruksi harus mencukupi untuk menjalankan instruksi dari bahasa tingkat tinggi
• Direct
– Data Movement
• Instruksi Test dan Branch (Test And Brach Instruction) – Control
– Alamat operand ditunjuk secara langsung pada instruksi – Contoh : instruksi LOAD, cara penulisan : LOAD Y
• Indirect – Alamat operand ditunjukkan secara tidak langsung oleh data yang terkandung pada alamat yang ditunjuk – Cara penulisan : LOAD (Y)
• Displacement – Merupakan alamat relatif, artinya alamat operand yang dituju berjarak n alamat dari sebuah alamat yang diekspresikan secara indirect – Cara penulisan : LOAD (Y) + 100
• Immediate – Alamat operand tidak berisi sebuah alamat, tetapi langsung operand yang akan diproses – Cara penulisan : LOAD #9
Misalkan kita memiliki contoh register dan memory sebagai berikut : Memory
Register A
0
52
B
1
1
C
50
2
12
D
51
3
43 …
… Y
50
3
Z
51
7
52
10
100
7
101
6
102
15 …
… 100
5
101
6
102
15
• Untuk pemanggilan alamat operand berupa register disebut Register Addressing – Contoh : LOAD C, akan menghasilkan ACC ← 50, karena alamat register C berisi 50
• Untuk pemanggilan alamat operand berupa memory disebut Direct Addressing – Contoh : LOAD 3, akan menghasilkan ACC ← 43, karena alamat memory 3 berisi bilangan 43
• Untuk pemanggilan alamat operand berupa register namanya Register Indirect Addressing – Contoh : LOAD (D), akan menghasilkan ACC ← 7, karena alamat register D berisi alamat memory 51, sedangkan alamat memory 51 berisi bilangan 7
• Untuk pemanggilan alamat operand berupa memory namanya Indirect Addressing – Contoh : LOAD (50), akan menghasilkan ACC ← 43, karena alamat memory 50 berisi alamat memory 3, sedangkan alamat memory 3 berisi bilangan 43
• Merupakan alamat relatif, artinya alamat operand yang dituju berjarak n alamat dari sebuah alamat yang diekspresikan secara indirect • Contoh : LOAD (C) + 50 akan menghasilkan ACC ← 5, karena alamat register C berisi alamat 50, sedangkan alamat yang dituju berjarak +50 darinya. 50 + 50 = 100. Alamat 100 berisi bilangan 5
• Immediate tidak membutuhkan alamat memory/register, karena tempat untuk alamat operand diisi langsung oleh bilangan operand-nya • Contoh 1 : LOAD #9, akan menghasilkan ACC ← 9, nilai di belakang tanda # dianggap sebagai operand-nya • Contoh 2 : ADD Y, #2, #3, akan menghasilkan register Y ← 5, kedua operand adalah 2 dan 3, dengan demikian 2+3 = 5
• Berapakah isi register Y? • Gunakan kondisi register dan memori yang ada! INSTRUKSI ALGORITMIK ISI ACC LOAD (C) AC ← 3 3 AC ← AC + 43 46 ADD 3 AC ← AC - 10 36 SUB (0) AC ← AC X 5 180 MPY (C) + 50 AC ← AC/9 20 DIV #9 Y ← 20 STOR Y
Register Y berisi 20
• Berapakah isi register Y? • Gunakan kondisi register dan memori yang ada! LOAD (C) ADD 3 SUB (0) MPY (C) + 50 DIV #9 STOR Y
CX = Jumlah Pengulangan
ABCD 4321
• • • • • • • • •
File : Debug.exe T = trace U = Unassemble Rcx = panjang data N = simpan dengan nama file G = jalankan perintah A = alamat File COM W = Menulis Program Ke HardDisk Q = Keluar Dari Debug
/**********************************\ | Nama : Contoh | | Nim : A11.XXXX | | Kelompok : A11.ZZZZ | \**********************************/
• Bilangan basis 2 berupa campuran dari kemungkinan 2 digit ( 0 dan 1 ) • Tiap digit berupa bilangan pangkat 2 yang diasosiasikan berdasarkan posisinya • BIT = binary digit • 1102 = 1 x 22 + 1 x 21 + 0 x 20
Bilangan basis 8 Memiliki 8 kemungkinan digit 0-7 Tiap digit berupa bilangan pangkat 8 yang diasosiasikan berdasarkan posisinya • Konversi Oktal – desimal 238 = 2 x 81 + 3 x 80 = 16 + 3 = 19 • • • •
• Bilangan basis 10 yang terdiri dari kemungkinan 10 digit ( 0 – 9 ) • Tiap digit berupa bilangan pangkat 10 yang di asosiasikan berdasarkan posisinya • 234 = 2 x 102 + 3 x 101 + 4 x 100
Bilangan basis 16 Memiliki 16 kemungkinan digit 0-9 dan A-F (untuk merepresentasikan 10-15) Tiap digit berupa bilangan pangkat 16 yang diasosiasikan berdasarkan posisinya • Konversi Hex – desimal 2BD16 = 2 x 162 + 11 x 161 + 13 x 160 = 512 + 176 + 13 = 701 • • • •
• Sama seperti binary, bedanya tiap 1 digit desimal diwakili oleh kumpulan bit-bit
• Ujung paling kiri merupakan tanda dari bilangan tersebut ( 0=+ / 1=-) • Pembacaan dimulai dari angka kedua dari ujung kiri
• Fungsinya untuk mengubah suatu bilangan positif ke bilangan negatif / negatif ke positif dengan cara mengubah bit ke-1 dari 0 ke 1 atau dari 1 ke 0
• Fungsinya untuk mengubah suatu bilangan positif ke bilangan negatif / negatif ke positif dengan cara mengubah bit ke-1 dari 0 ke 1 atau dari 1 ke 0 lalu ditambah 1
9,8 x 1029 300 x 108 Km/jam
(-13,9)10 = 1101, 0111002 = 1, 101011100 x 23 3 = ………………… Biner -> (11) = 1, 101011100 x 2 (011)
(-13,9)10 = ………………FPN 13 = ………………… Biner -> (1101) 0.9 = ………………… Biner -> (0.11100)
• 43 = ……FPN……BCD……Komp1.…komp2 • (-17)8 = ……FPN…BCD……Komp1.…komp2 • (1101101)2 = ……FPN……BCD……Komp1.…komp2
Dari beberapa aritmatik yang sudah kita pelajari, silahkan anda buat sebuah program konversi bilangan sederhana yang mengkonversi bilangan desimal ke dalam salah satu bilangan yang sudah anda kenal
Mesin von Neumann • Konsep untuk memiliki sebuah program yang tersimpan dalam memori komputer • Arsitektur dasar mesin ini masih menjadi kerangka referensi pada komputer modern
Prosesor: Control & Datapath Computer Processor (active) Control Datapath
Mesin von Neumann
Memory (passive) (dimana program, data ada ketika dijalankan)
Devices Input
Output
Bagian Utama CPU
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 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
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
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
Siklus Eksekusi Program 1. IR M[PC] // Fetch instruksi 2. PC PC + d // Tunjuk ke lokasi instruksi berikutnya 3. Eksekusi instruksi
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
Mengambil Data
Pertukaran Data
dari Memori Read
MFC
R1 in
Instruksi:
Instruction Decoder
PC
LD R2,(R1) ; R2 M[R1] Address lines
Langkah-langkah:
Data lines
1. MAR R1 2. Read 3. Tunggu sinyal MFC
Antar-Register Instruksi:
X
MOV R4,R1
MAR
X
IR
Langkah-langkah:
R1 out MDR
R1
1. Enable output of R1
R4in
// setting R1out to 1
Y X
R2
2. Enable input of R4
R4
Add Sub
// MFC = Memory Function Completed // Pada saat MFC aktif: // MDR M[MAR]
; R4 R1
R1
XOR
// setting R4in to 1
X
ALU R4 out
Carry-in
TEMP
Z
4. R2 MDR
Menyimpan Data
Operasi Aritmatika
ke Memori Write
Instruksi:
// MFC = Memory Function Completed // Pada saat MFC aktif: // M[MAR] MDR
Instruction Decoder
PC Address lines
1. MAR R1 2. MDR R2, Write 3. Tunggu sinyal MFC
Riin X
ST (R1),R2 ; M[R1] R2
Langkah-langkah:
MFC
Data lines
dan Logika
Instruksi: ADD R1,R2
Ri
; R1 R1 + R2
X MAR
IR
MDR
R1
Riout Yin X Y X
Y Yout
R2 Add Sub
B
A
ALU XOR
ALU Carry-in
Add Z
TEMP
X
Zin
Z X Zout
Langkah-langkah: 1. R1out, Yin 2. R2out, Add, Zin 3. Zout, R1in
Operasi (A&L): Bagian dari Pertukaran Data Komponen-komponen Datapath:
Tahapan Eksekusi
– Register: tempat penyimpanan data – ALU: tempat pemrosesan aritmatika & logika – Bus: penghubung antar-register & antara register-ALU
“Branching”
Unconditional (JMP Loop) 1. 2. 3. 4. 5. 6.
• Eksekusi Instruksi merupakan kombinasi pertukaran data antara: – Register Bus Register – Register Bus ALU – Register Bus Memori
PC out, 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) 1. 2. 3. 4. 5. 6.
• 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 komponenkomponen lain (Memori: Read, Write; ALU: Add, Sub, Set Carry-in, dst.)
PC out, MARin, Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin, WMFC MDRout, IRin PCout, Yin , If N=0 then End // take the branch? Offset-field-of-IRout, Add, Zin // PC PC + Offset Zout, PCin, End
Tahapan 1.
Eksekusi Instruksi: LD Rd,X
2. 3.
PCout , MARin , Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin , WMFC PC MDRout, IRin
4. 5. 6.
Xout , MARin , Read WMFC MDRout, R16in , End
Address lines
Data lines
Clear Y
Control lines Read
Instruction Decoder
PCout
MAR
IR
MARin
MDR
X
00000000 Y R16
Add
ALU
1 Set
PC+1 Carry-in Z Z in
TEMP
Tahapan 1.
Eksekusi Instruksi: LD Rd,X
2. 3.
PCout , MARin , Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin , WMFC PC MDRout, IRin
4. 5. 6.
Xout , MARin , Read WMFC MDRout, R16in , End
Address lines
Data lines
Tahapan 1.
Control lines
2. 3.
PCout , MARin , Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin , WMFC PC+1 MDRout, IRin
4. 5. 6.
Xout , MARin , Read WMFC MDRout, R16in , End
WMFC
Instruction Decoder
PCin
MAR
IR
MDR
X
Eksekusi Instruksi: LD Rd,X
Address lines
Data lines
Control lines Read
Instruction Decoder
MAR
IR
MARin
MDR
X Xout
Y
Y R16
R16
ALU Z = PC+1
ALU TEMP
Z
TEMP
Z out
Tahapan 1.
Eksekusi Instruksi: LD Rd,X
2. 3.
PCout , MARin , Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin , WMFC PC+1 MDRout, IRin
4. 5. 6.
Xout , MARin , Read WMFC MDRout, R16in , End
Address lines
Data lines
MAR
Control lines
Instruction Decoder IR IR in
MDR
X
Tahapan 1.
Eksekusi Instruksi: LD Rd,X
2. 3.
PCout , MARin , Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin , WMFC PC+1 MDRout, IRin
4. 5. 6.
Xout , MARin , Read WMFC MDRout, R16in , End
Address lines
Data lines
Control lines WMFC
Instruction Decoder
MAR
IR
MDR
X
MDRout
Y
Y R16
ALU Z
R16
ALU TEMP
Z
TEMP
Tahapan 1.
Eksekusi Instruksi: LD Rd,X
2. 3.
PCout , MARin , Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin , WMFC PC+1 MDRout, IRin
4. 5. 6.
Xout , MARin , Read WMFC MDRout, R16in , End
Address lines
Data lines
Control lines
Instruction Decoder
MAR
IR
MDR
X
Tahapan 1.
Eksekusi Instruksi: ADD Rd, Rs
2. 3.
PCout , MARin , Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin , WMFC PC MDRout, IRin
4. 5. 6.
R16out, Yin R17 out, Add, Zin Zout, R16in , End
Address lines
Data lines
Control lines WMFC
Instruction Decoder
PCin
MAR
IR
MDR
R17
MDRout
Y
Y R16
R16
R16 in
ALU
ALU
Z
TEMP
Z = PC+1
TEMP
Z out
Tahapan 1.
Eksekusi Instruksi: ADD Rd, Rs
2. 3.
PCout , MARin , Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin , WMFC PC MDRout, IRin
4. 5. 6.
R16out, Yin R17 out, Add, Zin Zout, R16in , End
Address lines
Data lines
Clear Y
Control lines Read
Instruction Decoder
PCout
MAR
IR
MARin
MDR
R17
Tahapan 1.
Eksekusi Instruksi: ADD Rd, Rs
2. 3.
PCout , MARin , Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin , WMFC PC+1 MDRout, IRin
4. 5. 6.
R16out, Yin R17 out, Add, Zin Zout, R16in , End
Address lines
Data lines
MAR
Control lines
Instruction Decoder IR IR in
MDR
R17
MDRout
00000000 Y
Y R16
R16
Add
ALU
1
ALU
Set PC+1 Carry-in
Z Z in
TEMP
Z
TEMP
Tahapan 1.
Eksekusi Instruksi: ADD Rd, Rs
2. 3.
PCout , MARin , Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin , WMFC PC+1 MDRout, IRin
4. 5. 6.
R16out, Yin R17 out, Add, Zin Zout, R16in , End
Address lines
Data lines
Yin
Control lines
Instruction Decoder
MAR
IR
MDR
R17
Tahapan Eksekusi Instruksi: ADD Rd, Rs 1. 2. 3.
PCout , MARin , Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin , WMFC PC+1 MDRout, IRin
4. 5. 6.
R16out, Yin R17 out, Add, Zin Zout, R16in , End
Address lines
Data lines
Y
IR
MDR
R17
Y=R16 R16
R16 R16out
ALU
1. 2. 3. 4. 5. 6.
ALU TEMP
Eksekusi Instruksi: ADD Rd, Rs
PCout , MARin , Read, Clear Y, Set carry-in to ALU, Add, Zin Zout, PCin , WMFC PC+1 MDRout, IRin R16out, Yin R17 out, Add, Zin Zout, R16in , End
Address lines
Z out
A Control lines
Instruction Decoder
Instruction Decoder
IR PC
MAR
MDR
IR
R17 TEMP R17out
Y=R16 R16 Add
ALU
Z in
TEMP
C
B
Register File
Data lines
Z=R16+R17
Multiple-bus: salah satu cara peningkatan kinerja
ALU
Tahapan
Instruction Decoder
MAR
R16out
Z
Control lines
Z
MDR MAR
TEMP Data lines
Address lines
Memory Bus
Add R1,R2,R3 ;R1R2+R3
Multiple-bus: salah satu cara peningkatan kinerja A
C
B Instruction Decoder IR PC Register File
Add R1,R2,R3 ;R1R2+R3
ALU
TEMP
MDR MAR Data lines
Address lines
Memory Bus
Bandingkan dengan Organisasi Single-bus
PC
Instruction Decoder
MAR
IR
MDR
° Pre-fetching: instruksi berikutnya (i+1) di-fetch pada waktu pengeksekusian instruksi (i) • Perlu teknik “Branch Prediction”
R1
Add R1,R2,R3 ;R1R2+R3 Y
R2 R3
° 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)
ALU Z
Beberapa Teknik Peningkatan Kinerja Prosesor Lainnya
TEMP
° On-chip Cache: mempercepat akses data dari/ke memori 124