Minggu, 27 November 2016

UNIT INPUT / OUTPUT



UNIT INPUT/OUTPUT
Unit Input dan Output adalah salah satu bagian dari CPU yang mampu memberikan CPU kemampuan untuk berkomunikasi dengan peripheral. Dua sebab utama dibuatnya unit input dan output adalah

  1. besarnya tegangan dan arus isyarat yang diperlukan untuk transfer informasi dari dan ke piranti peripheral umumnya berbeda dari tegangan dan arus isyarat yang digunakan dalam sistem bus.
  2. Kecepatan transfer data antara sistem bus dengan piranti input dan output biasanya jauh berbeda, terutama untu pritanti yang mempunyai unsur mekanis (biasanya piranti dengan unsur mekanis seperti ini mempunyai kecepatan transfer data yang paling lambat dibandingkan dengan lainnya. Waktu transfer pada sistem bus dapat mencapai kurang dari 20 nano detik, sedangkan waktu transfer pada I/O dapat lebih dari 1 m detik)

Perancangan unit input dan output diperlukan untuk dapat memenuhi kebutuhan berbagai macam piranti yang berbeda-beda. Mengingat kinerja dari komputer adalah sebuah kesatuan dari berbagai macam piranti yang ada. Karena kecepatan transfer dari hampir semua perangkat input dan output jauh lebih lambat dari kecepatan memori CPU, Unit Kontrol dan  Bus, maka bus I/O dapat dibuat dengan menggunakan piranti kecepatan rendah dengan harga yang jauh lebih murah.

Jenis pengalamatan yang diperlukan untuk menangani bus I/O berbeda. Jumlah piranti yang dipasang pada sistem komputer akan selalu lebih kecil dari jumlah lokasi memori. Oleh karena itu jumlah bit yang diperlukan untuk mengalamati piranti akan jauh lebih kecil dari yang diperlukan untuk mengalamati memori utama. Disamping bus alamat yang lebih sempit, bus data biasanya juga mempunyai jalur data yang lebih sedikit, karena kebanyakan piranti I/O hanya mempunyai transfer data 1 atau 2 byte setiap saat. Siklus transfernya juga jauh tranfer yang dimiliki jauh lebih panjang karena piranti tersebut menggunakan sistem mekanis.


Fungsi utama dari unit Input dan Output adalah :
  1. Mengatur dan membuat perimbangan perbedaan kecepatan dan pewaktuan antara CPU dengan piranti yang terhubung ke dalam sistem.
  2. Melakukan pengaturan dan penyesuaian tegangan serta arus dari satu aras ke aras yang lain.
  3. Melakukan modifikasi panjang data antara sistem bus dan bus Input Output.


Dasar Input/Output
Transfer data menuju dan keluar dari port input dan output dapat dilakukan dalam dua cara, cara tersebut antara lain:
  1. Dengan melakukan eksekusi terhadap instruksi yang menyebabkans suatu byte tunggal atau word akan ditransfer dan mengeksekusi suatu runtun instruksi yang menyebabkan suatu komponen sistem khusus yang berhubungan dengan antarmuka untuk mentransfer runtun byte atau word ke atau dari blok memori yang dituju. 
  2. Dengan menggunakan transfer blok atau direct memory access (DMA) dan komponen khusus yaitu DMA controller. 
Secara prinsip jenis dari input dan output terdiri atas :
  1. I/O Terprogram (Programmed I/O)
  2. I/O Terinterupsi (Interupt I/O)
  3. Bloc transfer
I/O terprogram dan I/O terinterupsi di dasarkan pada transfer byete atau kata (word) dan jika terjadi perpindahan data antara memori dan port, maka proses transfernya melalui register CPU. Misalnya jika suatu kata dimasukkan dari suatu port ke suatu lokasi memori, maka pertama harus dimasukkan ke dalam CPU, baru kemudia ndimasukkan ke dalam memori yang dituju. Dengan menggunakan kontrol DMA maka proses di atas dapat dilakukan dengan memindahkan setiap byte atau kata langsung dari port ke memori. Program hanya perlu memberi perintah kepada antaramuka dan kontrol DMA untuk menginisialisasikan transfer data. 
Klasifikasi piranti I/O terdiri 3 kelompok:
  1. Kelompok yang memasukkan informasi (input), contoh : keyboard, ADC, scanner
  2. Kelompok yang rnenampilkan informasi (output), contoh : VDU (monitor), printer
  3. Kelompok yang melayani input dan output, contoh : Floppy disk
·         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.
Berdasar jenis busnya, bus dapat dibedakan menjadi bus yang khusus menyalurkan data tertentu, contohnya paket data saja, atau alamat saja, jenis ini disebut dedicated bus. Namun apabila bus yang dilalui informasi yang berbeda baik data, alamat, dan sinyal kontrol dengan metode multipleks data maka bus ini disebut multiplexed bus. Kekurangan multiplexed bus adalah hanya memerlukan saluran sedikit sehingga menghemat tempat tetapi kecepatan transfer data menurun dan diperlukan mekanisme yang komplek untuk mengurai data yang telah dimultipleks. Sedangkan untuk dedicated bus merupakan kebalikan dari multipexed bus.
Beberapa bus utama dalam sistem komputer modern adalah sebagai berikut:
  • Bus prosesor. Bus ini merupakan bus tercepat dalam sistem dan menjadi bus inti dalam chipset dan motherboard. Bus ini utamanya digunakan oleh prosesor untuk meneruskan informasi dari prosesor ke cache atau memori utama ke chipset kontrolir memori (Northbridge, MCH, atau SPP). Bus ini juga terbagi atas beberapa macam, yakni Front-Side Bus, HyperTransport bus, dan beberapa bus lainnya. Sistem komputer selain Intel x86 mungkin memiliki bus-nya sendiri-sendiri. Bus ini berjalan pada kecepatan 100 MHz, 133 MHz, 200 MHz, 266 MHz, 400 MHz, 533 MHz, 800 MHz, 1000 MHz atau 1066 MHz. Umumnya, bus ini memiliki lebar lajur 64-bit, sehingga setiap detaknya ia mampu mentransfer 8 byte.
  • Bus AGP (Accelerated Graphic Port). Bus ini merupakan bus yang didesain secara spesifik untuk kartu grafis. Bus ini berjalan pada kecepatan 66 MHz (mode AGP 1x), 133 MHz (mode AGP 2x), atau 533 MHz (mode AGP 8x) pada lebar jalur 32-bit, sehingga bandwidth maksimum yang dapat diraih adalah 2133 MByte/s. Umumnya, bus ini terkoneksi ke chipset pengatur memori (Northbridge, Intel Memory Controller Hub, atau NVIDIA nForce SPP). Sebuah sistem hanya dapat menampung satu buah bus AGP. Mulai tahun 2005, saat PCI Express mulai marak digunakan, bus AGP ditinggalkan.
  • Bus PCI (Peripherals Component Interconnect). Bus PCI tidak tergantung prosesor dan berfungsi sebagai bus peripheral. Bus ini memiliki kinerja tinggi untuk sistem I/O berkecepatan tinggi. Bus ini berjalan pada kecepatan 33 MHz dengan lebar lajur 32-bit. Bus ini ditemukan pada hampir semua komputer PC yang beredar, dari mulai prosesor Intel 486 karena memang banyak kartu yang menggunakan bus ini, bahkan hingga saat ini. Bus ini dikontrol oleh chipset pengatur memori (northbridge, Intel MCH) atau Southbridge (Intel ICH, atau NVIDIA nForce MCP).
  • Bus PCI Express (Peripherals Component Interconnect Express)
  • Bus PCI-X (Peripherals Component Interconnect Express)
  • Bus ISA (Industry Standard Architecture)
  • Bus EISA (Extended Industry Standard Architecute)
  • Bus MCA (Micro Channel Architecture)
  • Bus SCSI (Small Computer System Interface]]. Bus ini diperkenalkan oleh Macintosh pada tahun 1984. SCSI merupakan antarmuka standar untuk drive CD-ROM, peralatan audio, harddisk, dan perangkat penyimpanan eksternal berukuran besar
  • Bus USB (Universal Serial Bus). Bus ini dikembangkan oleh tujuh vendor komputer, yaitu Compaq, DEC, IBM, Intel, Microsoft, NEC, dan Northern Telecom. Bus ini ditujukan bagi perangkat yang memiliki kecepatan rendah seperti keyboard, mouse, dan printer karena tidak akan efisien jika perangkat yang berkecepatan rendah dipasang pada bus berkecepatan tinggi seperti PCI. Keuntungan yang didapat dari bus USB antara lain : tidak harus memasang jumper, tidak harus membuka casing untuk memasang peralatan I/O, hanya satu jenis kabel yang digunakan, dapat mensuplai daya pada peralatan I/O, tidak diperlukan reboot.
  • Bus 1394. Bus yang mempunyai nama FireWire memiliki kecepatan tinggi diatas SCSI dan PCI. Bus 1394 sangat cepat, murah, dan mudah untuk diimplementasikan. Bus ini tidak hanya populer perangkat komputer tetapi juga perangkat elektronik seperti kamera digital, VCR, dan televisi.
·         STANDAR I/O 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/Output dapat 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.

·         PENGAKSESAN PERALATAN I/O
Input / Output tergantung 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.

Reffrensi:

Tidak ada komentar:

Posting Komentar