Showing posts with label prosessor. Show all posts
Showing posts with label prosessor. Show all posts

Wednesday, June 10, 2015

Komputer parallel merupakan sekumpulan elemen pemroses yang bekerja sama dalam menyelesaikan masalah besar. Sistem yang digunakan dalam komputer parallel adalah komputasi parallel sesuai namanya, tujuan dibuat komputasi parallel adalah untuk mengolah data dalam jumlah besar ataupun tuntutan komputas yang banyak.

Tujuan pengembangan  komputasi parallel :
  • Tuntutan aplikasi
  • Trend teknologi
  • Trend arsitektur
  • Ekonomi
  • Pengaplikasian dengan bidang lain (transportasi, bangunan, kesehatan)

Dalam komputer parallel ada 2 hukum yang berlaku :
  • Hukum Amdahl Amdahl berpendapat, “Peningkatan kecepatan secara paralel akan menjadi linear, melipatgandakan kemampuan proses sebuah komputer dan mengurangi separuh dari waktu proses yang diperlukan untuk menyelesaikan sebuah masalah”.
  • Hukum Gustafson
    Gustafson berpendapta s
    ebuah komputasi paralel berjalan dengan menggunakan dua atau lebih mesin untuk mempercepat penyelesaian masalah dengan memperhatikan faktor eksternal, seperti kemampuan mesin dan kecepatan proses tiap-tiap mesin yang digunakan
Pembagian komputer berdasar arsitekturnya / Taksonomi (Versi Flyn )

  1.   SISD (Single Instruction, Single Data-Stream)
  2. SIMD (Single Instruction, Multi Data-Stream)
  3.  MIMD (Multiple Instruction-stream, Multiple Data-stream)
  4. MISD (Multiple Instruction-stream, Single Data-stream)

Berdasar taksonomi dari Flyn, yang termasuk dalam kategori prosessor tunggal adalah SISD dan SIMD dan yang menggunakan prosessor parallel adalah MIMD.

Perbedaan SIMD dan MIMD



Jadi yang yang bisa disebut dengan komputer parallel adalah komputer yang menggunakan pemrosesan secara parallel, dalam hal ini tidak bisa lepas dari penggunaan prosessor yang tentunya mumpuni untuk bekerja secara parallel. Jenis komputer yang menggunakan prosessor parallel ada 2 yaitu komputer parallel dan komputer terdistribusi. Ciri dari komputer parallel adalah multiprosessor, shared-memory, dan menggunakan multiprosessor tipe message passing atau MPI.

Salah satu perbedaan mendasar dari komputer parallel dan komputer terdisitribusi adalah pada komputer parallel menggunakan prosessor serentak dalam menyelesaikan suatu perintah  mereka saling berbagi memory dan clock sedangkn pada komputer terdistribusi tidak berbagi memory dan clock system.


Sumber :
http://id.wikipedia.org/wiki/Komputasi_paralel
https://andri102.wordpress.com/game/soft-skill/konsep-komputasi-parallel-processing/

Monday, June 08, 2015

Pipeline  adalah teknik untuk memecah proses  eksekusi menjadi beberapa sub-proses yang akan dieksekusi dalam segmen khusus dan dalam waktu yang bersamaan sehingga akan menghemat waktu pemrosesan.

Teknik pipeline 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 dijaankan oleh microprocessor.

Apabila dianalogikan, konsep pipeline mirip dengan alur perakitan mobil, dimana saat bagian body memasang perlengkapan body pada mobil pertama maka pada bagian pengecatan akan menunggu mobil pertama. Saat  mobil pertama masuk ke pengecatan, maka bagian body akan melanjutkan dengan mobil kedua tanpa menunggu mobil pertama selesai dirakit dan selanjutnya ke tahap mesin dan yang lainnya dengan konsep yang sama.

Tiga kesulitan yang sering dihadapi ketika menggunakan teknik  pipeline ini adalah :
1.       Terjadinya penggunaan resource yang bersamaan
2.       Pengaturan Jump ke suatu lokasi memori.
3.       Sebagai perbandingan dapat melihat grafik berikut





Tahapan pipeline
1.       Mengambil instruksi pertama dan menjalankannya
2.       Ketika tahap 1 selesai maka lanjut ke tahap 2
3.       Ketika tahap 2 dijalankan, maka tahap 1 dijalankan menggunakan resource memory yang tersedia
4.       Dan menjalankan tahap selanjutnya sampai resource memory digunakan secara maksimal



Contoh pengerjaan instruksi dengan pipeline

Untuk menghitung efisiensi dalam sebuah pipeline dapat digunakan rumus sebagai berikut
     Non-pipeline     : n.k.T
     Pipeline             : nT + (k-1).T
     Peningkatan kecepatan = n.k / (k + n - 1), dimana n >> 1

Masalah yang muncul dalam system pipeline
Dalam pipeline ada situasi dimana ada instruksi yang gagal dilaksanakan, sehingga instruksi berikutnya tidak bisa dilaksanakan, situasi ini disebut  Hazards
Ada 3 jenis Hazards
1.       Structural Hazards   muncul dari konflik resource sistem yaitu ketika hardware tidak dapat mensuport semua kemungkinan kombinasi pelaksanaan instruksi
2.       Data Hazards muncul ketika data untuk suatu instruksi tergantung pada hasil instruksi sebelumnya
3.       Control Hazards  muncul pada saat pelaksanaan instruksi yang mengubah PC

Keuntungan dari Pipeline
 1.Waktu siklus prosesor berkurang, sehingga meningkatkan tingkat instruksi-isu dalam kebanyakan kasus.

2.Beberapa combinational sirkuit seperti penambah atau pengganda dapat dibuat lebih cepat dengan menambahkan lebih banyak sirkuit.

3.Pemrosesan dapat dilakukan lebih cepat, dikarenakan beberapa proses dilakukan secara bersamaan dalam satu waktu. Jika  pipeline digunakan sebagai pengganti, hal itu dapat menghemat sirkuit vs combinational yang lebih kompleks sirkuit.

Kerugian dari Pipeline
 1.Prossesor non-pipeline hanya menjalankan satu instruksi pada satu waktu. Hal ini untuk mencegah penundaan cabang (yang berlaku, setiap cabang tertunda) dan masalah dengan serial instruksi dieksekusi secara bersamaan. Akibatnya desain lebih sederhana dan lebih murah untuk diproduksi.

2.Instruksi latency di prossesor non-pipeline sedikit lebih rendah daripada dalam  pipeline setara. Hal ini disebabkan oleh fakta bahwa sandal jepit ekstra harus ditambahkan ke jalur data dari prossesor pipeline.

3.Prossesor non-pipeline akan memiliki instruksi bandwidth yang stabil. Kinerja  prossesor yang pipeline jauh lebih sulit untuk meramalkan dan dapat bervariasi lebih luas di antara program yang
berbeda.

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

5.Sedangkan ketergantungan terhadap data, bisa muncul, misalnya instruksi yang  berurutan memerlukan data dari instruksi yang sebelumnya.

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

Subscribe to RSS Feed Follow me on Twitter!