pipe lining dan jaringan interkoneksi
PIPELINING dan RISC
1. Pengertian pipelining, pipelining yaitu suatu cara yang
digunakan untuk melakukan sejumlah kerja secara bersama tetapi dalam tahap yang
berbeda yang dialirkan secara kontinu pada unit pemrosesan. Dengan cara ini,
maka unit pemrosesan selalu bekerja. Teknik pipeline ini dapat diterapkan pada
berbagai tingkatan dalam sistemkomputer. Bisa pada level yang tinggi, misalnya
program aplikasi, sampai pada tingkat yang rendah, seperti pada instruksi yang
dijalankan oleh microprocessor.
-Tahapan Pipeline
• Mengambil instruksi dan mem-bufferkannya.
• 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
-Keuntungan Pipelining
• Waktu siklus prosesor berkurang, sehingga meningkatkan
tingkat instruksi dalam kebanyakan
kasus( lebih cepat selesai).
• 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.
• Pemrosesan dapat dilakukan lebih cepat, dikarenakan
beberapa proses dilakukan secara bersamaan dalam satu waktu.
-Kerugian Pipelining
• 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.
• 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.
• Kinerja prosesor di pipeline jauh lebih sulit untuk
meramalkan dan dapat bervariasi lebih luas di antara program yang berbeda.
• 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.
• 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.
2. RISC merupakan rancangan arsitektur CPU yang mengembil
dasar filosofi bahwa prosesor dibuat dengan arsitektur yang tidak rumit dengan
membatasi jumlah instruksi hanya pada instruksi dasar yang diperlukan saja.
Dengan kata lain RISC adalah arsitektur komputer dengan kumpulan perintah
(instruksi) yang sederhana, tetapi dalam kesederhanaan tersebut didapatkan
kecepatan operasi setiap siklus instruksinya. Kebanyakan pada proses RISC
instruksi operasi dasar aritmatik hanya penjumlahan dan pengurangan, untuk
perkalian dan pembagian sudah dianggap operasi ang kompleks. RISC
menyederhanakan rumusan perintah sehingga lebih efisien dalam penyusunan
kompiler yang pada akhirnya dapat memaksimumkan kinerja program yang ditulis
dalam bahasa tingkat tinggi.
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.
PARALEL PROCESSING
1. Paralel Processing
Parallel Processing merupakan salah satu teknik yang digunakan
dalam komputasi, yaitu teknik yang menggunakan dua atau lebih processor dalam
melakukan komputasi dan dilakukan secara bersamaan. Komputasi adalah suatu
aktifitas penghitungan atau pemecahan masalah, lalu bagaimana dengan processor.
Processor merupakan sumber semua perintah, jika diibaratkan dalam makhluk
hidup, prosessor merupakan otaknya. Idealnya satu komputer hanya memiliki satu
prosesor saja, namun dengan berkembangnya teknologi, muncullah multi prosesor
dimana dalam satu komputer terdapat dua prosessor yang digabung menjadi satu,
contohnya dual core, core 2 duo, quad core, dan lain-lain.
Untuk melakukan berbagai jenis komputasi paralel diperlukan
infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan
dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu
masalah. Untuk digunakan perangkat lunak pendukung yang biasa disebut
middleware yang berperan mengatur distribusi antar titik dalam satu mesin
paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk
merealisasikan komputasi. Salah satu middleware yang asli dikembangkan di
Indonesia adalah OpenPC yang dipelopori oleh GFTK LIPI dan diimplementasikan di
LIPI Public Center.
Pemrograman Paralel sendiri adalah teknik pemrograman
komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan. Bila
komputer yang digunakan secara bersamaan tersebut dilakukan oleh
komputer-komputer terpisah yang terhubung dalam satu jaringan komputer,
biasanya disebut sistem terdistribusi. Bahasa pemrograman yang populer
digunakan dalam pemrograman paralel adalah MPI (Message Passing Interface) dan
PVM (Parallel Virtual Machine).
Tujuan utama dari pemrosesan paralel adalah untuk
meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara
bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa
diselesaikan. Analogi yang paling mudah untuk diingat adalah, bila kamu dapat
merebus air dalam sebelum memotong motong bawang saat kamu akan masak, waktu
yang kamu butuhkan akan lebih sedikit dibandingkan bila kamu mengerjakan hal
tersebut secara berurutan (serial). Atau waktu yang kamu butuhkan pada saat
memotong bawang akan lebih sedikit jika kamu kerjakan berdua.
Perbedaan komputasi tunggal (menggunakan 1 processor) dengan
komputasi paralel (menggunakan beberapa processor), maka kita harus mengetahui
terlebih dahulu pengertian mengenai model dari komputasi. Ada 4 model komputasi
yang digunakan, yaitu:
dengan komputasi paralel (menggunakan beberapa processor),
maka kita harus mengetahui terlebih dahulu pengertian mengenai model dari
komputasi. Ada 4 model komputasi yang digunakan, yaitu:
1. Komputer SISD (Single Instruction stream-Single Data
stream)
2. Komputer SIMD (Single Instruction stream-Multiple Data
stream)
3. Komputer MISD (Multiple Instruction stream-Single Data
stream)
4. Komputer MIMD (Multiple Instruction stream-Multiple Data
stream)
2. SIMD
Yang merupakan singkatan dari Single Instruction, Multiple
Data. SIMD menggunakan banyak processor dengan instruksi yang sama, namun
setiap processor mengolah data yang berbeda. Sebagai contoh kita ingin mencari
angka 27 pada deretan angka yang terdiri dari 100 angka, dan kita menggunakan 5
processor. Pada setiap processor kita menggunakan algoritma atau perintah yang
sama, namun data yang diproses berbeda. Misalnya processor 1 mengolah data dari
deretan / urutan pertama hingga urutan ke 20, processor 2 mengolah data dari
urutan 21 sampai urutan 40, begitu pun untuk processor-processor yang lain.
Beberapa contoh komputer yang menggunakan model SIMD adalah ILLIAC IV, MasPar,
Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan Cell Processor (GPU).
3. MIMD
Yang merupakan singkatan dari Multiple Instruction, Multiple
Data. MIMD menggunakan banyak processor dengan setiap processor memiliki
instruksi yang berbeda dan mengolah data yang berbeda. Namun banyak komputer
yang menggunakan model MIMD juga memasukkan komponen untuk model SIMD. Beberapa
komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer,
Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.
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
Jaringan Interkoneksi
Terdapat 5 komponen pada jaringan interkoneksi, yaitu :
• CPU
• Memori
• Interface : peralatan yang yangnmembawa pesanmasuk dan
keluar dari CPU dan Memori
• Penghubung : saluran fisik yang dilalui bit-bituntuk
berpindah tempat
• Switch : peralatan yang memiliki banyak portinput dan port
output
Komunikasi diantara
terminal-terminal yang berbeda harus dapat dilakukan dengan suatu media
tertentu. Interkoneksi yang efektif antara prosesor dan modul memori sangat
penting dalam lingkungan komputer. Menggunakan arsitektur bertopologi bus bukan 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 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.
referensi
http://danureza123.blogspot.co.id/