Skip to content

2023 08 09 Von Neumann

La arquitectura Von Neumann es la base de la actualidad, la mayoría de las computadoras modernas están basadas en esta arquitectura, obviamente, no son iguales, solo lo usan de base.

Origen

Antes, por ahí de los 1945, era muy común tener que Re cablear toda una computadora para poder hacer una tarea diferente, era tedioso y repetitivo. En 1949 encontró y desarrolló la solución a este problema, que se basaba en poner la información sobre las operaciones a realizar en la misma memoria utilizada para los datos escribiéndola de la misma forma (código binario).

Organización

Una computadora con esta arquitectura, consta de cinco partes - Unidad aritmético lógico (ALU) - Circuito digital que realiza operaciones aritméticas (suma, resta) y operaciones lógicas (SI y NO) - Estos circuitos eléctricos por lo general están construidos dentro de los chips del microprocesador modernos. - Alu img - Unidad de control - Una de las principales unidades en las que se divide el CPU, su función es buscar las instrucciones en la memoria principal, decodificarlas (interpretarlas) y ejecutarlas, empleando para ello la unidad de proceso. - Trae datos desde la memoria principal y es bidireccional - img CU - Memoria - Dispositivo que retiene, memoriza y almacena datos informáticos durante algún periodo de tiempo - img memoria informática - Dispositivo de entrada y salida - También conocidos como periférico, es el aparato o dispositivo auxiliar e independiente conectado a la computadora que permite la conexión de elementos externos al circuito de la computadora. - Bus de datos - Este se usa como medio de transporte entre las distintas partes conectadas, también se le llama canal. - Formado por cables o pistas en un circuito impreso, con resistores y condensadores además de circuitos integrados. - Hay dos tipos de transferencia en los buses - Serie: transfiere datos bit a bit (monocanal) - Paralelo: transfiere varios bits simultaneamiente (multiples canales) - Aunque pareciera que la transferencia en paralelo es más eficiente, tiene inconvenientes. La frecuencia de reloj tiene que ser más reducida, y la longitud d elos cables de bus está ´limitado por posibles interferencias, ruido y retardos en la señal. - img buses

Una computadora Von Neuman primero enciende la computadora y obtiene la sigueinte instruccińo desde la memoria en dirección indicada por el controlador de programa, luego aumenta el contador de programa en la longitud de instrucciones para apuntar a la siguiente, decodifica las instrucciones mediante la UC y ejecuta las instrucciones.

Programa almacenado

Alan Turing, en su escrito "On Computable NUmbers, with an Application to the Entscheidung problem" desqueribe una máquina hipotética que llamó "máquina universal", y que ahora es conocida como "Máquina de Turing". Esta máquina tenía almacenamiento infinito (memoria en terminología actual) que contenía tanto las instrucciones como los datos. Diseñar una máquina con programas almacenados era el objetivo de Von Neuman (EDVAC) Un computador de prorama almacenado es el que almacena las intrucciones del programa en la memoria electrónica. Se pensó que un computador que en su diseño contenía un conjunto de instrucciones que podían ser almacenadas en memroia. El diseño de un programa almacenado también daba la posiblidad a los programas de ser modificacdos ellos mismos durante la ejecución, para ello, se necesitaba 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. Tratar instrucciones como datos es lo que hacen los ensambladores, compiladores y otras herramientas de programación automática.

Una de las cosa malas con la arquitectura Von N. es que el mal funcionamiento de un programa almacenado puede dañar el computador. La protección de la memoria y otras formas de control de acceso pueden ayudar a proteger contra modificaciones accidentales y/o maliciosas de un programa.

Cuello de botella de Von Neumann

El canal entre el CPU y memoria genera un cuello de botella para el rendimiento del procesador. Cuando se quieren manejar grandes cantidades de datos, el CPU se ve obligado a esperar operaciones, la velocidad del procesamiento y cantidad de memoria han aumentado más rápido que el rendimiento en la transferencia entre ellos, así que continuamos agravando el problema.

Los registros almacenan datos según el procesador, si es de 32 bits, almacena 32 bits, si es de 64, almacena 64 bits.