11 - RISC Pipelining-1 [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

11



Kuliah 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 diharapkan siklus operasi semakin cepat.



register



– 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, dikeringkan, dan disetrika



A



B



C



D



– Mencuci membutuhkan waktu 30 menit – Mengeringkan membutuhkan waktu 40 menit – Menyetrika membutuhkan waktu 20 menit 20



Konsep Dasar Pipeline 6 sore



7



8



9



11



10



Tengah Malam



Waktu 30 A



B



40



20 30



40



20 30



40



20 30 40 20  Secara berurutan 4 kantong laundry membutuhkan waktu 6 jam 



Jika menggunakan konsep pipelining, berapa waktu yang dibutuhkan?



C D 21



Konsep Dasar Pipeline 6 sore U r u t a n P r o s e s



7



8



9



10



11 Tengah Malam



Waktu 30



40



40



40



40 20



A 



B



4 kantong laundry dengan pipeline membutuhkan waktu 3.5 jam



C D 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 instruksi dalam 4 langkah.



menyelesaikan



sebuah



• 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