Von Neumannen arkitektura

eskuinera|thumb|330px|Von Neumann arkitektura eskema.
**Von Neumannen arkitektura** terminoa erabiltzen da konputagailuen arkitektura mota bat adierazteko, non aginduak zein datuak biltegiratze gailu edo memoria berean metatzen diren, eta hori da desberdintasun nagusia Harvard arkitekturarekin alderatuta, azken honek memoria desberdinetan metatzen baititu datuak eta aginduak.

Konputagailu moderno gehienak arkitektura honetan oinarrituta daude, beste gailu gehigarri batzuk izan ditzaketen arren (adibidez, sagua edo teklatua bezalako kanpoko gailuen etenak kudeatzeko dispositiboak

## Abiapuntua 
Von Neumannen arkitekturaren sorrera edo abiapuntua kokatzen da John Von Neumann hungariar jatorriko matematikariak ENIAC konputagailuaren proiektuan izandako lankidetzan.
John Von Neumann, 1945an, Los Alamos National Laboratory-n lan egiten zuen, eta egun batean ENIAC konputagailua eraikitzen ari zen taldeko kide batekin topo egin zuen. Princetonen, Albert Einsteinen, Kurt Gödelen eta Alan Turingen lankide izandakoa, Von Neumann berehala interesatu zen ENIAC makina zeregin berri bakoitzarentzat *birkableatzeko* beharraren arazoaz.

1949rako, arazo horren soluzioa aurkitu eta garatua zuen: egin beharreko eragiketei buruzko informazioa datuak metatzeko erabilitako memoria berean metatzea, kode berean adierazia, kode bitarrean, hain zuzen ere. Bere "EDVAC" konputagailua eredua izan zen ondoren eraiki ziren mota horretako konputagailuentzat. Harrezkero mintzatzen da * Von Neumannen arkitekturaz*, konputagailuak eraikitzeko beste modu batzuk ere diseinatu zituen arren. Modu horretan gauzatutako lehen konputagailu komertziala UNIVAC I delakoa izan zen, 1951ean Sperry-Rand Corporation-ek fabrikatua, eta Estatu Batuetako Errolda Bulegoak erosia.

## Antolaketa 
Arkitektura honetan oinarritutako konputagailuek bost atal nagusi dituzte:
Unitate aritmetiko-logikoa edo UALa, kontrol-unitatea, memoria, sarrera-irteerako sistema eta datu-busa, datuen garraiobidea eskaintzen duena atal guztien artean.

Halako konputagailuek honako urrats hauek egiten dituzte sekuentzialki, bata bestearen ondoren:

# Exekutatu beharreko hurrengo agindua eskuratzen du memoriatik, programaren kontagailuak erakutsitako memoria-helbidetik, eta agindu-erregistroan gordetzen du.
# Programaren kontagailuari gehitzen dio aginduaren luzera, hurrengo agindua erakuts dezan.
# Agindua deskodetzen du kontrol-unitatearen bitartez. Kontrol-unitatearen zeregina da konputagailuaren beste osagaiak koordinatzea funtzio zehatz bat egiteko.
# Agindua exekutatzen da. Aginduaren exekuzioaren ondorioz, programaren kontagailuaren balioa alda daiteke eta horri esker hainbat eragiketa errepikatu daitezke. Esate baterako, programaren kontagailua alda daiteke baldintza aritmetiko jakin bat betetzen denean, eta horrela, aritmetika eta logikari esker, ordenagailuak "erabakiak hartu ahal ditzake". Erabaki horiek konplexuak izatera irits daitezke.

## Von Neumannen arkitektura terminoaren sorrera 
* Von Neumannen arkitektura* terminoa txosten batean oinarrituta sortu zuten, zehazki Von Neumannek berak idatzitako * First Draft of a Report on the EDVAC* (EDVAC konputagailuari buruzko txostenaren lehen zirriborroa) ( 1945) izeneko txostenean, non memorian metatutako programaren kontzeptua proposatzen zuen. Dokumentu hori landu zuten ENIAC konputagailuaren ondorengoa izango zenaren eraikuntzari begira, eta haren edukia John Presper Eckertek, John William Mauchlyk, Arthur Burksek eta beste batzuek garatu zuten zenbait hilabetez, John Von Neumannek txostenaren zirriborroa idatzi baino lehen. Horregatik, beste teknologo batzuek ( David A. Patterson eta John L. Hennessyk) **Eckert-Mauchly arkitektura** terminoaz ordezkatzea sustatzen dute. David A. Patterson eta John L. Hennessy, Computer Organization and Design. The hardware/software Interface. 4th edition. The Morgan Kaufmann Series in Computer Architecture and Design. 2008.

## Metatutako programaren kontzeptuaren garapena 
Alan Turing matematekariak, Cambridgeko Unibertsitatean Max Newmanen eskoletan aurkeztutako logika matematikoko arazo baten jakitun, 1936an artikulu bat idatzi zuen, honako izenburu honekin "On Computable Numbers, with an Application to the Entscheidungs problem" (Zenbaki konputagarrien inguruan, eta aplikazio bat erabakitze arazorako). Artikulu hau Londresko Matematika Elkarteak argitaratu zuen, "Proceedings of the London Mathematical Society" agerkarian. Hartan, makina hipotetiko bat deskribatzen zuen Turingek, eta "makina konputatzaile unibertsala" izena jarri zion. Gaur egun, Turingen makina izenarekin ezagutzen dugu. Makina hipotetikoak biltegiratze ahalmen infinitua zeukan (gaur egungo terminologian, memoria infinitua), eta biltegian aginduak zein datuak zeuden metatuta. Konrad Zuse aleman ingeniariak ere idatzi zuen kontzeptu honen inguruan, 1936an, independenteki. Von Neumannek Turing ezagutu zuen ordezko irakasle gisa aritu zenean Cambridgen, 1935an, eta baita ere Turingek Princetongo Unibertsitatean pasa zuen urtean, 1936-37an. Ez dago garbi noiz izan zuen Turingen 1936ko artikuluaren berririk.

Independenteki, J. Presper Eckertek eta John Mauchlyek ere, Moore Ingeniaritza Elektrikoko Eskolan, Pennsylvaniako Unibertsitatean, ENIAC garatzen ari zirenean, "metatuko programa" kontzeptuaren gainean idatzi zuten 1943ko abenduan. Makina berri bat diseinatzen ari zenean (EDVAC izenekoa), Eckertek idatzi zuen, 1944ko urtarrilean, datuak eta programak biltegiratuko zirela memoria gailu helbideragarri berri batean, zehazki merkuriozko atzerapen-lerro batean. Hori izan zen metatutako programa erabilgarri bat proposatu zuten lehen aldia. Garai haietan, ez zuten Turingen lanaren berririk.

Von Neumann Manhattan Proiektuan ari zen lanean, Los Alamos National Laboratory-n, eta proiektu horrek kalkulu kopuru oso handiak eskatzen zituen. Horrek ENIAC proiektura bideratu zuen, 1944ko udan. Han, programa metatuak izango zituen EDVAC ordenagailu berriaren diseinuaren inguruan egindako eztabaidetan murgildu zen. Taldekide gisa, boluntario eskaini zuen bere burua ordenagailuaren deskribapen bat idazteko. * Von Neumannen arkitektura* terminoa txosten batean oinarrituta sortu zuten, zehazki Von Neumannek berak idatzitako * First Draft of a Report on the EDVAC* (EDVAC konputagailuari buruzko txostenaren lehen zirriborroa) izeneko txostenean, 1945eko ekainaren 30eko datarekin, non Eckerten eta Mauchlyren ideiak biltzen zituen. Txostena bukatu gabe zegoen haren lagun Herman Goldstinek beste batzuei helarazi zienean, von Neumannen izena bakarrik ageri zela, eta horrekin Eckert eta Mauchly atsekabetu ziren. Artikulua von Neumannen lankide askok eta askok irakurri zuten, Amerikan eta Europan, eta ordenagailu berrien diseinuan eragin nabaria izan zuen.

Ondoren, Turingek xehetasunez beteriko txosten tekniko bat idatzi zuen: “Proposed Electronic Calculator" (Proposatutako kalkulagailu elektronikoa), non Konputazio Motore Automatikoa delakoa (Automatic Computing Engine, ACE) proposatzen zuen. Txosten hori aurkeztu zuen Fisikako Laborategi nazional britanikoan, 1946ko otsailaren 19an.1946 Nahiz eta Turingek jakin bazekien, gerra garaian Bletchley Parkean izandako esperientziagatik, haren proposamena egingarria zela, Colossus Colossusordenagailuei buruz hamarkada luzez mantendutako sekretismoak eragotzi zion horren berri ematea. ACE diseinuaren hainbat inplementazio arrakastatsu gauzatu zituzten.

Bien lanek, von Neumannenak eta Turingenak, metatutako programadun ordenagailuak deskribatzen zituzten, baina von Neumannena lehenago agertu zenez gero, haren eragina handiagoa izan zen, eta horrexegatik lan horretan zirriborratutako konputagailuen arkitekturari "Von Neumannen arkitektura" izena jarri zioten.

1945an, Filadelfiako Moore ingeniaritza eskolan lanean ari zela, non ENIAC eraiki zuten, von Neumann irakasleak, haren lankideen talde baten izenean, beste txosten eman zuen argitara, ordenagailu digitalen diseinu logikoari buruz. Txostenak xehetasunez beteriko proposamena zeukan, harrezkero EDVAC izenaz ezagutzen dugun makinaren diseinuarentzat (Electronic Discrete Variable Automatic Computer, aldagai diskretudun konputagailu elektroniko automatikoa). Makina hau berriki izan da Amerikan osatua, baina Von Neummanen txostenak EDSAC delakoaren eraikuntza inspiratu zuen (Electronic Delay-Storage Automatic Calculator, Atzerapenezko biltegidun kalkulagailu elektroniko automatikoa), Cambridgen.

1947an, Burksek, Goldstinek eta Von Neumannek beste makina mota baten diseinua deskribatzen duen txosten bat argitaratu zuten (une honetan, makina paralelo bat). Makina berria oso azkarra izango zen, segundo batean 20000 eragiketa egiteko gai izango baitzen.

## Kanpo estekak