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. június 30-án 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.

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
Neumann János számítógép építést forradalmasító First Draft of a Report on the EDVAC című és 1945. június 30. keltezésű alkotásának első oldala

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). Az elvek alapján készül más korai számítógépek: Korai Neumann-architektúrájú számítógépek

Neumann-elvek szerkesztés

 
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, rövid programoknak nevezzük. E programok kidolgozásának és alkalmazásának jellegzetes kérdéseire valamivel részletesebben is ki szeretnék térni.”

Neumann János: A számológép és az agy, 1958, A rövid program fogalma[5]

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

 
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 szerkesztés

Jegyzetek szerkesztés

  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.. [2016. augusztus 31-i dátummal az eredetiből archiválva]. (Hozzáférés: 2016. január 17.)
  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 (1959) 

Források szerkesztés

  • 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 szerkesztés

  • Neumann János, First Draft of a Report on the EDVAC – az NJSZT oldala Neumann János alapvető tanulmányáról, hivatkozások az angol nyelvű eredeti digitalizált változatára és a megjelent cikk tisztázott, korrektúrázott dokumentumára, a szerkesztő, Michael D. Godfrey előszavával.

Kapcsolódó szócikkek szerkesztés