| Neumann "First Draft of a Report
on the Edvac" címmel 1945-ben megjelentett egy művet, melyben
leírta azokat az alapelveket, melyeket ma a tudományos világ "Neumann-elvek"-ként
tart számon. Ezek szerint a számítógépnek a következőknek kell megfelelnie:
- Legyen soros működésű, teljesen elektronikus. A gép egyszerre
csak egy műveletet vesz figyelembe és hajt végre, és mindezt igen
gyorsan.
- Használjon kettes számrendszert. Elektronikusan ezt sokkal könnyebb
megvalósítani: van áram (1), nincs áram (0). Ez a számolási műveleteket
jelentősen leegyszerűsítette a számítógép számára.
- Használjon belső memóriát. A számítógép gyors működése következtében
nincs értelme annak, hogy minden egyes lépés után emberi beavatkozás
történjen a számítás menetében. A belső memóriában a részeredmények
tárolhatók, és így a gép egy bizonyos műveletsorozatot automatikusan
el tud végezni.
- Tárolt program elve. Talán a legjelentősebb lépés. A számítások
menetére vonatkozó utasítások kifejezhetők számmal, azaz adatként
kezelhetők. Így ezek éppúgy a belső memóriában tárolhatók, mint
bármilyen más adat. Azáltal, hogy a számítógép belső memóriájában
utasításokat tárolhat, a számítógép önállóan képes dolgozni, mivel
mindegyik lépés után memóriája utasítja a további teendőkre anélkül,
hogy emberi beavatkozásra kellene várnia. Az ilyen utasításrendszert
ma programnak hívjuk.
- Legyen univerzális a gép. A számítógép különféle feladatainak
elvégzésére nem kell speciális gépeket készíteni.
Híres művének lényege - az elektronikus számítógépekkel szembeni
követelmények - 3 pontba foglalható össze.
Az 1. pont a számítógép fő részeit, az azokkal szembeni kívánalmakat
fogalmazza meg, a 2. pont a tárolt program elvet, a 3. pedig az
automatikus, emberi beavatkozás nélküli működési követelményt rögzíti.
1. A gépnek 5 alapvető funkcionális egységből kell állnia:
- a vezérlő egység (control unit),
- az aritmetikai és logikai egység (ALU),
- a tár (memory), ami címezhető és újraírható tároló-elemekkel rendelkezik,
továbbá
- a ki/bemeneti egységek (Input/Output - I/O).
- A részegységek elektronikusak legyenek és bináris számrendszert
használjanak. Az ALU képes legyen elvégezni az alapvető logikai
és aritmetikai műveleteket (néhány elemi matematikai és logikai
művelet segítségével elvileg bármely számítási feladat elvégezhető).
2. Tárolt program elvű legyen a számítógép, azaz a program és az
adatok ugyanabban a tárban tárolódjanak, ebből következően a programokat
tartalmazó rekeszek is újraírhatók.
3. A vezérlő egység határozza meg a működést a tárból kiolvasott
utasítások alapján, emberi beavatkozás nélkül, azaz közvetlen vezérlésűek
a számítógépek.
A 3. pont azt jelenti, hogy van egy utasítás készlet (instruction
set), melyek utasításait a vezérlő egység képes felismerni és az
ALU-val elvégeztetni. Az utasításhalmaz egy alhalmaza a tár (rendszerint
egymásutáni) címezhető celláiban van. Ez úgyis elképzelhető, hogy
adott egy utasításfolyam (instruction stream), a gépi kódú program
(code). A vezérlőegység egy mutatója jelöli ki a soron következő
végrehajtható utasítást. Ezt a vezérlő egység értelmezi. Az utasításokban
kódolva vannak/lehetnek az adatok, vagy az adatok tárbeli címei.
Ezeket a vezérlő egység a tárból előveszi, az ALU pedig elvégzi
rajtuk az operációkat. A tárolási helyek címezhetők, a tárolási
helyeken a tárolt értékek változtathatók. Egy utasítás végrehajtása
után a vezérlőegység mutatója automatikusan - emberi beavatkozás
nélkül - a soron következő instrukcióra mutat, a vezérlő egység
veszi ezt az instrukciót, és az előzőekhez hasonló módon végrehajta,
majd megy tovább. A soron következő utasítás címét az utasítás mutató
(IP- Instruction Pointer) mutatja.
A 2. pontból következik, hogy maga a program is feldolgozható, módosítható.
A három pont együtteséből a kövtekező megállapítás tehető: a számítógép
architektúra hardver és szoftver architektúrák együttese, hiszen
működését nemcsak a hardver szabja meg, hanem a szoftver is.
A számítógépek az elmúlt jópár év során páratlan fejlődésen
mentek keresztül, de elvi felépítésük nem változott. Számtalan kutatás
folyik a nem Neumann elvű gép kifejlesztésére, eddig még gyakorlatilag
nem sikerült. A bejelentett eredményeket ha jobban megvizsgáljuk,
mindig előjön a Neumann elv, bizonyítva, hogy a nem Neumann elvű
gép is Neumann elven működik. |