Szerkesztő:Beginner 25/számítógép

A Wikipédiából, a szabad enciklopédiából

Digitális számítógép működése[szerkesztés]

A Neumann elven működő digitális számítógép működésének leírásához egy olyan modelt használunk, amely sem PC, sem egyéb számítógép szempontjából semmiféle specialitást, jellemzőt nem vesz figyelembe.

A model számítógép három fő egységből áll:

  • A központi vagy operatív memória
  • A központi feldolgozó egység, ismertebb nevén a CPU (Central Processing Unit)
  • A I/O vezérlő egység, amely a számítógép perifériáival tartja a kapcsolatot

A fő egységeket buszok kötik össze egymással, amelyeken adatok, címek, vezérlő jelek továbbíthatók az egységek között. A továbbiakban feltételezzük, hogy a egy központi memória és egy I/O vezérlő egység csatlakozik a buszokon keresztül egy CPU-hoz. (A későbbiekben kitérünk arra, milyen változást jelent, ha bármelyik egységből egynél több van.) Ugyancsak feltételezzük, hogy a memória mérete elegendő a program és az adatok tárolására, egy memóriacímhez minden esetben a fizikai memóriában ki tud jelölni egy helyet.

A központi memóriába, tegyük fel, már tároltuk a program utasításait és adatait.

Hogyan is fog a programunk végrehajtódni? Először a központi memóriából ki kell olvasni azt az adatot, ami nem lesz más, mint a végrehajtandó utasítás. Az utasítás szerint a műveletvégző elvégzi az előírt műveletet. A művelttől függően vagy egy újabb utasítás címét számolja ki a CPU, és erről a címről olvas egy újabb utasítást, vagy a következő utasítást olvassa ki a központi egység, és ez így történik mindaddig amíg egy ÁLJ! utasítás nem érkezik.

A Neumann elvnek megfelelően a memóriában adatok vannak tárolva. Egy adat lehet program utasítás, vagy program adat. Mi dönti el, a kettő közül melyik?

A CPU-ban van egy speciális tároló, amelyet központi utasítás-számlálónak neveznek. Egy memóriában tárolt adat attól lesz utasítás, hogy a címe belekerül ebbe a bizonyos utasítás-számlálóba. Az utasítás számlálót a CPU általában minden utasítás végrehajtása után az előzőleg végrehatott utasítás hosszával (1 vagy több byte) megnöveli, így pontosan a következő végrehajtandó utasításra mutat. Abban az esetben, ha az utoljára végrehajtott utasítás feltételes vagy feltétel nélküli ugró utasítás, akkor a CPU kiszámítja, mire módosítsa az utasítás-számláló értékét, hogy a program ott folytassa a végrehajtást, ahová a programban előírták. Mi történik akkor, ha a nincs a program végén az ÁLJ! utasítás? A CPU erről mit sem tud, kiszámítja a következő utsítás címét, kiolvas onnan egy adatot, és azt utasításnak fogja fel, és végrehajtja.

A tényleges végrehajtási folyamat azonban egy kicsit bonyolultabb.

Vizsgáljuk a már említett fő elemeket tovább.

Központi vagy operatív memória[szerkesztés]

A központi memória egy címzési logikából és magát a fizikai tárolást vágző fizikai memóriból áll.

A fizikai memória általában byte szervezésű. Ez azt jelenti, hogy a memória legkisebb címezhető egysége 1 byte, ez esetünkben legyen a szokásos nyolc bit. Általában léteznek 1 byte-nál nagyobb olvasási egységek is, Szavak, duplaszavak, stb. írhatók és olvashatók, de ezt a buszon ujabb vezérlő jelek jelzik a címzési logika felé.

Az, hogy a memóriából olvasni akarunk, vagy a memóriába írni, illetve hogy melyik címre, azt a memória buszon lévő vezérlőjelekkel, illetve a címbusz címvezetéken lévő adat határozza meg. Tlejesn egyértelmű, hogy a címbitek száma és címezhető memória mérete között szoros összefüggés van:a legkisebb memóriacím a 0, a legnagyobb pedig a címbiteken elküldhető legnagyobb szám. (Például egy 10 címvezetékkel 2^10 = 1024, azaz 1 kilobyte memória címezhető meg, 11 cívezetékkel 2^11 = 2048 azaz 2 kilobyte, és így tovább. A címvezetékek számát szokták a címbusz szélességének is nevezni).


A központi memória címzési logikája gondoskodik arról, a fizikai memória megfelelő része(i) ki legyenek jelölve, az ott tárolt adatot vagy egy átmeneti tárolóba olvassa, vagy az átmeneti tárolóból közvetlenül a memóriába írja. Az átmeneti tároló az adatbusz adatvezetékeihez csatlakozik, így az aktuális adat a többi egység számára elérhető.


A CPU[szerkesztés]

Az I/O vezérlő egység[szerkesztés]

A Neumann elv alapján, a számítógép