Pipeline
Pipeline
adalah suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama
tetapi dalam tahap yang berbeda yang dialirkan secara continue pada unit
pemrosesor. Dengan cara ini, maka unit pemrosesan selalu bekerja. Teknik
Pipeline ini dapat diterapkan pada berbagai tingkatan dalam sistem komputer.
Bisa pada level yang tinggi, misalnya program aplikasi, sampai pada tingkat
yang rendah, seperti pada instruksi yang dijaankan oleh microprocessor.
Pada microprocessor yang
tidak menggunakan pipeline, satu instruksi dilakukan sampai selesai, baru
instruksi berikutnya dapat dilaksanakan. Sedangkan
dalam microprocessor yang menggunakan teknik pipeline, ketika satu
instruksi sedangkan diproses, maka instruksi yang berikutnya juga dapat diproses
dalam waktu yang bersamaan. Tetapi, instruksi yang diproses secara bersamaan
ini, ada dalam tahap proses yang berbeda. Jadi, ada sejumlah tahapan yang akan
dilewati oleh sebuah instruksi.
Konsep
pemrosesan pipeline dapat digunakan dalam sebuah komputer untuk memperbaiki
throughput sistem tersebut dalam berbagai variasi cara. Tiga jenis pokok
pipelining adalah pipelining aritmatika, instruksi, dan prosesor. Peningkatan
throughput sistem dengan satu atau lebih jenis pipelining ini tergantung pada
fungsi dan harga pipelining. Harga pipelining termasuk tambahan perangkat keras
yang diperlukan untuk mekanisme latch dan kendali, serta waktu yang tidak
produktif bagi pengisian pipeline dan memaksa latensi untuk menghindari adanya
tubrukan.
Pipelining
instruksi dalam suatu komputer nonpipeline, CPU bekerja melalui suatu siklus
yang berkesinambungan dari fetch-decode-eksekusi untuk semua instruksinya.
Proses fetch suatu instruksi tidak akan dimulai sampai eksekusi instruksi
sebelumnya selesai. Untuk mem-pipeline fungsi ini, instruksi-instruksi yang
berdampingan di fetch dari memori ketika instruksi yang sebelumnya di-decode
dan dijalankan. Proses pipelining instruksi, disebut juga instruction
lihat-ke-muka (look-ahead), mem-fetch instruksi secara berurutan. Dengan
demikian, jika suatu instruksi menyebabkan percabganan keluar dari urutan itu
maka pipe akan dikosongkan dari seluruh instruksi yang telah di-fetch
sebelumnya dan instruksi percabangan (branched-to instruction) tersebut
di-fetch.
Instruksi pada pipeline
Tahapan pipeline
- Mengambil instruksi dan membuffferkannya.
- Ketika tahapan kedua bebas tahapan pertama mengirimkan instruksi yang dibufferkan tersebut.
- Pada saat tahapan kedua sedang mengeksekusi instruksi ,tahapan pertama memanfaatkan siklus memori yang tidak dipakai untuk mengambil dan membuffferkan instruksi berikutnya.
Berikut
ini adalah gambaran tentang Instuksi pipeline :
Karena
untuk setiap tahap pengerjaan instruksi, komponen yang bekerja berbeda, maka
dimungkinkan untuk mengisi kekosongan kerja di komponen tersebut. Sebagai
contoh :
Instruksi
1 : ADD AX, AX Instruksi 2: ADD EX, CX
Setelah
CU menjemput instruksi 1 dari memori (IF), CU akan menerjemahkan instruksi
tersebut(ID). Pada menerjemahkan instruksi 1 tersebut, komponen IF tidak
bekerja. Adanya teknologi pipeline menyebabkan IF akan menjemput instruksi 2
pada saat ID menerjemahkan instruksi 1. Demikian seterusnya pada saat CU
menjalankan instruksi 1 (EX), instruksi 2 diterjemahkan (ID).
Contoh
pengerjaan instruksi tanpa pipeline :
Contoh
pengerjaan instruksi dengan pipeline :
Dengan
adanya pipeline dua instruksi selesai dilaksanakan padadetik keenam
(sedangkan pada kasus tanpa pipeline baru selesai pada detik kesepuluh). Dengan
demikian telah terjadi percepatan sebanyak 1,67x dari 10T menjadi hanya 6T.
Sedangkan untuk pengerjaan 3 buah instruksi terjadi percepatan sebanyak 2, 14x
dari 15T menjadi hanya 7T.
Untuk kasus pipeline sendiri, 2 instruksi dapat
dikerjakan dalam 6T (CPI = 3) dan instruksi dapat dikerjakan dalam 7T (CPT =
2,3) dan untuk 4 instruksi dapat dikerjakan dalam 8T (CPI =2). Ini
berarti untuk 100 instruksi akan dapat dikerjakan dalam 104T (CPI = 1,04). Pada
kondisi ideal CPI akan harga 1.
RISC (REDUCET INSTRUCTION SET
COMPUTER)
RISC
(Reduce Instruction Set Computer) atau komputasi set instruksi yang
disederhanakan merupakan sebuah arsitektur komputer atau arsitektur komputasi
modern dengan instruksi-instruksi dan jenis eksekusi yang paling sederhana.
Arsitektur ini digunakan pada komputer dengan kinerja tinggi, seperti komputer
vector. Desain ini juga diimplementasikan pada prosesor komputer lain, seperti
pada beberapa mikroprosesor intel 960, Itanium (IA64) dari Intel Coorporatoin.
Selain itu RISC juga umum dipakai pada Advanced RUSC Machine (ARM) dan Strong
ARM.
Beberapa
elemen penting pada arsitektur RISC :
- Set instruksi yang terbatas dan sederhana
- Register general-purpose yang berjumlah banyak, atau penggunaan teknologi kompiler untuk mengoptimalkan pemakaian registernya.
- Penekanan pada pengoptimalan pipeline instruksi.
Ditinjau
dari jenis set instruksinya, ada 2 jenis arsitektur komputer, yaitu:
- Arsitektur komputer dengan kumpulan perintah yang rumit (Complex Instruction Set Computer = CISC)
- Arsitektur komputer dengan kumpulan perintah yang sederhana (Reduced Instruction Set Computer = RISC)
Tidak ada komentar:
Posting Komentar