ARTIKEL 1
- Pipelining dan RISC
1.
Pengertian Pipeline
Pemrosesan pipeline dalam suatu komputer diperoleh dengan
membagi suatu fungsi yang akan dijalankan menjadi beberapa subfungsi yang lebih
kecil dan merancang perangkat keras yang terpisah, disebut sebagai tingkatan
(stage), untuk setiap subfungsi. Stage-stage itu kemudian dihubungkan
bersama-sama dan membentuk sebuah pipeline tunggal (atau pipe) untuk menjalankan
fungsi asli tersebut.
1.
Sejajarkan
mantissa-mantissa yang ada
2.
tambahkan
mantissa-mantissa tersebut
3.
Normalisasikan
hasilnya
Keuntungan
proses penambahan secara pipeline ini adalah bahwa dua input yang baru dapat
dimulai melalui pipa tersebut segera sesudah dua input sebelumnya melewati
stage 2. Hal ini berarti bahwa jumlah penambahan akan tersedia dengan kecepatan
yang sama dengan kecapatan input. Secara sistematis sekumpulan angka
floating-point akan bergerak melalui penambah (adder) pipeline yang sederhana
pada saat pasangan pertama angka-angka itu dihasilkan oleh stage 3 maka
pasangan kedua telah disejajarkan dan ditambahkan dan hanya perlu dinormalisir
pada stage 3. Dengan menggunakan pipeline, jumlah selisih waktu antara hasil
pertama dan kedua merupakan jumlah waktu yang diperlukan untuk menormalisir
sebuah angka.Tanpa suatu pipeline, waktu antara hasil-hasil tersebut merupakan
waktu kumulatif yang diperlukan untuk semua ketiga subfungsi tersebut.
Sinkronisasi
Pada Pipeline
Meskipun kita dapat memisahkan suatu fungsi menjadi beberapa
subfungsi dengan waktu proses yang relatif sama, perbedaan logika dari stiap
stage akan menyukarkan kita untuk menghasilkan waktu proses yang sama pada
setiap stage. Untuk menyamakan waktu yang diperlukan pada setiap stage maka
stage-stage tersebut harus disinkronisasikan. Hal ini bisa dilakukan dengan
menyisipkan kunci-kunci (latch) sederhana (register cepat), antara stage-stage
tersebut.latch, masing-masing pada bagian pipe paling awal dan satu lagi pada
bagian paling akhir untuk memaksa input yang sinkron dan memastikan output yang
sinkron.
Waktu yang diperlukan untuk lewat dari suatu latch melalui
stage ke latch berikutnya disebut sebagaipenangguhan clock (clock delay) dan
diperlihatkan pada gambar dibawah ini. Karena hanya ada satu keseragaman
penangguhan clock untuk seluruh pipeline maka latch disinkronkan sesuai dengan
waktu proses maksimum pada masing-masing stage individual dalam pipeline
tersebut. Klasifikasi Pipeline, Pipeline dapat dikelompokkan menrut fungsi dan
konfigurasinya. Secara fungsional, mereka diklasifikasikan menjadi tiga
kelompok pokok yaitu: pipelineing aritmatika, instruksi dan prosesor. Pipeline
menurut konfigurasi dan strtegi kendalinya: unifungsi atau multifungsi; statis
atau dinamis; skalar atau vektor.
Klasifikasi Berdasarkan Fungsi Pipelining aritmatika. Proses
segmentasi dari ALU dari sistem yang muncul dalam kategori ini. Suatu contoh
daari fungsi pipeline aritmatika diberikan dalam bagian contoh pipeline
multifungsi. 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. Pipelining prosesor. Sewaktu stage dari suatu pipeline
merupakan prosesor aktual dan latch-latch saling berbagi memori antara
prosesor-prosesor tersebut maka pipeline itu disebut sebagai pipeline prosesor.
Instruksi 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 .
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).
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.
2.
Prosedur vektor Pipeline.
Mengambil intruksi dan membufferkanya Ketika tahapan kedua
bebas tahapan pertama mengirimkan instruksi yang dibufferkan tersebut.
1.
Pada
saat tahapan kedua sedang mengeksekusi instruksi, tahapan pertama memanfaatkan
siklus memori yang tidak dipakai untuk mengambil dan membuffferkan instruksi
berikutnya.
Tiga kesulitan yang sering dihadapi
ketika menggunakan teknik pipeline :
2.
Terjadinya penggunaan resource yang bersamaan
3.
Ketergantungan
terhadap data pengaturan jump ke suatu lokasi memori.
3.
Reduced Instruction Set Computers
(RISC)
RISC, yang jika diterjemahkan berarti "Komputasi
Kumpulan 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 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.
Selain
RISC, desain Central Processing Unit yang lain adalah CISC (Complex Instruction
Set Computing), yang jika diterjemahkan ke dalam Bahasa Indonesia berarti
Komputasi Kumpulan Instruksi yang kompleks atau rumit.
Artikel ke
2
- Prosesor Paralel
Paralel
prosesor.
adalah
suatu prosesor dimana pelaksanaan instruksinya secara bersamaan waktunya.
Sehingga
menyebabkan pelaksanaan suatu kejadian :
1.
Dalam
interval waktu yang sama
2.
Dalam
dalam waktu yang bersamaan
3.
Dalam
waktu yang saling tumpang tindih
Teknik Pemrosesan Paralel
Pada
prosesor paralel memiliki beberapa teknik pemrosesan :
1.
Pipelining
2.
Unit-unit fungsional berganda
3.
Tumpang tindih antara operasi CPUdan
I/O
4.
Interleaving memori
5.
Multiprograming
6.
Multiprosesing
1.
JARINGAN INTERKONEKSI .
Komunikasi diantara terminal-terminal yang berbeda harus
dapat dilakukan dengan suatu media tertentu. Interkoneksi yang efektif antara
prosesor dan modul memorisangat penting dalam lingkungan komputer. Menggunakan
arsitektur bertopologi busbukan merupakan solusi yang praktis karena bus
hanya sebuah pilihan yang baik ketika digunakan untuk menghubungkan
komponen-komponen dengan jumlah yang sedikit.
Jumlah
komponen dalam sebuah modul IC bertambah seiring waktu. Oleh karena itu,
topologi bus bukan topologi yang cocok untuk kebutuhan interkoneksi
komponenkomponen di dalam modul IC. Selain itu juga tidak dapat diskalakan,
diuji, dan kurang dapat disesuaikan, serta menghasilkan kinerja toleransi
kesalahan yang kecil.
Di
sisi lain, sebuah crossbar yang ditunjukkan pada Gambar 2.2
menyediakan interkoneksi penuh diantara semua terminal dari suatu
sistem tetapi dianggap sangat kompleks, mahal untuk membuatnya, dan
sulit untuk dikendalikan. Untuk alasan ini jaringan interkoneksi merupakan
solusi media komunikasi yang baik untuk sistem komputer dan telekomunikasi.
Jaringan ini membatasi jalur-jalur diantara terminal komunikasi yang berbeda
untuk mengurangi kerumitan dalam menyusun elemen switching .
2.
Mesin SIMD.
SIMD adalah
singkatan dari Single Instruction, Multiple Data,
merupakan sebuah istilah dalam komputasi yang merujuk kepada sekumpulan operasi yang digunakan untuk menangani
jumlah data yang sangat banyak dalam paralel
secara efisien, seperti yang terjadi dalam prosesor vektor atau prosesor
larik. SIMD pertama kali dipopulerkan pada superkomputer skala besar, meski
sekarang telah ditemukan pada komputer pribadi.
Contoh
aplikasi yang dapat mengambil keuntungan dari SIMD adalah aplikasi yang
memiliki nilai yang sama yang ditambahkan ke banyak titik data (data point),
yang umum terjadi dalam aplikasi multimedia. Salah satu contoh operasinya
adalah mengubah brightness dari sebuah gambar. Setiap pixel dari
sebuah gambar 24-bit berisi tiga buah nilai berukuran 8-bit brightness dari
porsi warna merah (red), hijau (green), dan biru (blue).
Untuk melakukan perubahan brightness, nilai R, G,
dan B akan dibaca dari memori, dan sebuah nilai baru
ditambahkan (atau dikurangkan) terhadap nilai-nilai R, G, B tersebut dan nilai
akhirnya akan dikembalikan (ditulis kembali) ke memori.
Prosesor
yang memiliki SIMD menawarkan dua keunggulan, yakni:
·
Data langsung dapat dipahami dalam bentuk blok data,
dibandingkan dengan beberapa data yang terpisah secara sendiri-sendiri. Dengan
menggunakan blok data, prosesor dapat memuat data secara keseluruhan pada waktu
yang sama. Daripada melakukan beberapa instruksi "ambil pixel ini, lalu
ambil pixel itu, dst", sebuah prosesor SIMD akan melakukannya dalam sebuah
instruksi saja, yaitu "ambil semua pixel itu!"
(istilah "semua" adalah nilai yang berbeda dari satu desain ke desain
lainnya). Jelas, hal ini dapat mengurangi banyak waktu pemrosesan (akibat
instruksi yang dikeluarkan hanya satu untuk sekumpulan data), jika dibandingkan
dengan desain prosesor tradisional yang tidak memiliki SIMD (yang memberikan
satu instruksi untuk satu data saja).
Sistem SIMD
umumnya hanya mencakup instruksi-instruksi yang dapat diaplikasikan terhadap
semua data dalam satu operasi. Dengan kata lain, sistem SIMD dapat bekerja
dengan memuat beberapa titik data secara sekaligus, dan melakukan operasi terhadap
titik data secara sekaligus.
3.
Mesin MIMD.
MIMD adalah sebuah singkatan dari (Multiple Instruction
stream-Multiple Data stream) yaitu sebuah
komputer yang memiliki beberapa prosesor yang bersifat otonomus yang mampu
melakukan instruksi yang berbeda pada data yang berbeda. Sistem terdistribusi
umumnya dikenal sebagai MIMD, entah itu menggunakan satu ruangan memori secara
bersama-sama atau sebuah ruangan memori yang terdistribusi.
Pada
sistem komputer MIMD murni terdapat interaksi di antara pemrosesan. Hal
ini disebabkan seluruh aliran dari dan ke memori berasal dari space data
yang sama bagi semua pemroses.
Komputer
MIMD bersifat tightly coupled jika tingkat interaksi antara
pemroses tinggi dan disebut loosely coupled jika tingkat
interaksi antara pemroses rendah.
4.
ARSITEKTUR PENGGANTI.
Dalam bidang teknik komputer, arsitektur pengganti merupakan konsep
perencanaan atau struktur pengoperasian dasar dalam komputer atau bisa
dikatakan rencana cetak biru dan deskripsi fungsional kebutuhan dari perangkat
keras yang didesain. implementasi perencanaan dari masing-masing bagian seperti
CPU, RAM, ROM, Memory Cache, dll.
Sumber
:
- http://gamapermana80.blogspot.com/2012/01/pipelining-dan-risc.html
- http://repository.usu.ac.id/bitstream/123456789/19839/4/Chapter%20II.pdf
- http://next-timexxxx.blogspot.com/2012/01/pipelining-dan-risc.html
- http://andi-granderist.blogspot.com/2013/01/pipelining-risc-dan-prosesor-paralel.html
- http://windhu.wordpress.com/2009/07/09/pipelining-pada-processor/
- http://archpineapple.blogspot.com/2009/12/pengertian-risc.html
- http://id.scribd.com/doc/17220400/Paralel-Prosesor
- http://id.wikipedia.org/wiki/SIMD
- http://id.wikipedia.org/wiki/Taksonomi_Flynn
- http://soulofmine.wordpress.com/2011/04/01/parallel-processing/
- http://eby190205.blogspot.com/2012/01/pipelining-dan-risc.html
- http://id.wikipedia.org/wiki/RISC
Tidak ada komentar:
Posting Komentar