Unidad 4: ARQUITECTURA BÁSICA DE LAS COMPUTADORAS
. Arquitectura de Computadoras:
La arquitectura de computadoras se define como el diseño conceptual y la estructura
operativa de un sistema de computación. Incluye las descripciones funcionales de los
requerimientos y las implementaciones del hardware y software.
. Algunos de sus componentes principales:
Unidad de Control (UC): Supervisa y coordina las operaciones de la
computadora. Se asegura de que las instrucciones del programa se ejecuten en el
orden correcto, generando señales de control necesarias para activar otros
componentes.
Unidad Aritmético-Lógica (ALU): Realiza cálculos matemáticos (sumas,
restas, multiplicaciones, divisiones) y operaciones lógicas (AND, OR, NOT). Es
esencial para procesar datos y ejecutar instrucciones.
Unidad de Memoria: Almacena datos e instrucciones que la CPU necesita
durante el procesamiento. Se clasifica en memoria primaria (RAM y caché) y
memoria secundaria (discos duros, SSD).
Unidades de Entrada/Salida (E/S): Permiten la interacción entre la
computadora y el usuario o el mundo exterior. Incluyen dispositivos como
teclados, ratones, monitores y discos externos.
La arquitectura básica de una computadora:
El diseño de una computadora generalmente comienza considerando la arquitectura.
Se toman decisiones acerca del tipo de bloques componentes que se van a usar:
Números de registros
Tipos de registros
Operaciones que tendrá la ALU
Operaciones entre la ALU y los registros
Interconexión entre los registros
No existe un procedimiento que permita seleccionar una “mejor” arquitectura.
Memoria: almacena todas las instrucciones de los programas a ejecutarse.
Contador de Programa (PC): contiene la dirección de la próxima instrucción a
ejecutarse.
Registro de dirección de Memoria (MAR): contiene la dirección a seleccionar dentro
de la memoria.
Registro de Propósitos Generales (GPR): registro intermedio entre la memoria y los
demás componentes de la computadora. Consta de dos partes, OPERACIÓN y
DIRECCIÓN del operando.
Registro de Operación (OPR): contiene la parte OPERACIÓN de la instrucción.
Unidad Aritmético Lógica (ALU): realiza las operaciones aritméticas y consta de un
sumador y un acumulador y un registro F de un solo bit.
Controlador: es el encargado de activar todas las líneas de control
Interconexión:
La interconexión y transferencia de datos se realizan mediante buses que transportan
información entre la CPU, la memoria y los dispositivos de E/S.
Detalle:
Tipos de buses:
o Buses de memoria: Para conectar la CPU con la memoria principal.
o Buses de E/S: Usados para comunicación con dispositivos externos.
Modo de transferencia:
o Sincrónico: Regulado por un reloj central.
o Asincrónico: Las transferencias ocurren bajo señales de control
específicas.
3. Transferencia de Instrucciones y Direcciones
El flujo de instrucciones y direcciones es gestionado por la unidad de control y registros
especializados (como el PC y el IR). Estas transferencias son esenciales para ejecutar
programas.
Detalle:
Contador de Programa (PC): Almacena la dirección de la próxima instrucción a
ejecutar.
Registro de Instrucciones (IR): Carga la instrucción actual y la mantiene durante
su decodificación.
Multiplexores: Seleccionan la fuente de la dirección siguiente (por ejemplo,
saltos o secuencia lineal).
4. Señales de Comando
Las señales de comando son generadas por la unidad de control para coordinar las
operaciones entre los diferentes componentes del procesador.
Instrucciones:
Toda instrucción pasa por los siguientes ciclos:
Ciclo de búsqueda: permite buscar la siguiente instrucción a ejecutar.
• PC MAR
• M GPR / PC + 1 PC
• GPR (OP) OPR
Ciclo de ejecución: ejecuta la instrucción encontrada.
1. Concepto de Microprogramación
La microprogramación es una técnica de diseño para implementar la unidad de control
de un procesador mediante una memoria (generalmente una ROM o PLA) que almacena
las señales de control necesarias para ejecutar cada instrucción del repertorio
Detalle:
Analogía con el hardware físico: El microprograma actúa como un firmware
que convierte las instrucciones de alto nivel en una serie de microinstrucciones
detalladas. Esto permite modificar o expandir el conjunto de instrucciones del
procesador sin cambiar el hardware.
2. Microoperaciones y Microinstrucciones
Microoperaciones: Son las acciones más básicas que realiza la CPU, como
transferir datos entre registros, realizar operaciones aritmético-lógicas o acceder
a la memoria.
Microinstrucciones: Especifican un conjunto de microoperaciones a ejecutar
simultáneamente. Cada microinstrucción incluye campos que controlan las
unidades funcionales del procesador.
Formato de las microinstrucciones:
Ejemplo de un formato de microinstrucción:
o Control de PC: Define el comportamiento del contador de programa.
o Control de memoria: Señala operaciones de lectura o escritura.
o Control de ALU: Especifica la operación lógica o aritmética a realizar.
3. Controladores Microprogramados
Un controlador microprogramado utiliza una memoria de microprogramas para generar
las señales de control necesarias. Este diseño ofrece flexibilidad y modularidad al
procesador.
Ventajas:
Simplifica el diseño del hardware.
Facilita la implementación de instrucciones complejas.
Permite realizar modificaciones mediante actualizaciones de firmware.
Inconvenientes:
Velocidad menor comparada con controladores cableados (hardwired).
Latencias asociadas a la lectura de la memoria de microprogramas.
4. Incrementación y Bifurcaciones en Microprogramas
El campo de control de secuencia dentro de una microinstrucción permite determinar la
próxima instrucción a ejecutar:
1. Incrementación: La microinstrucción siguiente es la que está en la posición
secuencial en la memoria.
2. Bifurcación: Dependiendo del estado actual, se puede saltar a diferentes
direcciones de microinstrucciones
5. Proceso de Mapeo ("Mapping")
El mapeo en microprogramas se refiere a cómo una instrucción de alto nivel (en
lenguaje máquina) se traduce a una dirección específica en la memoria de
microprogramas. Esto se realiza mediante tablas de transferencia que asocian cada
código de operación con la dirección correspondiente en la memoria
6. Conducción (Pipeline)
La conducción en microprogramación utiliza segmentación para superponer la
ejecución de diferentes microinstrucciones. Esto mejora el rendimiento al permitir que
múltiples etapas del procesador operen simultáneamente, similar a una cadena de
montaje