Welcome to the world of Mohamad Ridwan Julianto!

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
    
       Sebagian 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 softwareParallel processing berbeda dengan multitasking, yaitu satu CPU mengeksekusi beberapa program sekaligus. Parallel processing disebut juga parallel computing. Yang terdiri dari empat kelompok komputer.

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

Gambar Arsitektur Crossbar

       Jaringan interkoneksi dapat dibagi menjadi statis atau jaringan langsung (direct network), dinamis atau jaringan tidak langsung (undirect network), dan hybrid. Jaringan hybrid adalah jaringan interkoneksi yang memiliki struktur yang rumit. 
Klarifikasi Jaringan Interkoneksi

1. Jaringan Interkoneksi Statis
    Dalam jaringan interkoneksi statis, jalur diantara terminal yang berbeda dari sistem bersifat pasif dan hanya jalur yang telah ditentukan oleh prosesor pengendali yang dapat digunakan untuk berkomunikasi. Masing-masing terminal dihubungkan secara langsung ke terminal lain dengan jalur interkoneksi tertentu.


2. Jaringan Intekoneksi Dinamis
    Jika dibandingkan dengan jaringan statis, dengan jalur interkoneksi antar terminal yang pasif, konfigurasi jalur dalam sebuah jaringan interkoneksi dinamis merupakan fungsi dari kondisi elemen switching. Jalur diantara terminal pada jaringan interkoneksi dinamis berubah sesuai dengan perubahan kondisi elemen switching. Jaringan dinamis dibangun menggunakan crossbar (khususnya yang berukuran 2 x 2).

II. Mesin SIMD & MIMD

1. SIMD (Single Instruction Stream Multiple Data Stream)

    SIMD adalah singkatan dari Single Instruction, Multiple Data, merupakan sebuah istilah dalam komputasi yang merujuk kepada sekumpulan operasi yang digunakan untuk menangani jumlah data yang sangat banyak dalam paralel secara efisien, seperti yang terjadi dalam prosesor vektor atau prosesor larik. SIMD pertama kali dipopulerkan pada superkomputer skala besar, meski sekarang telah ditemukan pada komputer pribadi.

   Contoh aplikasi yang dapat mengambil keuntungan dari SIMD adalah aplikasi yang memiliki nilai yang sama yang ditambahkan ke banyak titik data (data point), yang umum terjadi dalam aplikasi multimedia. Salah satu contoh operasinya adalah mengubah brightness dari sebuah gambar. Setiap pixel dari sebuah gambar 24-bit berisi tiga buah nilai berukuran 8-bit brightness dari porsi warna merah (red), hijau (green), dan biru (blue). Untuk melakukan perubahan brightness, nilai RG, dan Bakan dibaca dari memori, dan sebuah nilai baru ditambahkan (atau dikurangkan) terhadap nilai-nilai R, G, B tersebut dan nilai akhirnya akan dikembalikan (ditulis kembali) ke memori.

2. MIMD (Multiple Instruction stream-Multiple Data stream)

     Pada sistem komputer MIMD murni terdapat interaksi di antara pemroses. 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.

III. 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, dan lain-lain. 


Referensi:
http://organkomputer.blogspot.co.id/2013/04/prosesor-paralel.html
http://repository.usu.ac.id/bitstream/123456789/19839/4/Chapter%20II.pdf sugiartha.staff.gunadarma.ac.id/Downloads/files/42733/Pendahuluan.pdf
http://myanaa-kampus.blogspot.co.id/2010/01/tugas-pemrosesan-parallel-simd-dan-mimd.html


Pipeline dan RISC (Reduce Instruction Set Computer)

I. PIPELINE

     Pipeline adalah suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama tetapi dalam tahap yang berbeda yang dialirkan secara kontinu pada unit pemrosesor. Dengan cara ini, maka unit pemrosesan selalu bekerja.

    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 dijalankan oleh microprocessor.

     Pada microprocessor  yang tidak menggunakan pipeline, satu instruksi dilakukan sampai selesai, baru instruksi berikutnya dapat dilaksanakan. Sedangkan dalam microprocessor yang menggunakan teknik pipeline, ketika satu instruksi sedangkan diproses, maka instruksi yang berikutnya juga dapat diproses dalam waktu yang bersamaan. Tetapi, instruksi yang diproses secara bersamaan ini, ada dalam tahap proses yang berbeda. Jadi, ada sejumlah tahapan yang akan dilewati oleh sebuah instruksi. Dengan penerapan pipeline ini pada microprocessor, akan didapatkan peningkatan kinerja microprocessor.

A. Instruksi Pada Pipeline


     Berikut adalah tahapan-tahapan pada Pipeline:
  • Mengambil instruksi dan membuffferkannya.
  • 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.
Image result for instruksi pipeline

Contoh pengerjaan instruksi tanpa pipeline:
Image result for instruksi pipeline

Contoh pengerjaan instruksi menggunakan pipeline:
Image result for instruksi pipeline

     Dengan adanya pipeline dua instruksi selesai dilaksanakan pada detik keenam (sedangkan pada kasus tanpa pipeline baru selesai pada detik ke sepuluh). Dengan demikian telah terjadi percepatan sebanyak 1.67x dari 10T menjadi 6T. Sedangkan untuk pengerjaan 3 buah instruksi terjadi percepatan sebanyak 2.14x dari 15T menjadi hanya 7T.

       Untuk kasus pipeline sendiri, 2 instruksi dapat dikerjakan dalam 6T dan instruksi dapat dikerjakan dalam 7T, dan untuk 4 instruksi dapat dikerjakan dalam 8T. Ini berarti untuk 100 instruksi akan dapat dikerjakan dalam 104T. Pada kondisi ideal CPI akan berharga 1. 

II. RISC (Reduce Instruction Set Computer)

       RISC (Reduce Intruction Set Computeratau komputasi set instruksi yang disederhanakan 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 vector. Desain ini juga diimplementasikan pada prosesor komputer lain, seperti pada beberapa mikroprosesor intel 960, Itanium (IA64) dari Intel Corporation. Selain itu RISC juga umum dipakai pada Advanced RISC Machine (ARM) dan strong ARM.

1. Perkembangan RISC

     Ide dasar prosesor RISC sebenarnya bisa dilacak dari apa yang disarankan oleh von Neumann pada tahun 1946. Von Neumann menyarankan agar rangkaian elektronik untuk konsep logika diimplementasikan hanya bila memang diperlukan untuk melengkapi sistem agar berfungsi atau karena frekuensi penggunaannya cukup tinggi (Hueden, 1992 : 18). Jadi ide tentang RISC, yang pada dasarnya adalah untuk menyederhanakan realisasi perangkat keras prosesor dengan melimpahkan sebagian besar tugas kepada perangkat lunaknya, telah ada pada komputer elektronik pertama. Seperti halnya prosesor RISC, komputer elektronik pertama merupakan komputer eksekusi-langsung yang memiliki instruksi sederhana dan mudah didekode.

        Hal yang sama dipercayai juga oleh Seymour Cray, spesialis pembuat superkomputer. Pada tahun 1975, berdasarkan kajian yang dilakukannya, Seymour Cray menyimpulkan bahwa penggunaan register sebagai tempat manipulasi data menyebabkan rancangan instruksi menjadi sangat sederhana. Ketika itu perancang prosesor lain lebih banyak membuat instruksi-instruksi yang merujuk ke memori daripada ke register seperti rancangan Seymour Cray. Sampai akhir tahun 1980an komputer-komputer rancangan Seymour Cray, dalam bentuk superkomputer seri Cray, merupakan komputer-komputer dengan kinerja sangat tinggi. Pada tahun 1975, kelompok peneliti di IBM di bawah pimpinan George radin, mulai merancang komputer berdasar konsep John Cocke. Berdasarkan saran John Cocke, setelah meneliti frekuensi pemanfaatan instruksi hasil kompilasi suatu program, untuk memperoleh prosesor berkinerja tinggi tidak perlu diimplementasikan instruksi kompleks ke dalam prosesor bila instruksi tersebut dapat dibuat dariinstruksi-instruksi sederhana yang telah dimilikinya.

 2. Sifat-sifat RISC

1. Semua atau setidak-tidaknya sebagian besar (80%) instruksi harus dieksekusi dalam satu siklus clock.
2. Semua instruksi harus memiliki satu ukuran standar, yaitu sama dengan ukuran kata dasar (basic word length).
3.  Jumlah jenis instuksinya harus kecil, tidak melebihi 128.
4.  Jumlah format isntruksinya harus kecil, tidak melebihi kira-kira 4.
5.  Jumlah addressing mode harus kecil, tidak melebihi kira-kira 4.
6.  Akses ke memori hanya dilakukan dengan instruksi load dan store.
7.  Semua operasi, kecuali operasi load dan store merupakan operas register ke register di dalam CPU.
8.   Memiliki hardwired control unit.
9.   Memiliki relati& banyak register serbaguna internal CPU.

3. Karakteristik RISC

Arsitektur RISC memiliki beberapa karakteristik diantaranya :
1.       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.

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

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

4.       Penggunaan format-format instruksi sederhana, panjang instruksinya tetap dan disesuaikan dengan panjang word. Fitur ini memiliki beberapa kelebihan karena dengan menggunakan Beld yang tetap pendekodean op'ode dan pengaksesan operand register dapat dilakukan secara bersama-sama.

RISC perlu memperhatikan karakteristik eksekusi instruksi. Adapun aspek-aspek komputasinya adalah :
a.       Operasi-operasi yang dilakukan.
b.      perand-operand yang digunakan.
c.       Pengurutan eksekusi.



Referensi:

Arsitektur Famili Komputer IBM PC

   IBM PC adalah sebutan untuk keluarga komputer pribadi buatan IBM. Awal mula diperkenalkannya IBM PC pada publik yaitu pada 12 Agustus 1981, dan dihentikan pada 2 April 1987. IBM PC diproduksi oleh perusahaan IBM (International Business Machines) yang merupakan sebuah perusahaan hardware yang mengembangkan software - software yang sudah ada seperti UNIX dan WINDOWS. Oleh karena itu IBM sendiri merupakan sebuah perusahaan bukan system operasi, hanya saja IBM mencoba mengembangkan OS yang telah ada seperti OS dari UNIX dan LINUX.

I. Famili IBM PC dan Turunannya

    Sejak diluncurkan oleh IBM, IBM PC memiliki beberapa keluarga, 
  • 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 (sebenarnya merupakan PC AT)
  • IBM 5170 Personal Computer/Advanced Technology


      Komputer personal pertama kali muncul setelah diperkenalkan mikroprosesor, yaitu chip tunggal yang terdiri dari set register , ALU dan unit control komputer. 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 kontrol dan ruang alamat fisik PC adalah 1 MB.

II. Konfigurasi Mikro Komputer Dasar

      Berdasarkan ukurannya, komputer digolongkan ke dalam microcomputer (komputer mikro), mini computer (komputer mini), small computer (komputer kecil), medium computer (komputer menengah), large computer (komputer besar), dan super computer (komputer super). Micro Computer (Mikro Komputer) disebut juga dengan nama personal computer (komputer personal). Ukuran main memory komputer mikro sekarang berkisar dari 16 MB sampai lebih dari 128 MB, dengan konfigurasi operand register 8 bit, 16 bit, atau 32 bit. Kecepatan komputer mikro sekarang berkisar 200 Mhz sampai dengan 500 Mhz. Komputer mikro umumnya adalah single-user (pemakainya tunggal), yaitu satu komputer hanya dapat digunakan untuk satu pemakai saja untuk tiap saat.

1. Chipset adalah set dari chip yang mendukung kompatibel yang mengimplementasikan berbagai fungsi tertentu seperti pengontrol interupt, pengontrol bus, dan timer.

2. Chip khusus yang disebut koprosesor yang beroperasi bersama dengan CPU guna meningkatkan fungsionalitasnya.

III. Komponen IBM PC

       IBM PC memiliki beberapa komponen, diantaranya ialah: 
  • 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.

Referensi:



Unit Input/Output

          Dalam komputer terdapat beberapa komponen utama, salah satunya ialah I/O atau Input dan Output. I/O adalah suatu mekanisme pengiriman data secara bertahap dan terus menerus melalui suatu aliran data dari proses ke piranti. Unit Input/Output (I/O) adalah bagian dari sistem mikroprosesor yang digunakan oleh mikroprosesor itu untuk berhubungan dengan dunia luar.
  • Unit input adalah unit luar yang digunakan untuk memasukkan data dari luar ke dalam mikroprosesor ini. Contohnya data yang berasal dari keyboard atau mouse.
  • Unit output biasanya digunakan untuk menampilkan data, atau dengan kata lain untuk menangkap data yang dikirimkan oleh mikroprosesor. Contohnya data yang akan ditampilkan pada layar monitor atau printer.

I. SISTEM BUS

    Sistem Bus merupakan lintasan komunikasi yang menghubungkan komponen-komponen pada komputer.  Sistem Bus terbagi menjadi 3 bagian, yaitu:

1. Data Bus (Saluran Data)

   Data Bus atau Saluran Data adalah lintasan bagi perpindahan data antar modul. Secara kolektif lintasan ini disebut bus data. Umumnya jumlah saluran terkait dengan panjang word, misalnya 8, 16, atau 32 saluran. Tujuan dari saluran data adalah untuk mentransfer word dalam sekali waktu.

2. Address Bus (Saluran Alamat)
    Address Bus atau Saluran Alamat memiliki beberapa fungsi, diantaranya ialah digunakan untuk menspesifikasi sumber dan tujuan data pada bus data, untuk mengirim alamat word pada memori yang akan diakses CPU, serta digunakan untuk saluran alamat perangkat modul komputer saat CPU mengakses suatu modul. Contoh dari Address Bus adalah mengakses port I/O, maka port I/O harus memiliki alamat hardware-nya. 

3. Control Bus (Saluran Kendali)

    Control Bus atau Saluran Kendali memiliki fungsi yaitu digunakan untuk mengontrol data bus, address bus, dan seluruh modul yang ada. Karena data bus dan address bus digunakan oleh semua komponen, maka diperlukan suatu mekanisme kerja yang dikontrol melalui bus kontrol ini. 

Sinyal-sinyal kontrol terdiri atas beberapa hal, diantaranya yaitu:

  • Sinyal Pewaktuan. Sinyal Pewaktuan menandakan validitas data dan alamat.
  • Sinyal Perintah. Sinyal Perintah berfungsi membentuk suatu operasi. 

II. STANDAR I/O INTERFACE

       Interface atau antarmuka adalah penghubung antara dua sistem atau alat media penghubung antara satu sub sistem dengan sub sistem lainnya. Melalui penghubung ini mungkinkan sumber daya mengalir dari satu sub sistem ke sub sistem yang lainnya. Keluaran (output) dari suatu sub sistem akan menjadi masukan (input) untuk sub sistem lainnya dengan melalui penghubung.

Interface Aplikasi I/O

      Ketika suatu aplikasi ingin membuka data yang ada dalam suatu disk, sebenarnya aplikasi tersebut harus dapat membedakan jenis disk apa yang akan diaksesnya. Untuk mempermudah pengaksesan, sistem operasi melakukan standarisasi cara pengaksesan pada peralatan Input/Output. Pendekatan inilah yang dinamakan interface aplikasi Input/Output. 

     Interface aplikasi Input/Output melibatkan abstraksi, enkapsulasi, dan software layering. Abstraksi dilakukan dengan membagi-bagi detail peralatan-peralatan Input/Output ke dalam kelas-kelas yang lebih umum. Dengan adanya kelas-kelas yang umum ini, maka akan lebih mudah untuk membuat fungsi-fungsi standar (interface) untuk mengaksesnya. Lalu kemudian adanya device driver pada masing-masing peralatan Input/Output, berfungsi untuk enkapsulasi perbedaan-perbedaan yang ada dari masing-masing anggota kelas-kelas yang umum tadi. Device driver mengenkapsulasi tiap-tiap peralatan Input/Output ke dalam masing-masing 1 kelas yang umum tadi (interface standar). Tujuan dari adanya lapisan device driver ini adalah untuk menyembunyikan perbedaan-perbedaan yang ada pada device controller dari sub sistem Input/Outuput pada kernel. Karena hal ini, sub sistem Input/Outuput dapat bersifat independen dari hardware. 

III. PENGAKSESAN PERALATAN I/O

A.   Metode Pengaksesan I/O

Pengaksesan I/O terdiri dari dua cara yaitu :
1. Memory mapped I/O
   Dimana pirabti I/O dihubungkan sebagai lokasi memory virtual di mana 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 sebagai bagian memori yang memiliki data tersimpan di dalamnya.

2. I/O mapped I/O
  Piranti I/O dihubungkan sebagai lokasi terpisah dengan lokasi memori, di mana 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.

B. Metode Operasi Sistem I/O


     1.  I/O Terprogram

          Pada I/O terprogram, data saling dipertukarkan antara CPU dan modul I/O. CPU mengeksekusi program yang memberikan operasi I/O kepada CPU secara langsung, seperti pemindahan data, pengiriman perintah baca maupun tulis, dan monitoring perangkat. Kelemahan teknik ini adalah CPU akan menunggu sampai operasi I/O selesai dilakukan modul I/O sehingga akan membuang waktu, apalagi CPU lebih cepat proses operasinya.

      2.  I/O Instruksi (Demand Driven)

     Driven I/O memungkinkan proses tidak membuang-buang waktu. Prosesnya adalah CPU mengeluarkan perintah I/O pada modul I/O, bersamaan perintah I/O dijalankan modul I/O maka CPU akan melakukan eksekusi perintah-perintah lainnya. Apabila modul I/O telah selesai menjalankan instruksi yang diberikan padanya akan melakukan interupsi pada CPU bahwa tugasnya telah selesai.

       3. Direct Memory Access (DMA)

       Teknik yang dijelaskan sebelumnya yaitu I/O terprogram dan Interrupt–Driven I/O memiliki kelemahan, yaitu proses yang terjadi pada modul I/O masih melibatkan CPU secara langsung. Hal ini berimplikasi pada :
• Kelajuan transfer I/O yang tergantung pada kecepatan operasi CPU.
• Kerja CPU terganggu karena adanya interupsi secara langsung.

Bertolak dari kelemahan di atas, apalagi untuk menangani transfer data bervolume besar dikembangkan teknik yang lebih baik, dikenal dengan Direct Memory Access. Prinsip kerja DMA adalah CPU akan mendelegasikan kerja I/O kepada DMA, CPU hanya akan terlibat pada awal proses untuk memberikan instruksi lengkap pada DMA dan akhir proses saja. Dengan demikian CPU dapat menjalankan proses lainnya tanpa banyak terganggu dengan interupsi.


C. Metode Transfer Data Perangkat I/O

   Metode transfer data perangkat input/output terdapat dua macam yaitu, metode software dan metode hardware. Pada metode software, tugas-tugas mengenai operasi input/output dibuat ke dalam suatu program yang dijalankan oleh CPU. Sehingga CPU tidak terbebani secara total dalam operasi I/O. Pada metode hardware, program memberikan tanggungjawab pelaksanaan operasi I/O ke unit hardware lain yang disebut DMA Controller.

Referensi:

Joelyants. Diberdayakan oleh Blogger.

Gunadarma














Copyright © @Ridwan_Joelyant's | Powered by Blogger

Design by Anders Noren | Blogger Theme by NewBloggerThemes.com