UNIDAD I: Modelos de Arquitectura de Computadoras
La arquitectura de una computadora define la organización de sus componentes y determina las capacidades de un sistema informático para realizar las operaciones requeridas. Antes de adquirir un sistema, es crucial considerar:
- ¿Qué funciones se realizarán con el sistema?
- ¿Cuáles son los objetivos a alcanzar?
- ¿Qué software es el más adecuado para estos objetivos?
- ¿Cómo impactará la introducción del nuevo sistema en la organización?
1.1.1 Arquitecturas Clásicas
Arquitectura Mauchly-Eckert (Von Neumann)
Utilizada en la computadora ENIAC, esta arquitectura se basa en una Unidad Central de Proceso (CPU) que se comunica a través de un único bus con un banco de memoria, donde se almacenan tanto las instrucciones del programa como los datos a procesar.
El modelo Von Neumann define una computadora con cuatro subsistemas:
- Memoria Principal (MP): Almacena instrucciones y datos.
- Unidad Aritmético-Lógica (ALU): Realiza cálculos aritméticos y operaciones lógicas.
- Unidad de Control (UC): Coordina las operaciones de la memoria, la ALU y la entrada/salida.
- Dispositivo de Entrada/Salida: Permite la comunicación con el exterior.
La CPU se divide en la Unidad de Control (UC) y la Unidad Aritmético-Lógica (ALU). La ALU ejecuta operaciones aritméticas y lógicas, mientras que la UC controla las operaciones de memoria, ALU y entrada/salida.
La máquina de Von Neumann consta de cinco partes básicas:
- Memoria
- Unidad Aritmético-Lógica
- Unidad de Control del Programa
- Equipos de Entrada y Salida
- Bus del Sistema
La principal desventaja de esta arquitectura es el cuello de botella generado por el bus único, que obliga a accesos secuenciales a la memoria.
1.1.2 Arquitecturas Segmentadas
Buscan mejorar el rendimiento realizando varias etapas del ciclo de instrucción en paralelo. El procesador se divide en unidades funcionales independientes que procesan instrucciones simultáneamente.
1.1.3 Arquitecturas de Multiprocesamiento
Utilizan más de un procesador para ejecutar programas, superando las limitaciones de la segmentación. Se clasifican según la taxonomía de Flynn:
- SISO (Single Instruction, Single Operand): Monoprocesador.
- SIMO (Single Instruction, Multiple Operand): Procesadores vectoriales, extensiones MMX.
- MISO (Multiple Instruction, Single Operand): No implementado.
- MIMO (Multiple Instruction, Multiple Operand): Sistemas SMP, Clusters, GPUs.
SMP (Simetric Multiprocesors): Varios procesadores comparten memoria y periféricos, gestionados por el sistema operativo.
Clusters: Computadoras independientes conectadas en red, trabajando cooperativamente.
GPU (Graphics Processing Unit): Sistemas con múltiples procesadores vectoriales para procesamiento gráfico.
1.2 Análisis de los Componentes
1.2.1 CPU
Arquitecturas
Además de las clásicas, existen arquitecturas híbridas entre Von Neumann y Harvard, buscando flexibilidad y rendimiento. CISC (Complex Instruction Set Computers): Tienen un amplio número de instrucciones y modos de direccionamiento. RISC (Reduced Instruction Set Computers): Poseen pocas instrucciones y modos de direccionamiento, pero implementados eficientemente.
Características
Al elegir un CPU, se deben considerar:
- Modelo del programador (registros).
- Conjunto de instrucciones.
- Modos de direccionamiento.
- Ciclo de instrucción.
- Buses de interconexión.
El ciclo de instrucción consta de tres etapas:
- Búsqueda: Leer la instrucción de la memoria.
- Decodificación: Identificar la operación a realizar.
- Ejecución: Realizar la operación con los datos.
UNIDAD II
Interrupción: Mecanismo para ejecutar un bloque de instrucciones interrumpiendo un programa y luego restaurando su ejecución.
Tipos de interrupciones:
- Interrupciones de Hardware
- Interrupciones de Software
DMA (Acceso Directo a Memoria): Permite a componentes acceder a la memoria independientemente del CPU, facilitando la comunicación entre dispositivos de diferentes velocidades.
Buses: Dispositivos compartidos para la comunicación entre componentes. Tipos:
- Bus del Sistema: Comunica procesador, memoria y E/S.
- Bus de Datos: Transfiere datos.
- Bus de Dirección: Envía direcciones de memoria.
- Bus de Control: Controla el uso del bus.
Reloj de Sistema: Sincroniza las operaciones de los componentes y mide el tiempo. La frecuencia del reloj se mide en Hertzios.
Ciclo de Instrucción: Incluye buscar, decodificar, ejecutar y almacenar el resultado de una instrucción.