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. |