A. Pipleline
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.
1. Intruksi Pada Pipeline
1. Intruksi 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
Intruksi Pipeline
Contoh Pengerjaan Intruksi Tanpa Pipeline
Contoh Pengerjaan Intruksi Menggunakan 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 (Reduce Intruction Set Computer)
1. Pengertian RISC
RISC (Reduce Intruction 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 Copration. Selain itu RISC
juga umum dipakai pada Advanced RISC Machine (ARM) dan strong ARM.
2. Perkembangan RISC
Ide dasar
prosesor RISC sebenarnya bisa dilacak dari apa yang disarankan oleh von Neumann
pada tahun 1946. Von Neumann menyarankan agar rangkaian elektronik untuk konsep
logika diimplementasikan hanya bila memang diperlukan untuk melengkapi sistem
agar ber&ungsi atau karena frekuensi penggunaannya cukup tinggi (Hueden,
1992 : 18). jadi ide tentang RISC, yang pada dasarnya adalah untuk
menyederhanakan realisasi perangkat keras prosesor dengan melimpahkan sebagian
besar tugas kepada perangkat lunaknya, telah ada pada komputer elektronik pertama.
Seperti halnya prosesor RISC, komputer elektronik pertama merupakan komputer
eksekusi-langsung yang memiliki instruksi sederhana dan mudah didekode.
Hal yang sama
dipercayai juga oleh Seymour Cray, spesialis pembuat superkomputer. Pada tahun 1975,
berdasarkan kajian yang dilakukannya, Seymour Cray menyimpulkan bahwa
penggunaan register sebagai tempat manipulasi data menyebabkan ran'angan
instruksi menjadi sangat sederhana. Ketika itu perancang prosesor lain lebih banyak
membuat instruksi-instruksi yang merujuk ke memori daripada ke register seperti
rancangan Seymour Cray. Sampai akhir tahun 1980an komputer-komputer rancangan
Seymour Cray, dalam bentuk superkomputer seri Cray, merupakan komputer-komputer
dengan kinerja sangat tinggi. Pada tahun 1975, kelompok peneliti di IBM di
bawah pimpinan George radin, mulai merancang komputer berdasar konsep John Cocke.
Berdasarkan saran John Cocke, setelah meneliti &rekuensi pemanfaatan
instruksi hasil kompilasi suatu program, untuk memperoleh prosesor berkinerja
tinggi tidak perlu diimplementasikan instruksi kompleks ke dalam prosesor bila
instruksi tersebut dapat dibuat dariinstruksi-instruksi sederhana yang telah
dimilikinya.
a. Prosesor RISC
Berkeley
Kelompok David
Patterson dari Universitas California memulai proyek RISC pada tahun 1980 dengan
tujuan menghindari kecenderungan perancangan prosesor yang perangkat
instruksinya semakin komplekscsehingga memerlukan peran'angan rangkaian kontrol
yang semakin rumitcdari waktu ke waktu. Hipotesis yang diajukan adalah bahwa
implementasi instruksi yang kompleks ke dalam perangkat instruksi prosesor
justru berdampak negatif pemakaian instruksi tersebut dalam kebanyakan program
hasil komplikasi (Heudin, 1992 : 22). Apalagi, instruksi kompleks itu pada
dasarnya dapat disusun dari instruksi-instruksi sederhana yang telah dimiliki.
Rancangan
prosesor RISC-1 ditujukan untuk mendukung bahasa C, yang dipilih karena
popularitasnya dan banyaknya pengguna. Realisasi rancangan diselesaikan oleh kelompok
Patterson dalam waktu 6 bulan. Fabrikasi dilakukan oleh MOVIS dan XEROX dengan
menggunakan teknologi silikon NMOS (N-channel Metal-oxide Semiconductor) 2
mikron. Hasilnya adalah sebuah 'hip rangkaian terpadu dengan 44.500 buah
transistor (Heudin, 1992 : 230). Chip RISC-1 selesai dibuat pada musim panas
dengan kecepatan eksekusi ( mikrosekon per instruksi (pada frekuensi detak 1,5
MHz), 4 kali lebih lambat dari kecepatan yang ditargetkan. Tidak tercapainya
target itu disebabkan terjadinya sedikit kesalahan perancangan, meskipun
kemudian dapat diatasi dengan memodifikasi rancangan assemblernya. Berdasarkan
hasil evaluasi, meskipun hanya bekerja pada frekuensi detak 1,5 MHz dan
mengandung kesalahan perancangan, RISC-1 terbukti mampu mengeksekusi program bahasa
C lebih cepat dari beberapa prosesor cISC, yakni MC6800, Z8002, VAX-11/780, dan
PDP-11/70. Hampir bersamaan dengan proses fabrikasi RISC-1, tim Berkeley lain
mulai bekerja untuk meranrang RISC-2. Chip yang dihasilkan tidak lagi
mengandung kesalahan sehingga mencapai kecepatan operasi yang ditargetkan, 330
nanosekon tiap instruksi (Heudin, 1992 : 27-28).
RISC-2 hanya
memerlukan luas chip 25% dari yang dibutuhkan RISC-1 dengan 75% lebih banyak
register. Meskipun perangkat instruksi yang ditanamkan sama dengan perangkat
instruksi yang dimiliki RISC-1, tetapi di antara keduanya terdapat perbedaan
mikroarsitektur perangkat kerasnya. RISC-2 memiliki 138 buah register yang
disusun sebagai 8 jendela register, dibandingkan dengan 78 buah register
yang disusun sebagai 6 jendela register. Selain itu, juga terdapat perbedaan
dalam hal organisasi alur-pipa (pipeline) . RISC-1 memiliki alur-pipa dua
tingkat sederhana dengan penjeputan (fetch) dan eksekusi instruksi yang dibuat tumpang-tindih,
sedangkan RISC-2 memiliki 3 buah alur-pipa yang masing-masing untuk penjemputan
instruksi, pembacaan operan dan eksekusinya, dan penulisan kembali hasilnya ke
dalam register. Sukses kedua proyek memacu tim Berkeley untuk mengerjakan
proyek SOAR (Smalltalk on RISC) yang dimulai pada tahun 1983.
b. RICS Stanford
Sementara
proyek RISC-1 dan RISC-2 dilakukan kelompok Patterson di Universitas California, pada tahun 1981 itu juga John
Hennessy dari Universitas Stanford mengerjakan proyek MIPS (Microprocessor
without interlocked Pipeline Stages). Pengalaman riset tentang optimasi kompilator
digabungkan dengan teknologi perangkat keras RISC merupakan kunci utama proyek
MIPS ini. Tujuan utamanya adalah menghasilkan chip mikroprosesor serbaguna
32-bit yang dirancang untuk mengeksekusi secara efsien kode-kode hasil
kompilasi (Heudin, 1992 : 34). Perangkat instruksi prosesor M!PS terdiri atas
31 buah instruksi yang dibagi menjadi 4 kelompok, yakni kelompok instruksi isi
dan simpan, kelompok instruksi operasi aritmetika dan logika, kelompok
instruksi pengontrol, dan kelompok instruksi lain-lain. MIPS menggunakan lima tingkat
alur-pipa tanpa perangkat keras saling-kunci antar alur-pipa tersebut, sehingga
kode yang dieksekusi harus benar-benar bebas dari konfik antar alur-pipa.
Direalisasi
dengan teknologi NMOS 2 mikron, prosesor MIPS yang memiliki 24.000 transistor
ini memiliki kemampuan mengeksekusi satu instruksi setiap 500 nanodetik. Karena
menggunakan lima tingkat alur-pipa bagian kontrol prosesor MIPS ini menyita
luas chip dua kali lipat dibanding dengan bagian kontrol pada prosesor RISC. MIPS
memiliki 16 register dibandingkan dengan 138 buah register pada RISC-2. Hal ini
bukan masalah penting karena MIPS memang dirancang untuk mebebankan kerumitan
perangkat keras ke dalam perangkat lunak sehingga menghasilkan perangkat keras
yang jauh lebih sederhana dan lebih efsien. Perangkat keras yang sederhana akan
mempersingkat waktu perancangan, implementasi, dan perbaikan bila terjadi
kesalahan. Sukses perancangan MIPS dilanjutkan oleh tim Stanford dengan
merancang mikroprosesor yang lebih canggih, yakni MIPS-X. Perancangan dilakukan
oleh tim riset MIPS sebelumnya ditambah 6 orang mahasiswa, dan dimulai pada
musim panas tahun 1984. Rancangan MIPS-X banyak diperbaruhi oleh MIPS dan
RISC-2 dengan beberapa perbedaan utama :
·
Semua instruksi MIPS-X merupakan operasi tunggal
dan dieksekusi dalam satu siklus detak
·
Semua instruksi M!PS-X memiliki format tetap
dengan panjang instruksi 32-bit
·
MIPS-X dilengkapi pendukung koprosesor yang efsien
dan sederhana
· MIPS-X dilengkapi pendukung untuk digunakan
sebagai prosesor dasar dalam sistem multiprosesor memori-bersama (shared
memory)
·
MIPS-X dilengkapi chace instruksi dalam-chip
yang cukup besar (2 kilobyte)
·
M!PS-X difabrikasi dengan teknologi CMOS-2
mikron.
3. Sifat-Sifat RISC
1. Semua
atau setidak-tidaknya sebagian besar (80%) instruksi harus dieksekusi dalam
satu siklus clock.
2. Semua
instruksi harus memiliki satu ukuran standar, yaitu sama dengan ukuran kata
dasar (basic word length).
3. Jumlah
jenis instuksinya harus kecil, tidak melebihi 128
4. Jumlah
format isntruksinya harus kecil, tidak melebihi kira-kira 4
5. Jumlah
addressing mode harus kecil, tidak melebihi kira-kira 4
6. Akses
ke memori hanya dilakukan dengan instruksi load dan store.
7. Semua
operasi, kecuali operasi load dan store merupakan operas register ke register
di dalam CPU.
8. Memiliki
hardwired control unit.
9. Memiliki
relati& banyak register serbaguna internal CPU
4.Karakteristik RISC
Arsitektur RISC memiliki beberapa
karakteristik diantaranya :
1. Siklus
mesin ditentukan oleh waktu yang digunakan untuk mengambil dua buah operand
dari register, melakukan operasi ALU, dan menyimpan hasil operasinya kedalam
register, dengan demikian instruksi mesin RISC tidak boleh lebih kompleks dan harus
dapat mengeksekusi secepat mikroinstruksi pada mesin-mesin CISC. Dengan
menggunakan instruksi sederhana atau instruksi satu siklus hanya dibutuhkan
satu mikrokode atau tidak sama sekali, instruksi mesin dapat dihardwired. Instruksi
seperti itu akan dieksekusi lebih cepat dibanding yang sejenis pada yang lain
karena tidak perlu mengakses penyimapanan kontrol mikroprogram saat eksekusi
instruksi berlangsung.
2. Operasi
berbentuk dari register-ke register yang hanya terdiri dari operasi load dan
store yang mengakses memori . Fitur rancangan ini menyederhanakan set instruksi
sehingga menyederhanakan pula unit Control. Keuntungan lainnya memungkinkan
optimasi pemakaian register sehingga operand yang sering diakses akan tetap ada
di penyimpan berkecepatan tinggi. Penekanan pada operasi register ke register
merupakan hal yang unik bagi perancangan RISC.
3. Penggunaan
mode pengalamatan sederhana, hampir sama dengan instruksi menggunakan
pengalamatan register. Beberapa mode tambahan seperti pergeseran dan pe-relatif
dapat dimasukkan selain itu banyak mode kompleks dapat disintesis pada
perangkat lunak dibanding yang sederhana, selain dapat menyederhanakan sel
instruksi dan unit kontrol.
4. Penggunaan
format-format instruksi sederhana, panjang instruksinya tetap dan disesuaikan
dengan panjang word. Fitur ini memiliki beberapa kelebihan karena dengan
menggunakan Beld yang tetap pendekodean op'ode dan pengaksesan operand register
dapat dilakukan secara bersama-sama.
RISC perlu memperhatikan karakteristik eksekusi instruksi. Adapun aspek-aspek komputasinya adalah :
a.
Operasi-operasi yang dilakukan
b.
perand-operand yang digunakan
c.
Pengurutan eksekusi.
Sumber :
http://www.academia.edu/9124108/Pengertian_Pipeline
http://www.academia.edu/18365931/Makalah_CISC_and_RISC
Tidak ada komentar:
Posting Komentar