Selasa, 27 Desember 2016

Prosesor Paralel

Pemrosesan paralel (parallel processing) adalah penggunaaan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Idealnya, parallel processing membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan. Tetapi dalam praktek, seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang berbea-beda tanpa berkaitan di antaranya.

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 menyelesaikan satu 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 pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi.

Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU. Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan. Komputasi paralel membutuhkan:
1. algoritma
2. bahasa pemrograman
3. compiler
    
Sebagaian besar komputer hanya mempunyai satu CPU, namun ada yang mempunyai lebih dari satu. Bahkan juga ada komputer dengan ribuan CPU. Komputer dengan satu CPU dapat melakukan parallel processing dengan menghubungkannya dengan komputer lain pada jaringan. Namun, parallel processing ini memerlukan software canggih yang disebut distributed processing software. Parallel processing berbeda dengan multitasking, yaitu satu CPU mengeksekusi beberapa program sekaligus. Parallel processing disebut juga parallel computing. Yang terdiri dari empat kelompok komputer. Keempat kelompok komputer tersebut adalah :
Komputer SISD (Single Instruction stream-Single Data stream)
Komputer SSID
(http://thedestination-vaibhav.blogspot.co.id/2010/05/parallel-processing-sisdsimdmimdmisd.html)

Pada komputer jenis ini semua instruksi dikerjakan terurut satu demi satu, tetapi juga dimungkinkan adanya overlapping dalam eksekusi setiap bagian instruksi (pipelining). Pada umumnya komputer SISD berupa komputer yang terdiri atas satu buah pemroses (single processor). Namun komputer SISD juga mungkin memiliki lebih dari satu unit fungsional (modul memori, unit pemroses, dan lain-lain), selama seluruh unit fungsional tersebut berada dalam kendali sebuah unit pengendali. 
Komputer SIMD (Single Instruction stream-Multiple Data stream)
Komputer SIMD
(http://thedestination-vaibhav.blogspot.co.id/2010/05/parallel-processing-sisdsimdmimdmisd.html)

Pada komputer SIMD terdapat lebih dari satu elemen pemrosesan yang dikendalikan oleh sebuah unit pengendali yang sama. Seluruh elemen pemrosesan menerima dan menjalankan instruksi yang sama yang dikirimkan unit pengendali, namun melakukan operasi terhadap himpunan data yang berbeda yang berasal dari aliran data yang berbeda pula.
Komputer MISD (Multiple Instruction stream-Single Data stream)
Komputer MISD
(http://thedestination-vaibhav.blogspot.co.id/2010/05/parallel-processing-sisdsimdmimdmisd.html)

Komputer jenis ini memiliki n unit pemroses yang masing-masing menerima dan mengoperasikan instruksi yang berbeda terhadap aliran data yang sama, dikarenakan setiap unit pemroses memiliki unit pengendali yang berbeda. Keluaran dari satu pemroses menjadi masukan bagi pemroses berikutnya. Belum ada perwujudan nyata dari komputer jenis ini kecuali dalam bentuk prototipe untuk penelitian.
Komputer MIMD (Multiple Instruction stream-Multiple Data stream)
Komputer MIMD
(http://thedestination-vaibhav.blogspot.co.id/2010/05/parallel-processing-sisdsimdmimdmisd.html)
Pada sistem komputer MIMD murni terdapat interaksi di antara pemrosesan. Hal ini disebabkan seluruh aliran dari dan ke memori berasal dari space data yang sama bagi semua pemroses. Komputer MIMD bersifat tightly coupled jika tingkat interaksi antara pemroses tinggi dan disebut loosely coupled jika tingkat interaksi antara pemroses rendah.

Pipelining & RISC (Reduced Instruction Set Computer)

PIPELINING
 
Pipelining yaitu suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama tetapi dalam tahap berbeda yang jalankan secara kontinu pada unit pemrosesan. Dengan cara ini, maka unit pemrosesan selalu bekerja. Teknik pipeline ini dapat diterapkan pada berbagai tingkatan dalam sistemkomputer. Seperti pada instruksi yang dijalankan oleh microprocessor. Tanpa pipelining, prosesor komputer mendapatkan instruksi pertama dari memori, melakukan operasi yang diperintahkan, lalu melanjutkan mengambil instruksi selanjutnya dari memori, dan seterusnya. Saat mengambil instruksi bagian aritmatik dari prosesor dalam kondisi menunggu (idle). Bagian aritmatik akan tetap menunggu sampai instruksi selanjutnya. Dengan menggunakan pipelining, arsitektur komputer mengizinkan instruksi selanjutnya untuk dieksekusi ketika prosesor sedang melakukan operasi aritmatik, menyimpan instruksi yang akan dijalankan di dalam buffer yang dekat dengan prosesor sampai setiap operasi instruksi dijalankan. Proses pengambilan instruksi dilakukan secara kontinu. Dampak yang diberikan adalah jumlah instruksi yang dapat dijalankan lebih banyak dengan periode waktu yang lebih sedikit.

Tahapan Pipeline

  • Mengambil instruksi dan mem-bufferkannya
  • Ketika tahapan 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
Keuntungan Pipelining
  • Waktu siklus prosesor berkurang, sehingga meningkatkan tingkat instruksi dalam kebanyakan  kasus( lebih cepat selesai).
  • Beberapa combinational sirkuit seperti penambah atau pengganda dapat dibuat lebih cepat dengan menambahkan lebih banyak sirkuit. Jika pipelining digunakan sebagai pengganti, hal itu dapat menghemat sirkuit & combinational yang lebih kompleks.
  • Pemrosesan dapat dilakukan lebih cepat, dikarenakan beberapa proses dilakukan secara bersamaan dalam satu waktu.
Kerugian Pipelining
  • Pipelined prosesor menjalankan beberapa instruksi pada satu waktu. Jika ada beberapa cabang yang mengalami penundaan cabang (penundaan memproses data) dan akibatnya proses yang dilakukan cenderung lebih lama.
  • Instruksi latency di non-pipelined prosesor sedikit lebih rendah daripada dalam pipelined setara. Hal ini disebabkan oleh fakta bahwa intruksi ekstra harus ditambahkan ke jalur data dari prosesor pipeline.
  • Kinerja prosesor di pipeline jauh lebih sulit untuk meramalkan dan dapat bervariasi lebih luas di antara program yang berbeda.
  • 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.
 RISC (Reduced Instruction Set Computer)

Reduced Instruction Set Computer (RISC, bahasa Inggris untuk “Komputasi set instruksi yang disederhanakan”) adalah filosofi desain untuk prosesor komputer, yang lebih suka menggunakan instruksi mesin sederhana. Istilah ini diciptakan pada tahun 1980 oleh David A. Patterson und Carlo H. Séquin. Dengan pembatasan pada perintah sederhana ini, maka desain chip juga menjadi sederhana dan dimungkinkan detak clock yang tinggi (cepat) untuk Prosesor RISC. Lawan dari filosofi disain RISC adalah Complex Instruction Set Computer (CISC).

Sebuah set instruksi RISC dibebaskan dari perintah yang kompleks – terutama mereka pada saat menggabungkan akses memori (perlahan) dengan operasi aritmatika (cepat). Dengan demikian, tingkat pipa prosesor (processor pipeline) dapat disetel dengan baik, langkah menjadi lebih pendek, pipeline dapat di clock lebih cepat dan dimanfaatkan lebih berimbang, karena jumlah “penyumbatan” (stalls) berkurang. Alhasil, karakteristik ini menghasilkan keuntungan besar dalam efisiensi. Kecuali itu, perintah sederhana juga dapat dikodekan dengan lebar yang seragam, dan dibandingkan arsitektur CISC upaya dekoder menjadi lebih rendah, sehingga latensi pipeline jauh berkurang.

Set instruksi prosesor CISC biasanya diimplementasikan dalam bentuk microcode, sementara pada prosesor RISC, perintah diterapkan secara individu tertanam. Arsitektur RISC 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, R4x00 dari 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.

Referensi :
1. http://whatis.techtarget.com/definition/pipelining
2. http://iranwaysqorni.blogspot.co.id/2015/01/penjelasan-risc-dan-pipelining-risc.html
3. http://gudanglinux.com/glossary/risc-reduced-instruction-set-computer/
4. http://teguhmuhazir.blogspot.co.id/2016/12/pipelining-risc-reduced-instruction-set.html
5. http://4ib02celektro.blogspot.co.id/2016/12/pipelining-risc-reduce-instruction-set.html

Arsitektur Family Komputer IBM PC


Arsitektur Family Komputer IBM PC
IBM PC adalah sebutan untuk keluarga komputer pribadi buatan IBM. IBM PC diperkenalkan pada 12 Agustus 1981, dan “dipensiunkan” pada tanggal 2 April 1987.
A.   Famili IBM PC Dan Turunannya
Sejak diluncurkan oleh IBM, IBM PC memiliki beberapa keluarga, yakni
  • IBM 4860 PCjr
  • IBM 5140 Convertible Personal Computer (laptop)
  • IBM 5150 Personal Computer (PC yang asli)
  • IBM 5155 Portable PC (sebenarnya merupakan PC XT yang portabel)
  • IBM 5160 Personal Computer/eXtended Technology
  • IBM 5162 Personal Computer/eXtended Technology Model 286
  • IBM 5170 Personal Computer/Advanced Technology
B.   Konfigurasi Mikrokomputer Dasar
Chipset adalah set dari chip yang mendukung kompatibel yang mengimplementasikan berbagai fungsi tertentu seperti pengontrol interupt, pengontrol bus dan timer.
Chip khusus yang di sebut koprosesor yang beroperasi bersama dengan CPU guna meningkatkan fungsionalitasnya.

C.   Komponen IBM PC
·         Sistem Kontrol BUS: Pengontrol BUS, Buffer Data, dan Latches Alamat
·         Sistem Kontrol Interrupt: Pengontrol Interrupt
·         Sistem Kontrol RAM dan ROM: Chip RAM dan ROM, Decoder Alamat, dan Buffer
·         Sistem Kontrol DMA: Pengontrol DMA
·         Timer: Timer Interval Programmable

·         Sistem Kontrol I/O: Interface Paralel Programmable

sumber :
http://dimaswibisono23.blogspot.co.id/2016/12/arsitektur-famili-komputer-ibm-pc_22.html
 http://teguhmuhazir.blogspot.co.id/2016/12/arsitektur-family-komputer-ibm-pc.html


unit input output

Pengertian dan Cara Kerja Sistem Bus

Picture1Bus adalah Jalur komunikasi yang dibagi pemakai Suatu set kabel tunggal yang digunakan untuk menghubungkan berbagai sub sistem. Karakteristik penting sebuah bus adalah bahwa bus merupakan media transmisi yang dapat digunakan bersama. Sistem komputer terdiri dari sejumlah bus yang berlainan yang menyediakan jalan antara dua buah komponen pada bermacam-macam tingkatan hirarki sistem komputer.

Picture2Suatu Komputer tersusun atas beberapa komponen penting seperti CPU, memori, perangkat Input/Output. setiap computer saling berhubungan membentuk kesatuan fungsi.
Sistem bus adalah penghubung bagi keseluruhan komponen computer dalam menjalankan tugasnya. Transfer data antar komponen komputer sangatlah mendominasi kerja suatu computer. Data atau program yang tersimpan dalam memori dapat diakses dan dieksekusi CPU melalui perantara bus, begitu juga kita dapat melihat hasil eksekusi melalui monitor juga menggunakan system bus.

Cara Kerja Sistem Bus

  • Pada sistem komputer yang lebih maju, arsitektur  komputernya akan lebih kompleks, sehingga untuk meningkatkan performa, digunakan beberapa buah bus.
  •  Tiap bus merupakan jalur data antara beberapa device yang berbeda. Dengan cara ini RAM, Prosesor, GPU (VGA AGP) dihubungkan oleh bus utama berkecepatan tinggi yang lebih dikenal dengan nama FSB (Front Side Bus) .
  • Sementara perangkat lain yang lebih lambat dihubungkan oleh bus yang berkecepatan lebih rendah yang terhubung dengan bus lain yang lebih cepat sampai ke bus utama. Untuk komunikasi antar bus ini digunakan sebuah bridge. 

    2. Standar I/O Interface

    Dibawah ini merupakan beberapa standar I/O Interface pada komputer:
  • Parallel Interface (LPT)
Parallel port adalah port komunikasi dari komputer yang datanya dikirim dengan sistem parallel, artinya data 8 bit dikirim langsung bersama-sama dari bit 0 sampai bit 7. Parallel port juga dikenal dengan Printer Port atau Centronics Port. Parallel Port menggunakan koneksi jenis DB-25 Female. LPT sendiri diambil dari singkatan kata Line Printer.
Parallel Port pertama kali diperkenalkan pada tahun 1970 oleh Robert Howard and Prentice Robinson dari Centronics. Interfacing port dari Centronics ini kemudian dengan cepat menjadi standar industri. Parallel Port diimplementasikan pada komputer IBM pertama kali pada tahun 1981.
Parallel port dua arah mulai di pakai IBM pada tahun 1987, kemudian Hewlet Packard (HP) juga memperkenalkan versi dua arah yang dikenal sebagai Bitronics, yang dipakai pada LaserJet 4 di tahun 1992. Antarmuka Bitronics dan antarmuka Centronics kemudian digantikan oleh standar IEEE 1284 pada tahun 1994.
paralel2.  Serial Interface (COM)
Serial port adalah port komunikasi dari komputer yang datanya dikirim dengan sistem serial, artinya data 8 bit dikirim bergantian dari bit 0 sampai bit 7. Dulu Serial Port menggunakan koneksi jenis DB-25 dan DB-9 Male, namun kini kebanyakan Serial Port menggunakan koneksi DB-9.
Serial Port menggunakan model transfer data serial dengan format UART (Universal Asyncronous Receiver Transmitter) yang artinya antara kedua sisi tidak ada clock sinkronisasi. Pada koneksi UART dikenal dengan 2 pin yang disebut Tx dan Rx. Tx adalah pin yang berfungsi sebagai pengirim data dan Rx adalah pin yang berfungsi sebagai penerima data.
serial3. USB Interface
Universal Serial Bus (USB) : Sebuah bus I/O (input/output) yang dapat mentransfer data hingga 12 megabit per detik.
Selamat tinggal port paralel dan serial yang lamban, kini jamannya Universal Serial Bus (USB). Lebih cepat, lebih kuat dan lebih fleksibel serta benar-benar berazaskan Plug and Play. Bahkan USB versi 2.0 yang baru saja dikeluarkan mampu memberikan tingkat kinerja dan kecepatan yang sebanding dengan bus berkecepatan tinggi semacam IEEE 1394.
Beberapa hal yang perlu Anda ketahui tentang USB:
  1.    Lebih cepat dibanding port paralel atau serial dengan kecepatan transfer hingga 12 mbps (bahkan untuk versi terbaru, bisa mencapai kecepatan 480 mbps)
  2. Dapat mengkoneksikan hingga 127 periferal
  3. Diterima secara luas, baik dari sisi hardware, software (baca: sistem operasi), ataupun pengguna
  4. Membutuhkan Windows 98 ke atas untuk kompatibilitas secara penuh.
usb4. PS/2 Interface
Konektor PS/2 adalah 6-pin mini-DIN konektor yang digunakan untuk menghubungkan beberapa keyboard dan mouse ke sistem komputer PC yang kompatibel. Namanya berasal dari IBM Personal System/2 series dari komputer pribadi, yang diperkenalkan pada tahun 1987.
Konektor mouse PS/2 ini menggantikan konektor DE-9 RS-232 yang lebih tua untuk serial mouse sedangkan konektor keyboard PS/2 menggantikan yang lebih besar 5-pin/180 ° konektor DIN digunakan dalam desain IBM PC/AT.
Interface PS/2 didesain untuk keyboard dan mouse elektrik dan menggunakan protokol komunikasi yang sama. Namun, keyboard sistem dan port mouse tidak dapat dipertukarkan karena dua perangkat ini menggunakan perintah yang berbeda.
ps25. VGA Interface
Port VGA ini tersusun atas 3 baris dan memiliki jumlah 15 pin betina (female connector) yang berguna untuk menghubungkan VGA Card ke Monitor.
vga6. Audio Interface
Port ini digunakan untuk menghubungkan perangkat seperti speaker, microphone, headset, dll.
audio7. LAN Interface
Port ini digunakan untuk komunikasi antar komputer, sehingga komputer dapat saling berbagi informasi dengan komputer lainnya.

lan

3. Pengaksesan peralatan I/O


Pengaksesan I/O terdiri dari dua cara yaitu :
  1. Memory mapped I/O
Dimana pirabti I/O dihubungkan sebagai lokasi memory virtual dimana port I/O tergantung pada memori utama
Karakteristik memory mapped I/O antara lain :
  • Port I/O dihubungkan ke bus alamat
  • Piranti input sebagai bagian memory yang memberikan data ke bus data. Piranti output ssebagai bagian memori yang memiliki data tersimpan di dalamnya.
  1. I/O mapped I/O
Piranti I/O dihubungkan sebagai lokasi terpisah dengan lokasi memori, dimana port I/O tidak tergantung pada memori utama.
karakteristik I/O mapped I/O :
  • Port I/O tidak tergantung memori utama
  • Transfer informasi dilakukan di bawah kendali sinyal control yang menggunakan instruksi INPUT dan OUTPUT
  • Operasi I/O tergantung sinyal kendali dari CPU
  • Intruksi I/O mengaktifkan baris kendali read/write pada port I/O, sedangkan instruksi memori akan mengaktifkan baris kendali read/write pada memori
  • Ruang memory dan ruang alamat I/O menyatu, sehingga dapat memiliki alamat yang sama.




Referensi:
https://sekaranindya.wordpress.com/2013/11/27/input-output/
https://id.wikipedia.org/wiki/Bus_sistem
http://souletz.blogspot.com/2013/12/pengertian-dan-jenis-io-port-computer.html
http://www.pintarkomputer.com/pengertian-dan-macam-macam-port-io/
http://hausenka.blogspot.co.id/2015/09/metode-pengaksesan-io.html
https://faiqsc.wordpress.com/2016/01/22/pengertian-dan-cara-kerja-sistem-bus/
https://triazis13.wordpress.com/2016/12/17/unit-input-output/