A. Pipeline
Pipeline
adalah suatu cara yang digunakan untuk melakukan sejumlah kerja secara
bersama tetapi dalam tahap yang berbeda yang dialirkan secara kontinu
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. Dengan penerapan pipeline ini pada
microprocessor akan didapatkan peningkatan kinerja microprocessor.
Hal
ini terjadi karena beberapa instruksi dapat dilakukan secara parallel dalam
waktu yang bersamaan. Secara kasarnya diharapkan akan didapatkan peningkatan sebesar
K kali dibandingkan dengan microprocessor yang tidak menggunakan pipeline, apabila
tahapan yang ada dalam satu kali pemrosesan instruksi adalah K tahap. Karena
beberapa instruksi diproses secara bersamaan ada kemungkinan instruksi tersebut
sama-sama memerlukan resource yang sama, sehingga diperlukan adanya pengaturan
yang tepat agar proses tetap berjalan dengan benar dan lancar.
Sedangkan
ketergantungan terhadap data bisa muncul, misalnya instruksi yang berurutan
memerlukan data dari instruksi yang sebelumnya. Kasus Jump, juga perlu
perhatian, karena ketika sebuah instruksi meminta untuk melompat ke suatu
lokasi memori tertentu, akan terjadi perubahan program counter, sedangkan
instruksi yang sedang berada dalam salah satu tahap proses yang berikutnya mungkin
tidak mengharapkan terjadinya perubahan program counter.
Teknik pipeline
yang diterapkan pada microprocessor, dapat dikatakan sebuah arsitektur khusus.
Ada perbedaan khusus antara model microprocessor yang tidak menggunakan
arsitektur pipeline dengan microprocessor yang menerapkan teknik ini. 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.
Tiga
kesulitan yang sering dihadapi ketika menggunakan teknik pipeline ini adalah:
1.
Terjadinya penggunaan resource yang bersamaan
2.
Ketergantungan terhadap data, dan
3.
Pengaturan Jump ke suatu lokasi memori.
·
Instruksi pada pipeline
Tahapan pipeline
1.
Mengambil instruksi dan membuffferkannya
2.
Ketika tahapan kedua bebas tahapan pertama mengirimkan instruksi yang
dibufferkan tersebut
3.
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.
B. RISC (Reduced
Instruction Set Computer)
RISC
singkatan dari Reduced Instruction Set Computer. Merupakan bagian dari
arsitektur mikroprosessor, berbentuk kecil dan berfungsi untuk negeset istruksi
dalam komunikasi diantara arsitektur yang lainnya.
·
Sejarah RISC
Proyek
RISC pertama dibuat oleh IBM, stanford dan UC –Berkeley pada akhir tahun 70 dan
awal tahun 80an. IBM 801, Stanford MIPS, dan Barkeley RISC 1 dan 2 dibuat
dengan konsep yang sama sehingga dikenal sebagai RISC.
RISC
mempunyai karakteristik :
1.
One cycle execution time : satu putaran eksekusi. Prosessor
RISC mempunyai CPI (clock per instruction) atau waktu per instruksi untuk
setiap putaran. Hal ini dimaksud untuk mengoptimalkan setiap instruksi
pada CPU.
2.
Large number of registers: Jumlah register yang sangat banyak. RISC di Desain
dimaksudkan untuk dapat menampung jumlah register yang sangat banyak untuk
mengantisipasi agar tidak terjadi interaksi yang berlebih dengan memory.
3.
Pipelining:adalah sebuah teknik yang memungkinkan dapat melakukan eksekusi
secara simultan.Sehingga proses instruksi lebih efiisien.
·
Ciri-ciri :
1.
Instruksi berukuran tunggal
2.
Ukuran yang umum adalah 4 byte
3.
Jumlah pengalamatan data sedikit,
4.
Tidak terdapat pengalamatan tak langsung
5.
Tidak terdapat operasi yang menggabungkan operasi load/store dengan
operasi aritmatika
6.
Tidak terdapat lebih dari satu operand beralamat memori per instruksi
7.
Tidak mendukung perataan sembarang bagi data untuk operasi load/ store.
8.
Jumlah maksimum pemakaian memori manajemen bagi suatu alamat data adalah sebuah
instruksi .
Pengaplikasian
RISC yaitu pada CPU Apple