Input-Output Ports Dijelaskan oleh Semalt Expert

Di komputer, perangkat apa pun (misalnya, pengontrol yang dipasang pada kartu ekspansi atau motherboard) kecuali RAM diperlakukan sebagai periferal oleh CPU. Pertukaran data antara prosesor pusat dan perangkat periferal dilakukan melalui port input-output. Port IO adalah perangkat penyangga atau register pengontrol, prosesor sinyal digital, dll. Yang terhubung langsung ke bus IO komputer. Melalui port input-output, Anda dapat menghubungkan berbagai perangkat internal dan eksternal ke komputer Anda untuk memperluas kemampuannya.
Port IO memungkinkan Anda membuat koneksi antara perangkat dan perangkat lunak di komputer. Mereka mirip dengan saluran radio dua arah karena pertukaran informasi di kedua arah terjadi pada saluran yang sama.
Alamat Port

Untuk mengontrol pertukaran data antara perangkat komputer, setiap port IO diberi nomor unik - alamat port. Pada PC kode 16-bit digunakan untuk mengatasi port IO. Oleh karena itu, ada 216 = 65.536 port, dinomori dari OOOOh ke FFFFh. Kisaran IO standar untuk komputer yang kompatibel dengan IBM adalah 0-3FFh. Ini termasuk port untuk pengontrol keyboard, hard drive dan floppy disk, adapter video EGA / VGA, kartu suara, antarmuka serial dan paralel, port game dan peralatan periferal lainnya. Perangkat periferal mampu menggunakan beberapa port IO. Perhatikan bahwa Anda benar-benar dapat menggunakan alamat hingga FFFFh. Misalnya, port prosesor sintesis WT kartu suara memiliki rentang IO 620h-E23h.
Port ditangani oleh prosesor pusat saat menjalankan program. Untuk menghindari menunjukkan alamat spesifik dari setiap port IO periferal selama pemrograman serta untuk mengubah alamat dengan segera tergantung pada konfigurasi komputer tertentu, alamat dasar IO digunakan. Alamat dasar ditetapkan untuk setiap perangkat periferal dan sesuai dengan alamat terendah dalam kelompok port. Pengalamatan port yang tersisa dari perangkat periferal dilakukan dengan menentukan offset relatif terhadap alamat dasar.
Alamat dasar IO perangkat periferal dapat berupa alamat apa pun dari rentang IO. BIOS mencadangkan sebagian rentang IO untuk perangkat perangkat keras standar yang tidak dapat digunakan oleh perangkat lain. Misalnya, untuk antarmuka LPT1 IO rentang 378h - 37Eh dicadangkan di mana alamat basis IO dapat dipilih. Maka kemungkinan konflik akan dihilangkan ketika menangani port di tingkat hardware-software. Karena tiga register digunakan untuk kontrol dan pemantauan LPT1, dalam rentang IO ini, ada 5 nilai yang mungkin dari alamat dasar - 378h-s-37Ch.

IO yang diprogram
Untuk pertukaran data dengan port diprogram input / output (PIO) digunakan. Ini mentransmisikan kata-kata dengan kedalaman 8, 16 atau 32 bit menggunakan perintah string. Kata tersebut dapat ditransmisikan untuk satu atau beberapa siklus bus dengan indikasi alamat yang sesuai di setiap siklus akses memori. Siklus pertukaran bus dimulai selama pelaksanaan perintah IO. Jumlah siklus tergantung pada perataan alamat di sepanjang batas kata dan kedalaman bit data bus yang digunakan. Kecepatan pertukaran data PIO melebihi kecepatan pertukaran saluran standar Direct Memory Access (DMA).