Kuliah 11
11
RISC & Pipelining
Organisasi dan Arsitektur Komputer
Program Studi Teknik Informatika
Fakultas Teknik
Universitas Mataram
Apa yang dipelajari?
• Konsep dasar CISC
• Konsep dasar RISC
• Konsep dasar Pipelining
2
Jenis Arsitektur CPU
Ditinjau dari perancangan perangkat instruksinya (set
instruksinya), terdapat dua jenis arsitektur prosesor,
yaitu:
1. CISC (Complex Instruction Set Computer)
– Arsitektur dengan kumpulan perintah yang rumit.
2. RISC (Reduced Instruction Set Computer)
– Arsitektur dengan kumpulan perintah yang sederhana.
3
CISC
• Jenis prosesor yang memiliki set instruksi yang kompleks.
• CISC merupakan salah satu bentuk arsitektur yang menjalani
beberapa instruksi dengan tingkat yang rendah.
• Misalnya instruksi tingkat rendah tersebut adalah seperti
pengambilan dari memori (load), operasi aritmatika, dan
penyimpanan ke dalam memori (store) yang saling bekerja
sama.
• CISC dimaksudkan untuk meminimumkan jumlah perintah yang
diperlukan untuk mengerjakan pekerjaan yang diberikan
(Jumlah perintah sedikit tetapi rumit).
4
CISC
• CISC memiliki instruksi yang kompleks dan
berpengaruh pada kinerjanya yang lebih lambat.
• Contoh prosesor yang menggunakan arsitektur
CISC:
– Intel x86, IBM Z-Series Mainframes, dan beberapa
arsitektur CPU model terdahulu
• Karakteristik CISC :
– Memiliki sedikit register serbaguna
– Memiliki mode pengalamatan yang banyak
– Memiliki instruksi yang kompleks
– Ukuran instruksi bervariasi
5
Keterbatasan Arsitektur CISC
• Menjadikan mesin mudah untuk diprogram dalam
bahasa rakitan, tetapi menyulitkan dalam penyusunan
kompiler bahasa pemrograman tingkat tinggi (HLL).
• Dalam CISC banyak terdapat perintah bahasa mesin.
• Instruksi yang kompleks jarang digunakan oleh
programmer dan compiler.
• Semua operasi instruksinya berbasis pada Memory,
sehingga proses load dan store menjadi lambat.
6
RISC
• RISC lahir pada pertengahan 1980
• Dilatarbelakangi oleh CISC
• Perbedaan mencolok dari kelahiran RISC ini adalah tidak
ditemui pada dirinya instruksi assembly atau yang
dikenal dengan bahasa mesin sedangkan itu banyak
sekali dijumpai di CISC.
7
Alasan menggunakan RISC
• RISC menyederhanakan rumusan perintah sehingga
lebih efisien dalam penyusunan kompiler dapat
memaksimumkan kinerja program yang ditulis dalam
bahasa tingkat tinggi (HLL).
• RISC menerapkan proses eksekusi pipeline.
– Eksekusi secara pipeline memerlukan waktu yang lebih
singkat daripada waktu untuk melakukan pekerjaan yang
sama dengan menggunakan perintah yang lebih rumit.
8
Fitur yang dimiliki RISC
• Instruksinya sederhana
• Ukuran instruksi tetap, format instruksinya tetap
– Digunakan untuk proses pipelining, “ambil dan eksekusi”
secara parallel
• Mode pengalamatan terbatas
– Untuk mengurangi kompleksitas dari rancangan hardware
• Instruksinya berorientasi pada register
– Mengurangi akses ke memori
• Ukuran register yang besar
– Mengurangi akses ke memori
– Membuat pemanggilan procedure menjadi lebih efisien
9
Perbedaan CISC dan RISC
• RISC
Instruksinya sederhana
Jumlah instruksi sedikit
Sedikit mengakses memori
• CISC
Lalu lintas instruksi dan data di dalam bus sangat padat
Banyak mengakses memori dan meningkatkan
kesalahan cache memory
Hanya sedikit register yang tersedia
10
Karakteristik RISC
1. Siklus instruksi
2. Operasi pertukaran data
3. Mode pengalamatan
4. Format instruksi
11
Karakteristik RISC:
1. Siklus Instruksi RISC
• Satu instruksi per siklus mesin.
• Siklus mesin ditentukan oleh waktu yang digunakan
untuk mengambil dua buah operand dari register,
melakukan operasi ALU, dan menyimpan hasil
operasinya ke dalam register.
• RISC adalah rancangan prosesor yang sederhana, tetapi
dalam kesederhanaan tersebut didapatkan kecepatan
operasi tiap-tiap siklus instruksinya.
12
Karakteristik RISC:
2. Operasi Pertukaran Data RISC
• Berbentuk pertukaran data dari register ke register.
• Dengan mengoptimalkan penggunaan register
diharapkan siklus operasi semakin cepat.
– Ingat! Register adalah memori yang paling cepat dibandingkan
cache maupun memori utama.
• Dengan penyederhanaan instruksi maka operasi unit
kontrol juga akan sederhana dan cepat.
13
Karakteristik RISC:
3. Mode Pengalamatan RISC
• Fitur rancangan ini juga dapat menyederhanakan set
instruksi dan unit kontrol.
• Dengan mode pengalamatan yang sederhana akan
didapatkan operasi pengambilan data yang semakin
cepat.
14
Karakteristik RISC:
4. Format Instruksi RISC
• Digunakan sebuah format untuk menyederhanakan
implementasi perangkat kerasnya.
• Panjang instruksi tetap dan disamakan dengan panjang word
yang digunakan.
• Panjang field dibuat sama dan tetap.
• Kelebihan dengan menggunakan field yang tetap maka
pengkodean opcode dan pengaksesan operand register dapat
dilakukan secara bersamaan.
• Format yang sederhana juga akan memudahkan unit kontrol.
15
Eksekusi Instruksi
• Waktu eksekusi = N x S x T
– N adalah jumlah perintah
– S adalah jumlah rata-rata langkah per perintah
– T adalah waktu yang diperlukan untuk melaksanakan satu langkah
• Kecepatan eksekusi dapat ditingkatkan dengan menurunkan nilai
dari ketiga variabel di atas.
• Arsitektur CISC berusaha menurunkan nilai N
• Arsitektur RISC berusaha menurunkan nilai S dan T.
• Proses pipeline dapat digunakan untuk membuat nilai efektif S
mendekati 1 (satu) artinya komputer menyelesaikan satu perintah
dalam satu siklus waktu CPU.
• Nilai T dapat diturunkan dengan merancang perintah yang
sederhana.
16
Kelebihan Rancangan RISC
1. Meningkatkan kinerja sistem CPU.
2. Optimalisasi dan peng-efektif-an komputer.
3. Dengan menggunakan instruksi yang sederhana
terdapat kemungkinan untuk:
– Melakukan reorganisasi kode untuk efisiensi
– Memaksimalkan pemakaian register
– Melakukan perhitungan bagian instruksi kompleks pada saat
kompilasi
– Memudahkan kerja unit kontrol
– Memudahkan implementasi pipelining
17
Kelebihan Rancangan RISC
4. Implementasi Perangkat Keras
– Kesederhanaan instruksi dan unit kontrol menghasilkan
hardware sederhana.
– Hardware sederhana dapat diletakkan dalam satu keping
tunggal.
– Hardware sederhana menghasilkan proses hardware dengan
dimensi yang lebih kecil, konsumsi daya rendah dan lebih
ekonomis.
18
Pipeline
• Teknologi pipeline yang digunakan pada komputer
bertujuan untuk meningkatkan kinerja dari komputer.
• Pipeline adalah suatu cara yang digunakan untuk
melakukan sejumlah kerja secara bersamaan, tetapi
dalam tahap yang berbeda serta dialirkan secara kontinu
pada unit pemrosesan (prosesor).
• Dengan cara ini, maka prosesor akan selalu bekerja.
19
Konsep Dasar Pipeline
• Laundry
– A, B, C, D masing – masing memiliki
satu kantong pakaian untuk dicuci, A B C D
dikeringkan, dan disetrika
– Mencuci membutuhkan waktu 30 menit
– Mengeringkan membutuhkan waktu 40
menit
– Menyetrika membutuhkan waktu 20
menit
20
Konsep Dasar Pipeline
6 sore 7 8 9 10 11 Tengah Malam
Waktu
30 40 20 30 40 20 30 40 20 30 40 20
Secara berurutan 4 kantong
A laundry membutuhkan waktu 6
jam
Jika menggunakan konsep
B pipelining, berapa waktu yang
dibutuhkan?
C
D
21
Konsep Dasar Pipeline
6 sore 7 8 9 10 11 Tengah Malam
U
Waktu
r
u 30 40 40 40 40 20
t
a A
n 4 kantong laundry dengan
pipeline membutuhkan
B waktu 3.5 jam
P
r
o C
s
e D
s 22
Konsep Dasar Pipelining
23
Perbedaan antara model microprocessor yang tidak
menggunakan arsitektur Pipeline dengan
microprocessor yang menerapkan teknik Pipeline
• Microprocessor yang tidak menggunakan pipeline :
– Satu instruksi dilakukan sampai selesai, baru instruksi
berikutnya dapat dilaksanakan.
time
I-1 I-2 I-3
24
Perbedaan antara model microprocessor yang tidak
menggunakan arsitektur Pipeline dengan
microprocessor yang menerapkan teknik Pipeline
• Microprocessor yang menggunakan teknik pipeline :
– Ketika satu instruksi sedang diproses, maka instruksi yang
berikutnya juga dapat diproses dalam satu waktu yang
bersamaan.
– Instruksi yang diproses secara bersamaan ini ada dalam tahap
proses yang berbeda.
– Ada sejumlah tahapan yang akan dilewati oleh sebuah
instruksi.
25
Perbedaan antara model microprocessor yang tidak
menggunakan arsitektur Pipeline dengan
microprocessor yang menerapkan teknik Pipeline
• Microprocessor yang menggunakan teknik pipeline
26
Penerapan Pipeline
• Misalnya sebuah microprocessor menyelesaikan sebuah
instruksi dalam 4 langkah.
• Ketika instruksi pertama masuk ke langkah 2, maka instruksi
berikutnya diambil untuk diproses pada langkah 1 instruksi
tersebut.
• Begitu seterusnya, ketika instruksi pertama masuk ke langkah 3,
instruksi kedua masuk ke langkah 2 dan instruksi ketiga masuk ke
langkah 1.
27
Contoh Pengerjaan Instruksi
Tanpa Pipeline dan Dengan Pipeline
• Misalkan terdapat dua instruksi:
– Instruksi 1 : ADD AX, AX
– Instruksi 2 : ADD EX, CX
• Setelah CU menjemput Instruksi 1 dari memory (IF), CU akan menerjemahkan
instruksi tersebut (ID).
• Pada saat menterjemahkan Instruksi 1 tersebut, komponen IF tidak bekerja.
• Adanya teknologi pipeline menyebabkan IF akan menjemput Instruksi 2 pada
saat ID menterjemahkan Instruksi 1.
• Demikian seterusnya pada saat CU menjalankan Instruksi 1 (EX), Instruksi 2
diterjemahkan (ID).
28
Contoh Pengerjaan Instruksi Tanpa Pipeline
• Pada ilustrasi di bawah, dijelaskan bahwa instruksi baru
akan dijemput jika instruksi sebelumnya telah selesai
dilaksanakan.
Instruksi 1
Instruksi 2
29
Contoh Pengerjaan Instruksi Dengan Pipeline
• Pada ilustrasi di bawah, dijelaskan bahwa instruksi baru akan
dijemput/dipanggil setelah tahap IF menganggur.
• Misalkan ada tiga buah instruksi yang dieksekusi:
Instruksi 1
Instruksi 2
Instruksi 3
30
Pengerjaan Instruksi Dengan Pipeline
• Dengan adanya pipeline, dua instruksi selesai dilaksanakan pada
detik keenam, sedangkan kasus tanpa pipeline baru selesai pada
detik kesepuluh.
• Dengan demikian telah terjadi percepatan sebanyak 1,67 x dari
10T menjadi hanya 6T.
• Sedangkan untuk pengerjaan 3 buah instruksi terjadi percepatan
sebanyak 2,14 dari 15T menjadi hanya 7T.
31
Terima Kasih
32