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
- 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.
- 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 :
- Mengatur dan membuat perimbangan perbedaan kecepatan dan pewaktuan antara CPU dengan piranti yang terhubung ke dalam sistem.
- Melakukan pengaturan dan penyesuaian tegangan serta arus dari satu aras ke aras yang lain.
- 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:
- 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.
- Dengan menggunakan transfer blok atau direct memory access (DMA) dan komponen khusus yaitu DMA controller.
Secara prinsip jenis dari input dan
output terdiri atas :
- I/O Terprogram (Programmed I/O)
- I/O Terinterupsi (Interupt I/O)
- 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:
- Kelompok yang memasukkan informasi (input), contoh : keyboard, ADC, scanner
- Kelompok yang rnenampilkan informasi (output), contoh : VDU (monitor), printer
- 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