Von Neumannen arkitektura: berrikuspenen arteko aldeak

Ezabatutako edukia Gehitutako edukia
t r2.5.4) (robota Erantsia: ar, be, bg, el, es, fa, he, ko, ru, sr, th, uk Ezabatua: eu
No edit summary
1. lerroa:
{{OpenMT-2}}
[[Archivo:arquitecturaneumann.jpg|thumb|300px| Arkitektura Von Neumannen diagrama.]]
{{OpenMT-2}}
''' 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]] 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.
 
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]] edo[[Unitate aritmetiko-logiko| UALa]], [[Kontrol unitate| kontrol-unitatea]], [[Memoria (informatika)| memoria]],[[sarrera-irteera|sarrera-irteerako]] sistema, eta [[datu-bus| datu-busa]], datuen garraiobidea eskaintzen duena atal guztien artean.
 
Halako konputagailuek honako urrats hauek egiten dituzte sekuentzialki, bata bestearen ondoren:
19 ⟶ 20 lerroa:
# Exekutatu beharreko hurrengo agindua eskuratzen du memoriatik, [[programaren kontagailu|programaren kontagailuak]] erakutsitako [[memoria helbide|memoria-helbidetik]], eta[[agindu-erregistro| agindu-erregistroan]] gordetzen du.
# Programaren kontagailuari gehitzen dio aginduaren luzera, hurrengo agindua erakuts dezan.
# Agindua deskodetzen du [[Kontrol unitate| |kontrol-unitatearen bitartez]]. HonenKontrol-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.
# Agindua exekutatzen da.
 
== Von Neumann-en arkitektura terminoaren sorrera==
[[ar:هيكلة فون نيومان]]
'' Von Neumann-en arkitektura'' terminoa txosten batean oinarrituta sortu zuten, zehazki Von Neumann 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]] 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ón y diseño de computadores, Aravaca. McGraw-Hill / Interamericana de España, S.A., 09/1994</ref>
 
== Metatutako programaren kontzeptuaren garapena==
 
El matemático [[Alan Turing]], quien había sido alertado de un problema de lógica matemática por las lecciones de Max Newman en la [[Universidad de Cambridge]], escribió un artículo en [[1936]] titulado “On Computable Numbers, with an Application to the Entscheidungs problem�?, que fue publicado en los “Proceedings of the London Mathematical Society�?. Hartan deitu zuen makina hipotetiko bat deskribatzen zuen[[:es:Máquina de Turin La máquina hipotética tenía un almacenamiento infinito (memoria en la terminología actual) que contenía tanto las instrucciones como los datos. El ingeniero alemán [[Konrad Zuse]] escribió de forma independiente sobre este concepto en 1936. [[Von Neumann]] conoció a Turing cuando ejercía de profesor sustituto en Cambridge en 1935 y también durante el año que Turing pasó en la [[Universidad de Princeton]] en 1936-37. Cuándo supo del artículo de 1936 de Turing no está claro.
 
Independientemente, [[J. Presper Eckert]] y [[John Mauchly]], quienes estaban desarrollando el [[ENIAC]] en la Escuela Moore de Ingeniería Eléctrica en la [[Universidad de Pennsylvania]], escribieron sobre el concepto de “programa almacenado�? en diciembre de 1943. Mientras diseñaba una nueva máquina, [[EDVAC]], Eckert escribió en enero de 1944 que se almacenarían datos y programas en un nuevo dispositivo de memoria direccionable, una línea de retardo de mercurio. Esta fue la primera vez que se propuso la construcción de un programa almacenado práctico. Por esas fechas, no tenían conocimiento del trabajo de Turing.
 
[[Von Neumann]] estaba involucrado en el [[Proyecto Manhattan]] en el Laboratorio Nacional Los Alamos, el cual requería ingentes cantidades de cálculos. Esto le condujo al proyecto [[ENIAC]], en verano de 1944. Allí se incorporó a los debates sobre el diseño de un ordenador con programas almacenados, el EDVAC. Como parte del grupo, se ofreció voluntario a escribir una descripción de él. El término “von Neumann architecture�? surgió del primer artículo de von Neumann: “First Draft of a Report on the EDVAC�?, fechado el 30 de junio de 1945, el cual incluía ideas de Eckert y Mauchly. Estaba inconcluso cuando su compañero [[Herman Goldstine]] lo hizo circular con solo el nombre de von Neumann en él, para consternación de Eckert y Mauchly. El artículo fue leído por docenas de compañero de trabajo de von Neumann en América y Europa, e influenció la siguiente hornada de diseños de computadoras.
 
Posteriormente, Turing desarrolló un informe técnico detallado, “Proposed Electronic Calculator�?, describiendo el Motor de Computación Automático (Automatic Computing Engine, ACE). Presentó éste al [[Laboratorio Nacional de Física Británico]] el 19 de febrero de [[1946]]. A pesar de que Turing sabía por su experiencia de guerra en el Parque Bletchley que su propuesta era factible, el secretismo mantenido durante muchas décadas acerca de los ordenadores [[Colossus]] le impidió manifestarlo. Varias implementaciones exitosas del diseño ACE fueron producidas.
 
Los trabajos de ambos, von Neumann y Turing, describían ordenadores de programas almacenados, pero al ser anterior el artículo de von Neumann, consiguió mayor circulación y repercusión, así que la arquitectura de computadoras que esbozó adquirió el nombre de “arquitectura von Neumann�?.
 
En 1945, el profesor Neumann que estaba trabajando en la escuela Moore de ingeniería de Filadelfia, donde el ENIAC había sido construido, emitió en nombre de un grupo de sus compañeros de trabajo un informe sobre el diseño lógico de los ordenadores digitales. El informe contenía una propuesta muy detallada para el diseño de la máquina que desde entonces se conoce como el EDVAC (electronic discrete variable automatic computer). Esta máquina ha sido recientemente completada en América, pero el informe de Von Neumman inspiró la construcción de la EDSAC (electronic delay-storage automatic calculator) en Cambridge.
 
En 1947, Burks, Goldstine y Von Neumann, publicaron un informe en el que describen el diseño de otro tipo de máquina (una máqina paralela en este momento) que debería ser muy rápida, capaz de hacer 20.000 operaciones por segundo. Señalaron que el problema persistente en la construcción de tal máquina estaba en el desarrollo de una memoria adecuada, todos los contenidos de los cuales fueron instantáneamente accesibles, y al principio se sugirió el uso de un tubo especial -llamado Selectron- que había sido inventado por los laboratorios de Princeton de la RCA. 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]]
43 ⟶ 151 lerroa:
[[it:Architettura di von Neumann]]
[[ja:ノイマン型]]
[[ko:�?� 노이만노�?�만 구조]]
[[la:Architectura von Neumann]]
[[lv:Fon Neimana arhitektūra]]
51 ⟶ 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:冯·诺伊曼结构]]