Neumann-elvek

A Wikipédiából, a szabad enciklopédiából
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 (angolulElectronic 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" 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) pp. 1–49. University of Pennsylvania, 1945. június 30. (Hozzáférés: 2014)
  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) pp. 1–49. University of Pennsylvania, 1945. június 30. (Hozzáférés: 2014) – Neumann 1945-ös cikke
  • Neumann János: A számológép és az agy (The computer and the brain, 1959) (magyar nyelven). Gondolat Kiadó, 1972 (Hozzáférés: 2016) – Neumann 1972-ben megjelent műve magyarul
  • Herman H. Goldstine. A számítógép Pascaltól Neumannig. Budapest: Műszaki (2003). ISBN 9789631627718 
  • Szelezsán János, Révész György, Ádám András, Prékopa András, Legendi Tamás, Herman H. Goldstine. Neumann János élete és munkássága (magyar nyelven). MTESZ Neumann János Számítógéptudományi Társaság (1979. december 12.) 

További információk

Kapcsolódó szócikkek