Please enable JavaScript.
Coggle requires JavaScript to display documents.
El procesador - Coggle Diagram
El procesador
Convenios de diseño lógico
Elementos Combinacionales
ALU (Unidad Aritmético-Lógica) sin almacenamiento interno
Operaciones sobre los datos leídos de los registros
Funciones
Suma para acceso a memoria
Resta para saltos condicionales
Operaciones aritméticas para instrucciones tipo R
Elementos Secuenciales
Registros y memoria con almacenamiento interno
Componentes Lógicos de Estado
Elementos de estado (registros, memorias) que almacenan valores.
Multiplexores
Selección de fuentes de datos para las unidades funcionales.
Flujo de ejecución estándar
Cargar la instrucción desde la memoria
Leer los registros necesarios
Ejecutar la operación específica
Metodología de Sincronización
Sincronización por Flanco
Actualización de datos en el flanco del reloj
Control de Escritura
Determina cuándo escribir en los elementos de estado
Unidad de Control
Control de Acciones en el Procesador
Determina qué operación realizar (lectura, escritura, ALU, acceso a memoria
Selección de Líneas de Control
Se activa según el tipo de instrucción en ejecución.
Segmentación
Implementación Segmentada de MIPS
Ejecuta instrucciones en varias etapas simultáneamente para mejorar el rendimiento.
Arquitectura MIPS de 32 Bits
Banco de Registros
Almacena los registros del procesador.
Cada registro tiene un número de identificación.
Acceso mediante lectura y escritura de registros
Instrucción Tipo R
Lee 2 registros y escribe 1.
Requiere señales de control y ALU para operar
Complejidad Adicional
Manejo de excepciones y mayor número de conexiones.
Construcción de un camino de datos
Elementos Clave
Unidad de Memoria: Suministra instrucciones desde la dirección de memoria
Contador de Programa (PC): Almacena la dirección de la instrucción
Sumador: Incrementa el PC para apuntar a la siguiente instrucción
Buses de 32 Bits: Usados para transferir datos y direcciones
Instrucciones
Carga y Almacenamiento de Palabras (lw, sw)
Cálculo de dirección de memoria mediante la ALU
Se leen y escriben datos en memoria
Saltos Condicionales (beq)
Calcula la dirección de salto y compara registros
Si los registros son iguales, se realiza el salto
Saltos Incondicionales (j)
Reemplaza parte del PC con la instrucción de salto
Operaciones
Extensión de Signo: Usada en cálculos de direcciones y desplazamientos.
Multiplexores: Seleccionan la entrada correcta para la ALU y el banco de registros
Control de ALU: Señales para determinar la operación a realizar y dependiendo de la instrucción, se ejecutan operaciones de suma, resta o lógica.
Sincronización y Control
Unidad de Control: Genera señales para manejar la ALU, el banco de registros y los multiplexores
Salto Retardado: Se ejecuta una instrucción antes de realizar el salto
Camino de Datos Sencillo
Componentes Compartidos: Memoria de instrucciones separada de la memoria de datos.
Duplicación de Elementos: Algunas unidades funcionales se duplican para evitar conflictos de acceso
Conexiones Importantes
ALU: Controlada por señales de la unidad de control (ALUOp).
Multiplexores: Usados para manejar múltiples caminos de datos
Control del Banco de Registros: Especifica lectura y escritura en el banco de registros.
Saltos: Se calculan direcciones y se comparan registros en función de la instrucción
Esquema de una implementación simple
Tabla de Verdad
Relacionar ALUOp y código de función con señales de la ALU.
Implementación mediante puertas lógicas
Optimización del proceso
Diseño de la Unidad de Control Principal
Campos de Instrucción
Opcode
Registros rs/rt
Desplazamiento
Multiplexores: Selección del registro destino
Activación de señales de control para diferentes instrucciones.
Tipos de Instrucciones
Instrucciones Tipo R
Instrucciones de Carga
Instrucciones de Salto
Implementación de Saltos Incondicionales (Jump)
Calcula dirección de salto a partir de 26 bits inmediatos y 4 bits superiores del PC.