Rabu, 16 Januari 2013

PROSESOR PARALEL



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 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 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 (Message Passing 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 tidak menggunakan 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
  • SIMD
  • MISD
  • MIMD
SISD
Yang merupakan singkatan dari Single Instruction, Single Data adalah satu-satunya yang menggunakan arsitektur Von Neumann. Ini dikarenakan pada model ini hanya digunakan 1 processor saja. Oleh karena itu model ini bisa dikatakan sebagai model untuk komputasi tunggal. Sedangkan ketiga model lainnya merupakan komputasi paralel yang menggunakan beberapa processor. Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP 1.
SIMD
Yang merupakan singkatan dari Single Instruction, Multiple Data. SIMD menggunakan banyak processor dengan instruksi yang sama, namun setiap processor mengolah data yang berbeda. Sebagai contoh kita ingin mencari angka 27 pada deretan angka yang terdiri dari 100 angka, dan kita menggunakan 5 processor. Pada setiap processor kita menggunakan algoritma atau perintah yang sama, namun data yang diproses berbeda. Misalnya processor 1 mengolah data dari deretan / urutan pertama hingga urutan ke 20, processor 2 mengolah data dari urutan 21 sampai urutan 40, begitu pun untuk processor-processor yang lain. Beberapa contoh komputer yang menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan Cell Processor (GPU).
MISD
Yang merupakan singkatan dari Multiple Instruction, Single Data. MISD menggunakan banyak processor dengan setiap processor menggunakan instruksi yang berbeda namun mengolah data yang sama. Hal ini merupakan kebalikan dari model SIMD. Untuk contoh, kita bisa menggunakan kasus yang sama pada contoh model SIMD namun cara penyelesaian yang berbeda. Pada MISD jika pada komputer pertama, kedua, ketiga, keempat dan kelima sama-sama mengolah data dari urutan 1-100, namun algoritma yang digunakan untuk teknik pencariannya berbeda di setiap processor. Sampai saat ini belum ada komputer yang menggunakan model MISD
MIMD
Yang merupakan singkatan dari Multiple Instruction, Multiple Data. MIMD menggunakan banyak processor dengan setiap processor memiliki instruksi yang berbeda dan mengolah data yang berbeda. Namun banyak komputer yang menggunakan model MIMD juga memasukkan komponen untuk model SIMD. Beberapa komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.

Komputasi paralel membutuhkan :
· algoritma
· bahasa pemrograman
· compiler

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.

* Message Passing Interface (MPI)
MPI adalah sebuah standard pemrograman yang memungkinkan pemrogram
untuk membuat sebuah aplikasi yang dapat dijalankan secara paralel.
MPI menyediakan fungsi-fungsi untuk menukarkan
antar pesan. Kegunaan MPI yang lain adalah
1. menulis kode paralel secara portable
2. mendapatkan performa yang tinggi dalam pemrograman paralel, dan
3. menghadapi permasalahan yang melibatkan hubungan data irregular atau dinamis yang tidak
begitu cocok dengan model data paralel.

* Message Passing Interface (MPI)
MPI adalah sebuah standard pemrograman yang memungkinkan pemrogram
untuk membuat sebuah aplikasi yang dapat dijalankan secara paralel.
MPI menyediakan fungsi-fungsi untuk menukarkan
antar pesan. Kegunaan MPI yang lain adalah
1. menulis kode paralel secara portable
2. mendapatkan performa yang tinggi dalam pemrograman paralel, dan
3. menghadapi permasalahan yang melibatkan hubungan data irregular atau dinamis yang tidak
begitu cocok dengan model data paralel.

Referensi :

PIPELINING DAN RISC



PIPELINING DAN RISC

Pipelining adalah suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersamaan tetapi dalam tahap yang berbeda yang dialirkan secara continue pada unit pemrosesan.
·          Tujuan yang ingin dicapai dalam pipelining adalah untuk meingkatkan throughput.
(the number of instructions complete per unit of time – but it is not reduce the execution time of an individual instruction).
·          Waktu yang digunakan untuk eksekusi setiap tugas sama dengan waktu yang digunakan untuk suatu eksekusi nonpipeline.
·          Tetapi karna eksekusi tugas yang berurutan dilakukan secara bersamaan, maka jumlah tugas yang dapat dieksekusi dalam suatu waktu yang disediakan lebih tinggi.
·          Hadware pipeline menyediakan throughput yang lebih baik dibandingkan dengan hardware non-pipelining.

RISC adalah komputasi kumpulan instruksi yang disederhanakan. RISC 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, desainini juga diimplementasikan pada prosesor komputer lain, seperti pada beberapamikroprosesor 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.

Prosesor Vektor Pipelining
Sebuah prosesor vektor atau prosesor array, adalah unit pemrosesan sentral (CPU) yang mengimplementasikan set instruksi berisi instruksi yang beroperasi pada satu dimensi array data yang disebut vektor. Hal ini kontras dengan prosesor skalar , yang instruksi beroperasi pada item data tunggal. Meskipun prosesor Intel dan klon mereka desain awalnya sebagai skalar, model baru berisi peningkatan jumlah vektor instruksi khusus seperti yang disediakan oleh Ekstensi Vector Lanjutan ditetapkan. Prosesor vektor pertama kali muncul pada 1970-an, dan membentuk dasar dari yang paling superkomputer di tahun 1980 dan 1990-an. Perbaikan dalam prosesor skalar, terutama mikroprosesor , mengakibatkan penurunan prosesor vektor tradisional di superkomputer, dan munculnya teknik pengolahan vektor di CPU pasar massal sekitar awal 1990-an. Hari ini, CPU komoditas yang paling mengimplementasikan arsitektur yang menampilkan instruksi untuk beberapa pemrosesan vektor pada beberapa (vektoralisasi) set data, biasanya dikenal sebagai SIMD (Single nstruction Multiple Data). Teknik pemrosesan vektor juga ditemukan di konsol video game hardware dan akselerator grafis . Pada tahun 2000, IBM , Toshiba dan Sony berkolaborasi untuk menciptakan prosesor Cell , yang terdiri dari satu prosesor skalar dan delapan prosesor vektor, yang ditemukan digunakan dalam Sony PlayStation 3 di antara aplikasi lain. Desain Cpu lain mungkin termasuk beberapa instruksi untuk pemrosesan vektor pada beberapa set data, biasanya dikenal sebagai MIMD (Multiple Instruksi Multiple Data). Desain seperti biasanya didedikasikan untuk aplikasi tertentu dan tidak umum dipasarkan untuk komputasi tujuan umum.
RISC ( Reduced  Instruction set Computer)
RICS singkatan dari Reduced Instruction Set Computer. Merupakan bagian dari arsitektur mikroprosessor, berbentuk kecil dan berfungsi untuk mengeset istruksi dalam komunikasi diantara arsitektur yang lainnya. arsitektur RISC memiliki beberapa karakteristik diantaranya :
• Siklus mesin ditentukan oleh waktu yang digunakan untuk mengambil dua buah operand dari register, melakukan operasi ALU, dan menyimpan hasil operasinya kedalam register, dengan demikian instruksi mesin RISC tidak boleh lebih kompleks dan harus dapat mengeksekusi secepat mikroinstruksi pada mesin-mesin CISC. Dengan menggunakan instruksi sederhana atau instruksi satu siklus hanya dibutuhkan satu mikrokode atau tidak sama sekali, instruksi mesin dapat dihardwired. Instruksi seperti itu akan dieksekusi lebih cepat dibanding yang sejenis pada yang lain karena tidak perlu mengakses penyimapanan kontrol mikroprogram saat eksekusi instruksi berlangsung.
• Operasi berbentuk dari register-ke register yang hanya terdiri dari operasi load dan store yang mengakses memori . Fitur rancangan ini menyederhanakan set instruksi sehingga menyederhanakan pula unit control. Keuntungan lainnya memungkinkan optimasi pemakaian register sehingga operand yang sering diakses akan tetap ada di penyimpan berkecepatan tinggi. Penekanan pada operasi register ke register merupakan hal yang unik bagi perancangan RISC.
• Penggunaan mode pengalamatan sederhana, hampir sama dengan instruksi menggunakan pengalamatan register,. Beberapa mode tambahan seperti pergeseran dan pe-relatif dapat dimasukkan selain itu banyak mode kompleks dapat disintesis pada perangkat lunak dibanding yang sederhana, selain dapat menyederhanakan sel instruksi dan unit kontrol.
• Penggunaan format-format instruksi sederhana, panjang instruksinya tetap dan disesuaikan dengan panjang word. Fitur ini memiliki beberapa kelebihan karena dengan menggunakan field yang tetap pendekodean opcode dan pengaksesan operand register dapat dilakukan secara bersama-sama
  
Referensi :
http://elib.unikom.ac.id/files/disk1/390/jbptunikompp-gdl-sindrianil-19458-10-9-pipeli-g.pdf
http://www.scribd.com/doc/71858269/CISC-Complex-Instruction-Set-Computers-Dan-RISC-Reduced-Instruction-Set-Computers

Sabtu, 17 November 2012

ARSITEKTUR FAMILI KOMPUTER (IBM)



 ARSITEKTUR FAMILI KOMPUTER (IBM)

1.Famili IBM PC dan Turunannya
Computer personal pertama kali muncul setelah diperkenalkan mikroprosesor, yaitu chip tunggal yang terdiri dari set register, ALU dan unit control computer. IBM PC merupakan arsitektur bus tunggal yang disebut PC I/O Channel BUS atau PC BUS. PC BUS melengkapi PC dengan 8 jalur data, 20 jalur alamat, sejumlah jalur control dan ruang alamat fisik PC adalah 1MB. Sejak diluncurkan oleh IBM, IBM PC memilikin beberapa keluarga, yakni :
·        IBM 4860 PCjr
·        IBM 5140 Convertible Personal Computer (laptop)
·        IBM 5150 Personal Computer (PC yang asli)
·        IBM 5155 Portabel PC (sebenarnya merupan PC XT yang portable)
·        IBM 5160 Personal Computer / Extended Technology
·        IBM 5162 Personal Computer / Extended Technology Model 286 (sebenarnya merupakan PC AT)
·        IBM 5170 Personal Computer / Advanced Technology

2.Konfigurasi Mikrokomputer Dasar
Chipset adalah set dari chip yang mendukung kompatibel yang mengimplementasikan berbagai fungsi tertentu seperti pengcontrolan input, pengcontrolan bus dan timer. Chip khusus yang disebut koprosesor yang beroperasi bersama dengan CPU guna meningkatkan fungsionalitasnya.

3.Komponen IBM PC
·        Sitem Kontrol BUS : Pengcontrol BUS, Buffer Data, dan Latches Alamat
·        Sistem Kontrol Interrupt : Pengcontrol Interrupt
·        Sistem Kontrol RAM dan ROM : Chip RAM dan ROM, Decoder Alamat dan Buffer
·        Sistem Kontrol DMA : Pengcontrol DMA
·        Time : Time Interval Programmable
·        Sistem Kontrol I/O : Interface Paralel Programmable

4.SISTEM SOFTWARE
·        Penerapan alamat port I/O
·        Penetapan Vector Interrupt
·        ROM BOIS
·        Penetapan Alamat Memori

5.MANFAAT ARSITEKTURAL ARSITEKTUR PC
·        Kemudahaan pengguna
·        Daya Tempa
·        Daya Kembang
·        Expandibilitas



 Referensi :

1. http://ocw.gunadarma.ac.id/course/industrial-technology/program-of-electronics-engineering-study-2013-s1/arsitektur-komputer/keluarga-arsitektur-komputer-ibm-pc
2. http://salahh.blogspot.com/2011/12/ibm-pc-keluarganya.html

http://funsday.blogspot.com/2009/04/84-sistem-software.html

INPUT / OUTPUT UNIT



INPUT / OUTPUT UNIT
1.Sistem Bus
Sitem bus adalah suatu proses yang tarkait dengan satu unsur dan unsur-unsur yang lainnya.
Bus adalah lintasan/Jalur
Sistem bus dalam dunia computer dapat di definisikan sebagai proses yang menghubungkan antar komponen utama dari sebuah computer yang memiliki jalur /lintasan masing-masing dimana tetap saling mempengaruhi satu dengan yang lain. Satu bus berisi satu jalur, bus biasanya berbentuk jalur-jalur parallel PCB, ribbon , cables, strip connector (ditemui dalam motherboard),kumpulan kabel.

Bus yang biasanya dipakai adalah single bus dalam multiple bus.
·        Single Bus : bus dengan hanya 1 jalur saja
·        Multiple Bus : bus dengan jalur lebih dari satu

Sistem bus yang ada pada computer : Control Bus, Address Bus, Data Bus
·        Control Bus : jalur tempat mengirimkan intruksi atau perintah
·        Address Bus : jalur tempat mengkodekan / pengalamatan dari sebuah proses
·        Data Bus : jalur pengiriman data


2.Standar Input/Output Interface
Ketika suatu aplikasi ingin membuka data yang ada dalam suatu disk, sebenarnnya aplikasi tersebut harus dapat membedakan jenis disk apa yang akan diaksesnya. Untuk mempermudah pengaksesan, system operasi melakukan standarisasi cara pengaksesan pada peralatan I/O. pendekatan inilah yang dinamakan interface aplikasi I/O.
Interface aplikasi I/O melibatkan abstraksi, enkapsulasi, dan software layering. Abstraksi dilakukan dengan membagi-bagi detail peralatan-peralatan I/O ke dalam kelas-kelas yang lebih umum. Dengan adanya kelas-kelas yang umum ini , maka akan lebih mudah membuat fungsi-fungsi standar (interface) untuk mengaksesnya. Lalu kemudian adanya device driver pada masing-masing peralatan I/O, berfungsi untuk enkapsulasi perbedaan-perbedaan yang ada dari ,masing-masing anggota kelas-kelas yang umum tadi. Device driver mengenkapsulasi tiap-tiap peralatan I/O ke dalam masing-masing 1 kelas yang umum tadi (interface). Tujuan dari adanya lapisan device controller dari subsistem I/O pada karnel. Karna hal ini, subsistem I/O dapat bersifat independen dari hardware.
Karna subsistem I/O independen dari hardware maka hal ini sangat menguntungkan dari segi pengembangan hardware. Tidak perlu menunggu vendor system operasi untuk mengeluarkan support code untuk hardware-hardware baru yang akan dilakukan oleh vendor hardware.

3.Pengelolaan I/O :
·        Tugas utama computer adalah : pemrosesan CPU, pemrosesan I/O
·        Peran OS dalam pengelolaan I/O : mengelola dan mengcontrol operasi I/O serta perangkat I/O
·        Fungsi pengelolaan I/O : Hardware : port, bus, device controller, software I/O adalah modul divice driver.