Neumann-elvek

A Wikipédiából, a szabad enciklopédiából
Jump to navigation Jump to search
A Neumann-architektúra azaz egy Neumann elvű számítógép felépítése, amely három fő komponensből áll: memória, központi egység (CU,ALU), és a bemeneti/kimeneti perifériák

Az első elektronikusan működő számítógép, az ENIAC (angolul Electronic Numerical Integrator And Computer) építési tapasztalatai alapján a számítógép építéséhez nélkülözhetetlen alapelveket Neumann János matematikus dolgozta ki, aki az ENIAC-nál gyorsabb, megbízhatóbb, egyszerűbb és könnyebben kezelhető gépet szeretett volna megépíteni. Az általunk ma Neumann-elveknek nevezett kritériumrendszert elsőként az 1945-ben kiadott „First Draft of a Report on the Edvac” című művében publikálta.[1] Neumann János 1945-ben a Princentoni Egyetemen az elektronikus számítógép program igazgatója volt, amikor Herman Goldstine-nal megépítették az akkori legkorszerűbb, tárolt programmal vezérelt számítógépet, amit kutatási célokra terveztek. Az 1949-ben megépített EDVAC (angolul Electronic Discrete Variable Automatic Computer), már Neumann elgondolásai alapján épült és a világon az első, belső programvezérlésű, elektronikus, digitális, univerzális számítógép volt. Neumann Jánosnak az "EDVAC-jelentés első vázlata" című meghatározó munkája a teljes elemzését adta az EDVAC tervezett architektúrájának. A jelentés tartalmazta a megépítendő számítógép javasolt felépítését, a részegységek megépítéséhez szükséges logikai áramköröket és a gép kódját.

Néhány gondolat Neumann "First Draft of a Report on the EDVAC" (Első vázlat az EDVAC-ról készült jelentéshez) című művéből:

  • "Nagyon nagy sebességű, automatikus, digitális számítási rendszerekkel [computing system] és ezek logikai vezérlésével foglalkozunk."
  • "Egy automatikus számítási rendszer olyan berendezés, amely utasítások végrehajtására képes abból a célból, hogy számításokat végezzen jelentős bonyolultságú problémák, például nemlineáris parciális differenciálegyenletek numerikus megoldása céljából."
  • "Az utasításokat részletesen meg kell adni. Az utasításoknak tartalmazniuk kell minden numerikus információt, amely a probléma megoldásához szükséges, mégpedig a kezdő és peremfeltételeket, a fix paraméterek értékeit, sőt azokat a függvénytáblákat is, amelyek a probléma leírásában szerepelnek. "
  • "Differenciálegyenletek megoldásánál a kezdeti, illetve a peremfeltételek nagy numerikus anyagot jelenthetnek, ezeket is meg kell jegyezni, tárolni kell, tehát ehhez is szükséges a memóriaegység."[2]

A Neumann-elvek szerint a gépnek öt alapvető funkcionális egységből kell állnia: aritmetikai egység, központi vezérlőegység, különböző memóriák, bemeneti egység, kimeneti egység, s ami lényegesebb: a gép működését a tárolt program elvére kell alapozni. Az elvek között szerepel a program soros végrehajtása is.

A Neumann-elvek publikációit teljesen szabadon közreadták, így az EDVAC első üzembe helyezésekor már néhány egyéb Neumann-elvű számítógép is létezett a világban. EDSAC (angolul Electronic Delay Storage Automatic Calculator), UNIVAC (angolul Universal Automatic Computer).

Neumann-elvek

Neumann János a mai modern Neumann-elvű számítógépek építéséhez 1946-ban dolgozta ki az alapelveket
  1. Teljesen elektronikus működés (– ez Neumann idejében elektroncsöves felépítést jelentett, amit később a tranzisztoros, majd az integrált áramkörös felépítés követett)
  2. Kettes számrendszer használata (– az összes művelet, pl. összeadás, szorzás, kettes számrendszerbeli logikai műveletekre redukálható)
  3. Belső memória használata
  4. Tárolt program elve. A számításokhoz szükséges adatokat és programutasításokat a gép azonos módon, egyaránt a belső memóriában (operatív tár) tárolja.[3]
  5. Soros utasítás-végrehajtás (az utasítások végrehajtása időben egymás után történjen; ennek egy alternatívája a párhuzamos utasítás-végrehajtás, amikor több utasítás egyidejűleg is végrehajtható: ezt a lehetőséget Neumann elvetette)
  6. Univerzális felhasználhatóság, Turing-gép (programozhatóság; a különböző feladatok programokkal legyenek megoldva, nem pedig erre a célra épített hardverrel)
  7. Szerkezet: öt funkcionális egység (aritmetikai egység, központi vezérlőegység, memóriák, bemeneti és kimeneti egységek)[1][4]
A. M. Turing angol matematikai logikus 1927-ben kimutatta (és a számológépi technika számos szakértője azóta különféle módokon gyakorlatilag is bebizonyította), hogy olyan programutasításokat is ki lehet dolgozni egy számológép számára, amelyek arra késztetik, hogy valamely más - pontosan meghatározott működésű - számológép módjára viselkedjék. Az ilyen utasításrendszereket, amelyek révén egy gép utánozza egy másik gép viselkedését… programoknak nevezzük.”Neumann János: A számológép és az agy, 1945[5]

A Neumann-elvű számítógépek elméleti felépítése (a Neumann-architektúra)

A Neumann-elvű számítógépek elméleti felépítése

Egy Neumann-architektúrájú számítógép a következő egységekből épül fel:

  • központi egység
  • háttértárak
  • perifériák
    • input perifériák
    • output perifériák

A központi vezérlőegységeket (CPU: Central processing unit), azaz a processzorokat működésük szempontjából két külön kategóriába sorolhatjuk. Az egyik a Neumann-architektúra a másik Harvard-architektúra szerint működik. A két architektúra abban különbözik, hogy a Neumann-elvű esetében megegyezik az adat- és a programmemória, míg a Harvard-architektúrájú számítógép esetén a program- és adatmemória különbözik.

Perifériák Neumann elvei alapján

A számítógép építést forradalmasító Neumann cikk a First Draft of a Report on the Edvac első oldala (1946. június 30.)

Jegyzetek

  1. a b John von Neumann: First Draft of a Report on the EDVAC (angol nyelven) (pdf). University of Pennsylvania, 1945. június 30. (Hozzáférés: 2018)
  2. Szelezsán János: Neumann János az első, számítógépet alkalmazó »fizikus«, Fizikai Szemle 2003/12. 425.o.
  3. A program-, és adatmemória fizikailag közös, ebből származik az architektúra legnagyobb hátránya: a sebezhetőség. (A memóriában tárolt bájtokról nem tudjuk eldönteni, hogy adatot vagy programkódot tartalmaznak, ezt csak a felhasználás módja dönti el!) Ezt használják ki a vírusok, amikor a felhasználó számára adatnak tűnő állományt (például kép) tölt le, miközben a gép a benne található káros kódot futtatja.
  4. A Neumann-elv (magyar nyelven), 2003. (Hozzáférés: 2014)
  5. Neumann János. A számológép és az agy (magyar nyelven). Maple Press Company (1831) 

Források

  • John von Neumann: First Draft of a Report on the EDVAC (angol nyelven) (pdf). University of Pennsylvania, 1945. június 30. (Hozzáférés: 2018) – Neumann 1945-ös cikke: "Az első vázlat az EDVAC-ról készülő jelentéshez"

További információk

Kapcsolódó szócikkek