Arquitectura de von Neumman
En esta entrada voy a explicar como funciona la arquitectura de von Neumann mostrando para ello voy a utilizar una página que simula su funcionamiento.
Pero primero voy a explicar sus partes.
Partes
Podemos distinguir las siguientes partes:
1. Unidad de Control: Que se encarga de sacar las instrucciones de la memoria principal, interpretarlas, ejecutarlas y por último, lanzar esas instrucciones al resto de componentes.
- 1.1. Contador de programa: Es el registro que contiene la dirección de memoria de la siguiente instrucción a ejecutar.
- 1.2. Memoria RAM: Es un tipo de memoria volátil donde se cargan todas las instrucciones que ejecuta la CPU y otras unidades del ordenador, además que contener los datos que manipulan los distintos programas.
- 1.3. Registro de instrucciones: Es el encargado de almacenar la instrucción que se está ejecutando.
- 1.4. Decodificador: Es la parte que se encarga de interpretar las instrucciones para su posterior proceso y de extraer el código de operación de la instrucción en curso.
2. Unidad Aritmeticológica (ALU): Es un circuito digital que realiza operaciones lógicas, aritméticas y desplazamiento de bits.
- 2.1. Acumulador: Es un registro donde se almacenan temporalmente los resultados aritméticos y lógicos que serán tratados por el circuito operacional de la ALU
3. Reloj: Es el que proporciona una sucesión de impulsos eléctricos a intervalos constantes.
4. Buses: Son las rutas por las que comunican todas las partes del ordenador.
Funcionamiento
El simulador cuenta con una serie de líneas de código y de valores que hacen que funcione. Las líneas de código, en su mayoría, sirven para realizar operaciones matemáticas y los valores (x, y, z, w, ...) los podemos elegir nosotros.
Entre las líneas de código, las principales que vamos a utilizar son:
- LOD: Cargar.
- STO: Almacenar.
- ADD: Sumar
- MUL: Multiplicar.
- DIV: Dividir.
- SUB: Restar.
El funcionamiento es el siguiente:
Se carga la instrucción que está en la memoria RAM y el registro de instrucciones guarda esta instrucción mientras se está ejecutando. El decodificador interpreta estas instrucciones, las cuales son enviadas a la unidad Aritmeticológica , para realizar las operaciones indicadas, en este caso cargar el valor de x, que es igual a 10. Por último, el acumulador almacena este resultado de manera temporal.
El proceso es el mismo para todos los pasos siguientes, con la diferencia del tipo de instrucción que sea, si es ADD se suma el valor que tenga al resultado que esté almacenado en el acumulador, si es STO se almacena donde se haya indicado, etc.
Comentarios
Publicar un comentario