Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Rocket clouds
El procesador por Mind Map: El procesador

1. Ejecución de Instrucciones

1.1. Fetch (F)

1.1.1. Busca en memoria la instruccion

1.2. Decode (D)

1.2.1. Decodificacion de la instrucción

1.3. Execution (X)

1.3.1. Ejecución de la operación indicada en el opcode

1.4. Memory Access (M)

1.4.1. acceder a memoria para leer o escribir

1.5. Writeback (W)

1.5.1. se vuelca resultado a un registro

2. Tipo de Instrucciones

2.1. Tipo I

2.1.1. LOAD/STORE

2.1.1.1. F

2.1.1.2. D

2.1.1.3. X

2.1.1.4. M

2.1.1.5. w

2.1.2. ARITMÉTICO-LOGICO

2.1.2.1. F

2.1.2.2. D

2.1.2.3. X

2.1.2.4. W

2.1.3. Saltos condicionales

2.1.3.1. F

2.1.3.2. D

2.1.3.3. X

2.1.4. Salto incondicional

2.1.4.1. F

2.1.4.2. D

2.1.4.3. X

2.2. Tipo R

2.2.1. Aritmético-Logicas

2.2.1.1. F

2.2.1.2. D

2.2.1.3. X

2.2.1.4. W

2.3. Tipo J

2.3.1. Salto incondicional

2.3.1.1. F

2.3.1.2. D

2.3.1.3. X

3. Diseño del Procesador

3.1. Dos grandes modulos

3.1.1. Ruta de datos

3.1.1.1. Combinacional

3.1.2. Ruta de Control

3.1.2.1. Secuencial o combinacional

3.2. Circuito digital

3.2.1. Parte combinacional + Parte secuencial

3.3. Sistema combinacional

3.3.1. Salidas con función exclusiva de valor de sis entradas

3.4. Procesador secuencial

3.4.1. Se ejecuta instrucción por instrucción

3.4.2. Según el método de temporizacion

3.4.2.1. Procesador Monociclo

3.4.2.1.1. CPI=1

3.4.2.1.2. cada instrucción = 1 ciclo de reloj

3.4.2.1.3. Duración del ciclo del reloj es igual a la instrucción mas tarda en ejecutarse

3.4.2.2. Procesador multicilo

3.4.2.2.1. CPI>1

3.4.2.2.2. cada instrucción puede tardar mas de 1 ciclo

3.4.2.2.3. duración de 1 ciclo = duración etapa mas larga

3.5. Sistema secuencial

3.5.1. Valores de salida

3.5.2. Gobernados por una señal de reloj

4. Caso de Estudio: nanMIPS

4.1. Repertorio de instrucciones

4.2. Operaciones aritmeticas-logicas

4.3. Control de flujo

5. Funcioncionamiento y diseño de las rutas de dato y la unidad de control

5.1. Análisis de repertorio

5.2. Metodologías de temporizacion

5.3. Seleccionar los módulos necesario para para operar sobre y almacenar datos

5.4. Ensamblar la ruta de datos

5.5. Determinar los valores de los puntos de control

5.6. Diseñar la unidad de control

5.7. Optimizar el diseño obtenido: Segmentación

6. Arquitectura

6.1. Importancia del diseño del procesador

6.1.1. Rendimiento=Tiempo de ejecución del programa

6.1.1.1. (tiempo CPU) = (instrucciones por programa)XCPIx(Tiempo de ciclo)

6.1.2. Diseño del procesador

6.1.2.1. tiempo de ciclo de reloj

6.1.2.2. numero de ciclo de reloj promedio por instruccion

6.1.3. Relación inversa

6.1.3.1. Monociclo

6.1.3.1.1. 1 ciclo por instruccion

6.1.3.1.2. tiempo de ciclo largo

6.1.3.2. Multiciclo

6.1.3.2.1. varios ciclos por instruccion

6.1.3.2.2. tiempo de ciclo corto

6.2. Metodología para el diseño de un procesador

6.2.1. Paso 1:

6.2.1.1. Analizar el repertorio de instrucciones

6.2.2. Paso 2:

6.2.2.1. Establecer la metodologia de temporizacion

6.2.2.1.1. Monocilo (CPI=1)

6.2.2.1.2. multiciclo (CPI > 1)

6.2.3. Paso 3:

6.2.3.1. Seleccionar el conjunto de modulos

6.2.4. Paso 4:

6.2.4.1. Ensamblar la ruta de datos

6.2.5. Paso 5:

6.2.5.1. Determinar los valores de los puntos de control

6.2.6. paso 6:

6.2.6.1. Diseñar la lógica de control

6.3. Arquitectura MIPS

6.3.1. Formato de la instrucción maquina

6.3.1.1. Tipo R(Aritmetico/logicas)

6.3.1.2. Tipo I (con memoria salto condicional)

6.3.1.3. Tipo J (salto incondicional)

6.3.2. Significado de los campos es

6.3.2.1. op: identificador de instrucción

6.3.2.2. rs, rt, rd: identificadores de registros fuente y destino

6.3.2.3. shamt: cantidad a deplazar

6.3.2.4. funct: selecciona la operación aritmética a realizar

6.3.2.5. inmendiato: operando inmediato o desplazamiento en direccionamiento a resgistro-base

6.3.2.6. dirección: dirección destino de salto

6.4. Diseño de ruta de datos (monocilo)

6.4.1. Ejecución típica

6.4.1.1. Todos los registros se cargan simultaneamente

6.4.1.2. todos los vallores se propagan a travez de las redes combinacionales

6.4.1.3. se repite indifinidamente el proceso

6.4.2. todos los elementos de almacenamientos están sincronizacion al mismo flanco de reloj

6.4.2.1. Tiempo de ciclo= hold+camino con retardo máximo+setup+clock skew

6.4.3. Componentes de ruta de datos

6.4.3.1. Requerimeintos

6.4.3.1.1. Memoria de instrucciones

6.4.3.1.2. memoria de datos

6.4.3.1.3. 32 registros de datos

6.4.3.1.4. Contador de programa

6.4.3.1.5. 2 Sumadores

6.4.3.1.6. Alu

6.4.3.1.7. Extencion de signo

6.4.3.1.8. Desplazador a la izquierda

6.5. Ruta de datos del nanoMIPS

6.5.1. Contador del programa:PC

6.5.2. Memorias separadas de instrucciones y datos

6.5.3. Banco de 32 bits: instrucciones tipo R

6.5.4. Dos sumadores

6.5.4.1. Para sumar 4 al pc

6.5.4.2. Sumar el desplazamiento relativo al PC

6.5.5. Alu de enteros

6.5.5.1. BQR, hacer restas y comparar el resultado es cero

6.5.6. Desplazador a la izquierda de 2 pociciones

6.5.7. Unidad de control global

6.5.7.1. Decodifica el campo Opcode

6.5.7.2. Configuracion global de la ruta de datos

6.5.8. Unidad de control local para la ALU

6.5.8.1. decodifica el campo Funct

6.5.8.2. Genera la señal Alu control

6.5.9. Decodificacion multinivel

6.5.9.1. la U.C global decodifica la instruccion

6.6. Unidad de control global de nanoMIPS monocilco

6.6.1. Entrada

6.6.1.1. Opcode

6.6.2. Salida

6.6.2.1. Genera los valores adecuados para las diferentes señales de control

6.6.3. PCSrc

6.6.3.1. Cuando la instruccion es un salto, Branch=1

6.6.3.2. Branch ANDresultado evaluacion condicion

6.6.4. Se suele diseñar mediante decodificadores y puerta OR

6.6.5. Entradas

6.6.5.1. ALUOp, funct

6.6.6. Salida

6.6.6.1. Genera la señal AluControl

7. Monociclo

7.1. Ruta de datos

7.1.1. Contador de programa

7.1.2. Memoria de datos y instrucciones

7.1.3. banco de 32 registros

7.1.3.1. 4 Entradas

7.1.3.2. 2 Salidas

7.1.4. Dos Sumadores

7.1.4.1. Pc + 4

7.1.4.2. Sumar desplazamiento relativo

7.1.5. Una Alu de Enteros

7.1.6. Extensor de signo

7.1.7. Desplazador a la izquierda

7.2. Unidad de control global

7.2.1. Decodificador de Opcode

7.2.2. Configuración global ruta de datos

7.3. Unidad de control local

7.3.1. Decodificacion Funct

7.3.2. Genera señal Alu control

7.4. Decodificacion Multinivel

7.4.1. U.C decodifica su Opcode

7.4.2. Intruccion tipo R=decodifica el campo Funct

8. Multiciclo

8.1. Ruta de datos

8.1.1. Etapa F

8.1.1.1. Registro de instrccion IR

8.1.2. Etapa D

8.1.2.1. Lectura de operandos, A y B

8.1.3. Etapa X

8.1.3.1. Operandos fuentes Alu en A y B

8.1.4. Etapa M

8.1.4.1. De memoria a MDR

8.1.5. Etapa W

8.1.5.1. de ALUOut a registro

8.2. Diseño

8.2.1. los mono ciclo = no son eficientes

8.2.1.1. Adaptación del ciclo de reloj para ejecutar la intruccion mas larga

8.2.1.2. Es casi imposible optimizar la ruta de datos

8.2.1.3. La mayor parte del tiempo los recursos del procesador estan desaprovechados

8.2.1.4. Division del trabajo en etapas

8.2.1.5. Cada etapa esta relacionada conel hardware

8.2.1.6. se reduce el periodo del procesador

8.2.1.7. el CPI medio sera mayor que 1

8.3. Señales

8.3.1. Se van modificando en los diferentes ciclos de reloj

8.3.2. A generar

8.3.2.1. IorD, MemRead, MemWrite, MemToReg, RegDst, RegWrite

8.3.2.2. ALUSrcA, ALUSrcB, ALUOp, PCSrc, PCWrite, PCWriteCond e IRWrite

8.4. Unidad de control global

8.4.1. Circuito secuencial

8.4.2. Entrada = Opcode

8.4.3. Diseño

8.4.3.1. Maquina de estados

8.4.3.1.1. Llamada Cableada

8.4.3.1.2. 8 estados maximo en 8 ciclos

8.4.3.1.3. Ciclo F y D por igual

8.4.3.1.4. Cuando se modifica hay q re-diseñar la unidad

8.4.3.2. Microprogramas

8.4.3.2.1. Se situa en la ROM

8.4.3.2.2. Ejecutar instruccion = leer una palabra

8.4.3.2.3. cada palabra = microinstruccion

8.4.3.2.4. conjunto de microinstrucciones = microprograma

8.4.3.2.5. Ventajas

8.4.3.2.6. Desventaja

8.5. Unidad de control local de la Alu

9. Control de Excepciones

9.1. Tranferir la Excepcion

9.1.1. Salve el estado del programa

9.1.2. Corrija la causa de la excepcion

9.1.3. Restaure el estado del procesador

9.1.4. Repita la ejecucion de la intruccion causante d ela excepcion

9.2. Rutina de Tratamiento de Excepciones (RTE)

9.3. Diferencia entre

9.3.1. Excepcion

9.3.1.1. evento no planificado en la ejecucion del programa

9.3.2. Interrupcion

9.3.2.1. Error de afuera del procesador

9.4. Tipos de exepciones

9.4.1. Interrupcion E/S

9.4.2. Llamada al SO

9.4.3. Puntos de ruptura

9.4.4. Codigos de operacion Invalidos

9.4.5. Overflow

9.4.6. Fallos de pagina

9.4.7. Acceso de memoria

9.4.8. Violacion dezona protegida

9.4.9. Fallos de hardware

9.5. Hardware nesesario

9.5.1. Registros de excepciones

9.5.2. Contador de programa de excepciones

9.5.3. Restador

9.5.4. Cargar el Pc donde comienza RTE

9.6. Señales de control

9.6.1. Alu_overflow

9.6.2. Excepcion

9.6.3. ExcepcionWrite y EPCWrite

9.6.4. PCWrite