A Spectrum fő egységei

ZX Spectrum számítógépünk - meglehetősen - bonyolult számítogépes rendszer. Az alábbiakban áttekintjük a Spectrum legfontosabb egységeinek szerepét a rendszer működésében.
Egy számítógépet működés szempontjából két fő alkotórész határoz meg: a hardware (elektronikai egységek) és a software (programok). A hardware-egységek biztosítják a számítógép software-ének üzemeltetéséhez szükséges műszaki feltételeket, vagyis valamely hardware-egység meghibásodása a számítógép működésképtelenségét, illetve hibás működését eredményezi. A Spectrum hardware-ének elméleti működését az alábbi ábra szemlélteti:

A számítógép "lelke" a központi egység, a Z80-as mikroprocesszor. Ez teszi "számítógép"-pé a Spectrumot. A rendszer többi eleméhez úgynevezett "busz"-okon keresztül csatlakozik: az adat-, cím- és vezérlőbuszokon. Működéséhez mindössze annyi szükséges, hogy megfelelő kivezetéseire a tápfeszültséget, a földet és az órajelet rákapcsoljuk. E három jellemző már elegendő a működéséhez, de az általa végzett munka csak akkor válik értékessé, ha a Z80 munkáját valamilyen software segítségével a megfelelő mederbe tereljük. A "terelést" egy 16Kbyte-os operációs rendszer, a Sinclair BASIC végzi. Ez a ROM-ban (Read Only Memory = csak olvasható memória) helyezkedik el és a számítógép bekapcsolásakor azonnal futni kezd.
A Z80 tehát már a ROM által meghatározott módon üzemel: bemeneti (input) adatokat kér (hogy honnan, arról majd később), számol és kimeneti (output) adatokat küld. A számolás eredményét a RAM-memóriákba (Random Access Memory = véletlen elérésű memória) küldi és ott tárolja. A számítógép már gőzerővel üzemelhetne, ha a felhasználó valamilyen úton-módon input adatokat juttathatna a Z80-nak feldolgozásra. A felhasználó (billentyűzet) illetve egyéb egységek felől érkező input-adatok kezelése a Spectrum-ban a Sinclair cég által gyártott ULA nevű chip feladata. Az ULA szolgáltatja a Z80 működéséhez szükséges 3.5MHz-es órajelet, lekezeli a perifériákhoz (billentyűzet, adathordozók, stb.) kapcsolódó input/output műveleteket, valamint - a video-áramkörön keresztül - ő állítja elő a televízión vagy a monitoron megjelenő képet.

Az előbb felsorolt egységek működésének elengedhetetlen feltételei a +5V, -5V, +12V nagyságú tápfeszültségek. Ezeket a Spectrumhoz csatlakoztatott, 220V hálózati feszültségből 9V feszültséget előállító külső tápegység segítségével a belső tápegység állítja elő:

Ismerkedjünk meg inkább alaposabban az eddig említett részek (Z80, ROM, RAM-ok, ULA) funkcióival illetve működésével:

A Z80A központi egység (IC2)
Mint már említettük, ez a kis 40 lábú chip a Spectrum "lelke". Elődjétől, a Z80 processzortól annyiban különbözik, hogy 4MHz-es órajellel is üzemeltethető (esetünkben az ULA 3.5MHz-es jellel működteti), ami nagyobb sebességet biztosít nekünk.

A ROM-memória (IC5)
A Spectrum operációs rendszere, a Sinclair BASIC a ROM-memóriában található meg. Ez szabja meg a processzornak, hogy milyen módon üzemeljen. Mint azt a neve is jelzi, csak olvasható memória: működését gyárilag határozták meg (ezt a tartalmát a rendszer kikapcsolásakor sem veszti el), a processzor csak olvasni tud belőle, írni nem képes.
A ROM 28 lábára a tápfeszültség, a földelés, 8 adatbusz, a 16-ból 14 címbusz és két Z80-ra - is - kapcsolt vonal csatlakozik. Érdekességképpen jegyeznénk meg, hogy a ROMCS vonalat (kivezetése a user port 25B sávja) az 5V tápfeszültségre kötve a ROM működése leállítható és külső egységről célfeladatra programozott (pl. egy másik operációs rendszerre) ROM- vagy RAMmemóriát üzemeltethetünk. Ilyen dolgot - persze - csak olyan (szak)emberek műveljenek, akik a legteljesebb mértékben tisztában vannak a Spectrum rendszerének működésével.

RAM-memóriák
Ezekben tárolódnak azok az információk (adatok), amelyre a rendszernek szüksége van illetve a Z80 output-ként kiküldött. Mint a nevük is mutatja, a RAM-ok írható és olvasható memóriák, kikapcsoláskor azonban tartalmuk elvész. A RAM-okról elmondható, hogy ha a gépben elektronikai alkatrész hibásodik meg, akkor általában RAM az áldozat.
A 16Kbyte-os alaprészben 8 db 4116 RAM található (IC6-IC13), amelyek a 8 adatbusz egy-egy darabjának állnak a rendelkezésére. A RAM-ok címzését a Z80 alsó 14 címbusza végzi két, egyenként 7 bites LS157 címmultiplexeren (IC3-IC4) keresztül. A 48Kbyte-os memóriakapacitás az említetteken kívül a 8 db 4532 RAM-nak (IC15-IC22) és a hozzájuk tartozó multiplexereknek (IC25-IC26) köszönhető.
A 4116 és 4532 RAM-ok dinamikus memóriák. Ez azt jelenti, hogy a bennük lévő rekeszeket bizonyos időközönként újra meg kell címezni, mert különben a bennük tárolt információ elvész. Ezt a feladatot a címbuszokon keresztül a Z80 RFSH vonala végzi.

Az ULA (IC1)
Az ULA a Sinclair Research Ltd. által speciálisan a ZX Spectrum számítógéphez készített áramkör. Feladata kulcsfontosságú a számítógép működésében: szabályozza és irányítja a Z80 adatforgalmát, kezeli a perifériákra (magnó, billentyűzet, RAM-ok, video stb.) vonatkozó input/output-ot, előállítja a Z80 működéséhez szükséges 3.5 MHz-es órajelet, stb.

Spectrum 1. változat (issue1)
Spectrum 2. változat (issue2)
Spectrum 3. változat (issue3)

A Spectrum fő egységei

Sinclair Spectrum játék és program 5.