Vstupně-výstupní porty vysvětlil Semalt Expert

V počítačích je jakékoli zařízení (například řadič nainstalovaný na rozšiřující kartě nebo základní desce) kromě RAM zpracováno CPU jako periferní zařízení. Výměna dat mezi centrálním procesorem a periferními zařízeními se provádí prostřednictvím vstupně-výstupních portů. IO port je vyrovnávací zařízení nebo registr řadiče, procesoru digitálního signálu atd., Které jsou přímo připojeny k počítačové sběrnici IO. Prostřednictvím vstupních a výstupních portů můžete k počítači připojit různé interní a externí zařízení a rozšířit tak jeho možnosti.
IO porty umožňují navázat spojení mezi zařízeními a softwarem v počítači. Jsou podobné obousměrným rádiovým kanálům, protože k výměně informací v obou směrech dochází na stejném kanálu.
Adresa přístavu

Pro řízení výměny dat mezi počítačovými zařízeními je každému portu IO přiřazeno vlastní jedinečné číslo - adresa portu. Na PC se 16bitový kód používá k adresování IO portů. Proto existuje 216 = 65 536 portů, očíslovaných od OOOOh do FFFFh. Standardní řada IO pro počítače kompatibilní s IBM je 0-3FFh. Patří sem porty pro ovladače klávesnice, pevné disky a diskety, grafické adaptéry EGA / VGA, zvukové karty, sériová a paralelní rozhraní, herní porty a další periferní zařízení. Periferní zařízení je schopné používat více IO portů. Uvědomte si, že ve skutečnosti můžete používat adresy až do FFFFh. Například porty procesoru syntézy WT zvukové karty mají rozsah IO 620h-E23h.
Porty jsou adresovány centrálním procesorem při provádění programu. Aby se zabránilo programování specifické adresy každého periferního portu IO během programování a aby se adresa rychle změnila v závislosti na konkrétní konfiguraci počítače, používá se základní adresa IO. Každému perifernímu zařízení je přiřazena základní adresa a odpovídá nejnižší adrese ve skupině portů. Adresování zbývajících portů periferního zařízení se provádí určením offsetu vzhledem k základní adrese.
IO základní adresa periferního zařízení může být jakákoli adresa z rozsahu IO. BIOS si vyhrazuje část sortimentu IO pro standardní hardwarová zařízení, která nemohou být použita jinými periferiemi. Například pro rozhraní LPT1 je vyhrazen rozsah IO 378h - 37Eh, ve kterém lze vybrat základní adresu IO. Poté bude vyloučena možnost konfliktů při adresování portů na úrovni hardware-software. Protože se pro řízení a monitorování LPT1 používají tři registry, v tomto rozsahu IO existuje 5 možných hodnot základní adresy - 378h-s-37Ch.

Naprogramováno IO
Pro výměnu dat s porty se používá naprogramovaný vstup / výstup (PIO). Přenáší slova s bitovou hloubkou 8, 16 nebo 32 bitů pomocí řetězcových příkazů. Slovo může být vysíláno pro jeden nebo více sběrnicových cyklů s uvedením odpovídající adresy v každém cyklu přístupu do paměti. Cykly výměny sběrnice jsou zahájeny během provádění příkazu IO. Počet cyklů závisí na zarovnání adresy podél hranice slova a hloubky datového bitu použité sběrnice. Rychlost výměny dat PIO překračuje rychlost výměny standardního kanálu DMA (Direct Memory Access).