Rabu, 16 Januari 2013

Pipelining dan RISC

           ·         Pipelining
Pipelining adalah suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersamaan tetapi dalam tahap yang berbeda yang dialirkan secara berlanjut pada unit pemrosesan. Dengan cara ini, maka unit pemroses akan selalu bekerja.
Teknik pipelining ini dapat diterapkan pada berbagai tingkatan dalam sistem komputer. Bisa pada level yang tinggi, misalnya program aplikasi, sampai pada tingkat yang rendah, seperti pada instruksi yang dijalankan oleh microprocessor.
Teknik pipelining yang diterapkan pada microprocessor, dapat dikatakan sebuah arsitektur khusus. Ada perbedaan khusus antara model microprocessor yang tidak menggunakan arsitektur pipeline dengan microprocessor yang menerapkan teknik ini, yaitu :
1.  Pada microprocessor yang tidak menggunakan pipeline satu instruksi dilakukan sampai selesai, baru instruksi berikutnya dapat dilaksanakan.
2.   Pada microprocessor yang menggunakan teknik pipeline, ketika satu instruksi sedangkan diproses, maka instruksi yang berikutnya juga dapat diproses dalam waktu yang bersamaan. Tetapi, instruksi yang diproses secara bersamaan ini, ada dalam tahap proses yang berbeda. Jadi, ada sejumlah tahapan yang akan dilewati oleh sebuah instruksi.

·         Prosedur vektor pipelining
Sering kali pipelining instruksi digunakan untuk meningkatkan kinerja. Sebagian besar instruksi merupakan operasi dari register ke register, dan sebuah siklus instruksi memiliki dua buah fase berikut :
• I : Instruction Fetch (Pengambilan Instruksi)
• E : Execute (Eksekusi). Melakukan operasi ALU dengan input dan output register.
Bagi operasi-operasi load dan store, diperlukan tiga buah fase :
• I : Instruction Fetch
• E : Execute. Menghitung Alamat Memori
• D : Memory. Operasi register ke memori atau dari memori ke register.
Pipelining berasumsi bahwa instruksi berurutan pada suatu program beruntun akan tumpang-tindih pelaksanaan, seperti yang ditunjukkan oleh diagram yang di atas ( vertikal ‘ i’ instruksi, horisontal ‘ t’ waktu). CPU yang paling canggih dijalankan oleh clock. CPU berisi logika dan flip flop. Ketika clock jalan, flip flop mengambil nilai yang baru dan logika kemudian memerlukan masa waktu untuk memecahkan kode nilai-nilai yang baru itu. Kemudian pulsa clock yang berikutnya jalan dan flip flop mengambil nilai-nilai baru itu, dan begitu seterusnya. Dengan patahan logika ke dalam potongan lebih kecil dan memasukkan/menyisipkan flip flop antar potongan logika, penundaan sebelum/di depan logika memberi keluaran sah dikurangi. Dengan cara ini periode clock dapat dikurangi. Sebagai contoh, RISC saluran diterobos lima langkah-langkah dengan satu set flip flop antar langkah masing-masing.
Di dalam perhitungan, suatu saluran adalah satu set unsur-unsur pengolahan data menghubungkan secara urut, sedemikian sehingga keluaran satu unsur adalah masukan yang berikutnya. Unsur-Unsur suatu saluran adalah sering dieksekusi yang paralel atau di dalam pertunjukan time-sliced; di dalam beberapa kasus, jumlah penyangga atau bantalan gudang/penyimpanan adalah sering dimasuki/disisipi antar unsur-unsur.

·         Reduce Instruction Set Computer (RISC)
RICS singkatan dari Reduced Instruction Set Computer. Merupakan bagian dari arsitektur mikroprosessor, berbentuk kecil dan berfungsi untuk mengeset istruksi dalam komunikasi diantara arsitektur yang lainnya. 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

Prosesor Paralel
·         Jaringan interkoneksi
Pemrosesan Paralel yaitu pengolahan informasi yang menekankan pada manipulasi data-data elemen secara simultan, untuk mempercepat komputasi dari sistem komputer dan menambah jumlah keluaran yang dapat dihasilkan dalam jangka waktu tertentu. Komputer Paralel yaitu komputer yang memiliki kemampuan untuk melakukan pengolahan paralel.Untuk melakukan perhitungan komputasi dengan menggunakan 2 atau lebih CPU/Processor dalam suatu komputer yang sama atau komputer yang berbeda dimana dalam hal ini setiap instruksi dibagi kedalam beberapa instruksi kemudian dikirim ke processor yang terlibat komputasi dan dilakukan secara bersamaan disebut dengan Parallel komputasi. Software yang bertugas untuk pembagian proses komputasi digunakan Message Parsing Interface (MPI).
Ada dua teknik yang berbeda untuk mengakses data di unit memori, yaitu shared memory address dan message passing. Berdasarkan cara mengorganisasikan memori ini komputer paralel dibedakan menjadi shared memory parallel machine dan distributed memory parallel machine. Prosesor dan memori ini didalam mesin paralel dapat dihubungkan (interkoneksi) secara statis maupun dinamis. Interkoneksi statis umumnya digunakan oleh distributed memory system (sistem memori terdistribusi). Interkoneksi dinamis umumnya menggunakan switch untuk menghubungkan antar prosesor dan memori.

·         Mesin SIMD
SIMD merupakan salah satu bentuk dari paralel sinkron yang memproses satu instruksi dengan banyak prosesor elemen pada waktu yang sama. Data diproses oleh masing-masing elemen pemroses yang berbeda dari satu prosesor ke prosesor lainnya. Sehingga satu program dan satu kontrol unit bekerja secara bersamaan pada kumpulan data yang berbeda Untuk memproses datasecara efisien, SIMD membuat pengaturan proses menjadi dua phase, yaitu :

1.    Memilah dan mendistribusikan data (data partitioning and distribution)
2.    Memproses data secara paralel (data paralel prosesing)
Cara terbaik dalam menggunakan SIMD adalah dengan mencocokan banyaknya permasalahan dengan banyaknya prosesor paralel SIMD sering diidentikan sebagai permasalahan paralel yang sederhana, padahal tidaklah benar karena paradigma SIMD sangat berguna dalam menyelesaikan permasalahan yang memiliki beberapa data yang perlu diperbaharui secara serempak. Khususnyas angat berguna untuk  perhitungan numerik biasa seperti perhitungan matrix dan vektor

·         Mesin MIMD
MIMD berarti banyak prosesor yang dapat mengeksekusi instruksi dan data yang berbeda-beda secara bersamaan. Secara umum MIMD digunakan ketika banyak permasalahan heterogen yang harus diselesaikan pada waktu yang sama. MIMD sangat baik digunakan untuk menyelesaikan permasalahan yang besar, sebab melebihi data dan kontrol yang harus dilewatkan dari task ke task. ciri mendasar dari sistem MIMD, yaitu :
1.    Kelemahan pada sentralisasi dan mekanisme sistem sinkron secara umum
2. Penggeneralisasian task yang heterogen yang dioperasikan secara bersamaan, contohnya dalam memproses operasi yang berbeda dengan data berbeda dan dalam jangka waktu yang berbeda pula.



Sumber :