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
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
B. RISC (Reduce Intruction Set Computer)
1. Pengertian RISC
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.
Ciri-ciri RISC
a. Instruksi berukuran
tunggal
b. Ukuran yang umum adalah 4
byte.
c. Jumlah mode pengalamatan
data yang sedikit, biasanya kurang dari lima buah.
d. Tidak terdapat
pengalamatan tak langsung.
e. Tidak terdapat operasi
yang menggabungkan operasi load/store dengan operasi
aritmetika (misalnya,
penambahan dari memori, penambahan ke memori).
Ciri-Ciri CISC
a. Penekanan pada perangkat
keras (hardware)
b. Termasuk instruksi
kompleks multi-clock
c. Memori-ke-memori: “LOAD”
dan “STORE” saling bekerjasama
d. Ukuran kode kecil,
kecepatan rendah
e. Transistor digunakan
untuk menyimpan instruksi-instruksi kompleks
http://www.academia.edu/18365931/Makalah_CISC_and_RISC
http://www.academia.edu/9124108/Pengertian_Pipeline
http://dokumen.tips/documents/makalah-risc-dan-cisc.html
Tidak ada komentar:
Posting Komentar