0% encontró este documento útil (0 votos)
744 vistas7 páginas

Arquitectura de Von Neumann

La arquitectura de von Neumann también conocida como modelo de Von Neumann o arquitectura Princeton, es una familia de arquitecturas de computadoras que utilizan el mismo dispositivo de almacenamiento tanto para las instrucciones como para los datos (a diferencia de la arquitectura Harvard).

Cargado por

Adrian Alfredo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
744 vistas7 páginas

Arquitectura de Von Neumann

La arquitectura de von Neumann también conocida como modelo de Von Neumann o arquitectura Princeton, es una familia de arquitecturas de computadoras que utilizan el mismo dispositivo de almacenamiento tanto para las instrucciones como para los datos (a diferencia de la arquitectura Harvard).

Cargado por

Adrian Alfredo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Introduccin

Hoy en da tenemos bastante claro que el "cerebro" de un ordenador es el


procesador (CPU), ntimamente ligado a la memoria principal.
No obstante, no siempre fue as en la historia de la computacin y los primeros
computadores. A sta forma de organizar el funcionamiento de los ordenadores le
llamamos "Arquitectura de Von Neumann" por el matemtico John Von Neumann.
Segn parece, Von Neumann no plasm una idea totalmente original, pues con
anterioridad, ya hablaban de ella otros investigadores, sin embargo, esa manera
de construir ordenadores ha llegado hasta nuestros das ntimamente ligada a su
nombre.
La idea nos es muy familiar, bsicamente, consiste en utilizar un procesador que
sea capaz de leer y escribir en una memoria, en la cual se almacenan una serie de
rdenes o instrucciones para ese procesador y tambin los datos necesarios para
realizar esas rdenes.
Sabemos que eran ordenadores lentos y pesados... pero para la poca suponan
todo un alarde tecnolgico. Se acababa de "inventar" una nueva disciplina: la
electrnica digital... es decir, la electrnica que mediante unos componentes que
trabajaban con valores discretos, eran capaces de realizar operaciones aritmticas
y lgicas... Se haba construido todo tipo de circuitos que eran capaces de sumar,
restar, etc... Utilizando la electricidad para representar nmeros.
Los datos de entrada y los resultados de salida de ese rudimentario programa
cableado se almacenaban en algn tipo de memoria (tarjetas perforadas, etc)...
pero el "programa" no estaba realmente almacenado... el programa (o al menos
una buena parte) dependa del recableado de los circuitos.
En ese sentido, ya estaba claro que el siguiente paso no tener que re cablear. Era
obvio que lo siguiente por hacer tena que pasar por almacenar de alguna manera
una secuencia de operaciones que llevaran a la resolucin de los clculos... una
forma de utilizar los circuitos aritmticos y lgicos en secuencia, uno tras otro...
segn correspondiera para obtener los clculos deseados.
La idea de la arquitectura de Von Neumann es esta utilizar una sola memoria, en
la cual se almacene ese programa en forma de instrucciones (codificadas
numricamente), acompaadas de la localizacin de los operandos o datos
necesarios para llevar a cabo esa instruccin. La localizacin de los operandos, es
decir, el lugar donde deben guardarse los valores y los resultados tambin estar
en la misma memoria.
La idea ha evolucionado hasta nuestros das con el mismo esquema bsico,
aunque lgicamente, con un nivel de complejidad mucho mayor.

Arquitectura de Von Neumann


La arquitectura de von Neumann tambin conocida como modelo de Von
Neumann o arquitectura Princeton, es una familia de arquitecturas de
computadoras que utilizan el mismo dispositivo de almacenamiento tanto para las
instrucciones como para los datos (a diferencia de la arquitectura Harvard).
La mayora de computadoras modernas estn basadas en esta arquitectura,
aunque pueden incluir otros dispositivos adicionales, (por ejemplo, para gestionar
las interrupciones de dispositivos externos como ratn, teclado, etc).
El nacimiento de la arquitectura Von Neumann surge a raz de una colaboracin
en el proyecto ENIAC del matemtico de orgen hngaro, John Von Neumann.
Este trabajaba en 1947 en el laboratorio atmico de Los Alamos cuando se
encontr con uno de los constructores de la ENIAC. Compaero de Einstein,
Goedel y Turing en Princeton, Von Neumann se interes por el problema de la
necesidad de "recablear" la mquina para cada nueva tarea.
En 1945 aproximadamente, se construye una computadora basada en el uso de
tecnologa de bulbos denominada ENIAC ("Electronic Numerical Intergator and
Calculator"), que pesaba cerca de 30,000 Kg, se instal en una gran habitacin y
requiri de gran ventilacin. Bien, esta gran mquina funcionaba a base de estar
conectando y desconectando cables segn la funcin que se quera que realizara,
esta funcin de "recablear", es sinnimo de programar pero era muy complicado el
proceso.
El modelo es una evolucin de mquina analtica propuesta por Charles Babbage
en 1834, donde los programas se introducan cableando manualmente las
conexiones entre las distintas partes del ordenador, ofreciendo muy poca
flexibilidad.
En 1949 Von Neumann haba encontrado y desarrollado la solucin a este
problema, consiste en conectar permanentemente las unidades de la
computadora, de modo que todo el ordenador est coordinado por un control
central. Para evitar tener que cablear las unidades cada vez que se quera
ejecutar un nuevo programa, se ide un mtodo donde tanto las instrucciones que
forman los programas como los datos que utilizan stos se almacenan en una
memoria y poner la informacin sobre las operaciones a realizar en la misma
memoria utilizada para los datos, escribindola de la misma forma, es decir en
cdigo binario. Su "EDVAC" fue el modelo de las computadoras de este tipo. Se
habla desde entonces de la "arquitectura de Von Neumann", aunque tambin
dise otras formas de construccin. El primer computador comercial construido
en esta forma fue el UNIVAC 1, fabricado en 1951 por la Sperry-Rand Corporation
y comprado por la Oficina del Censo de Estados Unidos.

El trmino arquitectura de Von Neumann se acu a partir del memorando First


Draft of a Report on the EDVAC (1945) escrito por el conocido matemtico John
von Neumann en el que se propona el concepto de programa almacenado. Dicho
documento fue redactado en vistas a la construccin del sucesor de la
computadora ENIAC y su contenido fue desarrollado por John Presper Eckert,
John William Mauchly, Arthur Burks y otros durante varios meses antes de que von
Neumann redactara el borrador del informe. Es por ello que otros tecnlogos como
David A. Patterson y John L. Hennessy promueven la sustitucin de este trmino
por el de arquitectura Eckert-Mauchly.
Las computadoras con arquitectura Von Neumann se refiere a las arquitecturas de
computadoras que utilizan el mismo dispositivo de almacenamiento tanto para las
instrucciones como para los datos
Este describe una arquitectura de diseo para un computador digital electrnico
con partes que constan de una unidad de procesamiento que contiene una unidad
aritmtico lgica 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. El significado ha evolucionado hasta ser cualquier computador
de programa almacenado en el cual no pueden ocurrir una extraccin de
instruccin y una operacin de datos al mismo tiempo, ya que comparten un bus
en comn. Esto se conoce como el cuello de botella Von Neumann y muchas
veces limita el rendimiento del sistema.
El diseo de una arquitectura Von Neumann es ms simple que la arquitectura
Harvard ms moderna, que tambin 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 lectura-escritura. Las computadoras de programa almacenado
representaron un avance sobre los ordenadores controlados por programas de la
dcada 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 seales entre las distintas unidades funcionales. En la gran mayora
de las computadoras modernas, se utiliza la misma memoria tanto para datos
como para instrucciones de programa, y la distincin entre Von Neumann vs.
Harvard se aplica a la arquitectura de memoria cach, pero no a la memoria
principal.

Los ordenadores con arquitectura Von Neumann constan de las siguientes partes:

Memoria principal: se emplea para almacenar datos o instrucciones, cada celda


est compuesta de un nmero de bits que nos da el ancho de palabra de la
memoria.
Unidad aritmtico-lgica (ALU): permite realizar las operaciones elementales
(AND, OR, NAND, NOR, suma, resta, etc.). Estas operaciones las realiza con
datos procedentes normalmente de la memoria y los resultados parciales los
almacena o no temporalmente en algunos registros que suele tener la propia
unidad aritmtica.
Unidad de control: es la unidad que gobierna y gestiona el comportamiento de una
computadora.
Dispositivo de entrada/salida: realiza la transferencia de informacin con el
exterior, con las unidades que se conocen con el nombre de perifricos.
Buses de datos: circulan los datos de las operaciones que se va a efectuar.

Bus de direcciones: circulan las direcciones de memoria donde se


encuentra almacenado algn tipo de informacin a la que se desea
acceder.
Bus de control: circulan las seales de control generadas por la unidad de
control para la ejecucin de las instrucciones.

Es importante mencionar que lo anterior es un modelo bsico, no hay que olvidar


que tambin hacen falta otros elementos que no entran dentro de la clasificacin
de Neumann pero que tambin son importantes como la fuente de suministro de

electricidad y la placa base, adems de otros secundarios como la unidad de


soporte Hardware (gabinete), los ventiladores, etc.

Un ordenador con arquitectura Von Neumann realiza o emula los siguientes pasos
secuencialmente:

1) Obtiene la siguiente instruccin desde la memoria en la direccin indicada


por el contador de programa y la guarda en el registro de instruccin.

2) Aumenta el contador de programa en la longitud de la instruccin para


apuntar a la siguiente.

3) Descodifica la instruccin mediante la unidad de control. sta se encarga


de coordinar el resto de componentes del ordenador para realizar una
funcin determinada.

4) Se ejecuta la instruccin. sta puede cambiar el valor del contador del


programa, permitiendo as operaciones repetitivas. El contador puede
cambiar tambin cuando se cumpla una cierta condicin aritmtica,
haciendo que el ordenador pueda 'tomar decisiones', que pueden alcanzar
cualquier grado de complejidad, mediante la aritmtica y lgica anteriores.

5) Vuelve al paso N 1.

Conclusin
Las computadoras estn formadas por una estructura que data de los aos 40
pero que an sigue en la mayora de las PCs de la actualidad, nos referimos a la
arquitectura Von Neumann
Simple en su concepcin una memoria principal que contiene tanto instrucciones y
referencias a los operandos (el programa) como los propios operandos (los datos).
Por supuesto, hoy en da, el esquema se ha ido concretando con los componentes
funcionales de una CPU moderna: una unidad de control que lee las instrucciones
y los datos de la memoria principal y organiza el trabajo del resto de los
componentes de la CPU, una unidad aritmtico-lgica (ALU), que concentra todos
los circuitos que realizan operaciones aritmticas y lgicas, as como una serie de
registros (almacenes de datos en el interior de la CPU) que sirven como
almacenes temporales de datos para las operaciones que hace la ALU y sus
resultados, y otras tareas comunes, como saber por dnde se va ejecutando el
programa (Registro contador de programa -IP: Instruction Pointer-). Tambin es
necesaria una comunicacin con el mundo exterior ("el mundo real")...
esquematizada con los sistemas de Entrada/Salida capaces de traer y llevar datos
desde y hacia los dispositivos perifricos.

Bibliografa
(Arquitectura de la computadora, 2008) Se crea la una computadora basada en el
uso de tecnologa de bulbos denominada ENIAC, la cual explica su
funcionamiento a base de recablear. Que en 1947 Von Neumann ide una
solucin que evitara el "recablear".

(Arquitectura de Von Neumann, s.f.) Surge el nacimiento de la arquitectura de Von


Neumann raz de una colaboracin en el proyecto ENIAC. Von Neumann se
interes por el problema de la necesidad de "recablear" la mquina para cada
nueva tarea.

(Arquitectura de von Neumann, 2014) Este describe un computador digital


electrnico con partes que constan de una unidad de procesamiento que contiene
una unidad aritmtico lgica y registros del procesador, una memoria para
almacenar tanto datos como instrucciones.

(Arquitectura de Von Neumann y arquitectura Harvard, 2012) Se acababa de


"inventar" una nueva disciplina: la electrnica digital, eran capaces de realizar
operaciones aritmticas y lgicas... Se haban construido todo tipo de circuitos que
eran capaces de sumar, restar, etc... Utilizando la electricidad para representar
nmeros.

(Guzman Bonalde, s.f.) Los ordenadores con arquitectura Von Neumann constan
de las siguientes partes: La unidad aritmtico-lgica o ALU, la unidad de control, la
memoria, un dispositivo de entrada/salida y el bus de datos que proporciona un
medio de transporte de los datos entre las distintas partes.

Common questions

Con tecnología de IA

La arquitectura de Von Neumann resolvió la problemática del complejo 'recableado' necesario en los sistemas como el ENIAC cada vez que se necesitaba ejecutar una nueva tarea . Esto se logró al almacenar las instrucciones del programa y los datos en la misma memoria, eliminando así la necesidad de cablear manualmente las conexiones para cada nuevo programa, lo que ofrecía más flexibilidad y eficiencia en la ejecución de programas . Además, fue posible implementar un control central para coordinar las operaciones de toda la computadora, conectando permanentemente sus componentes .

La arquitectura de Von Neumann basa su concepto en utilizar un único dispositivo de almacenamiento tanto para instrucciones como para datos. Esta arquitectura permite que los programas sean almacenados en memoria junto con los datos que utilizan, y las instrucciones son codificadas numéricamente y almacenadas en la misma memoria que los operandos necesarios . El concepto original de Von Neumann nació de su colaboración en el proyecto ENIAC, con el objetivo de evitar el 'recableado', proponiendo un diseño donde las unidades de la computadora están conectadas permanentemente y controladas por un control central . Actualmente, la mayoría de las computadoras modernas utilizan esta arquitectura aunque con ciertas adiciones, como incorporación de dispositivos para gestionar interrupciones externas. Además, a lo largo del tiempo ha surgido la distinción en las cachés de memoria entre la arquitectura Von Neumann y Harvard .

La principal diferencia entre la arquitectura de Von Neumann y la arquitectura Harvard radica en cómo y dónde se almacenan las instrucciones y los datos. En la arquitectura de Von Neumann, las instrucciones y los datos comparten el mismo espacio de memoria y el mismo bus, lo que puede causar un cuello de botella (Von Neumann bottleneck), ya que no se pueden ejecutar simultáneamente operaciones de obtención y procesamiento de datos . En contraste, la arquitectura Harvard utiliza espacios de memoria y buses separados para las instrucciones y los datos, lo que permite que ambos procesos ocurran simultáneamente, mejorando el rendimiento general del sistema .

El término 'arquitectura de Von Neumann' ha sido cuestionado porque el concepto de almacenaje de programas no fue exclusivamente de Von Neumann; fue el resultado de colaboraciones con otros tecnólogos como John Presper Eckert y John William Mauchly. De hecho, se le ha propuesto que esta arquitectura se designe como 'arquitectura Eckert–Mauchly' porque reflejaría más justamente las contribuciones integradas de varios científicos en el desarrollo del concepto de programa almacenado .

La estructura básica de una computadora basada en la arquitectura de Von Neumann incluye los siguientes componentes: una memoria principal que almacena instrucciones y datos en la misma ubicación; una unidad aritmético-lógica (ALU) que realiza operaciones aritméticas y lógicas con datos desde la memoria; una unidad de control que organiza y dirige la operación de los otros componentes de la CPU; dispositivos de entrada/salida para la interacción con dispositivos externos; y un sistema de buses que transporta datos e instrucciones entre las diferentes partes . Esta configuración permite al sistema seguir un ciclo de ejecución de instrucciones donde se recuperan, decodifican y ejecutan las instrucciones de manera secuencial, integrando datos y decisiones para optimizar operaciones computacionales .

Aunque la arquitectura de Von Neumann proporciona el esquema básico de CPU, memoria y buses, existen elementos esenciales para el funcionamiento de una computadora moderna que no están formalmente considerados en su esquema. Estos incluyen fuentes de electricidad, placas base para interconectar componentes, gabinetes para alojar los elementos, ventiladores para enfriamiento, y otras unidades de soporte como sistemas de almacenamiento externo, y mecanismos avanzados de entrada/salida para interactuar con múltiples periféricos .

John von Neumann fue fundamental en la transición de la arquitectura primitiva del ENIAC hacia una forma más avanzada y eficiente con su propuesta de diseño en el EDVAC. Trabajando con los equipos de ENIAC, von Neumann desarrolló la idea de almacenar tanto instrucciones como datos en una sola memoria, lo que eliminó la necesidad de recopilar manualmente conexiones para cada programa nuevo . Su trabajo focalizó el diseño de una computadora en un control central coordinado, con la EDVAC convirtiéndose en un modelo base para futuras computadoras siguiendo esta arquitectura. Su influencia también continua en la historia al ampliar la capacidad de programar y realizar cálculos complejos sin la intervención física de 'recableado' .

El 'cuello de botella Von Neumann' es una limitación en el rendimiento debido al hecho de que las instrucciones y los datos usan el mismo bus de memoria, lo que significa que la computadora no puede realizar operaciones de obtención y procesamiento simultáneamente. Este problema puede reducir significativamente la eficiencia del procesador, especialmente cuando se maneja una gran cantidad de datos. Estrategias modernas para mitigar estos efectos incluyen la implementación de arquitecturas Harvard para caché, que permiten buses separados para instrucciones y datos, mejorando así la velocidad de ejecución. Otra solución es el uso de arquitectura de múltiples núcleos que posibilitan la ejecución simultánea de varios hilos de datos .

La arquitectura de Von Neumann influyó significativamente en la creación del UNIVAC I, el primer computador comercial construido bajo este esquema. Desarrollado por la Sperry-Rand Corporation en 1951, el UNIVAC I incorporó la idea de programa almacenado donde instrucciones y datos residen en la misma memoria. Fue vendido a la Oficina del Censo de Estados Unidos, marcando el inicio de la era de las computadoras comerciales. Esta máquina demostró la viabilidad de implementar sistemas complejos capaces de manejar grandes cantidades de datos para aplicaciones prácticas .

El ciclo de ejecución de instrucciones en una computadora con arquitectura Von Neumann consta de varios pasos. Primero, la unidad de control recupera la próxima instrucción de la memoria basándose en la dirección del contador de programa. Una vez obtenido, incrementa este contador para apuntar a la siguiente instrucción. En seguida, descodifica la instrucción para coordinar los componentes del sistema y ejecutar la tarea correspondiente. La ejecución puede implicar cambiar el valor del contador de programa según el resultado, permitiendo así la ejecución de bucles y 'decisiones' dentro del programa. Finalmente, el proceso se repite comenzando nuevamente con la obtención de la próxima instrucción .

También podría gustarte