Arquitectura de Von Neumann

Arquitectura de von Neumann Memory Control Unit Arithmetic Logic Unit Accumulator Input Output Diagrama de la arqui

Views 112 Downloads 0 File size 165KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Arquitectura de von Neumann Memory

Control Unit

Arithmetic Logic Unit Accumulator

Input

Output

Diagrama de la arquitectura Von Neumann. Diagrama de la arquitectura Von Neumann.

de botella Von Neumann y muchas veces limita el rendimiento del sistema.[3] El diseño de una arquitectura Von Neumann es más simple que la arquitectura Harvard más moderna, que también es un sistema de programa almacenado, pero tiene un conjunto dedicado de direcciones y buses de datos para leer datos desde memoria y escribir datos en la misma, y otro conjunto de direcciones y buses de datos para ir a buscar instrucciones. Un computador digital de programa almacenado es una que mantiene sus instrucciones de programa, así como sus datos, en memoria de acceso aleatorio (RAM) de lecturaescritura. Las computadoras de programa almacenado representaron un avance sobre los ordenadores controlados por programas de la década de 1940, como la Colossus y la ENIAC, que fueron programadas por ajustando interruptores e insertando parches, conduciendo datos de la ruta y para controlar las señales entre las distintas unidades funcionales. En la gran mayoría de las computadoras modernas, se utiliza la misma memoria tanto para datos como para instrucciones de programa, y la distinción entre Von Neumann vs. Harvard se aplica a la arquitectura de memoria caché, pero no a la memoria principal.

Diagrama de la arquitectura Von Neumann.

La arquitectura Von Neumann, también conocida como modelo de Von Neumann o arquitectura Princeton, es una arquitectura de computadoras basada en la descrita en 1945 por el matemático y físico John von Neumann y otros, en el primer borrador de un informe sobre el EDVAC.[1] Este describe una arquitectura de diseño para un computador digital electrónico con partes que constan de una unidad de procesamiento que contiene una unidad aritmético lógica y registros del procesador, una unidad de control que contiene un registro de instrucciones y un contador de programa, una memoria para almacenar tanto datos como instrucciones, almacenamiento masivo externo, y mecanismos de entrada y salida.[1][2] El significado ha evolucionado hasta ser cualquier computador de programa almacenado en 1 Historia el cual no pueden ocurrir una extracción de instrucción y una operación de datos al mismo tiempo, ya que com- Las primeras máquinas de computación tenían prograparten un bus en común. Esto se conoce como el cuello mas fijos. Algunos equipos muy simples siguen utilizan1

2

2

DESARROLLO DEL CONCEPTO DE PROGRAMA ALMACENADO

do este diseño, ya sea por motivos de simplificación o de formación. Por ejemplo, una calculadora de escritorio es (en principio) una computadora de programa fijo. En ella, se pueden hacer matemáticas básicas, pero no puede ser utilizada como procesador de texto o consola de juegos. Cambiar el programa de una máquina de programa fijo requiere re cablear, reestructurar, o re diseñar la máquina. Las primeras computadoras no eran tanto “programadas” ya que fueron “diseñadas”."Reprogramar” cuando era posible, era un proceso laborioso que comenzaba con diagramas de flujo y notas de papel, seguido de diseños detallados de ingeniería y luego el muchas veces arduo proceso de recablear físicamente y reconstruir la máquina. Podía tomar hasta tres semanas preparar un programa de ENIAC y conseguir que funcionara.[4] Esa situación cambió con la propuesta de la computadora con programa almacenado. Una computadora de programa almacenado incluye, por diseño, un conjunto de instrucciones y puede almacenar en la memoria un conjunto de instrucciones (un programa) que detalla la computación. Un diseño de programa almacenado también permite un código mutante. Una primera motivación para una instalación de este tipo fue la necesidad de que un programa incremente o modifique de otro modo la porción de dirección de instrucciones, lo cual, en los primeros diseños, tenía que hacerse manualmente. Esto llegó a ser menos importante cuando los registros índice y modos de direccionamiento se convirtieron en características habituales de la arquitectura de la máquina. Otro uso fue para incrustar datos frecuentemente usados en el flujo de instrucciones utilizando direccionamiento inmediato. El código mutante ha caído en gran parte en desuso, ya que suele ser difícil de entender y de depurar, además de ser ineficiente, en favor de los regímenes de los modernos procesadores pipelines y del almacenamiento en caché. A gran escala, la capacidad para tratar a las instrucciones de la misma forma que si fueran datos es lo que hacen los ensambladores, compiladores, enlazadores, cargadores, y otras posibles herramientas automáticas de programación. Se puede “escribir programas que escriban programas”. En una escala menor, las intensivas operaciones repetitivas de E/S –como los primeros manipuladores de imágenes BitBLT o los sombreadores de píxeles y vértices en los gráficos 3D modernos–, se consideraron ineficaces al funcionar sin necesidad de hardware personalizado. Estas operaciones podrían acelerarse en los procesadores de propósito general con tecnología de “compilación mosca” ("compilación en tiempo de ejecución"), por ejemplo, programas de código generado, una forma de código automodificable que ha mantenido popularidad. Hay algunas desventajas para el diseño de Von Neumann. Aparte del cuello de botella de Von Neumann descripto a continuación, las modificaciones del programa pueden ser muy perjudiciales, ya sea por accidente o por diseño. En algunos diseños simples de computadora con progra-

ma almacenado, un programa que no funcione correctamente puede dañarse, dañar a otros programas, o inclusive al sistema operativo, lo que puede dar lugar a un desplome o crash de la computadora. Normalmente, la protección de memoria y otras formas de control de acceso pueden proteger tanto de modificaciones accidentales como de programas maliciosos.

2 Desarrollo del concepto de programa almacenado 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 Entscheidungsproblem, que fue publicado en los Proceedings of the London Mathematical Society.[5] En él describía una máquina hipotética que llamó “máquina computadora universal”, y que ahora es conocida como la "Máquina de Turing universal". 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. John Von Neumann conoció a Turing cuando ejercía de profesor sustituto en Cambridge en 1935 y también durante el año PhD que Turing pasó en la Institute for Advanced Study en Princeton, Nueva Jersey durante 1936-37. Cuándo supo del artículo de 1936 de Turing no está claro. En 1936, Konrad Zuse también anticipó en dos solicitudes de patente que instrucciones de la máquina podían ser almacenadas en el mismo almacenamiento utilizado para los datos.[6] 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. En enero de 1944, mientras diseñaba una nueva máquina, EDVAC, Eckert escribió que se almacenarían datos y programas en un nuevo dispositivo de memoria direccionable, una memoria de línea de retardo. Ésta fue la primera vez que se propuso la construcción de un práctico programa almacenado. Por esas fechas, no tenían conocimiento del trabajo de Turing. Von Neumann estaba involucrado en el Proyecto Manhattan en el Laboratorio Nacional Los Álamos, 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

3 compañero Herman Goldstine lo hizo circular con sólo el nombre de von Neumann escrito en él, para consternación de Eckert y Mauchly. El artículo fue leído por docenas de compañeros de trabajo de Von Neumann en América y Europa, e influenció la siguiente hornada de diseños de computadoras.

“arquitectura von Neumann”. En la publicación de 1953 Faster than Thought: A Symposium on Digital Computing Machines (Más rápido que el pensamiento: Un Simposio sobre Máquinas informáticas digitales -editado por BV Bowden-), una sección en el capítulo sobre Computers in America (Computadoras en América) dice lo [10] Por lo tanto, Von Neumann no se encontraba solo en el siguiente: desarrollo de la idea de la arquitectura de programa alLa Máquina del Instituto de Estudios macenado, y Jack Copeland considera que es “históricaAvanzados, Princeton mente inapropiado referirse a las computadoras electrónicas digitales de programa almacenado como 'máquinas En 1945, el profesor J. von Neumann, que de von Neumann'".[7] Su colega del colegio Los Álamos, en ese entonces trabajaba en la Escuela MooStan Frankel dijo de las consideraciones de von Neumann re de Ingeniería en Filadelfia, donde se había con respecto a las ideas de Turing: construido el ENIAC, emitido en nombre de un grupo de sus compañeros de trabajo un inSé que en o alrededor de 1943 o '44 von forme sobre el diseño lógico de las compuNeumann era muy consciente de la importantadoras digitales. El informe contenía una procia fundamental del papel de 1936 de Turing... puesta bastante detallada para el diseño de la Von Neumann me introdujo a ese papel y en su máquina que, desde entonces, se conoce coinsistencia lo estudié con cuidado. Muchas permo la EDVAC (computadora de retardo variasonas han aclamado a von Neumann como el ble discreta). Esta máquina ha sido reciente“padre de la computadora” (en el sentido momente completada en América, pero el inforderno del término), pero estoy seguro de que me von Neumann inspiró la construcción de la nunca habría hecho que el propio error. Él bien EDSAC (calculadora automática de almacenapodría haberse llamado tal vez la partera, pemiento electrónico de retardo) en Cambridge ro con firmeza enfatizó para mí, y para otros, (véase página 130). que estoy seguro, que la concepción fundamental se debe a Turing—en la medida en que no En 1947, Burks, Goldstine y Von Neuanticipado por Babbage... Por supuesto, tanto mann, publicaron un informe en el que descriTuring como von Neumann también hicieron ben el diseño de otro tipo de máquina (una máimportantes contribuciones a la “reducción a la quina paralela en este momento) que debería práctica” de estos conceptos, pero yo no conser muy rápida, capaz de hacer 20 000 operasideraría esto como comparable en importanciones por segundo. Señalaron que el problema cia con la introducción y explicación del conpersistente en la construcción de tal máquina cepto de una computadora capaz de almacenar estaba en el desarrollo de una memoria adeen su memoria su programa de actividades y cuada, todos los contenidos de los cuales fuede modificar ese programa en el curso de estas ron instantáneamente accesibles, y al principio actividades[8] se sugirió el uso de un tubo especial –llamado Selectron– que había sido inventado por los laEn el mismo momento en que el informe “Primer Borraboratorios de Princeton de la RCA. Estos tudor” fue distribuido, Turing desarrolló un informe técnibos son caros y difíciles para fabricar, así Von co detallado, Proposed Electronic Calculator, que descriNeumman decidió construir una máquina babe en detalle la ingeniería y la programación, su idea de sada en la memoria de Williams. Esa máquina una máquina que fue llamada la Automatic Computing que se completó en junio de 1952 en Princeton Engine (ACE).[9] Presentó éste al Laboratorio Nacional se ha conocido como MANIAC I. El diseño de de Física Británico el 19 de febrero de 1946. A pesar de esta máquina que ha sido inspirado de una doque Turing sabía por su experiencia de guerra en el Parcena o más de máquinas que están actualmente que Bletchley que su propuesta era factible, el secretismo en construcción en América. mantenido durante muchas décadas acerca de los ordenadores Colossus le impidió manifestarlo. Se produjeron En el mismo libro, los dos primeros párrafos de un capívarias implementaciones del diseño ACE de forma exito- tulo sobre ACE dicen lo siguiente:[11] sa. Los trabajos tanto de von Neumann como de Turing, describían computadoras 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

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

4

5 PRIMERAS COMPUTADORAS BASADAS EN ARQUITECTURA VON NEUMANN 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, en un papel1 leído ante la Sociedad Matemática de Londres en 1936, 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 preliminar fue lo suficientemente avanzada como para justificar el establecimiento del grupo especial ya mencionado. En abril de 1948, estos últimos pasaron a estar en la sección de electrónica del laboratorio, bajo el cargo del Sr. F. M. Colebrook.

3

Definición formal

Las computadoras son máquinas de arquitectura von Neumann cuando: 1. Tanto los programas como los datos se almacenan en una memoria en común. Esto hace posible la ejecución de comandos de la misma forma que los datos.

4 Estructura clásica de las máquinas von Neumann Una máquina Von Neumann, al igual que prácticamente todos los computadores modernos de uso general, consta de cuatro componentes principales: 1. Dispositivo de operación (DO), que ejecuta instrucciones de un conjunto especificado, llamado sistema (conjunto) de instrucciones, sobre porciones de información almacenada, separada de la memoria del dispositivo operativo (aunque en la arquitectura moderna el dispositivo operativo consume más memoria -generalmente del banco de registros-), en la que los operandos son almacenados directamente en el proceso de cálculo, en un tiempo relativamente corto 2. Unidad de control (UC), que organiza la implementación consistente de algoritmos de decodificación de instrucciones que provienen de la memoria del dispositivo, responde a situaciones de emergencia y realiza funciones de dirección general de todos los nodos de computación. Por lo general, el DO y la UC conforman una estructura llamada CPU. Cabe señalar que el requisito es consistente, el orden de la memoria (el orden del cambio de dirección en el contador de programa) es fundamental a la hora de la ejecución de la instrucción. Por lo general, la arquitectura que no se adhiere a este principio no se considera von Neumann 3. Memoria del dispositivo — un conjunto de celdas con identificadores únicos (direcciones), que contienen instrucciones y datos. 4. Dispositivo de E/S (DES), que permite la comunicación con el mundo exterior de los computadores, son otros dispositivos que reciben los resultados y que le transmiten la información al computador para su procesamiento.

2. Cada celda de memoria de la máquina se identifica con un número único, llamado dirección.

5 Primeras computadoras basadas en arquitectura von Neumann

3. Las diferentes partes de la información (los comandos y los datos) tienen diferente modos de uso, pero la estructura no se representa en memoria de manera codificada.

La primera saga se basaba en un diseño que fue utilizado por muchas universidades y empresas para construir sus computadoras.[12] Entre estas, solo ILLIAC y ORDVAC tenían un conjunto de instrucciones compatible.

4. Cada programa se ejecuta de forma secuencial que, en el caso de que no haya instrucciones especiales, comienza con la primera instrucción. Para cambiar esta secuencia se utiliza el comando de control de transferencia.

• Máquina Experimental de Pequeña Escala de Mánchester (SSEM), apodada “Baby” (Universidad de Mánchester, Inglaterra) hizo su primera ejecución exitosa de un programa almacenado el 21 de junio de 1948.

5 • EDSAC (Universidad de Cambridge, Inglaterra) fue el primer computador electrónico práctico de programa almacenado (mayo de 1949) • Manchester Mark I (Universidad de Mánchester, Inglaterra) Desarrollado a partir de la SSEM (junio de 1949) • CSIRAC (Consejo de Investigación Científica e Industrial) Australia (noviembre de 1949) • EDVAC (Laboratorio de Investigación Balística, Laboratorio de Informática de Aberdeen Proving Ground, 1951) • ORDVAC (U-Illinois) en Aberdeen Proving Ground, Maryland (completado en noviembre de 1951)[13] • IAS machine en Princeton University (enero 1952) • MANIAC I en Laboratorio Científico Los Álamos (marzo de 1952) • ILLIAC en la Universidad de Illinois, (septiembre de 1952) • AVIDAC en Laboratorios Argonne National (1953) • ORACLE en Laboratorio Nacional de Oak Ridge (junio de 1953) • JOHNNIAC en RAND Corporation (enero de 1954) • BESK en Estocolmo (1953) • BESM-1 en Moscú (1952)

leídas desde una cinta de papel debido a su memoria limitada.[15] • La Manchester SSEM (la bebé) fue la primera computadora completamente electrónica que ejecutaba un programa almacenado. Se corrió un programa de factoraje durante 52 minutos el 21 junio de 1948, después de ejecutar un simple programa de división y un programa para demostrar que dos números eran primos entre sí. • La ENIAC fue modificada para funcionar como un computador primitivo con programa almacenado de solo lectura (usando la tabla de funciones de programa ROM) y se demostró como tal el 16 de septiembre de 1948, ejecutando un programa de Adele Goldstine para von Neumann. • La BINAC corrió algunos programas de prueba en febrero, marzo y abril de 1949, aunque no se terminó hasta septiembre de 1949. • La Manchester Mark I desarrollada basada en el proyecto SSEM. En abril de 1949, con el fin de para ejecutar programas, se hizo disponible una versión intermedia de la Mark 1, pero no se terminó hasta octubre de 1949. • La EDSAC corrió su primer programa el 6 de mayo de 1949. • La EDVAC fue presentada en agosto de 1949, pero tuvo problemas que la mantenía de su puesta en funcionamiento regular hasta 1951.

• DASK en Dinamarca (1955)

• La CSIR Mark I corrió su primer programa en noviembre de 1949.

• PERM en Múnich (1956?)

• La SEAC fue demostrada en abril de 1950.

• SILLIAC en Sídney (1956)

• La Pilot ACE corrió su primer programa el 10 de mayo 1950 y fue demostrada en diciembre de 1950

• WEIZAC en Rehovoth (1955)

• La SWAC se completó en julio de 1950.

6

Primeras computadoras de programa almacenado

• La Computadora Whirlwind se completó en diciembre de 1950 y estuvo en uso real en abril de 1951. • La ERA 1101 (más tarde la ERA 1101/UNIVAC 1101 comercial) se instaló en diciembre de 1950.

La información de la fecha en la siguiente cronología es difícil de establecer en el orden correcto. Algunas fechas son de la primera ejecución de un programa de pruebas, algunas fechas son de la primera vez que el equipo se de- 7 Evolución mostró o completó, y algunas fechas son de la primera entrega o instalación. A lo largo de las décadas de los años 1960 y 1970, las computadoras hicieron, en general, tanto más pequeñas • La IBM SSEC tenía la capacidad para tratar instruc- como rápidas, lo que llevó a algunas evoluciones en su arciones como datos, y se demostró públicamente el quitectura. Por ejemplo, el mapeado en memoria de E/S 27 de enero de 1948. Esta capacidad fue reivindi- permitió que los dispositivos de entrada y salida sean tracada en una patente estadounidense.[14] Sin embar- tados de la misma como la memoria.[16] Un único bus de go, fue parcialmente electromecánica, no totalmen- sistema podría ser utilizado para proporcionar un sistema te electrónica. En la práctica, las instrucciones eran modular con un menor coste. A veces esto se denomina

6

10 VÉASE TAMBIÉN

Memory

Control bus Address bus Data bus

System bus

CPU

Evolución de la arquitectura del bus simple del sistema

“racionalización” de la arquitectura.[17] En las décadas siguientes, los microcontroladores sencillos serían algunas veces omitir características del modelo a menor costo y tamaño. Las computadoras más grandes añaden características para un mayor rendimiento.

8

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.»[18][19]

Input and Output

Cuello de botella de von Neumann (von Neumann bottleneck)

El canal de transmisión de los datos compartido entre CPU y memoria genera un cuello de botella de Von Neumann, un rendimiento limitado (tasa de transferencia de datos) entre la CPU y la memoria en comparación con la cantidad de memoria. 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. Puesto a que la velocidad de procesamiento y la cantidad de memoria han aumentado mucho más rápidamente que el rendimiento de transferencia entre ellos, el cuello de botella ha vuelto más que un problema, un problema cuya gravedad aumenta con cada nueva generación de CPU.

El problema de rendimiento puede ser aliviado (hasta cierto punto) utilizando diversos mecanismos. Ofreciendo una memoria caché entre la CPU y la memoria principal, proporcionando cachés separadas o vías de acceso independientes para datos e instrucciones (la llamada arquitectura Harvard modificada), utilizando algoritmos y lógica de predictor de saltos y proporcionando una limitada pila de CPU u otro en el chip de memoria reutilizable para reducir el acceso a memoria, son cuatro de las maneras que se dispone para aumentar el rendimiento. El problema también se puede eludirse, cierta medida, usando computación paralela, utilizando por ejemplo la arquitectura de acceso a memoria no uniforme (NUMA), —este enfoque es comúnmente empleado por las supercomputadoras. Está menos claro si el cuello de botella intelectual que criticaba Backus ha cambiado mucho desde 1977. La solución que propuso Backus no ha tenido influencia importante.[cita requerida] La moderna programación funcional y la programación orientada a objetos se preocupan mucho menos de “empujar un gran número de palabras hacia un lado a otro” que los lenguajes anteriores como era Fortran, pero internamente, esto sigue siendo lo que las computadoras pasan gran parte del tiempo haciendo, incluso las supercomputadoras altamente paralelas. A partir de 1996, un estudio de referencia de base de datos se encontró que tres de cada cuatro ciclos de CPU se dedican a la espera de memoria. Los investigadores esperan que el aumento del número de instrucciones simultáneas arroye con el multihilo o el multiprocesamiento de un solo chip hará que este cuello de botella aún peor. [20]

9 Procesadores no von Neumann

El National Semiconductor (Semiconductor nacional) El término “cuello de botella de von Neumann” fue acu- COP8 se introdujo en 1986; tiene una arquitectura Har[21][22] ñado por John Backus en su conferencia de la concesión vard modificada. del Premio Turing ACM de 1977. Según Backus: Tal vez el tipo más común de estructura no von Neumann «Seguramente debe haber una manera menos primitiva de realizar grandes cambios en la memoria, que empujando tantas palabras hacia un lado y otro del cuello de botella de von Neumann. No solo 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

se utiliza en las computadoras modernas es la memoria de contenido direccionable (CAM).

10 Véase también •

Portal:Informática. Contenido relacionado con Informática.

11.1



General

Wikimedia Commons alberga contenido multimedia sobre Arquitectura de von Neumann. Commons

• Arquitectura Harvard • Little man computer • Máquina de Turing

11

Referencias

[1] von Neumann, John (1945), First Draft of a Report on the EDVAC (pdf) (en inglés), archivado desde el original el 14 de marzo de 2013, consultado el 24 de agosto de 2011 [2] Ganesan, 2009 [3] Markgraf, Joey D. (2007), The Von Neumann bottleneck (en inglés), archivado desde el original el 25 de noviembre de 2015, consultado el 24 de agosto de 2011 [4] Copeland, 2006, p. 104 [5] Turing, A.M. (1936), «On Computable Numbers, with an Application to the Entscheidungsproblem», Proceedings of the London Mathematical Society, 2 (1937) 42: 230-65, doi:10.1112/plms/s2-42.1.230 (y Turing, A.M. (1938), «On Computable Numbers, with an Application to the Entscheidungsproblem. A correction», Proceedings of the London Mathematical Society, 2 (1937) 43 (6): 5446, doi:10.1112/plms/s2-43.6.544) [6] «Electronic Digital Computers», Nature (en inglés) 162, 25 de setiembre de 1948: 487, doi:10.1038/162487a0, consultado el 10 de abril de 2009 [7] Copeland, Jack (2000), A Brief History of Computing: ENIAC and EDVAC (en inglés), consultado el 27 de enero de 2010 [8] Copeland, Jack (2000), A Brief History of Computing: ENIAC and EDVAC (en inglés), consultado el 27 de enero de 2010 que cita Randell, B. (1972), «On Alan Turing and the Origins of Digital Computers», en Meltzer, B.; Michie, D., Machine Intelligence 7 (en inglés) (Edinburgh: Edinburgh University Press): 10, ISBN 0-902383-26-4 [9] Copeland, 2006, pp. 108–111

7

[15] Herbert R.J. Grosch (1991), Computer: Bit Slices From a Life (en inglés), Third Millennium Books, ISBN 0-88733085-1 [16] C. Gordon Bell; R. Cady; H. McFarland; J. O'Laughlin; R. Noonan; W. Wulf (1970), «A New Architecture for MiniComputers—The DEC PDP-11», Spring Joint Computer Conference (en inglés): 657-675. [17] Linda Null; Julia Lobur (2010), The essentials of computer organization and architecture (en inglés) (3ra edición), Jones & Bartlett Learning, pp. 36,199-203, ISBN 978-14496-0006-8 [18] Backus, John W.. Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs (en inglés). doi:10.1145/359576.359579. [19] Dijkstra, Edsger W.. «E. W. Dijkstra Archive: A review of the 1977 Turing Award Lecture» (en inglés). Consultado el 11 de julio de 2008. [20] Richard L. Sites, Yale Patt. “Architects Look to Processors of Future”. Microprocessor report. 1996. (en inglés) [21] «COP8 Basic Family User’s Manual» (en inglés). National Semiconductor. Archivado desde el original el 25 de noviembre de 2015. Consultado el 20 de enero de 2012. [22] «COP888 Feature Family User’s Manual» (en inglés). National Semiconductor. Archivado desde el original el 25 de noviembre de 2015. Consultado el 20 de enero de 2012.

11.1 General •

12 Enlaces externos • Harvard vs von Neumann (en inglés) • Una herramienta que emula el comportamiento de una máquina de von Neumann (en inglés) • JOHNNY – Un sencillo simulador de código abierto de una máquina de von Neumann para fines educativos (en inglés)

[10] Bowden, 1953, pp. 176,177

• Descripción de la arquitectura von Neumann

[11] Bowden, 1953, p. 135

• Esta obra contiene una traducción total y ampliada derivada de Von Neumann architecture de Wikipedia en inglés, concretamente de esta versión, publicada por sus editores bajo la Licencia de documentación libre de GNU y la Licencia Creative Commons Atribución-CompartirIgual 3.0 Unported.

[12] «Electronic Computer Project» (en inglés). Institute for Advanced Study. Consultado el 16 de mayo de 2011. [13] James E. Robertson (1955), Illiac Design Techniques (en inglés), report number UIUCDCS-R-1955-146, Digital Computer Laboratory, University of Illinois at UrbanaChampaign [14] F.E. Hamilton, R.R. Seeber, R.A. Rowley, and E.S. Hughes (19 de enero de 1949). «Selective Sequence Electronic Calculator». US Patent 2,636,672. Consultado el 28 de abril de 2011. Publicado el 28 de abril 1953.

8

13 ORIGEN DEL TEXTO Y LAS IMÁGENES, COLABORADORES Y LICENCIAS

13 13.1

Origen del texto y las imágenes, colaboradores y licencias Texto

• Arquitectura de von Neumann Fuente: https://es.wikipedia.org/wiki/Arquitectura_de_von_Neumann?oldid=94405459 Colaboradores: PACO, Moriel, Hardcoded, ManuelGR, Neumotoraxiv, Sanbec, Interwiki, Jynus, Sms, Rsg, Jsanchezes, Cárdenas, Geom, Porao, 142857, Muijz, Desatonao, Renabot, Edmont, Rembiapo pohyiete (bot), Magister Mathematicae, Charlitos, Orgullobot~eswiki, RobotQuistnix, Chobot, Palica, Deprieto, Yrbot, BOT-Superzerocool, YurikBot, Olea, Echani, GermanX, KnightRider, Paintman, Jstitch, BOTpolicia, CEM-bot, Laura Fiorucci, Ignacio Icke, Pacostein, Roberpl, Ingenioso Hidalgo, Thijs!bot, DFTDER, CesarWoopi, RoyFocker, Botones, Isha, Xoneca, Dogor, Mansoncc, TXiKiBoT, Bot-Schafter, Netito777, Bucephala, AlnoktaBOT, Cinevoro, VolkovBot, Urdangaray, Technopat, Galandil, Matdrodes, Muro Bot, Edmenb, BotMultichill, Kur4i, SieBot, Drinibot, STBot~eswiki, Mutari, Marcecoro, HMBot, HUB, Antón Francho, Alejandrocaro35, Botito777, Solfa, Poco a poco, Raulshc, UA31, AVBOT, LucienBOT, MastiBot, Diegusjaimes, Arjuno3, Luckas-bot, FariBOT, Yonidebot, William1509, ArthurBot, Necaxista, SuperBraulio13, Xqbot, Jkbw, Irbian, Ricardogpn, Botarel, Rojasyesid, 8davito8, Halfdrag, RedBot, Estibaliz tm, David strigoi, Snaow, Dexa~eswiki, PatruBOT, Fernandez1, Oussa007, Ihssanos, Tarawa1943, Edslov, EmausBot, Sergio Andres Segovia, El Ayudante, Chopinzone, Bean49Bot, WikitanvirBot, MetroBot, Invadibot, Elvisor, Helmy oved, Rauletemunoz, Miguel2706, Adriberve, Addbot, Pepetu, JanikMaC, Jarould, Bruno Rene Vargas, Crystallizedcarbon, BenjaBot, NinoBot, ElPenetrador222, CAPTAIN RAJU, Rafacortes888 y Anónimos: 159

13.2

Imágenes

• Archivo:Arquitecturaneumann.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/5/50/Arquitecturaneumann.jpg Licencia: Public domain Colaboradores: Trabajo propio Artista original: David strigoi • Archivo:Commons-logo.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/4/4a/Commons-logo.svg Licencia: Public domain Colaboradores: This version created by Pumbaa, using a proper partial circle and SVG geometry features. (Former versions used to be slightly warped.) Artista original: SVG version was created by User:Grunt and cleaned up by 3247, based on the earlier PNG version, created by Reidab. • Archivo:Computer-aj_aj_ashton_01.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/d/d7/Desktop_computer_clipart_ -_Yellow_theme.svg Licencia: CC0 Colaboradores: https://openclipart.org/detail/17924/computer Artista original: AJ from openclipart.org • Archivo:Computer_system_bus.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/6/68/Computer_system_bus.svg Licencia: CC BY-SA 3.0 Colaboradores: Trabajo propio, based on a diagram which seems to in turn be based on page 36 of The Essentials of Computer Organization and Architecture By Linda Null, Julia Lobur, http://books.google.com/books?id=f83XxoBC_8MC&pg=PA36 Artista original: W Nowicki • Archivo:Von_Neumann_Architecture.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/e/e5/Von_Neumann_ Architecture.svg Licencia: CC BY-SA 3.0 Colaboradores: Trabajo propio Artista original: Kapooht • Archivo:Von_Neumann_architecture.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/8/84/Von_Neumann_ architecture.svg Licencia: CC-BY-SA-3.0 Colaboradores: ? Artista original: ?

13.3

Licencia del contenido

• Creative Commons Attribution-Share Alike 3.0