Bemeneti-kimeneti portok, amelyeket a Semalt Expert magyaráz

A számítógépekben az összes eszközt (például egy bővítőkártyára vagy alaplapra telepített vezérlőt), a RAM kivételével, a CPU perifériának tekinti. Az adatcsere a központi processzor és a perifériás eszközök között a bemeneti-kimeneti portokon keresztül történik. Az IO port egy puffer eszköz vagy vezérlő, digitális jelfeldolgozó stb. Regisztere, amelyek közvetlenül kapcsolódnak a számítógép IO buszához. A bemeneti-kimeneti portokon keresztül számos belső és külső eszközt csatlakoztathat a számítógépéhez, hogy kibővítse a képességeit.

Az IO-portok lehetővé teszik a kapcsolat létesítését a számítógép és a szoftverek között. Hasonlóak a kétirányú rádiócsatornákhoz, mivel az információcsere mindkét irányban ugyanazon a csatornán zajlik.

Port címe

A számítógépes eszközök közötti adatcsere ellenőrzéséhez minden IO-porthoz saját egyedi számot - port-címet - rendelnek. PC-n 16 bites kódot használnak az IO-portok címzésére. Ezért 216 = 65 536 port van, az OOOOh-ról FFFFh-re számozva. Az IBM-kompatibilis számítógépek standard IO tartománya 0-3FFh. Ide tartoznak a billentyűzetvezérlők portjai, a merevlemezek és a hajlékonylemezek, az EGA / VGA video adapterek, a hangkártyák, a soros és párhuzamos interfészek, a játék portjai és minden egyéb perifériás eszköz. A perifériás eszköz több IO-portot képes használni. Vegye figyelembe, hogy valójában legfeljebb FFFFh címeket használhat. Például a hangkártya WT szintézis processzora portjának IO tartománya 620h-E23h.

A portokat a központi processzor kezeli a programok végrehajtásakor. Annak elkerülése érdekében, hogy a programozás során elkerüljék az egyes perifériás IO-portok konkrét címét, valamint hogy a címet az adott számítógép konfigurációjától függően azonnal megváltoztassák, az IO alapcímet használjuk. Az alapcímet minden egyes perifériaeszközhöz hozzárendeljük, és a portcsoport legalacsonyabb címének felel meg. A perifériás eszköz fennmaradó portjainak címzését úgy végezzük, hogy meghatározzuk az eltolást az alapcímhez képest.

A perifériás eszköz IO alapcíme lehet az IO tartomány bármely címe. A BIOS az IO tartomány egy részét a szokásos hardver eszközökre fenntartja, amelyeket más perifériák nem használhatnak. Például LPT1 interfészhez az IO 378h - 37Eh tartomány van fenntartva, amelyben kiválasztható az IO alapcím. Ekkor kiküszöbölhetők a konfliktusok lehetőségei, ha hardver-szoftver szintű portokkal foglalkoznak. Mivel három regisztert használnak az LPT1 vezérlésére és megfigyelésére, ezen az IO tartományon belül, 5 lehetséges bázisérték lehet - 378h-s-37Ch.

Programozott IO

A portokkal történő adatcseréhez programozott bemenetet / kimenetet (PIO) használunk. 8, 16 vagy 32 bites bitmélységű szavakat továbbít string parancsok segítségével. A szót egy vagy több buszciklusra továbbíthatjuk, a memória elérési ciklusainak megfelelő címének feltüntetésével. Az IO-parancs végrehajtásakor a buszcsere-ciklusok kezdenek. A ciklusok száma a címnek a szóhatár mentén való igazításától és a használt busz adats bit mélységétől függ. A PIO adatcsere sebessége meghaladja a szabványos közvetlen memória-hozzáférés (DMA) csatorna cseréjének sebességét.