Kamis, 17 Januari 2013

PIPELINING,RISC,& PROSESOR PARALEL


Tugas softskill ke 4
Artikel ke 1
PIPELINING DAN RISC
1.   PIPELINING .
Pipeline adalah 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 dijaankan oleh microprocessor.
Pada microprocessor yang tidak menggunakan pipeline, satu instruksi dilakukan sampai selesai, baru instruksi berikutnya dapat dilaksanakan. Sedangkan dalam 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.
Dengan penerapan pipeline ini pada microprocessor akan didapatkan peningkatan dalam unjuk kerja microprocessor. Hal ini terjadi karena beberapa instruksi dapat dilakukan secara parallel dalam waktu yang bersamaan. Secara kasarnya diharapkan akan didapatkan peningkatan sebesar X kali dibandingkan dengan microprocessor yang tidak menggunakan pipeline, apabila tahapan yang ada dalam satu kali pemrosesan instruksi adalah X tahap.
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.
Teknik pipeline 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.
Pada microprocessor yang tidak menggunakan pipeline, satu instruksi dilakukan sampai selesai, baru instruksi berikutnya dapat dilaksanakan. Sedangkan dalam microprocessoryang 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.
Misalnya sebuah microprocessor menyelesaikan sebuah instruksi dalam 4 langkah. Ketika instruksi pertama masuk ke langkah 2, maka instruksi berikutnya diambil untuk diproses pada langkah 1 instruksi tersebut. Begitu seterusnya, ketika instruksi pertama masuk ke langkah 3, instruksi kedua masuk ke langkah 2 dan instruksi ketiga masuk ke langkah 1.


2.   PROSEDUR VEKTOR PIPELINING.
Prosedur Vektor Pepilining, 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 .
·         Instuksi pipeline:
Karena untuk setiap tahap pengerjaan instruksi, komponen yang bekerja berbeda, maka dimungkinkan untuk mengisi kekosongan kerja di komponen tersebut. Sebagai contoh :
Instruksi 1: ADD  AX, AX
Instruksi 2: ADD EX, CX
Setelah CU menjemput instruksi 1 dari memori (IF), CU akan menerjemahkan instruksi tersebut(ID). Pada menerjemahkan instruksi  1 tersebut, komponen IF tidak bekerja. Adanya teknologi pipeline menyebabkan IF akan menjemput instruksi 2 pada saat ID menerjemahkan instruksi 1. Demikian seterusnya pada saat CU menjalankan instruksi 1 (EX), instruksi 2 diterjemahkan (ID).
Contoh pengerjaan instruksi tanpa pipeline
t =
1
2
3
4
5
6
7
8
9
10
ADD AX,AX
IF
DE
IF
DE
EX
ADD BX,CX
IF
DE
IF
DE
EX
Disini instruksi baru akan dijemput jika instruksi sebelumnya telah selesai dilaksanakan.
t =
1
2
3
4
5
6
7
8
9
10
ADD AX,AX
IF
DE
IF
DE
EX
ADD BX,CX
IF
DE
IF
DE
EX
ADD DX,DX
IF
DE
IF
DE
EX
Contoh pengerjaan instruksi dengan pipeline
Disini instruksi baru akan dipanggil setelah tahap IF menganggur (t2).
Dengan adanya pipeline dua instruksi selesai dilaksanakan pada detik keenam (sedangkan pada kasus tanpa pipeline baru selesai pada detik kesepuluh). Dengan demikian telah terjadi percepatan sebanyak 1,67x dari 10T menjadi hanya 6T. Sedangkan untuk pengerjaan 3 buah instruksi terjadi percepatan sebanyak 2, 14 dari 15T menjadi hanya 7T.
Untuk kasus pipeline sendiri, 2 instruksi dapat dikerjakan dalam 6T(CPI = 3) dan instruksi dapat dikerjakan dalam 7T (CPT = 2,3) dan untuk 4 instruksi dapat dikerjakan dalam  8T (CPI =2). Ini berarti utnuk 100 instruksi akan dapat dikerjakan dalam 104T (CPI = 1,04). Pada kondisi  ideal CPI akan harga 1.
3.   REDUCE INSTRUCTION SET COMPUTER (RISC) .
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, 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.Selain RISC, desain
Central Processing Unit  yang lain adalah CISC (Complex Instruction Set Computing ), yang jika diterjemahkan ke dalam Bahasa Indonesia berarti Komputasi KumpulanInstruksi yang kompleks atau rumit.



ARTIKEL KE 2
PROSESOR PARALEL

Paralel prosesor adalah suatu prosesor dimana pelaksanaan instruksinya secara bersamaan waktunya. Sehingga menyebabkan pelaksanaan suatu kejadian :
1. dalam interval waktu yang sama
2. dalam dalam waktu yang bersamaan
3. dalam waktu yang saling tumpang tindih


Teknik Pemrosesan Paralel
Pada prosesor paralel memiliki beberapa teknik pemrosesan :
1. Pipelining
2. Unit-unit fungsional berganda
3. Tumpang tindih antara operasi CPUdan I/O
4. Interleaving memori
5. Multiprograming
6. Multiprosesing
1.JARINGAN INTERKONEKSI .
Komunikasi diantara terminal-terminal yang berbeda harus dapat dilakukan dengan suatu media tertentu. Interkoneksi yang efektif antara prosesor dan modul memorisangat penting dalam lingkungan komputer. Menggunakan arsitektur bertopologi  busbukan 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 merupakan salah satu bentuk dari paralel sinkron yang memproses satu instruksi dengan banyak prosesor elemen pada waktu yang sama.
Di dalam paradigma SIMD yang paling penting bukanlah kontrol prosesor melainkan data. 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 data secara efisien, SIMD membuat pengaturan proses menjadi dua phase, yaitu : pertama memilah dan mendistribusikan data (data partitioning and distribution) dan yang kedua memproses data secara paralel (data paralel prosesing). Jadi efisiensi akan tergantung kepada banyaknya permasalahan yang harus diselesaikan secara paralel.
Cara terbaik dalam menggunakan SIMD adalah dengan mencocokan banyaknya permasalahan dengan banyaknya prosesor paralel. Banyaknya permasalahan berarti seberapa banyak jumlah data yang akan di perbaharui dan banyaknya prosesor paralel berarti jumlah prosesor yang tersedia. Jadi jika permasalahanya sebanding dengan prosesor paralel maka kecepatan tertinggi dapat terjadi, sebaliknya apabila permasalahan hanya satu dengan prosesor paralel yang banyak menyebabkan sistem SIMD menjadi tidak efektif.
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. Khususnya sangat berguna untuk perhitungan numerik biasa seperti perhitungan matrix dan vektor.

3.Mesin MIMD.
MIMD berarti banyak prosesor yang dapat mengeksekusi instruksi dan data yang berbeda-beda secara bersamaan. Lebih lanjut sebagai bagian dari komputer, prosesor memiliki otonom yang besar dalam melakukan operasinya.
Secara umum MIMD digunakan ketika banyak permasalahan heterogen yang harus diselesaikan pada waktu yang sama. MIMD sangat baik digunkan untuk meneyelesaikan permasalahan yang besar, sebab melebihi data dan kontrol yang harus dilewatkan dari task ke task. Sebagai contoh dalam analogi sebuah Bank, MIMD akan menampilkan kerja terbaiknya ketika masing-masing teller memiliki beberapa transaksi yang harus diselesaikan satu persatu tanpa ada pembuangan waktu dan penghentian dari beberapa bagian transaksi. Tetapi pada sistem MIMD akan dibingungkan oleh aliran data (dataflow) paralel, karena aliran data tersebut harus dikerjakan oleh mesin MIMD secara terus menerus. Lalu mengapa digunakan sistem MIMD ?.

Pertama bahwa tiap-tiap prosesor bekerja secara independen kecuali untuk sistem sinkoron tertentu harus menunggu. Prosesor menjalankan task yang pendek sebagai contoh selesainya mengevaluasi vektor satu elemen sebelum prosesor memproses task lebih jauh. Tentu saja prosesor dalam waktu yang singkat dapat melakukan beberapa pekerjaan yang berbeda, seperti waiting, comparing dan sending data.
Kedua, bahwa pada program paralel untuk menyelesaikan suatu task baik jumlahnya diketahui ataupun tidak, menggunakan prosesor yang jumlahnya tidak diketahui pula. Hal tersebut menggambarkan dua ciri mendasar dari sistem MIMD, yaitu :1. Kelamahan pada sentralisasi dan mekanisme sistem sinkron secara umum, dan 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.
Secara umum MIMD meliputi paradigma reduksi/dataflow. Pada kenyataannya juga secara umum meliputi SIMD, sebab kita dapat menemui sifat SIMD pada sebagian sifat MIMD. Sehingga menghasilkan Kinerja akhir dari simulasi satu bentuk mesin dengan bentuk lainnya. Untuk menggabungkannya, mesin MIMD mengubah SIMD prosesor dimana masing-masing prosesornya mampu mengerjakan banyak task dari aplikasi yang berbeda pada waktu yang sama.
          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 :