Jumat, 18 Januari 2013

Tugas ke.4 Pipelining dan RISC dengan Prosesor Paralel

Apa sih Pipelining dan RISC itu ?   
Teknologi pipeline yang digunakan pada komputer bertujuan untuk meningkatkan kinerja dari komputer Secara sederhana untuk mempermudah operator, Pipelining adalah cara yang digunakan untuk melakukan sejumlah kerja secara bersamaan ,teknik pemecahan satu pekerjaan/ tugas menjadi beberapa subtugas,dan mengeksekusi sub-tugas tersebut secara bersamaan/ paralel dalam unit-unit multi hardware atau segmen-segmen.
Tujuan yg ingin dicapai dlm pipeline adalah untuk meningkatkan throughput. (the number of instructions complete per unit of time - but it is not reduce the execution time of an individual instruction) Waktu yg digunakan untuk eksekusi setiap tugas sama dengan waktu yg digunakan untuk satu eksekusi nonpipeline.
Tetapi karena eksekusi tugas yg berurutan dilakukan secara bersamaan, maka jumlah tugas yg dapat dieksekusi dlm suatu waktu yg disediakan lebih tinggi, Hardware pipeline menyediakan throughput yang lebih baik dibandingkan dgn hardware non-pipeline.
RISC adalah komputasi kumpulan instruksi yang disederhanakan. RISC 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, desainini juga diimplementasikan pada prosesor komputer lain, seperti pada beberapamikroprosesor Intel 960, Itanium (IA64) dari Intel Corporation, Alpha AXP dari DEC, R4x00dari 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.

Bagaimana Prosesor vektor pipelining beroperasi ?
Sebuah prosesor vektor atau prosesor array, adalah unit pemrosesan sentral (CPU) yang mengimplementasikan set instruksi berisi instruksi yang beroperasi pada satu dimensi array data yang disebut vektor. Hal ini kontras dengan prosesor skalar , yang instruksi beroperasi pada item data tunggal. Meskipun prosesor Intel dan klon mereka desain awalnya sebagai skalar, model baru berisi peningkatan jumlah vektor instruksi khusus seperti yang disediakan oleh Ekstensi Vector Lanjutan ditetapkan.
Prosesor vektor pertama kali muncul pada 1970-an, dan membentuk dasar dari yang paling superkomputer di tahun 1980 dan 1990-an. Perbaikan dalam prosesor skalar, terutama mikroprosesor , mengakibatkan penurunan prosesor vektor tradisional di superkomputer, dan munculnya teknik pengolahan vektor di CPU pasar massal sekitar awal 1990-an. Hari ini, CPU komoditas yang paling mengimplementasikan arsitektur yang menampilkan instruksi untuk beberapa pemrosesan vektor pada beberapa (vektoralisasi) set data, biasanya dikenal sebagai SIMD (Single nstruction Multiple Data). Teknik pemrosesan vektor juga ditemukan di konsol video game hardware dan akselerator grafis . Pada tahun 2000, IBM , Toshiba dan Sony berkolaborasi untuk menciptakan prosesor Cell , yang terdiri dari satu prosesor skalar dan delapan prosesor vektor, yang ditemukan digunakan dalam Sony PlayStation 3 di antara aplikasi lain.
Desain Cpu lain mungkin termasuk beberapa instruksi untuk pemrosesan vektor pada beberapa set data, biasanya dikenal sebagai MIMD (Multiple Instruksi Multiple Data) desain seperti biasanya didedikasikan untuk aplikasi tertentu dan tidak umum dipasarkan untuk komputasi tujuan umum.

Mengapa Reduced Instruction Set Computer (RISC) banyak menerapkan proses eksekusi pipeline ?
Pada arsitektur RISC : Set instruksi yang terbatas dan sederhana Register general purpose yang berjumlah banyak, atau penggunaan teknologi kompiler untuk mengoptimalkan pemakaian registernya. Konsep arsitektur RISC banyak menerapkan proses eksekusi pipeline. Meskipun jumlah perintah tunggal yang diperlukan untuk melakukan pekerjaan yang diberikan mungkin lebih besar, eksekusi secara pipeline memerlukan waktu yang lebih singkat daripada waktu untuk melakukan pekerjaan yang sama dengan menggunakan perintah yang lebih rumit.Mesin RISC memerlukan memori yang lebih besar untuk mengakomodasi program yang lebih besar. IBM 801 adalah prosesor komersial pertama yang menggunakan pendekatan RISC.
Aspek komputasi yang ditinjau dalam merancang mesin RISC adalah sbb.: Operasi-operasi yang dilakukan: Hal ini menentukan fungsi-fungsi yang akan dilakukan oleh CPU dan interaksinya dengan memori. Operand-operand yang digunakan: Jenis-jenis operand dan frekuensi pemakaiannya akan menentukan organisasi memori untuk menyimpannya dan mode pengalamatan untuk mengaksesnya. Pengurutan eksekusi: Hal ini akan menentukan kontrol dan organisasi pipeline. Eksekusi Instruksi



PROSESOR PARALEL

Pemrosesan paralel (parallel processing) adalah penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan.Idealnya, parallel processing membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan.
Tujuan utamanya untuk 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.
Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan. Biasanya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun karena tuntutan proses komputasi yang banyak.
Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk mengatur distribusi pekerjaan antara node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi.

Jaringan Interkoneksi/Jaringan komputer adalah suatu pemetaan sistem atau susunan interkoneksi antara node dalam suatu jaringan, baik secara fisik maupun secara virtual. Topologi jaringan fisik menggambarkan metode yang digunakan untuk melakukan pengkabelan atau hubungan fisik antar node dalam suatu jaringan yang menghubungkan workstation dalam suatu jaringan. Menurut bentuknya, topologi jaringan fisik dibagi menjadi beberapa jenis, antara lain adalah sebagai berikut:
1.     Topologi bus merupakan topologi yang dipakai pada masa penggunaan kabel coaxial. Topologi ini memiliki sistem sambungan serial yang merupakan satu kabel memanjang yang masing-masing node terhubung pada kabel tersebut. jenis ini hanya dipakai dalam sistem kabel modem.
2.     Topologi ring ini adalah topologi yang data serta trafficnya disalurkan sedemikian rupa secara melingkar. Pada umumnya topologi ring menggunakan kabel serat kaca sebagai sarananya. Karakteristik topologi ini adalah lingkaran tertutup yang mana masing-masing node terhubung padanya. Topologi ini sederhana namun mahal karena memiliki kecepatan transfer yang tinggi menggunakan kabel serat kaca. Transmisi data pada ring bersifat satu arah. Sistem topologi ring dapat menggunakan topologi ring ganda yang masing-masing memiliki arah yang berbeda untuk mempercepat transfer data.
3.     Topologi ini adalah topologi yang paling banyak digunakan di semua tempat di dunia karena kemudahannya dalam menambah, mengurangi dan mendeteksi kerusakan perangkat jaringan yanga da. Topologi ini memiliki karakteristik berupa adanya node central yang mana masing-masing node berkomunikasi dengan node tersebut. traffic data mengalir dari node ke node central dan sebaliknya menggunakan satu kabel yang terkoneksi langsung sehingga mudah dikembangkan. Selain itu jika ada node yang kabelnya terputus, maka node yang lain tidak akan terganggu.
4.     Topologi tree atau berbentuk pohon merupakan gabungan dari ketiga node diatas. Sistem ini merupakan sistem yang biasa digunakan pada WAN atau Internet. Masing-masing topologi digunakan untuk kepentingan tertentu. Misalnya adalah topologi star digunakan dalam satu LAN, banyak komputer dalam satu tempat menggunakan topologi ini. Sedangkan koneksi antara node server atau router dalam satu WAN menggunakan topologi ring, bus atau star, tergantung dari koneksi yang digunakan. Sedangkan topologi ring banyak digunakan untuk backbone atau koneksi tulang punggung yang digunakan oleh penyedia jasa Internet.
Semua topologi diatas digunakan berdasarkan kebutuhan. Namun memang beberapa topologi sudah banyak ditinggalkan karena tidak lagi dikembangkan. Saat ini pengembangan berfokus pada topologi star yang memang memiliki banyak keuntungan.

Mesin 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).

Mesin MISD Yang merupakan singkatan dari Multiple Instruction, Single Data. MISD menggunakan banyak processor dengan setiap processor menggunakan instruksi yang berbeda namun mengolah data yang sama. Hal ini merupakan kebalikan dari model SIMD. Untuk contoh, kita bisa menggunakan kasus yang sama pada contoh model SIMD namun cara penyelesaian yang berbeda. Pada MISD jika pada komputer pertama, kedua, ketiga, keempat dan kelima sama-sama mengolah data dari urutan 1-100, namun algoritma yang digunakan untuk teknik pencariannya berbeda di setiap processor. Sampai saat ini belum ada komputer yang menggunakan model MISD

Arsitektur pengganti Pemrograman paralel adalah teknik pemrograman komputer yang mengcover memungkinkan eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU.
Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa komputasi. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi.

* Message Passing Interface (MPI)
MPI adalah sebuah standard pemrograman yang memungkinkan pemrogram untuk membuat sebuah aplikasi yang dapat dijalankan secara paralel. MPI menyediakan fungsi-fungsi untuk menukarkan antar pesan.
Kegunaan MPI yang lain adalah
1. menulis kode paralel secara portable
2. mendapatkan performa yang tinggi dalam pemrograman paralel, dan
3. menghadapi permasalahan yang melibatkan hubungan data irregular atau dinamis yang tidak begitu cocok dengan model data paralel.

Referensi :

Tidak ada komentar:

Posting Komentar