Definisi
Pipelining adalah suatu
teknik implementasi dengan mana berbagai instruksi dapat dilaksanakan secara
tumpang tindih (overlapped; hal ini mengambil keuntungan paralelisme yang ada
di antara tindakan yang diperlukan untuk mengeksekusi suatu instruksi.
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 dijalankan oleh microprocessor.
Pipeline Unit Arithmetic :
berguna untuk operasi vector
Pipeline Unit Instruction :
berguna untuk komputer yang mempunyai set instruksi yang sederhana
Tahapan instruksi 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.
4. Instruksi-instruksi dari program yang
sudah berurutan kemudian satu-persatu memasuki pipeline prosesor untuk
diproses. Setiap tingkat pipeline memerlukan satu clock cycle untuk
menyelesaikan satu instruksi dan meneruskan hasilnya ke pipeline berikutnya.
5. 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.
6. Ketergantungan terhadap data, bisa
muncul, misalnya instruksi yang berurutan memerlukan data dari instruksi yang
sebelumnya.
7. 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.
Keuntungan Pipelining:
1. Waktu siklus prosesor berkurang,
sehingga meningkatkan tingkat instruksi dalam kebanyakan kasus( lebih cepat
selesai).
2. Beberapa combinational sirkuit
seperti penambah atau pengganda dapat dibuat lebih cepat dengan menambahkan
lebih banyak sirkuit. Jika pipelining digunakan sebagai pengganti, hal itu
dapat menghemat sirkuit & combinational yang lebih kompleks.
3. Pemrosesan dapat dilakukan lebih
cepat, dikarenakan beberapa proses dilakukan secara bersamaan dalam satu waktu.
Kerugian Pipeline:
1. Pipelined prosesor menjalankan
beberapa instruksi pada satu waktu. Jika ada beberapa cabang yang mengalami
penundaan cabang (penundaan memproses data) dan akibatnya proses yang dilakukan
cenderung lebih lama.
2. Instruksi latency di non-pipelined
prosesor sedikit lebih rendah daripada dalam pipelined setara. Hal ini
disebabkan oleh fakta bahwa intruksi ekstra harus ditambahkan ke jalur data
dari prosesor pipeline.
3. Kinerja prosesor di pipeline jauh
lebih sulit untuk meramalkan dan dapat bervariasi lebih luas di antara program
yang berbeda.
4. 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.
5. Sedangkan ketergantungan terhadap
data, bisa muncul, misalnya instruksi yang berurutan memerlukan data dari
instruksi yang sebelumnya.
6. 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.
RICS (Reduced Instruction Set Computer)
RICS singkatan dari
Reduced Instruction Set Computer. Merupakan bagian dari arsitektur
mikroprosessor, berbentuk kecil dan berfungsi untuk negeset istruksi dalam
komunikasi diantara arsitektur yang lainnya. Reduced Instruction Set Computer
(RISC, bahasa Inggris untuk “Komputasi set instruksi yang disederhanakan”)
adalah filosofi desain untuk prosesor komputer, yang lebih suka menggunakan
instruksi mesin sederhana.
Sebuah set instruksi RISC
dibebaskan dari perintah yang kompleks – terutama mereka pada saat
menggabungkan akses memori (perlahan) dengan operasi aritmatika (cepat). Dengan
demikian, tingkat pipa prosesor (processor pipeline) dapat disetel dengan baik,
langkah menjadi lebih pendek, pipeline dapat di clock lebih cepat dan
dimanfaatkan lebih berimbang, karena jumlah “penyumbatan” (stalls) berkurang.
Alhasil, karakteristik ini menghasilkan keuntungan besar dalam efisiensi.
Kecuali itu, perintah sederhana juga dapat dikodekan dengan lebar yang seragam,
dan dibandingkan arsitektur CISC upaya dekoder menjadi lebih rendah, sehingga
latensi pipeline jauh berkurang.
Set instruksi prosesor
CISC biasanya diimplementasikan dalam bentuk microcode, sementara pada prosesor
RISC, perintah diterapkan secara individu tertanam. Arsitektur RISC digunakan
pada komputer dengan kinerja tinggi, seperti komputer vektor. Selain digunakan dalam komputer vektor,
desain ini juga diimplementasikan pada prosesor komputer lain, seperti pada
beberapa mikroprosesor Intel 960, Itanium (IA64) dari Intel Corporation, Alpha
AXP dari DEC, R4x00 dari MIPS Corporation, PowerPC dan Arsitektur POWER dari
International Business Machine.
Selain itu, RISC juga
umum dipakai pada Advanced RISC Machine (ARM) dan StrongARM (termasuk di
antaranya adalah Intel XScale), SPARC dan UltraSPARC dari Sun Microsystems,
serta PA-RISC dari Hewlett-Packard.
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 field yang
tetap pendekodean opcode dan pengaksesan
operand register dapat dilakukan secara bersama-sama
DAFTAR PUSTAKA
Tidak ada komentar:
Posting Komentar