Kamis, 17 Januari 2013

PIPELINING,RISC,dan PROSESOR PARALEL


TUGAS ORGANISASI DAN ARSITEKTUR KOMPUTER KE 4
ARTIKEL KE 1 :

PIPELINING dan RISC
Berisi tentang :

1.     PIPELINING
Pipelining adalah  suatu teknik yang digunakan untuk merealisasi paralel processing, yaitu dengan membagi operasi ke dalam k-stage (beberapa tingkatan) atau sub-operasi, sehingga pada suatu saat ada k operasi berjalan yang sekaligus.
Atau dapat juga diartikan sebagai :
Salah satu cara yang paling sering digunakan dalam paralel processing , sebuah operasi dibagi menjadi sejumlah sub operasi elementer, kita namakan k. Kemudian kita membentuk sebuah sistem dengan banyak stage sebesar k, dan mengeksekusi sub operasi tersebut pada setiap stage satu demi satu.
Kekurangan Pipelining adalah
Dalam prakteknya,bagaimanapun, prosesor RISC beroperasi lebih dari satu siklus per instruksi. Prosesor mungkin mengumpulkan hasil dari data dependensi dan instruksi cabang.
Data dependensi terjadi bila instruksi tergantung pada hasil dari instruksi sebelumnya. Instruksi tertentu mungkin perlu data dalam register yang belum disimpan, sejak itulah pekerjaan yang sebelumnya instruksi yang belum mencapai tahap yang akan di pipeline .
MIPS solusi untuk masalah ini adalah kode recording. Kode dapat diatur ulang sehingga instruksi yang dijalankan diantara dua tergantung petunjuk dan pipa dapat mengalir efisien. Tugas kode recording umumnya mengkompile ke kiri, yang mengakui data dependensi dan upaya untuk meminimalkan kinerja .


2.     PROSEDUR VEKTOR PIPELINING.
Disini yang dimaksud dengan prosedur vektor pipelining yaitu :

·        Mengambil instruksi dan membuffferkannya.
·        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.     REDUCE INSTRUCTION SET COMPUTER (RISC)

Sejarah RISC

Reduced Instruction Set Computing 
(RISC) atau "Komputasi set instruksi yang disederhanakan" pertama kali digagas oleh John Cocke, peneliti dari IBM di Yorktown, New York pada tahun 1974 saat ia membuktikan bahwa sekitar 20% instruksi pada sebuah prosesor ternyata menangani sekitar 80% dari keseluruhan kerjanya. Komputer pertama yang menggunakan konsep RISC ini adalah IBM PC/XT pada era 1980-an. Istilah RISC sendiri pertama kali dipopulerkan oleh David Patterson, pengajar pada University of California di Berkely.

Definisi 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 Ultra SPARC 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.

Karakteristik RISC


Arsitektur RISC memiliki beberapa karakteristik diantaranya :
·        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.

·        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.

·        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.

·        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

Ciri-ciri RISC

·        Instruksi berukuran tunggal
·        Ukuran yang umum adalah 4 byte
·        Jumlah pengalamatan data sedikit, biasanya kurang dari 5 buah.
·        Tidak terdapat pengalamatan tak langsung yang mengharuskan melakukan sebuah akses memori agar memperoleh alamat operand lainnya dalam memori.
·        Tidak terdapat operasi yang menggabungkan operasi load/store dengan operasi aritmatika, seperti penambahan ke memori dan penambahan dari memori.
·        Tidak terdapat lebih dari satu operand beralamat memori per instruksi
·        Tidak mendukung perataan sembarang bagi data untuk operasi load/ store.
·        Jumlah maksimum pemakaian memori manajemen bagi suatu alamat data adalah sebuah instruksi .
·        Jumlah bit bagi integer register spesifier sama dengan 5 atau lebih, artinya sedikitnya 32 buah register integer dapat direferensikan sekaligus secara eksplisit.
·        Jumlah bit floating point register spesifier sama dengan 4 atau lebih, artinya sedikitnya 16 register floating point dapat direferensikan sekaligus secara eksplisit.

ARTIKEL KE 2 :

PROSESOR PARALEL

Definisi prosesor paralel adalah
- Sebuah komputer yang memiliki lebih darisatu central processing unit, komputer inidigunakan untuk parallel processing.
- Suatu sitem prosesor dengan banyakperhitungan yag dilakukan secarabersamaan agar prosesor dapatmempunyai kinerja tinggi.

Klasifikasi Arsitektural
- Klasifikasi Flynn
- Klasifikasi Feng
- Klasifikasi Händler


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.

SUMBER :