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.

Friday, May 08, 2015

Komputer adalah alat yang dipakai untuk mengolah data menurut prosedur yang telah dirumuskan. Kata computer secara umum pernah dipergunakan untuk mendefiniskan orang yang melakukan perhitungan aritmatika, dengan atau tanpa mesin pembantu . 





















Jika dilihat dalam  gambar, computer memiliki 4 struktur utama : CPU, Memori Utama, I/O,dan System Interconnection.


A.      CPU merupakan pengontrol operasi komputer dan pusat pengolahan fungsi – fungsi komputer. Kesepakatan, CPU cukup disebut sebagai processor (prosesor) saja.

Fungsi utama dari CPU adalah melakukan operasi aritmatika dan logika terhadap data yang diambil dari memori atau dari informasi yang dimasukkan melalui beberapa perangkat keras

Pada CPU pun memiliki beberapa bagian, apabila di breakdown, maka akan terlihat seperti gambar berikut

Berdasarkan struktur diatas, Komponen penting CPU seperti dijelaskan seperti berikut  :
1.       Control Unit, berfungsi untuk mengontrol operasi CPU dan mengontrol komputer secara keseluruhan. Control unit juga berfungsi untuk mengatur instruksi-instruksi dari memori utama dan menentukan jenis instruksi tersebut.

2.       Arithmetic And Logic Unit (ALU), berfungsi untuk membentuk fungsi – fungsi, lebih tepatnya ALU digunakan untuk menjalankan proses yang berhubungan dengan aritmatika dan berdasar instruksi  yang telah ditentukan. Pada ALU terdapat 2 bagian yaitu unit Aritmatika dan unit logika Boolean.

3.       Register, berfungsi sebagai penyimpan internal bagi CPU. Dengan adanya register ini, maka instruksi yang akan dijalankan disimpan terlebih dahulu selama menjalankan instruksi tersebut, dan akan hilang saat instruksi selesai dijalankan. Bisa dikatakan bahwa register adalah memori sesaat CPU.



B.      Memori Utama adalah memori inti dalam suatu komputer dan merupakan media penyimpanan dalam bentuk array yang disusun word atau byte, kapasitas daya simpannya bisa jutaan susunan. Seperti namanya, fungsi dari memori utama  adalah menyimpan data, namun dalam hal ini data yang disimpan bersifat sementara selama computer nyala atau masih terdapat sumber listrik. Contohnya adalah seperti data yang disimpan pada RAM, data ini akan hilang setelah computer kehilangan daya.

C.      CPU Interconnection, berfungsi menghubungkan seluruh bagian dari CPU. Dengan adanya CPU Interconnection ini dimungkinkan terjadinya komunikasi antar komponen di  dalam CPU.
Terdapat 4 langkah dari sebuah sistem komputer ,yaitu:
1.       Fetch,yaitu proses pengambilan data atau intruksi dari memori dengan menggunakan perangkat input.
2.       Decode,yaitu proses pembacaan sandi/kode dan menerjemahkan intruksi melalui kontrol input.
3.       Execute,yaitu proses eksekusi dengan menjalankan perintah
4.       Store,yaitu proses penyimpanan data dan menampilkan hasilnya pada peralatan output seperti monitor.


D.       I/O merupakan bagian dari computer yang berfungsi untuk memindahkan data dari lingkungan  ke computer maupun sebaliknya.

berdasarkan fungsinya, terdapat input devices dan Output Devices.
Input device merupakan perangkat yang digunakan untuk memasukkan data dari lingkungan ke dalam computer, hal ini memungkinkan manusia / user memberikan instruksi atau trigger ke computer untuk menjalankan sesuatu.
contoh input devices adalah : keyboard, mouse, touch screen, scanner.

Output Devices merupakan kebalikan dari input devices, memiliki fungsi untuk mengeluarkan data / merubah data dari bentuk digital ke lingkungan sesuai output devices yang digunakan. dengan output device ini, user dapat memperoleh feedback  dari apa yang telah diinstruksikan kedalam computer.
contohnya adalah, saat kita memberi perintah untuk menampilkan video, maka computer akan merespon dengan menjalankan video dan menampilkan ke monitor. Jadi monitor merupakan salah satu output devices.
contoh output devices yang lain adalah : speaker, printer, 

Subscribe to RSS Feed Follow me on Twitter!