Sabtu, 19 Januari 2013

Prosesor Paralel

TUGAS KE-4 TENTANG
PROSESOR PARALEL

1.     JARINGAN INTERKONEKSI .
Jaringan Interkoneksi adalah
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 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 Bakan 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.
Komputer yang mempunyai beberapa unit prosesor di bawah satu supervisi satu unit common control. Setiap prosesor menerima instruksi yang sama dari unit kontrol, tetapi beroperasi pada data yang berbeda.
·        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
Pada sistem komputer MIMD murni terdapat interaksi di antara n pemroses. 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.
Ø Analisa Algoritma Paralel
Pada saat sebuah algoritma digunakan untuk memecahkan sebuah problem, maka performance dari algoritma tersebut akan dinilai. Hal ini berlaku untuk algoritma sekuensial maupun algoritma paralel. Penampilan sebuah algoritma pengolahan peralel dapat dinilai dari beberapa kriteria, seperti running time dan banyaknya prosesor yang digunakan.
Ø Running Time
Running time adalah waktu yang digunakan oleh sebuah algoritma untuk menyelesaikan masalah pada sebuah komputer paralel dihitung mulai dari saat algoritma mulai hingga saat algoritma berhenti. Jika prosesor-prosesornya tidak mulai dan selesai pada saat yang bersamaan, maka running time dihitung mulai saat komputasi pada prosesor pertama dimulai hingga pada saat komputasi pada prosesor terakhir selesai.
Ø Counting Steps
Untuk menentukan running time, secara teoritis dilakukan analisa untuk menentukan waktu yang dibutuhkan sebuah algoritma dalam mencari solusi dari sebuah masalah. Hal ini dilakukan dengan cara menghitung banyaknya operasi dasar, atau step (langkah), yang dilakukan oleh algoritma untuk keadaan terburuknya (worst case).
Ø Langkah-langkah yang diambil oleh sebuah algoritma dibedakan ke dalam dua jenis yaitu 
Computational step
Sebuah computational step adalah sebuah operasi aritmetika atau operasi logika yang dilakukan terhadap sebuah data dalam sebuah prosesor.
Routing step.
Pada routing step, sebuah data akan melakukan perjalanan dari satu prosesor ke prosesor lain melalui shared memory atau melalui jaringan komunikasi.
Ø Speedup
· Pengukuran speedup sebuah algoritma paralel adalah salah satu cara untuk mengevaluasi kinerja algoritma tersebut.
· Speedup adalah perbandingan antara waktu yang diperlukan algoritma sekuensial yang paling efisien untuk melakukan komputasi dengan waktu yang dibutuhkan untuk melakukan komputasi yang sama pada sebuah mesin pipeline atau parallel


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.

Pipelining Dan RISC

TUGAS KE-4 TENTANG PIPELINING AND 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.

2.     PROSEDUR VEKTOR PIPELINING.
Mengambil intruksi dan membufferkanya .
§ Ketika tahapn 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.
§ Tiga kesulitan yang sering dihadapi ketika menggunakan teknik pipeline :
§ Terjadinya penggunaan resource yang bersamaan 
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.