Történelmileg a számítógépeknek 2 típusa volt:
- Fix programú számítógépek – funkciójuk nagyon specifikus és nem lehetett őket programozni, pl. számológépek.
- Tárolt programú számítógépek – Ezek sokféle feladat elvégzésére programozhatók, az alkalmazásokat tárolják rajtuk, innen a név.
A modern számítógépek a John Von Neumann által bevezetett tárolt program koncepción alapulnak. Ebben a tárolt-program koncepcióban a programokat és az adatokat külön tárolóegységben, úgynevezett memóriákban tárolják, és ugyanúgy kezelik őket. Ez az újszerű ötlet azt jelentette, hogy egy ilyen architektúrával épített számítógépet sokkal könnyebb átprogramozni.
Az alapvető felépítése a következő,
Az IAS számítógépnek is nevezik, és három alapegységből áll:
- A központi feldolgozó egység (CPU)
- A fő memóriaegység
- A be- és kimeneti eszköz
Nézzük őket részletesen.
- Vezérlőegység –
A vezérlőegység (CU) kezeli a processzor összes vezérlőjelét. Irányítja az összes bemeneti és kimeneti áramlást, lehívja az utasítások kódját, és ellenőrzi az adatok mozgását a rendszerben.
- Aritmetikai és logikai egység (ALU) –
Az aritmetikai logikai egység a CPU azon része, amely minden olyan számítást elvégez, amelyre a CPU-nak szüksége lehet, pl. összeadás, kivonás, összehasonlítás. Logikai műveleteket, bittologatási műveleteket és aritmetikai műveleteket végez.
ábra – A CPU alapvető felépítése, az ALU-t szemléltetve - Fő memóriaegység (regiszterek) –
- Akkumulátor: Az ALU által végzett számítások eredményeit tárolja.
- Programszámláló (PC): Nyomon követi a következő kezelendő utasítás memóriahelyét. A PC ezt a következő címet továbbítja a memória címregiszterbe (MAR).
- Memória címregiszter (MAR): A memóriából lehívandó vagy a memóriába tárolandó utasítások memóriahelyeit tárolja.
- Memory Data Register (MDR):
- Aktuális utasítás regiszter (CIR):
- Instruction Buffer Register (IBR): A legutóbb lehívott utasításokat tárolja, amíg azok kódolásra és végrehajtásra várnak.
- Instruction Buffer Register (IBR): A nem azonnal végrehajtandó utasítás az IBR utasításpuffer regiszterbe kerül.
- Bemeneti/kimeneti eszközök – A program vagy az adatok a CPU bemeneti utasítás vezérlésével a bemeneti eszközről vagy a másodlagos tárolóból kerülnek beolvasásra a főmemóriába. A kimeneti eszközök a számítógépből származó információk kimenetére szolgálnak. Ha valamilyen eredményt a számítógép kiértékel, és azt a számítógépben tároljuk, akkor a kimeneti eszközök segítségével tudjuk azt a felhasználónak bemutatni.
- Buszok – Az adatokat a számítógép egyik részéből a másikba továbbítjuk, az összes fontosabb belső alkatrészt a CPU-val és a memóriával összekötve, a buszok segítségével. Típusai:
- Adatbusz: Adatokat szállít a memóriaegység, az I/O eszközök és a processzor között.
- Címbusz: Az adatok címét (nem a tényleges adatokat) szállítja a memória és a processzor között.
- Vezérlőbusz: Vezérlőparancsokat szállít a CPU-tól (és állapotjeleket más eszközöktől) a számítógépen belüli összes tevékenység vezérlése és koordinálása érdekében.
Von Neumann szűk keresztmetszet –
Bármit is teszünk a teljesítmény növelése érdekében, nem tudunk szabadulni attól a ténytől, hogy az utasításokat csak egyenként és csak szekvenciálisan lehet végrehajtani. Mindkét tényező hátráltatja a CPU kompetenciáját. Ezt szokás “Von Neumann-féle szűk keresztmetszetnek” nevezni. Egy Von Neumann processzort több gyorsítótárral, több RAM-mal vagy gyorsabb alkatrészekkel láthatunk el, de ha eredeti nyereséget akarunk elérni a CPU teljesítményében, akkor a CPU konfigurációjának befolyásos vizsgálatára van szükség.
Ez az architektúra nagyon fontos, és a PC-kben, sőt a szuperszámítógépekben is használják.