Von Neumannen arkitektura: berrikuspenen arteko aldeak

Ezabatutako edukia Gehitutako edukia
t Robota: Aldaketa kosmetikoak
No edit summary
1. lerroa:
{{OpenMT-2}}
[[Archivo:arquitecturaneumann.jpg|thumb|300px| Arkitektura Von Neumannen diagrama.]]
'''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 arkitektura]]rekin alderatuta, azken honek memoria desberdinetan metatzen baititu datuak eta aginduak.
'' Von Neumann-en 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 arkitektura|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 [[eten|etenak]]ak kudeatzeko dispositiboak
 
== Abiapuntua ==
Von NeumannenNeumann-en 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|Los Alamos National Laboratory-n]] lan egiten zuen, eta egun batean ENIAC konputagailua eraikitzen ari zen taldeko kide batekin topo egin zuen. [[Princeton|Princetonen]], [[Albert Einstein|Albert Einsteinen]], [[Kurt Gödel|Kurt Gödelen]] eta [[Alan Turing|Alan Turingen]] lankide izandakoa, Von Neumann berehala interesatu zen ENIAC makina zeregin berri bakoitzarentzat ''birkableatzeko'' beharraren arazoaz.
John Von Neumann, 1945an, [[Los Alamos National Laboratory|Los Alamos National Laboratory-n]] lan egiten zuen, eta egun batean ENIAC konputagailua eraikitzen ari zen taldeko kide batekin topo egin zuen. Honek hitz egin zion ENIAC makina zeregin berri bakoitzarentzat ''birkableatzeko'' beharraren arazoaz, eta Von Neumann, [[Princeton]]en, [[Albert Einstein]]en, [[Kurt Gödel]]en eta [[Alan Turing]]en lankide izandakoa, berehala interesatu zen arazo horretaz.
 
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" eredua izan zen ondoren eraiki ziren mota horretako konputagailuentzat. Harrezkero mintzatzen da '' Von NeumannenNeumann-en arkitekturaz'', konputagailuak eraikitzeko beste modu batzuk ere diseinatu zituen arren. Modu horretan gauzatutako lehen konputagailu komertziala [[UNIVAC I |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-logiko |Unitate aritmetiko-logikoa]]a edo [[Unitate aritmetiko-logiko| UALa]], [[Kontrol unitate| kontrol-unitatea]], [[Memoria (informatika)| memoria]],[[sarrera-irteera|sarrera-irteerako]]ko sistema, eta [[datu-bus| datu-busa]]a, 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 kontagailu|programaren kontagailuak]]ak erakutsitako [[memoria helbide|memoria-helbidetik]], eta [[agindu-erregistro| agindu-erregistroan]]an gordetzen du.
# Programaren kontagailuari gehitzen dio aginduaren luzera, hurrengo agindua erakuts dezan.
# Agindua deskodetzen du [[Kontrol unitate |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 NeumannenNeumann-en arkitektura'' terminoaren sorrera ==
'' Von NeumannenNeumann-en arkitektura'' terminoa txosten batean oinarrituta sortu zuten, zehazki Von NeumannekNeumann berak idatzitako '' First Draft of a Report on the [[:es:EDVAC| EDVAC]]'' (EDVAC konputagailuari buruzko txostenaren lehen zirriborroa) ( [[1945| 1945]]) izeneko txostenean, non memorian metatutako programaren kontzeptua proposatzen zuen. Dokumentu hori landu zuten [[:es:ENIAC| ENIAC]] [[konputagailu |konputagailuaren]]aren ondorengoa izango zenaren eraikuntzari begira, eta haren edukia [[:es:John Presper Eckert| John Presper Eckertek]], [[:es:John William Mauchly| John William Mauchlyk]],[[:es:Arthur Burks| Arthur Burksek]] eta beste batzuek garatu zuten zenbait hilabetez, John Von Neumann-ek txostenaren zirriborroa idatzi baino lehen. Horregatik, beste teknologo batzuek ( [[ David A. Patterson]] eta [[ John L. Hennessyk]]) ''' Eckert-Mauchly arkitektura''' terminoaz ordezkatzea sustatzen dute.<ref name="patterson-hennessy"> David A. Patterson eta John L. Hennessy, OrganizaciónComputer yOrganization diseñoand deDesign. computadores,The Aravacahardware/software Interface. McGraw-Hill4th /edition. InteramericanaThe deMorgan España,Kaufmann Series Sin Computer Architecture and Design.A., 09/19942008.</ref>
 
== Metatutako programaren kontzeptuaren garapena==
== Erreferentziak ==
{{Erreferentzia zerrenda}}
 
[[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 Londreseko Matematika Elkarteak argitaratu zuen, "Proceedings of the London Mathematical Society" agerkarian. Hartan, makina hipotetiko bat deskribatzen zuen, eta "makina konputatzaile unibertsala" izena jarri zion. Gaur egun, Turing-en makina izenarekin ezagutzen dugu. Makina hipotetikoak biltegiratze ahalmen infinitua zeukan (gaur egungo terminologian, memoria infinitua), eta biltegian aginduak zein datuak zeuden metatuta. [[Konrad Zuse| Konrad Zuse]] aleman ingeniariak ere idatzi zuen kontzeptu honen inguruan, 1936an, independenteki. [[Von Neumann| 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.
[[Kategoria:Konputagailuaren arkitektura]]
 
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.
[[ar:هيكلة فون نيومان]]
 
Von Neuman Manhattan Proiektuan ari zen lanean, [[Los Alamos National Laboratory|Los Alamos National Laboratory-n]], eta proiektu horrek kalkulu kopuru oso handiak eskatzen zituen. Horrek [[ENIAC| 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]]'' (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 Goldstine| 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 Colossus]]ordenagailuei 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. Seinalatu zuten arazo ekina horrelako makinaren eraikuntzan memoria bat egokituaren garapenean zegoela, izan ziren bat-batean sartzen errazak eduki guztiak, eta hasieran tutu berezi baten erabilera iradoki zen - Selectron deitua - Princeton De La Rcaren laborategiek asmatu zuten. Estos tubos son caros y difíciles para fabricar, así Von Neumman decidió construir una máquina basada en la memoria de Williams. Esa máquina que se completó en junio de 1952 en Princeton se ha conocido como [[MANIAC I]]. El diseño de esta máquina que ha sido inspirado de una docena o más de máquinas que están actualmente en construcción en América.
 
Cálculo automático en el laboratorio nacional de física.
Uno de los equipos digitales más modernos que incorpora novedades y mejoras en la técnica de la computación electrónica ha sido demostrado en el laboratorio nacional de física, Teddington, donde ha sido diseñado y construido por un pequeño equipo de matemáticos e ingenieros electrónicos investigadores sobre el personal del laboratorio, asistido por ingenieros de producción de la compañía eléctrica inglesa. El equipo construido hasta ahora en el laboratorio es solo el modelo piloto de muchas instalaciones muy grandes que se va a conocer como el motor de cálculo automático, pero aunque es relativamente pequeño en volumen y contiene solo 800 válvulas termoiónicas, es una máquina de cálculo muy rápido y versátil.
Los conceptos básicos y principios abstractos de la computación por una máquina fueron formuladas por el Dr A. M. Turing, pero el trabajo en dichas máquinas en el Reino Unido se retrasó por la guerra. En 1945, se hizo una revisión al problema en el laboratorio nacional de Física por el profesor J. R. Womersley. Se le adjuntó al Dr. Turing un pequeño equipo de especialistas, y en 1947 la planificación preliminaria era lo suficientemente avanzada para justificar el establecimiento del grupo especial ya mencionado. En abril de 1948, estos últimos se convirtieron en la sección de electrónica del laboratorio, bajo el cargo del Sr. F. M. Colebrook.
 
== Descripción del concepto de programa almacenado ==
 
Los primeros [[computadores]] constaban de programas almacenados. Algunos muy simples siguen utilizando este diseño, por ejemplo, una [[calculadora]] es un computador que tiene un programa almacenado. Puede hacer operaciones matemáticas simples, pero no puede ser usada como [[procesador de textos]] o videoconsola.
 
Cambiar el programa que contenían los dispositivos que usaban esta tecnología requería
reescribir, reestructurar y/o rediseñar el dispositivo. Los primeros [[computadores]] no estaban
lo suficiente programados cuando fueron diseñados. La tarea de reprogramar, cuando era posible,
era un proceso laborioso, empezando con notas en papel y siguiendo con detallados diseños
de [[ingeniería]]. Y tras esto llegaba el a veces complicado proceso de reescritura y reestructuramiento físico del computador.
 
El concepto de programa almacenado cambió por completo, se pensó en un [[computador]] que en su diseño contenía un conjunto de instrucciones que podían ser almacenadas en memoria, o sea, un programa que detallaba la computación del mismo.
 
El diseño de un programa almacenado también daba la posibilidad a los [[programas]] de ser modificados ellos mismos durante su ejecución. Uno de los primeros motivos para su creación fue la necesidad de un programa que incrementara o modificara las direcciones de memoria de algunas instrucciones, las cuales tenían que ser hechas manualmente en los primeros diseños.
 
Esto se volvió menos importante cuando el índice de [[registros]] y el direccionamiento indirecto se
convirtieron en algo habitual en la [[arquitectura de computadores]]. El código automodificable fue en gran parte ganando posiciones.
 
A gran escala, la habilidad de tratar instrucciones como datos es lo que hacen los [[ensamblador]]es, [[compiladores]] y otras herramientas de programación automáticas. Se pueden "escribir programas para escribir programas".
 
Existen inconvenientes en el diseño de [[Von Neumann]]. Las modificaciones en los programas podía
ser algo perjudicial, por accidente o por diseño. En algunos simples diseños de computador con programas almacenados, un mal funcionamiento del programa puede dañar el computador. Otros programas, o el [[sistema operativo]], posiblemente puedan llevar a un daño total en el ordenador. La protección de la memoria y otras formas de control de acceso pueden ayudar a proteger en contra de modificaciones accidentales y/o maliciosas de programas.
 
== Cuello de botella de Von Neumann (Von Neumann bottleneck) ==
El canal de transmisión de los datos entre CPU y memoria genera un cuello de botella para el rendimiento del procesador. En la mayoría de computadoras modernas, la velocidad de comunicación entre la memoria y la CPU es más baja que la velocidad a la que puede trabajar esta última, reduciendo el rendimiento del procesador y limitando seriamente la velocidad de proceso eficaz, sobre todo cuando se necesitan procesar grandes cantidades de datos. La CPU se ve forzada a esperar continuamente a que lleguen los datos necesarios desde o hacia la memoria.
 
La velocidad de procesamiento y la cantidad de memoria han aumentado mucho más rápidamente que el rendimiento de transferencia entre ellos, lo que ha agravado el problema del cuello de botella.
 
El término “cuello de botella de von Neumann�? fue acuñado por [[John Backus]] en su conferencia de la concesión de 1977 ACM Turing. Según Backus:
 
<blockquote>Seguramente debe haber una manera menos primitiva de realizar grandes cambios en la memoria, que empujando tantas [[Palabra (informática)|palabras]] hacia un lado y otro del cuello de botella de von Neumann. No sólo es un cuello de botella para el tráfico de datos, sino que, más importante, es un cuello de botella intelectual que nos ha mantenido atados al pensamiento de "una palabra a la vez" en vez de fomentarnos el pensar en unidades conceptuales mayores. Entonces la programación es básicamente la planificación del enorme tráfico de palabras que cruzan el cuello de botella de von Neumann, y gran parte de ese tráfico no concierne a los propios datos, sino a dónde encontrar éstos.<ref name=backus>{{cita web|url = http://www.cs.utexas.edu/~EWD/transcriptions/EWD06xx/EWD692.html | título = E. W. Dijkstra Archive: A review of the 1977 Turing Award Lecture | fechaacceso=6 de agosto | añoacceso=2011 |nombre=Edsger W.| apellido=Dijkstra}}</ref></blockquote>
 
El problema de funcionamiento se redujo introduciendo una [[memoria caché]] entre la CPU y la memoria principal, y mejorando los algoritmos del predictor de ramas. Está menos claro que el cuello de botella intelectual que Backus ha criticado haya cambiado mucho desde 1977. La solución propuesta de Backus no ha tenido una influencia importante. La programación funcional moderna y la programación orientada a objetos se preocupan mucho menos de “empujar tantas palabras hacia un lado y otro�? que los anteriores lenguajes como era [[Fortran]].
 
== Primeros ordenadores basados en arquitecturas von Neumann ==
 
La ''primera saga'' se basaba en un diseño que fue utilizado por muchas universidades y empresas para construir sus equipos.
Entre estos, sólo ILLIAC y ORDVAC tenían un conjunto de instrucciones compatible.
 
* [[ORDVAC]] (U-Illinois) en [[Aberdeen Proving Ground]], Maryland (completado en noviembre de 1951)
* [[IAS machine]] en Princeton University (Ene 1952)
* [[MANIAC I]] en Laboratorio Científico Los Alamos(Mar 1952)
* [[ILLIAC]] en la Universidad de Illinois, (Sept 1952)
* [[AVIDAC]] en Laboratorios Argonne National (1953)
* [[ORACLE (computadora)|ORACLE]] en Laboratorio Nacional de Oak Ridge (Jun 1953)
* [[JOHNNIAC]] en RAND Corporation (Ene 1954)
* [[BESK]] en Estocolmo (1953)
* [[BESM|BESM-1]] en Moscú (1952)
* [[DASK]] en Dinamarca (1955)
* [[PERM (computadora)|PERM]] en Munich (1956?)
* [[SILLIAC]] en Sydney (1956)
* [[WEIZAC]] en Rehovoth (1955)
 
== Primeros ordenadores de programa almacenado ==
* [[SSEM]]
* [[ENIAC]]
* [[BINAC]]
* [[Manchester Mark I]]
* [[EDSAC]]
* [[EDVAC]]
* [[CSIRAC]]
* [[SEAC]]
* [[Pilot ACE]]
* [[SWAC]]
* [[Computadora Whirlwind]]
* [[UNIVAC 1101]]
 
== Véase también ==
* [[Arquitectura de CPU]]
* [[Arquitectura Harvard]]
* [[Arquitectura de computadores]]
 
* [[Máquina de Turing]]
* [[Máquina de von Neumann]]
 
== Referencias ==
{{listaref}}
 
[[Categoría:Arquitectura de computadoras]]
[[Categoría:Taxonomía de Flynn]]
[[Categoría:Historia de la informática]]
 
{{destacado|uk}}
 
[[ar:هيكلة �?ون نيومان]]
[[ast:Arquiteutura von Neumann]]
[[be:Архітэктура�?рхіт�?ктура фон Нэймана�?�?ймана]]
[[bg:Архитектура�?рхитектура на фон Нойман�?ойман]]
[[bs:Von Neumannova arhitektura]]
[[ca:Arquitectura de von Neumann]]
[[cs:Von Neumannova architektura]]
[[de:Von-Neumann-Architektur]]
[[el:ΑρχιτεκτονικήΑ�?χιτεκτονική φον Νόιμαν�?όιμαν]]
[[en:Von Neumann architecture]]
[[eu:Von Neumannen arkitektura]]
[[es:Arquitectura de von Neumann]]
[[fa:معماری فون�?ون نویمان]]
[[fi:Von Neumannin arkkitehtuuri]]
[[fr:Architecture de von Neumann]]
[[he:ארכיטקטורת�?רכיטקטורת פון נוימן]]
[[hr:Von Neumannova arhitektura]]
[[hu:Neumann-elvek]]
53 ⟶ 151 lerroa:
[[it:Architettura di von Neumann]]
[[ja:ノイマン型]]
[[ko:�?� 노이만노�?�만 구조]]
[[la:Architectura von Neumann]]
[[lv:Fon Neimana arhitektūra]]
61 ⟶ 159 lerroa:
[[pt:Arquitetura de von Neumann]]
[[ro:Arhitectură von Neumann]]
[[ru:Архитектура�?рхитектура фон Неймана�?еймана]]
[[sh:Von Neumannova arhitektura]]
[[sk:Koncepcia Johna von Neumanna]]
[[sq:Arkitektura e Von Neumann]]
[[sr:Фон Нојманова�?ојманова архитектура]]
[[sv:Von Neumann-arkitekturen]]
[[th:สถาปัตยกรรมสถาปัตย�?รรมฟอนนอยมันน์]]
[[tr:Neumann Mimarisi]]
[[uk:Архітектура�?рхітектура фон Неймана�?еймана]]
[[zh:冯·诺伊曼结构]]