~/si/ud01 $ cat 02-arquitecturas.md
- Sistemas Informáticos
- UD01
- lección 02/10
Cómo se organiza internamente un ordenador
Una vez entendido el recorrido general de la información, necesitamos un modelo para explicar cómo se organizan los bloques internos del ordenador.
2.1. Arquitectura de Von Neumann
Section titled “2.1. Arquitectura de Von Neumann”La arquitectura de Von Neumann es un modelo teórico que describe cómo se organiza un ordenador programable. Su importancia está en la idea de programa almacenado: las instrucciones del programa y los datos se guardan en memoria, de modo que el mismo hardware puede ejecutar tareas diferentes cambiando el programa cargado.
Según este modelo, un ordenador se organiza alrededor de cuatro bloques funcionales:
- CPU: interpreta y ejecuta instrucciones.
- Memoria principal: almacena instrucciones y datos mientras se están usando.
- Entrada/salida: permite comunicarse con el exterior.
- Buses: transportan información entre los bloques anteriores.
La idea básica es sencilla: la CPU obtiene una instrucción desde memoria, la interpreta, ejecuta la operación necesaria y guarda o comunica el resultado. Este proceso se repite continuamente mientras el sistema está funcionando.
La arquitectura de Von Neumann ha sido la base de la mayoría de ordenadores modernos. Aunque los equipos actuales incorporan muchas mejoras, este modelo sigue siendo útil para entender cómo se relacionan los componentes principales.
2.2. Arquitectura Harvard
Section titled “2.2. Arquitectura Harvard”La arquitectura Harvard es otro modelo de organización de un ordenador. Su diferencia principal respecto a Von Neumann es que separa la memoria de instrucciones y la memoria de datos. Esto permite acceder a una instrucción y a un dato al mismo tiempo, lo que puede mejorar el rendimiento.
La comparación básica es la siguiente:
| Aspecto | Von Neumann | Harvard |
|---|---|---|
| Memoria | Datos e instrucciones comparten memoria | Datos e instrucciones usan memorias separadas |
| Buses | Puede compartir canales de comunicación | Puede usar buses separados |
| Ventaja principal | Diseño más simple y flexible | Mayor velocidad en ciertos usos |
| Inconveniente principal | Puede aparecer cuello de botella | Diseño más complejo y costoso |
| Uso típico | Ordenadores de propósito general | Microcontroladores, sistemas embebidos o diseños especializados |
En la práctica, muchos procesadores actuales no siguen un modelo puro. Es habitual encontrar diseños híbridos que combinan ideas de ambos modelos, por ejemplo usando una organización general parecida a Von Neumann pero con cachés separadas para instrucciones y datos.
Este enfoque suele denominarse arquitectura Harvard modificada. La memoria principal continúa siendo compartida para datos e instrucciones, como en Von Neumann, pero la CPU puede disponer de cachés L1 separadas para cada uno. Así puede obtener una instrucción y acceder a datos con menos interferencias, sin renunciar a una memoria principal común. Esta es la idea que conviene investigar al comparar ambos modelos, no una tercera arquitectura completamente independiente.
2.3. Ejercicios de aplicación
Section titled “2.3. Ejercicios de aplicación”Para trabajar este bloque, resuelve los ejercicios 1 a 3 con guía del docente y contraste colectivo. El ejercicio 4 es de ampliación: resuélvelo de forma autónoma, apoyándote en los apuntes para justificar la decisión de diseño.
-
Identifica la arquitectura. Para cada descripción, escribe
Von NeumannoHarvardy añade una palabra clave que justifique la decisión. No te fijes en el nombre del dispositivo: busca si datos e instrucciones comparten o separan memoria y caminos de acceso.a) Datos e instrucciones comparten memoria. b) Existen memorias separadas para datos e instrucciones. c) El diseño prioriza la simplicidad y flexibilidad. d) Puede accederse simultáneamente a un dato y a una instrucción.
-
Recorrido de una instrucción. Imagina que la memoria contiene la instrucción “sumar dos valores”. Redacta una secuencia de tres o cuatro pasos con este orden: 1) la CPU localiza y lee la instrucción en memoria; 2) la interpreta; 3) realiza la operación; 4) deja el resultado en un lugar que pueda usarse después. Puedes usar las palabras CPU, memoria, instrucción, dato y resultado. Todavía no necesitas nombrar registros concretos.
Solución: Posible recorrido:
- La CPU localiza en la memoria la siguiente instrucción que debe ejecutar.
- Lee esa instrucción y la interpreta para saber qué operación se le está pidiendo, por ejemplo sumar dos valores.
- Obtiene los datos necesarios, realiza la operación y genera un resultado.
- Guarda el resultado en memoria o en un espacio temporal de la CPU para que la siguiente instrucción pueda utilizarlo.
El ciclo vuelve a empezar con la siguiente instrucción del programa. En los apartados dedicados a la CPU veremos cómo intervienen registros concretos como el PC o el IR.
-
Tipo test: el atasco de Von Neumann. Marca la opción correcta y justifica tu elección con una comparación cotidiana de una sola frase. Piensa en una carretera de un único carril: ¿qué ocurre si deben pasar a la vez un dato y una instrucción por el mismo camino?
“El posible cuello de botella de Von Neumann aparece principalmente porque…”
a) la CPU no usa memoria b) datos e instrucciones comparten caminos de comunicación c) Harvard no tiene CPU d) los programas no se guardan.
-
Ampliación: argumenta una decisión. Un fabricante diseña dos modelos de controlador para una máquina:
- Modelo A: datos e instrucciones usan la misma memoria y el mismo camino de comunicación. Es más sencillo de construir.
- Modelo B: datos e instrucciones tienen accesos separados. Es más complejo de construir.
Completa una tabla con estas columnas:
Modelo,qué ventaja aporta,qué inconveniente tieneycuándo elegirlo. En cada fila explica la causa: no basta con escribir “A es más simple” o “B es más rápido”. Por ejemplo, razona qué sucede cuando la CPU necesita leer una instrucción y un dato a la vez, o por qué añadir caminos separados puede encarecer y complicar el diseño.Modelo Qué ventaja aporta Qué inconveniente tiene Cuándo elegirlo A: memoria y camino compartidos B: accesos separados Termina recomendando uno de los dos modelos para un dispositivo sencillo que solo realiza unas pocas tareas repetitivas y otro para un sistema donde interesa reducir esperas entre instrucciones y datos. Justifica ambas recomendaciones con una idea técnica de la tabla.