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

1. Principios

1.1. Ruta de Datos

1.2. Ruta de Control

2. Fases de ejecución de una instrucción

2.1. Fetch

2.1.1. Actualiza el PC (program counter).

2.2. Decode

2.2.1. Decodifica la instrucción, separa los diferentes campos.

2.3. Execution

2.3.1. Ejecuta la operación indicada en el opcode.

2.4. Memory Access

2.4.1. Accede a memoria para leer o escribir.

2.5. Writeback

2.5.1. Vuelca el resultado a registro.

3. Instrucciones

3.1. Tipo I: Load/Store

3.1.1. Fetch

3.1.2. Decode

3.1.3. Execution

3.1.4. Memory Access

3.1.5. Writeback

3.2. Tipo I: Aritmético-Lógicas

3.2.1. Fetch

3.2.2. Decode

3.2.3. Execution

3.2.4. Writeback

3.3. Tipo I: Saltos Condicionales/Incondicionales

3.3.1. Fetch

3.3.2. Decode

3.3.3. Execution

3.4. Tipo R: Aritmético-Lógicas

3.4.1. Fetch

3.4.2. Decode

3.4.3. Execution

3.4.4. Writeback

3.5. Tipo J: Saltos Incondicionales

3.5.1. Fetch

3.5.2. Decode

3.5.3. Execution

4. Diseño

4.1. Modulos

4.1.1. Ruta de Datos

4.1.1.1. Combinacional

4.1.2. Unidad de Control

4.1.2.1. Secuencial o combinacional

4.2. Circuitos

4.2.1. Combinacional

4.2.1.1. Las salidas están en función de sus entradas, no tiene estados anteriores.

4.2.2. Secuencial

4.2.2.1. Las salidas no dependen de los valores de entrada, si depende de estados anteriores.

4.2.2.2. Realiza las instrucciones secuencialmente

4.3. Controles

4.3.1. Control Local

4.3.1.1. Decodifica el campo de operación "function" y selecciona la operación que debe realizar la ALU.

4.3.2. Control Gobal

4.3.2.1. Decodificica el campo de operación "opcode" y configura globalmente la ruta de datos.

5. Procesador Secuencial

5.1. Monociclo

5.1.1. CPI=1

5.1.2. Cada instrucción se completa en un ciclo de reloj.

5.1.3. nanoMips

5.1.3.1. Ruta de Datos

5.1.3.1.1. Contador de programa

5.1.3.1.2. Memorias de instrucciones y datos separadas

5.1.3.1.3. Banco de registros

5.1.3.1.4. 2 Sumadores

5.1.3.1.5. ALU

5.1.3.1.6. Extensor de signo

5.1.3.1.7. Desplazador a la izquierda

5.1.3.2. Unidad de control

5.1.3.2.1. Global

5.1.3.2.2. Local

5.2. Multiciclo

5.2.1. CPI>1

5.2.2. Utilizados en arquitecturas RISC

5.2.3. Se reduce el periodo del procesador

5.2.4. Cada instrucción se ejecuta en tantos ciclos como sea necesario.

5.2.5. nanoMips

5.2.5.1. Ruta de datos

5.2.5.1.1. Contador de programa

5.2.5.1.2. Memorias de instrucciones y datos juntas

5.2.5.1.3. Banco de registros

5.2.5.1.4. ALU

5.2.5.1.5. Extensor de signo

5.2.5.1.6. Desplazador a la izquierda

5.2.5.2. Puntos de control

5.2.5.2.1. No se pueden dar como en una tabla de verdad, pues no son constantes a lo largo de la ejecución.

5.2.5.2.2. Los valores de las señales dependen de la etapa en que se encuentre la instrucción.

5.2.5.3. Unidad de control

5.2.5.3.1. Global

5.2.5.3.2. Local

5.3. Excepciones

5.3.1. Excepción

5.3.1.1. Evento no planificado que interrumpe la ejecución de un programa.

5.3.2. Interrupción

5.3.2.1. Es una excepción que proviene de fuera del microprocesador.

5.3.3. Componentes

5.3.3.1. Registro Excepción

5.3.3.2. Contador de Excepción EPC

5.3.3.3. Restador

5.3.4. Señales control

5.3.4.1. ALU_overflow

5.3.4.2. Illegal_opcode

5.3.4.3. Exception

5.3.4.4. ExceptionWrite

5.3.4.5. ECPWrite

5.3.4.6. PCWrite