A processzor és a memória közötti adatforgalom vázlata a
8.2.1. ábrán látható. A címvezetékeket a processzor vezérli, kijelöli
a kívánt memória-rekeszt.
A MEMR és MEMW (memória olvasás és írás)
vezetékek pedig megmutatják, hogy az adatvezetéken a forgalom iránya a
processzorból kifele, vagy befele mutat. E vezetékeken megjelenő jel
hatására zajlik le a tulajdonképpeni memória-művelet - ha itt nincsen
jel, akkor az adatvezetékek következmények nélkül változhatnak.
(Egy szóhasználattal is meg kell ismerkednünk. Azonos funkciójú,
párhuzamos vezetékeket előszeretettel nevezik angol eredetű
szóhasználattal "busz"-nak, vagy magyarosabban "sín"-nek. (Ne keressük
az elnevezések értelmét.) Beszélnek tehát cím-, és adatbuszról.
Továbbmenve: az adatbusz, a címbusz, valamint az ezek működtetéséhez
szükséges vezérlő jelek összességét I/O busznak is titulálják.)
A memória - mint minden elektronikus alkatelem - működési
sebessége természetesen véges. A gyorsabb általában drágább is, a
lassúbb olcsóbb. A processzornak valahogy értesülnie kell arról, hogy
egy memóriaciklus befejeződött. Ezt a célt szolgálja a READY vezeték,
amelyet a memória kezel. Ennek állapota jelzi, hogy az adatvezetékek
már a helyes értéket tartalmazzák, illetve az adatvezetékek jelét a
memória már átvette.
Meg kell ismerkednünk az IBM-PC-nél szokásos memóriacímzési
konvencióval is. A processzor 220 = 1 MB memóriaterület megcímzésére
alkalmas. A processzor címzésre használható regiszterei azonban csak 16
bitesek, vagyis csak 64 KB címezhető velük. A különbségek áthidalására
kitalálták, hogy a valódi címet egy ún. szegmens és egy offset
(eltolás) értékbol állítják elő. A szegmenscímet is 16 bites
regiszterek kezelik, ezért a tényleges fizikai címet az alábbiak
szerint lehet kiszámolni:
A memória legalján az interrupt vektorok találhatók. Ezek
négybyte-os címek - amelyek az interruptok bekövetkezésekor,
megszakítva a normális program végrehajtás menetét - ide irányítják a
programot. Az efeletti memóriaterületen a BIOS (Basic Input Output
System) rendszerváltozói helyezkednek el. E zóna fölé kerülnek a DOS
(Disk Operating System) bizonyos rutinjai és eszközkezelő programjai.
A felhasználói programoké a következő szakasz, az A000 szegmensig.
Ez annyit jelent, hogy kb. 500 kB használható RAM memória áll a
programok rendelkezésére. Az A000 - CFFF tartományban helyezkednek el a
különböző képernyő memóriák, később kicsit részletesebben is szólunk
róluk. D000 - EFFF között speciális funkciók találnak helyet maguknak
pl. az ún. expanded memória itt tükröződik a hagyományos memóriamezőbe.
Az F000-tól felfele található a BIOS, természetesen ROM
formájában. A BIOS teszi lehetővé a gép megindítását, a képernyő
működtetését, a diszkekhez való hozzáférést. Ez tölti fel a gépet a
konfigurációnak megfelelő alapadatokkal.
Itt, a memóriáknál említjük meg először az ún. "port"-okat. Ezeken
keresztül történik az I/O berendezéseknek a processzorhoz kötése. A
portokat lényegében speciális memóriacímeknek tekinthetjük.
Kiválasztásukra 16 bit áll rendelkezésre, tehát 64 k lehetséges
portcím létezhet. A 16 bit egyébként a PC címbuszának alsó része, így
valahogy gondoskodni kell arról, hogy megkülönböztethessük: memóriát,
vagy portot címezünk. E célra szolgál az IOR és IOW vezetékpár, melyek
funkciója megegyezik a MEMR/MEMR vezetékekével. Ha tehát ezeken jelenik
meg írásra, vagy olvasásra felszólító jel, akkor az adatforgalom a
porttal bonyolódik. Természetesen itt is szükség van a READY jelre
is (lásd 8.2.3 ábra). A portcímek kiosztása a PC felépítésének szerves
része: meghatározott helye van a diszkeknek, az aszinkron vonalnak,
stb. Néhány erre vonatkozó adatot a 8.6.1. ábrán láthatunk.