Sunday, December 25, 2016

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

1. Jaringan Interkoneksi

Ada 5 komponen

  1. CPU
  2. Memori
  3. Interface : peralatan yang yangnmembawa pesanmasuk dan keluar dari CPU danMemori
  4. Penghubung : saluran fisik yang dilalui bit-bituntuk berpindah tempat
  5. Switch : peralatan yang memiliki banyak portinput dan port output

Komunikasi diantara terminal-terminal yang berbeda harus dapat dilakukan dengan suatu media tertentu. Interkoneksi yang efektif antara prosesor dan modul memorisangat penting dalam lingkungan komputer. Menggunakan arsitektur bertopologi  busbukan 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 komponenkomponen 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.

2. Mesin SIMD & Mesin MMID

Mesin 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).

Prosesor yang memiliki SIMD menawarkan dua keunggulan, yakni:
Data langsung dapat dipahami dalam bentuk blok data, dibandingkan dengan beberapa data yang terpisah secara sendiri-sendiri. Dengan menggunakan blok data, prosesor dapat memuat data secara keseluruhan pada waktu yang sama. Daripada melakukan beberapa instruksi "ambil pixel ini, lalu ambil pixel itu, dst", sebuah prosesor SIMD akan melakukannya dalam sebuah instruksi saja, yaitu "ambil semua pixel itu!" (istilah "semua" adalah nilai yang berbeda dari satu desain ke desain lainnya). Jelas, hal ini dapat mengurangi banyak waktu pemrosesan (akibat instruksi yang dikeluarkan hanya satu untuk sekumpulan data), jika dibandingkan dengan desain prosesor tradisional yang tidak memiliki SIMD (yang memberikan satu instruksi untuk satu data saja). Sistem SIMD umumnya hanya mencakup instruksi-instruksi yang dapat diaplikasikan terhadap semua data dalam satu operasi. Dengan kata lain, sistem SIMD dapat bekerja dengan memuat beberapa titik data secara sekaligus, dan melakukan operasi terhadap titik data secara sekaligus.

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

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.

3. Arsitektur Pengganti

Banyak aplikasi yang membutuhkan atau meminta komputasional yang berat pada komputer, dan para arsitek telah meresponnya dengan merancang prosesor khusus untuk memenuhi permintaan ini. Sebagian besar prosesor khusus tersebut merupakan arsitektur flow-control (kontrol arus) dan dengan demikian ia menggunakan counter program.Prosesor ini berbeda dengan komputer penggunaan umum dalam hal kekhususan hardware yang ia sertakan untuk memenuhi aplikasi target tersebut. Contohnya adalah mesin pemrosesan tampilan, mesin artificial intelligence (AI), dan mesin database. Para arsitek merancang mesin pemrosesan tampilan dengan peralatan I/O khusus yang dapat memberikan bandwidth I/O tinggi yang diperlukan untuk memproses dan mendisplay tampilan,dan mereka seringkali menerapkan unit aritmetik pipelined yang khusus diperuntukkan bagi operasi seperti bluriing (pengaburan) dan korelasi tampilan. Para arsitek merancang mesin AI 500 dengan prosesor khusus yang dirancang untuk memenuhi kebutuhan komputasi simbolik, yang biasanya menggunakan salah satu prosesor untuk mengalokasi memori dan prosesor yang satunya untuk mengklaim kembali memori yang tidak terpakai (kumpulan sampah). Mereka merancang mesin database untuk memberikan fasilitas untuk operasi database kepada peralatan penyimpanan eksternal besar berkecepatan tinggi.

Umumnya, arsitektur penggunaan khusus menggunakan berbagai teknik yang baru saja kita kemukakan. Bagian berikut, yang menutup buku ini, akan membahas secara singkat mengenai dua alternatif bagi arsitektur flow-control konvensional. Salah satunya adalah prosesor dataflow (arus data). Tidak seperti halnya dalam mesin von Neumann, yakni bahwa program menentukan kapan mereka akan menjalankan operasi, prosesor data flow ini adalah availability data yang menentukan kapan prosesor dataflow akan menjalankan operasi. 

Kelompok lain dari arsitektur pengganti yang baru-baru ini telah diperkenalkan adalah jaringan neural. Ia agak didasarkan pada sistem biologis dan terdiri atas sejumlah elemen komputasional yang sangat sederhana yang beroperasi secara paralel. Walaupun tidak dirancang sebagai komputer penggunaan umum, namun jaringan neural ini telah menunjukkan bahwa ia bisa digunakan untuk pemrosesan signal dan aplikasi rekognisi pola.

Referensi:


Pipelining & RISC ( Reduce Instruction Set Computer)

Pengertian 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 dijaankan 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. Hal ini terjadi karena beberapa instruksi dapat dilakukan secara parallel dalam waktu yang bersamaan. Secara kasarnya diharapkan akan didapatkan peningkatan sebesar K kali dibandingkan dengan microprocessor yang tidak menggunakan  pipeline, apabila tahapan yang ada dalam satu kali pemrosesan instruksi adalah K tahap.

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 dan lancar. 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.

Teknik  pipeline yang diterapkan pada microprocessor, dapat dikatakan sebuah arsitektur khusus. Ada perbedaan khusus antara model microprocessor yang tidak menggunakan arsitektur  pipeline dengan microprocessor yang menerapkan teknik ini.

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. Misalnya sebuah microprocessor menyelesaikan sebuah instruksi dalam 4 langkah. Ketika instruksi pertama masuk ke langkah 2, maka instruksi berikutnya diambil untuk diproses pada langkah 1 instruksi tersebut. Begitu pun seterusnya, ketika instruksi pertama masuk ke langkah 3, instruksi kedua masuk ke langkah 2 dan instruksi ketiga masuk ke langkah 1.

Teknik  pipeline ini menyebabkan ada sejumlah hal yang harus diperhatikan sehingga ketika diterapkan dapat berjalan dengan baik.

Tiga kesulitan yang sering dihadapi ketika menggunakan teknik  pipeline ini adalah :

  1. Terjadinya penggunaan resource yang bersamaan
  2. Ketergantungan terhadap data, dan 
  3. Pengaturan Jump ke suatu lokasi memori.


Instruksi pada pipeline

Tahapan 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
Berikut ini adalah gambaran tentang Instuksi pipeline :

Karena untuk setiap tahap pengerjaan instruksi, komponen yang bekerja berbeda, maka dimungkinkan untuk mengisi kekosongan kerja di komponen tersebut. Sebagai contoh :

Instruksi 1: ADD AX, AX Instruksi 2: ADD EX, CX 

Setelah CU menjemput instruksi 1 dari memori (IF), CU akan menerjemahkan instruksi tersebut(ID). Pada menerjemahkan instruksi 1 tersebut, komponen IF tidak bekerja. Adanya teknologi pipeline menyebabkan IF akan menjemput instruksi 2 pada saat ID menerjemahkan instruksi 1. Demikian seterusnya pada saat CU menjalankan instruksi 1 (EX), instruksi 2 diterjemahkan (ID).

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.


Pengertian RISC (Reduced Instruction Set Computer)
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 beberapa mikroprosesor 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.

Ada beberapa elemen penting dalam arsitektur RISC, yaitu :
-  Set instruksi yang terbatas dan sederhana
-  Register general-purpose yang berjumlah banyak, atau pengguanaan teknologi kompiler untuk mengoptimalkan pemakaian regsiternya.
-  Penekanan pada pengoptimalan pipeline instruksi.

Ciri-ciri karakteristik RISC 
-  Instruksi berukuran tunggal.
-  Ukuran yang umum adalah 4 byte.
-  Jumlah mode pengalamatan data yang sedikit, biasanya kurang dari lima buah.
-  Tidak terdapat pengalamatan tak langsung.
-  Tidak terdapat operasi yang menggabungkan operasi load/store dengan operasi aritmatika .

Referensi: 



Saturday, December 24, 2016

Arsitektur Family Komputer IBM PC

1. Famili IBM PC dan Turunannya

IBM PC adalah sebutan untuk keluarga komputer pribadi buatan IBM. IBM PC diperkenalkan pada 12 Agustus 1981, dan "dipensiunkan" pada tanggal 2 April 1987. Komputer personal pertamakali muncul setelah diperkenalkan mikroprosesor, yaitu chip tunggal yang terdiri dari set register , ALU dan unit kontrol 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 kontrol dan ruang alamat fisik PC adalah 1 MB. 
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 (sebenarnya merupakan PC AT)
    - IBM 5170 Personal Computer/Advanced Technology



2. Konfigurasi Mikrokomputer Dasar

Berdasarkan UkurannyaBerdasarkan ukurannya, komputer digolongkan ke dalam micro computer (komputer mikro), mini computer (komputer mini), small computer (komputer kecil), medium computer (komputer menengah), large computer (komputer besar) dan super computer (komputer super).1.Micro ComputerMicro 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 di sebut koprosesor yang beroperasi bersama dengan CPU guna meningkatkan fungsionalitasnya

3. Komponen IBM PC
   - Sistem kontrol BUS : Pengontrol BUS, Buffer Data, dan Latches Alamat
   - Sistem kontrol interuppt : Pengontrol Interuppt
   - Sistem kontrol RAM & ROM : Chip RAM & ROM, Decoder Alamat, dan Buffer
   - Sistem kontrol DMA : Pengontrol DMA
   - Timer : Timer Interval Programmable
   - Sistem kontrol I/O : Interface Paralel Programmable


Referensi:

https://www.flickr.com/photos/notionscapital/6036834071

https://id.wikipedia.org/wiki/IBM_PC

http://icikomputer.blogspot.co.id/2015/09/arsitektur-famili-komputer-ibm.html

Unit Input / Output

Dalam komputasi, input / output, atau I / O, mengacu pada komunikasi antara sistem pengolahan informasi (seperti komputer), dan dunia luar mungkin manusia, atau sistem lain pengolahan informasi. 

Masukan adalah sinyal atau data yang diterima oleh sistem, dan keluaran adalah sinyal atau data yang dikirim dari itu. Istilah ini juga dapat digunakan sebagai bagian dari suatu tindakan, untuk “melakukan I / O” adalah untuk melakukan operasi input atau output. I / O device yang digunakan oleh seseorang (atau sistem lain) untuk berkomunikasi dengan komputer. Misalnya, keyboard atau mouse mungkin sebuah perangkat input untuk komputer, sementara monitor dan printer dianggap perangkat output untuk komputer. Perangkat untuk komunikasi antar komputer, seperti modem dan kartu jaringan, biasanya melayani untuk kedua input dan output.

Perhatikan bahwa penunjukan perangkat sebagai masukan atau keluaran tergantung pada perspektif. Mouse dan keyboard mengambil sebagai gerakan input fisik yang output pengguna manusia dan mengubahnya menjadi sinyal bahwa komputer dapat mengerti. Output dari perangkat ini merupakan input untuk komputer. Demikian pula, printer dan monitor ambil sebagai masukan sinyal bahwa output komputer. Mereka kemudian mengubah sinyal-sinyal ini menjadi representasi bahwa pengguna manusia bisa melihat atau membaca. Untuk pengguna manusia proses membaca atau melihat representasi ini adalah menerima masukan. Ini interaksi antara komputer dan manusia adalah belajar di bidang yang disebut interaksi manusia-komputer.

1. Sistem Bus

System bus atau bus sistem, dalam arsitektur komputer merujuk pada bus yang digunakan oleh sistem komputer untuk menghubungkan semua komponennya dalam menjalankan tugasnya. Sebuah bus adalah sebutan untuk jalur di mana data dapat mengalir dalam komputer. Jalur-jalur ini digunakan untuk komunikasi dan dapat dibuat antara dua elemen atau lebih. Data atau program yang tersimpan dalam memori dapat diakses dan dieksekusi oleh CPU melalui perantara sistem bus.

Sebuah komputer memiliki beberapa bus, agar dapat berjalan. Banyaknya bus yang terdapat dalam sistem, tergantung dari arsitektur sistem komputer yang digunakan. Sebagai contoh, sebuah komputer PC dengan prosesor umumnya Intel Pentium 4 memiliki bus prosesor (Front-Side Bus), bus AGP, bus PCI, bus USB, bus ISA (yang digunakan oleh keyboard dan mouse), dan bus-bus lainnya.


Bus disusun secara hierarkis, karena setiap bus yang memiliki kecepatan rendah akan dihubungkan dengan bus yang memiliki kecepatan tinggi. Setiap perangkat di dalam sistem juga dihubungkan ke salah satu bus yang ada. Sebagai contoh, kartu grafis AGP akan dihubungkan ke bus AGP. Beberapa perangkat lainnya (utamanya chipset atau kontrolir) akan bertindak sebagai jembatan antara bus-bus yang berbeda. Sebagai contoh, sebuah kontrolir bus SCSI dapat mengubah sebuah bus menjadi bus SCSI, baik itu bus PCI atau bus PCI Express.


Struktur Bus

- Kontrol Bus
Digunakan untuk mengontrol bus data, bus alamat dan seluruh modul yang ada. Karena bus data dan bus alamat digunakan oleh semua komponen maka diperlukan suatu mekanisme kerja yang dikontrol melalui bus kontrol ini.
Sinyal – sinyal kontrol terdiri atas :
1.    Sinyal pewaktuan yaitu Sinyal pewaktuan menandakan validitas data dan alamat
2.    Sinyal–sinyal perintah yaitu Sinyal perintah berfungsi membentuk suatu operasi

- Alamat Bus
Digunakan untuk menspesifikasi sumber dan tujuan data pada bus data, mengirim alamat word pada memori yang akan diakses CPU, dan digunakan untuk saluran alamat perangkat modul komputer saat CPU mengakses suatu modul.
Semua peralatan yang terhubung dengan sistem komputer, agar dapat diakses harus memiliki alamat.
Contoh : mengakses port I/O, maka port I/O harus memiliki alamat hardware-nya

- Data Bus
Lintasan bagi perpindahan data antar modul. Secara kolektif lintasan ini disebut bus data. Umumnya jumlah saluran terkait dengan panjang word, misalnya 8, 16, 32 saluran.
Tujuan : agar mentransfer word dalam sekali waktu.
Jumlah saluran dalam bus data dikatakan lebar bus, dengan satuan bit, misal lebar bus 16 bit

2. Standar Input/Output Interface

Interface atau antarmuka adalah Penghubung antara dua sistem atau alat media penghubung antara satu subsistem dengan subsistem lainnya. Melalui penghubung ini memungkinkan sumber daya mengalir dari satu subsistem ke subsistem yang lainnya. Keluaran (output) dari suatu subsistem akan menjadi masukan (input) untuk subsistem 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 subsistem Input / Output pada kernel. Karena hal ini, subsistem Input / Outputdapat bersifat independen dari hardware.


Karena subsistem Input / Output independen dari hardware maka hal ini akan sangat menguntungkan dari segi pengembangan hardware. Tidak perlu menunggu vendor sistem operasi untuk mengeluarkan support code untuk hardware-hardware baru yang akan dikeluarkan oleh vendor hardware.

3. Pengaksesan Peralatan Input/Output

Pengaksesan peralatan(I/O) bergantung pada perspektif mengubah sinyal-sinyal bahwa pengguna manusia bisa melihat atau membaca. Untuk pengguna proses membaca atau melihat representasi ini adalah menerima masukan.

Interaksi antara komputer dan manusia dipelajari dalam bidang yang disebut interaksi manusia-komputer. CPU dan memori utama dianggap sebagai otak dari komputer, dan dari sudut pandang adanya transfer informasi dari atau ke kombinasi itu, misalnya untuk atau dari disk drive, dianggap Input / Output. CPU dan sirkuit pendukungnya menyediakan memori-mapping Input / Output yang digunakan dalam pemrograman komputer tingkat rendah dalam pelaksanaan driver perangkat. 

Sebuah Input / Output merupakan salah satu algoritma yang dirancang untuk mengeksploitasi lokalitas dan melakukan efisien bila berada pada penyimpanan data sekunder, seperti disk drive.
Input / Output Interface diperlukan setiap kali Input / Output device didorong oleh prosesor. 
Antarmuka harus memiliki logika yang diperlukan untuk menafsirkan perangkat alamat yang dihasilkan oleh prosesor. Handshaking harus dilaksanakan oleh antarmuka menggunakan perintah yang sesuai seperti (Sibuk, SIAP, WAIT), dan prosesor dapat berkomunikasi dengan Input / Output device melalui antarmuka. Khusus Input / Output monad, yang memungkinkan program untuk hanya menguraikan Input / Output, dan tindakan yang dilakukan diluar program. Hal ini penting karena Input / Output fungsi akan memperkenalkan efek samping untuk setiap bahasa pemrograman, tapi sekarang pemrograman fungsional murni praktis.

Berikut alamat yang dapat disimpan dalam register. Instruksi akan memiliki register yang memiliki alamat tersebut. Jadi untuk mengambil data, instruksi harus mendaftar didekode sesuai dipilih. Isi register akan diperlakukan sebagai alamat menggunakan alamat lokasi memori yang sesuai dipilih dan data dibaca / ditulis. Port-mapping Input / Output biasanya memerlukan penggunaan instruksi yang secara khusus dirancang untuk melakukan Input / Output operasi.

Pengelolaan I/O :
Tugas utama komputer adalah:
·     Pemrosesan CPU, pemrosesan Input / Output
·     Peran OS dalam pengelolaan Input / Output: Mengelola dan mengontrol operasi Input / Output serta   perangkat Input / Output
·     Fungsi pengelolaan Input / Output: Hardware : port, bus, device controller, software  Input / Output adalah modul device driver sebagai peralatan input/output.


Referensi :

http://mardanijaya.blogspot.co.id/2012/08/penjelasan-tentang-memoryprosesorinput.html

http://www.catatanichan.com/2010/09/sistem-bus-komputer-bus-system.html

http://ghalankoktaviano.blogspot.co.id/2012/11/tugas-3-inputoutput-unit.html