Kamis, 17 Januari 2013

PIPELINING , RISC , dan PROSESOR PARALEL


TUGAS ORGANISASI DAN ARSITEKTUR KOMPUTER KE 4

ARTIKEL KE 1 :
PIPELINING DAN RISC

1.   PIPELINING.

Ø  Pengertian Pipelining
Metoda pengambilan dan dekode instruksi (pra-pengolahan) dimana pada waktu tertentu beberapa instruksi program ada pada berbagai tahap untuk diambil atau didekode.
Ø  Pengenalan Pipelining
Prosesor Pipeline yang berputar adalah prosesor baru untuk arsitektur superscalar komputasi. Ini didasarkan pada cara yang mudah dan pipeline yang biasa, struktur yang dapat mendukung beberapa ALU untuk lebih efisien dalam pengiriman dari bagian beberapa instruksi. Daftar nilai arus yang berputar di sekitar pipa, dibuat oleh dependensi data lokal. Selama operasi normal, kontrol sirkuit tidak berada pada jalur yang kritis dan kinerja hanya dibatasi oleh data harga. Operasi mengalir dengan interval waktu sendiri. Ide utama dari Pipeline Prosesor yang berputar adalah circular uni-arah mengalir dari memori register oleh pusat waktu logika dan proses secara parallel dari operasi ALU.

Struktur lain yang menggunakan penyelesaian deteksi atau selain penundaan yang tepat dari pengaturan waktu pusat tetapi karena masalah waktu yang Syncronization, Pipelines memaksakan sebuah penurunan kinerja. Misalnya counterflow pipeline prosesor yang dirancang sekitar dua arah, pipa membawa petunjuk dan argumen dalam satu arah dan hasil yang lainnya b ini dapat menyebabkan Syncronization masalah antara prosesor.

Pipeline yang berputar menghindari masalah yang hanya melewati data dalam satu arah. Pada prinsipnya, prosesor dari register terus beredar di sekitar cincin yang berhubungan dengan berbagai fungsi ALU,-akses memori dan sebagainya .ada tiap tahap, nilai-nilai yang memeriksa dan disampaikan, kemungkinan setelah perubahan, tidak signifikan dengan pengeluaran tambahan untuk sinkronisasi. Dispatched adalah instruksi dari pusat ke fungsi unit yang memungkinkan beberapa masalah instruksi .

2.   PROSEDUR VEKTOR PIPELINING.
Ø  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).

Seperti pada komponen perangkat keras komputer yang telah berevolusi bertahun-tahun, demikian juga perancangan bagi bahasa yang digunakan untuk memprogram komputer.Bahasa pemrograman tingkat tinggi saat ini berkemampuan sangat tinggi dan sangat rumit dibandingkan dengan FORTRAN, bahasa tingkat tinggi pertama (HLL atau high-level language).Sehubungan dengan evolusi ini, para arsitek komputer telah mencoba untuk merancang komputer yang memberikan suatu operasi dan instruksi yang jauh lebih tinggi tingkatnya pada perangkat keras untuk berhubungan lebih dekat dengan bahasa-bahasa yang membentuk HLL.
 Contoh dari hal ini adalah instruksi perangkat keras CASE dalam sebuah program Pascal. Hal ini akan lebih mempermudah pekerjaan penulis kompiler dan memberikan kode yang sangat efisien karena CASE sudah terbentuk dalam perangkat keras. Namun kerugian dari strategi ini adalah peningkatan ukuran dan kerumitan kumpulan instruksi pernagkat keras, yang menyebabkan peningkatan waktu perancangan, peningkatan kesalahan perancangan dan penerapan perangkat keras yang tidak konsisten (Patterson & Sequin, 1981).


Perncangan komputer tradisional seperti yang telah dijelaskan disebut sebgai complex instruction set computer (CISC). Pendekatan lainnya adalah dengan perancangan reduced instruction set computer (RISC). Sistem RISC menawarkan kumpulan instruksi yang sangat kecil dan sederhana dimana instruksi-instruksi tersebut pada umumnya akan dijalankan dalam satu siklus, sejumlah besar register umum (general-purpose) dan pelaksanaan pipelined. Selain peningkatan perancangan perangkat keras, peneliti RISC juga berpendapat bahwa kumpulan instruksi yang lebih kecil akan lebih mudah dieksploitasi oleh penulis kompiler. Untuk kumpulan instruksi yang rumit, kompiler harus menemukan kasus-kasus yang sesuai dengan bentuk tertentu secara tepat.Sebagai tambahan; optimalisasi kode yang dihasilkan lebih sederhana dengan tidak adanya instruksi yang rumit. Pemilikan sejumlah besar register akan mengurangi kebutuhan pengaksesan memori dan dengan demikian akan meningkatkan kecepatan eksekusi program. Register-register ini, secara logika dikelompokkan ke dalam kumpulan yang disebut sebagai window, terutama digunakan selama dalam pemanggilan dan pengembalian prosedur.

Cara terbaik untuk mendukung HLL harus selalu dicari. Namun demikian, kita tahu bahwa para peneliti masalah ini telah membantu memfokuskan perhatian kita pada beberapa masalah penting dalam arsitektur komputer. Yang akan muncul adalah suatu arsitektur yang merupakan kombinasi keduanya, dengan menggunakan hal-hal terbaik dari kedua arsitektur tersebut.

ARTIKEL KE 2

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 PARALLEL PROCESSING
Tujuan utama 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.

PARALLEL PROCESSING
Komputasi paralel

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 menyelesaikansatu masalah. 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 pemakaiharus membuat pemrograman paralel untuk merealisasikan komputasi.
Pemrograman Paralel sendiri adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan. Bila komputer yang digunakan secara bersamaan tersebut dilakukan oleh komputer-komputer terpisah yang terhubung dalam satu jaringan komputer, biasanya disebut sistem terdistribusi. Bahasa pemrograman yang populer digunakan dalam pemrograman paralel adalah MPI (MessagePassing Interface) dan PVM (Parallel Virtual Machine).
                                      
Yang perlu diingat adalah komputasi paralel berbeda dengan multitasking. Pengertian multitasking adalah komputer dengan processor tunggal mengeksekusi beberapa tugas secara bersamaan. Walaupun beberapa orang yang bergelut di bidang sistem operasi beranggapan bahwa komputer tunggal tidak bisa melakukan beberapa pekerjaan sekaligus, melainkan proses penjadwalan yang berlakukan pada sistem operasi membuat komputer seperti mengerjakan tugas secara bersamaan. Sedangkan komputasi paralel sudah dijelaskan sebelumnya, bahwa komputasi paralel menggunakan beberapa processor atau komputer. Selain itu komputasi paralel tidakmenggunakan arsitektur Von Neumann.

Untuk lebih memperjelas lebih dalam mengenai perbedaan komputasi tunggal (menggunakan 1 processor) dengan komputasi paralel (menggunakan beberapa processor), maka kita harus mengetahui terlebih dahulu pengertian mengenai model dari komputasi. Ada 4 model komputasi yang digunakan, yaitu:
SIMD, MISD, MIMD.


1.      JARINGAN INTERKONEKSI .

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 komponen-komponen 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 Fungsi jaringan interkoneksi dalam sistem komputer dan telekomunikasi adalah untuk mengirimkan informasi dari terminal sumber ke terminal tujuan.

2.      Mesin SIMD .
Mesin SIMD (Single Instruction stream, Multiple Data stream)
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.

3.      Mesin MIMD .
Mesin MIMD (Multiple Instruction stream, Multiple Data stream)
Organisasi komputer yang memiliki kemampuan untuk memproses beberapa program dalam waktu yang sama. Pada umumnya multiprosesor dan multikomputer termasuk dalam kategori ini.
MIMD dibagi menjadi 2 grup:
Ø  Multiprocessor yang menggunakan memory bersama.
Ø  Multicomputer.

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 :

Tidak ada komentar:

Posting Komentar