Conceptos Esenciales de Arquitectura de Computadoras: E/S, Memoria y Rendimiento
Clasificado en Informática
Escrito el en español con un tamaño de 6,4 KB
Conceptos Fundamentales de Arquitectura de Computadoras
Este documento explora diversos conceptos esenciales en la arquitectura de computadoras, abarcando métodos de Entrada/Salida (E/S), tipos de memoria y métricas de rendimiento.
Sistemas de Entrada/Salida (E/S)
E/S Programada
En la E/S programada, el procesador gestiona directamente las operaciones de entrada y salida. Sus fases son:
- Inicialización: El procesador envía un comando al módulo de E/S.
- Sincronización: El procesador realiza un polling (sondeo constante) hasta que el módulo de E/S indica que está listo.
- Transferencia: El procesador ejecuta las instrucciones necesarias para transferir los datos.
- Finalización: El procesador envía el último comando para concluir la operación.
Acceso Directo a Memoria (DMA)
El DMA permite que la CPU dedique su tiempo a otras tareas mientras se realiza la transferencia de datos entre la memoria principal (MP) y los periféricos. Este método comparte el bus de datos, y la CPU no interviene directamente en la transferencia de datos entre la MP y los periféricos. Sin embargo, puede provocar que la CPU deba esperar en ciertos momentos si el bus está ocupado.
E/S por Interrupciones
La E/S por interrupciones optimiza el uso del procesador al permitirle realizar otras tareas mientras espera que un módulo de E/S esté listo. Sus fases son:
- Inicialización: El procesador inicia la operación.
- Sincronización: El módulo de E/S genera una interrupción cuando está listo.
- Transferencia: El módulo de E/S gestiona la transferencia de datos.
- Finalización: El procesador concluye la operación tras atender la interrupción.
Solo se procesa una interrupción a la vez; si entra otra, debe esperar a que la CPU termine la actual.
Controlador de Interrupciones
El controlador de interrupciones es un componente clave que identifica el módulo que generó la interrupción, ejecuta la rutina de servicio de interrupción (RSI) correspondiente, gestiona las prioridades de las interrupciones y permite el paso a otras interrupciones pendientes.
Tipos de Memoria
SRAM (Static Random Access Memory)
Características principales de la SRAM:
- Requiere señales CE (Chip Enable) y R/W (Read/Write).
- No requiere refresco periódico.
- Es volátil (pierde los datos al desconectar la alimentación).
- Tiene un coste mayor y un menor tiempo de acceso en comparación con la DRAM.
- El tiempo de ciclo es igual al tiempo de acceso.
- El tiempo de acceso del chip es el tiempo de acceso de toda la memoria.
DRAM (Dynamic Random Access Memory)
Características principales de la DRAM:
- Utiliza señales RAS (Row Address Strobe), CAS (Column Address Strobe) y WE (Write Enable). La combinación de RAS y CAS permite direccionar un byte.
- Necesita refresco periódico para mantener los datos.
- Es volátil.
- El tiempo de ciclo es diferente al tiempo de acceso.
- El tiempo de acceso del chip es el tiempo de acceso de toda la memoria.
ROM (Read-Only Memory)
La ROM es una memoria de solo lectura. Una EPROM (Erasable Programmable Read-Only Memory) es un tipo de ROM que puede borrarse y reprogramarse si además tiene un voltaje de programación (Vpp). La ROM no tiene una línea R/W, ya que su función principal es la lectura.
Métricas de Rendimiento y Conceptos Avanzados
AMAT (Average Memory Access Time)
El AMAT es una métrica crucial para evaluar el rendimiento de la jerarquía de memoria. Se calcula mediante la fórmula:
AMAT = Th * h + Tm * (1 - h)
Donde:
Th
es el tiempo de acceso a la caché (hit time).h
es la tasa de aciertos (hit rate).Tm
es el tiempo de acceso a la memoria principal (miss penalty).
Tiempo de Transmisión Periférico <--> Puerto
El tiempo necesario para la transmisión de datos entre un periférico y un puerto se calcula como:
Tiempo de Transmisión = Tamaño del Dato (en bytes) / Velocidad del Controlador
Tiempo de Ejecución de la Rutina de Servicio de Interrupción (RSI)
El tiempo total de ejecución de una RSI se determina por:
Tiempo Ejecución RSI = Tiempo de Gestión de Interrupción + (Número de Instrucciones * Tiempo de Ejecución de cada Instrucción)
Conceptos de Organización de Memoria
Direccionamiento de Memoria
Las líneas del bus de direcciones son las encargadas de seleccionar el byte específico en la memoria, permitiendo el acceso a cada posición de almacenamiento.
Memoria Entrelazada
La memoria entrelazada mejora la velocidad de acceso a múltiples datos simultáneamente, aunque no amplía la capacidad total de almacenamiento. Aprovecha la localidad espacial almacenando posiciones de memoria consecutivas en módulos de memoria separados. Para ello, la memoria se divide en varios bancos independientes.
Caché Asociativa
En una caché asociativa, no se utiliza un índice fijo para asignar un bloque de memoria principal (MP) a una línea de caché. Esto se debe a que cualquier bloque de MP puede asociarse a cualquier línea de caché, ofreciendo mayor flexibilidad pero requiriendo hardware más complejo para la búsqueda.
E/S Aislada vs. E/S Mapeada en Memoria
Existen dos enfoques principales para la gestión de registros de E/S:
- E/S Mapeada en Memoria: Los registros de estado, control y datos de E/S se asignan a direcciones dentro del espacio de direcciones de la memoria principal. Su ubicación física es la memoria principal, y se accede a ellos con las mismas instrucciones que se usan para la memoria.
- E/S Aislada: Los registros de E/S están segregados del espacio de direcciones de la memoria principal. Se accede a ellos mediante instrucciones de E/S específicas, lo que los diferencia claramente de las operaciones de memoria.