Convenciones. Introducción. Unidades principales en la implementación. El procesador: camino de datos y control. Tipos de elementos:

Documentos relacionados
El procesador: camino de datos y. IEC UTM Moisés E. Ramírez G. control

El procesador. Diseño del control

Segmentación: Mejora del rendimiento. IEC UTM Moisés E. Ramírez G. Segmentación

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

Fundamentos de los Computadores Grado en Ingeniería Informática (hasta final del diseño monociclo)

La Unidad de Control y el Camino de Datos

Microarquitectura: DISEÑO DE SISTEMAS DIGITALES EL-3310 I SEMESTRE MICROARQUITECTURA: FLUJO DE DATOS Y CONTROL DEL MICROPROCESADOR

Organización del Computador I Verano. Control Multiciclo. Basado en el capítulo 5 del libro de Patterson y Hennessy

MICROPROCESADOR. Multiciclo

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

Fundamentos de los Computadores Grado en Ingeniería Informática (desde diseño multiciclo en adelante)

Diseño del procesador MIPS R2000

UNIDAD 4: El procesador: Camino de los datos y Control.

Sección de procesamiento: El camino de datos

FUNDAMENTOS DE COMPUTADORES 18 de junio de Examen parcial del 2º cuatrimestre.

El procesador. Datapath y control

4.5 Microprogramación para simplificar el diseño del control

Diseño de la ruta de datos multiciclo. Procesador Multiciclo. Diseño de la ruta de datos multiciclo. Diseño de la ruta de datos multiciclo

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

op rs rt inmediato 6 bits 5 bits 5 bits Tipo J: Salto incondicional op

El procesador. Datapath para las instrucciones de brinco

Organización del Computador. Microprogramación

16/04/2012. Introducción. Construyendo el Datapath. Esquema de implementación Simple. Unidad de Control. Arquitectura de Computadoras Primavera 2012

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

Arquitectura t de Computadores Clase 10: Diseño del microprocesador monociclo pt.2

Práctica 7 - Microarquitectura del CPU

Temporización monociclo. Componentes de la ruta de datos. Ensamblaje de la ruta de

UNIDAD 5: Mejora del rendimiento con la segmentación.

Arquitectura de Computadoras para Ingeniería

Práctica 4 - Microarquitectura del CPU

EC - Bibliografía EC -

Diseño de la ruta de datos y la unidad de control

ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES 1º I.T.I.G. I.T.I.S.

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Ejercicios del tema 4. El procesador

Tema 4: Diseño de un microprocesador

Arquitectura de Computadoras. Clase 4 Segmentación de Instrucciones

Elementos constituyentes de la ejecución de un programa

El repertorio de instrucciones

Arquitectura de Computadores. Tema 8. Diseño de un CPU de multiciclo

Arquitectura de Computadores II Clase #3

Arquitectura de Computadores

Arquitectura de Computadores II Clase #4

Arquitectura de Computadores II Clase #4

Tema 2. Diseño del repertorio de instrucciones

El nivel ISA (II)! Conjunto de Instrucciones

Diseño Procesador Monociclo

Ejercicios del tema 4. El procesador

Estructura y Tecnología de Computadores. Módulo G. Estructura del procesador. Tema 16. Diseño de la ruta de datos y la unidad de control

Procesador Segmentado

Pipelining. Introducción

Microprocesador. Introducción. Instituto Sagrado Corazón de Jesús

Arquitectura de Computadores. Resumen para Certamen 2 Por Franco Zuccar

Tutorías con Grupos Reducidos (TGR) Sesión 2: Paralelismo a Nivel de Instrucción

Arquitectura de Computadoras

Tema 1: PROCESADORES SEGMENTADOS

ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES 1º I.T.I.G. I.T.I.S.

Carga de la instrucción / Decodificación y carga de registros (Figura 37) Instrucciones de salto condicional (Figura 40)

Unidad 3. Facultad de Ciencias Departamento de Electrónica

5. Procesador: camino de datos y control

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL DEL PROCESADOR

Introducción a la arquitectura de computadores

UNIDAD 3 ARQUITECTURA DEL Z80. Microprocesadores Otoño 2011

GUIA 24: REPERTORIO DE INSTRUCCIONES

Fig Riesgos por dependencias de datos.

UNIDAD 2: Instrucciones: el lenguaje de las computadoras.

Formato de instrucciones

TEMA 4 ESTRUCTURA VON-NEUMANN DEL COMPUTADOR DIGITAL

PROBLEMAS TEMA 1: Estructuras de interconexión de un computador

Bibliografía recomendada: Estructura y Diseño de Computadores: Volumen 1 Modelo Modelo Vo Vo n Neumann

Arquitectura del MIPS: Introducción

EVOLUCIÓN HISTÓRICA DE LOS µp

Ejercicios para el 3er parcial

Tratamiento de Excepciones en MIPS

Tema 3. Operaciones aritméticas y lógicas

Arquitectura de Computadoras Organización del CPU Basadas en las Notas de Teórico Versión 5.1 del Dpto. de Arquitectura-InCo-FIng

TEMA III: OPERACIONES CON LOS DATOS

4.1 Ejecución de instrucciones en el nivel de Microprogramación

ARQUITECTURA VON NEUMANN

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 2 UNIDAD DE CONTROL JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ

Tema 4. La Unidad de Control

Plataformas de soporte computacional: arquitecturas avanzadas,

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador

Aspectos avanzados de arquitectura de computadoras Pipeline. Facultad de Ingeniería - Universidad de la República Curso 2017

Organización de Computadoras. Algunas temas tomados en 2ª evaluación integradora

Tema 3. Operaciones aritméticas y lógicas

Cuestiones. Estructura y Tecnología de Computadores (IG09) 1 er Parcial 12 de sept. de 2002

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

Diseño Procesador Multiciclo

Organización de Computadoras. Clase 6

Formatos de Instrucción en el MIPS R3000

Tema 5. Segmentación: conceptos básicos

Tema 3. Operaciones aritméticas y lógicas

Arquitectura de Computadoras para Ingeniería

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador

Los números naturales y enteros en el 80X86 y en LAN

CICLOS DEL PROCESADOR

Simulador WepSIM. Versión 1.0. Félix García Carballeira Alejandro Calderón Mateos Javier Prieto Cepeda Saul Alonso Monsalve

Transcripción:

Unidades principales en la implementación Data El procesador: camino de datos y control IEC UTM Moisés E. Ramírez G. 1 Register # PC Address Instruction Instruction Registers Register # ALU memory Register # Tipos de elementos: Address Data Data memory Elementos que operan sobre datos (combinacionales) Elementos que contienen estados (secuenciales) 3 Introducción Convenciones Se diseñará una implementación que incluya las instrucciones más importantes. Instrucciones de acceso a memoria: lw, sw Instrucciones aritmético-lógicas: add, sub, slt, and, or Brincos: BEQ, J Pasos generales Enviar el contador del programa (PC) a la memoria que contiene el código y atrapar la instrucción. Leer uno o dos registros usando los campos de la instrucción para seleccionar los registros a leer. Uso de la ALU para el cálculo de una dirección, ejecución de una operación aritmética o lógica o comparaciones. Acceso a la memoria de datos para lectura o escritura. 2 Para mantener consistencia, y no entrar en detalles de los valores de voltaje, una señal acertada indicará un 1 lógico. Cualquier valor que se almacene, será guardado durante el flanco de reloj. En la implementación, cada instrucción inicia su ejecución sobre el flanco de reloj y la completa al siguiente flanco de reloj. El inconveniente es que todas las instrucciones están limitadas a la instrucción que ocupa más tiempo. 4 1

Elementos a usar para la búsqueda y captura de la instrucción a ejecutar (fetch) Cargas y almacenamientos La memoria de instrucciones almacenará las instrucciones a ejecutar. Para calcular la dirección en memoria a accesar, se suma el contenido del registro base con el desplazamiento de 16 bits. El program counter, indica la instrucción que se está ejecutando Un sumador es necesario para calcular la siguiente instrucción que se ejecutará (sumar 4 al PC). 5 La memoria de datos permitirá lecturas (cargas) y escrituras (almacenamientos). El módulo de extensión de signo permitirá convertir una palabra de 16 a 32 bits. La constante es un valor expresado en complemento a 2 de esta manera permite acceder a direcciones anteriores o posteriores al registro base. 7 Archivo de registros (register file) Las entradas al archivo de registros deben incluir los números de los registros a leer y el número de registro a escribir, al igual que el dato que se escribirá en el registro especificado. Register numbers Data ALU control 5 Read 3 register 1 Read 5 Read data 1 register 2 Zero 5 Registers Data ALU ALU Write result register Write data Read data 2 RegWrite a. Registers b. ALU Camino de datos para cargas y almacenamientos Se accesa a los registros, posteriormente se calcula la dirección de memoria ya sea para leer o escribir y posteriormente, en el caso de una carga, se concluye con la escritura del registro. 6 8 2

Instrucción BEQ El repertorio de instrucciones especifica que la base para el cálculo de la dirección destino es la dirección siguiente a la instrucción del brinco. Dado que en el camino de los datos dedicado a buscar y capturar la instrucción, calculamos PC + 4, este valor se usará como base para obtener el destino del salto. Debido a que las instrucciones utilizan palabras de 32 bits, el desplazamiento debe corresponder a un desplazamiento de palabras y no de bytes. Para ello, una vez que se haya extendido en signo al campo del desplazamiento, será necesario multiplicarlo por 4, esto se consigue si se desplaza 2 lugares a la izquierda. 9 Saltos incodicionales J La instrucción j tiene dos campos, un campo de 6 bits que corresponde al opcode y otro de 26 bits que indica la dirección destino del salto. Para esta instrucción también deberá considerarse que las instrucciones ocupan 4 bytes, de manera que también será necesario desplazar este campo 2 bits a la izquierda. Después del desplazamiento se tendrán 28 bits, de manera que el nuevo valor del contador del programa se obtendrá concatenando los 4 bits más significativos del PC 11 Camino de datos para BEQ 10 Implementación Debe tomarse en cuenta que se trata de una implementación que ejecutará todas las instrucciones en 1 ciclo de reloj. Esto significa que los recursos en el camino de los datos no pueden ser usados mas de una vez por instrucción, de manera que cualquier elemento que se requiera mas de una vez, deberá ser duplicado. Al compartir elementos, pueden requerirse múltiples conexiones a una entrada. Para ello se utilizarán multiplexores, y será el control el que determine cual de los datos fluirá a cada entrada. 12 3

Tipo R + acceso a memoria El primer operando en ambos casos es el dato escrito en el registro 1, obtenido del archivo de registros, sin embargo el segundo operando difiere para las dos instrucciones: En el caso de las instrucciones tipo-r el segundo operando es el dato escrito en el registro 2, obtenido del archivo de registros. Mientras que para los accesos a memoria, el segundo operando es una constante extendida en signo. Por lo que es necesario un multiplexor en la entrada del segundo operando de la ALU. En la entrada de datos del archivo de registros también deberá colocarse un multiplexor por medio del cual se seleccione entre el dato que viene de memoria (lw) o el resultado de la operación de la ALU 13 PC 4 Add Read address Instruction [31 0] Instruction memory Implementación de un ciclo BEQ: Un multiplexor a la entrada del PC, para permitirá seleccionar entre PC + 4 y el resultado de haber sumado a PC + 4 una constante. Instruction [25 21] Instruction [20 16] 1 M u Instruction [15 11] x 0 RegDst Instruction [15 0] Write register Write data RegWrite Read register 1 Read register 2 Read data 1 Read data 2 Registers 16 Sign 32 extend Instruction [5 0] Shift left 2 ALUSrc 1 M u x 0 ALU control ALUOp Add ALU result Zero ALU ALU result PCSrc 1 M u x 0 MemWrite Address Write data Data memory MemRead Read data MemtoReg 15 1 M u x 0 Camino de datos para instrucciones tipo R y de acceso a memoria Control de la ALU 14 Para cargas y almacenamientos se requiere que la ALU realice una suma para calcular la dirección de la localidad de memoria a la que se realizará el acceso. Para instrucciones aritmético lógicas la ALU realizará una suma, resta, AND, OR o ajuste sobre menor que, dependiendo del campo de función. Para el salto sobre igual la ALU necesita realizar una resta. 16 4

Diseño del control de la ALU Campos en los tipos de instrucciones Se usan dos formatos de instrucciones distintos Las instrucciones tipo R usan 3 registros como parámetros (fuentes: rs, rt; destino: rd) Las instrucciones de salto sobre igual y cargas y almacenamientos usan 2 registros rs y rt que serán evaluados para conocer si son iguales. En las cargas (35) y almacenamientos (43), el registro base rs, es el registro que se sumará a la dirección de 16 bits. 17 19 Tabla de verdad para controlar las operaciones de la ALU En caso de requerir más funciones, serán necesarias nuevas ecuaciones. Ya que habrá nuevas combinaciones. 18 Diseño del control principal Opcode bits 31-26 -> op[5-0] En instrucciones tipo R, saltos sobre igual y almacenamientos, los registros a ser leídos: rs (25-21) y rt (20-16) El registro base para cargas y almacenamientos es rs (25-21) Los 16 bits de desplazamiento para brincos sobre igual, cargas y almacenamientos siempre están en los bits 15-0 El registro destino está en uno de dos lugares: instrucciones tipo R en rd (15-11) Cargas en rt (20-16) Por lo tanto es necesario un multiplexor para seleccionar el campo que corresponda al registro que se escribirá de acuerdo a la operación. 20 5

Camino de datos con las señales de control identificadas Cada una de las señales de control 21 23 Señales del control principal El control principal 22 24 6

La unidad de control ajustará el valor de todas las señales dependiendo del código de operación, con excepción de PCSrc, ya que depende del resultado de la comparación en BEQ. Una de las entradas de la AND en PCSrc indica que se está realizando la operación de BEQ y la otra provendrá de la bandera de cero proveniente de la comparación dentro de la ALU En la siguiente tabla se muestra las señales de control que deberán colocarse en función del Opcode Control para la implementación de un solo ciclo 25 27 Implementación del control 26 28 7

Implementación de saltos incondicionales J es un tipo de salto incondicional, ello implica que el salto siempre se realizará. La instrucción contiene una dirección de 26 bits que se extenderá a 28 bits (palabras en vez de bytes). Al realizarse un salto, la nueva dirección estará formada de: Los 4 bits más significativos de PC+4, 28 bits (26 + 2 bits) del campo inmediato de la instrucción de salto. Problemas en la implementación de un solo ciclo No se usa una implementación de un solo ciclo porque no es eficiente. Una implementación de un solo ciclo tiene CPI de 1 (ciclos por instrucción). Todos los ciclos deberán ser del mismo tamaño, están determinados por la ruta o la instrucción que ocupa mayor cantidad de elementos en la máquina, la carga: Memoria de instrucciones Archivo de registros ALU Memoria de datos Archivo de registros 29 Diferentes tipos de instrucciones se podrían ejecutar en menos tiempo. 31 Implementación multiciclos 30 Cada instrucción se dividirá en pasos: lectura de la instrucción, decodificación, lectura de registros, etc. Cada paso se realizará en un ciclo de reloj, todos los ciclos de la misma longitud. Se requerirán multiples ciclos para cada instrucción. El número de ciclos dependerá del tipo de instrucción. Una unidad funcional puede ser usada más de una vez por instrucción, en diferentes ciclos. 32 8

Ventajas de una implementación multiciclos Cada instrucción puede tomar diferente número de ciclos de reloj. Se pueden compartir unidades funcionales dentro de la ejecución de una instrucción. Se puede usar una sola memoria para datos e instrucciones. Se puede usar una sola ALU Se agregan registros después de cada unidad funcional, para que éstos mantengan la salida hasta que su valor sea usado en un ciclo de reloj sucesivo. Estos registros no son visibles al programador. La colocación de los registros temporales depende de dos factores: Las unidades funcionales que se requieren en cada ciclo Los datos que se requerirán en etapas posteriores. 33 Consideraciones: En cada ciclo de reloj: El archivo de registros puede realizar a la vez dos lecturas o una escritura. La memoria puede realizar una lectura o una escritura. La ALU puede realizar una operación Cada uno de estos tres elementos genera un resultado que debe salvarse para las próximas etapas. Se agregan a la implementación: Registros temporales para respaldar la salida de la memoria: IR Instruction Register (instrucción). Este es el único registro que se mantiene durante toda la ejecución de la instrucción. MDR memory data register (dato) Ambos registros se almacenan por separado ya que ambos pueden ser necesarios en un mismo ciclo. La salida del archivo de registros se almacenan en A y B. La salida de la ALU se almacena en ALUOut. 35 Aproximación a un camino de datos de una implementación multiciclos Se puede notar que existen: Una sola memoria (instrucciones y datos) Una sola ALU, en vez de una ALU y dos sumadores. Implementación de múltiples ciclos. En los recuadros se marcan los registros necesarios para la implementación de múltiples ciclos. 34 36 9

Multiplexor para Instrucciones o Datos Camino de datos y control para la implementación de múltiples ciclos. Un multiplexor para seleccionar entre dos posibles direcciones: Dirección de una instrucciones (que proviene del PC) Dirección de un dato (que se generó como el resultado de una operación de la ALU). 37 39 Multiplexores que controlan las entradas de la ALU El primer multiplexor permite seleccionar entre PC A (registro) El segundo multiplexor B 4 Salida de ext de signo 16->32 Dirección desplazada <<2 Posibles valores que escribirán en el PC PC + 4 ALUOut que mantiene la dirección destino del salto sobre igual después de ser calculada Los 26 bits que provienen del IR que son desplazados a la izquierda por 2 y que posteriormente se concatenan con los 4 bits más significativos del PC+4. Haber cambiado a una memoria y una ALU, reduce los costos. 38 40 10

Señales de control de 2 bits 41 43 Señales de control de 1 bit Distribución de la ejecución de las señales de control Es necesario evaluar lo que deberá ocurrir en cada ciclo de reloj de la implementación multiciclo, con esto determinará que señales de control adicionales pueden ser necesarias, así como las activaciones de las diferentes señales de control. Cada paso está limitado a Una operación de la ALU Un acceso a memoria (R o W) Un acceso al Archivo de registros El tiempo de ciclo será tan corto como la operación que tome el tiempo más largo. Después de cada operación los datos generados deberán ser almacenados en elementos de estados principales (RF, PC, Memoria) o temporales (IR, MDR, A, B ALUOp) 42 44 11

Pasos para la ejecución de una instrucción 1.- Búsqueda de la instrucción 2.- Decodificación de la instrucción y lectura de registros 3.- Ejecución, cálculo de una dirección de memoria o culminación de un brinco/salto 4.- Acceso a memoria o culminación de una instrucción tipo-r 5.- Culminación de una lectura de memoria 45 2) Decodificación de la instrucción y lectura de registros Hasta este momento se desconoce la instrucción que se está ejecutando. Se realizará la lectura del archivo de registros, dejando los valores leídos en los registros A y B. En caso de que alguna instrucción no requiera de ellos no perjudicará. Suponiendo que se trata de un Salto condicional, se aprovecha para calcular la dirección destino del brinco, se suman los 16 bits más bajos del IR, extendidos en signo y desplazados a la izquierda en 2. La lectura del archivo de registros es automática: no requiere habilitaciones La escritura en A y B, tampoco requiere habilitaciones pero se realizará en el siguiente flanco de reloj. ALUOp = 00 <- suma ALUSrcA = 0 <- PC ALUSrcB = 11 <- 16 bits más bajos de IR <<2 ALUOut guardará el resultado de la suma de forma automática OPCoder definirá lo que se realizará en los siguientes pasos 47 1) Búsqueda de la instrucción Lo realizan todas las instrucciones Se lee la instrucción de la memoria y se almacena en IR. Al mismo tiempo se aprovecha la ALU para calcular la dirección de la siguiente instrucción. 3) Ejecución, cálculo de una dirección de memoria, culminación de un brinco/salto A partir de esta etapa, la ejecución depende de la clase de instrucción. La ALU opera sobre los resultados obtenidos de la etapa anterior La memoria se habilita: MemRead IorD = 0 para que PC suministre la instrucción IR se habilita para escribir IRWrite, dicha escritura se realizará en el siguiente flanco de reloj. ALUSrcA = 0 <- PC ALUSrcB = 01 <- 4 ALUOp = 00 <- Suma PCWrite = se acerta para guardar el resultado de la suma que se realizará en el siguiente flanco de reloj. ALUOut Guarda el resultado de PC + 4 46 Acceso a memoria: ALUOut = A + ext-signo( IR[15-0] ) ALUSrcA = 1 ALUSrcB = 10 ALUOp = 00 La escritura en ALUOut no requiere habilitación 48 12

(3b) Instrucción aritmético-lógica (Tipo R): ALUOut = A op B (3d) Salto PC = PC [ 31-28 ] ( IR[ 25-0] << 2 ) La ALU realizará la operación especificada en el campo de función ( IR[5-0] ) ALUOp = 10 ALUSrcA =1 ALUSrcB = 00 La escritura en ALUOut no requiere habilitación El PC es reemplazado por la dirección del salto PCSource = 10 PCWrite debe ser acertado. Aquí termina esta instrucción. 49 51 (3c) Brinco sobre igual Si ( A == B ) PC = ALUOut Se aprovecha que en el paso anterior ya se calculó la dirección destino del brinco, la cual está en ALUOut. Se aprovechará la ALU para la comparación los dos registros para la posible generación de bandera zero. ALUSrcA = 1 ALUSrcB =0 00 ALUOp = 01 PCSource = 01 (PC tomará el valor de ALUOut) PCWriteCond =1. Si la escritura del PC se va a realizar, lo hará en el siguiente flanco de reloj, y tomará la dirección correcta puesto que no ha cambiado el valor de ALUOut. Con este paso culmina la ejecución de esta instrucción y se puede continuar con la siguiente. El PC se modifica dos veces, en el paso 1 se escribió en el PC el valor de PC + 4. En el paso 2 sobre este valor se calculó la dirección destino del brinco, la cual se escribió en el paso 3 en el PC. 50 4) Acceso a memoria o culminación de una instrucción tipo-r Durante este paso, se accesará a la memoria para una carga o un almacenamiento y una instrucción tipo R almacenará su resultado. Acceso a Memoria: MDR = Memory[ ALUOut ] <Carga> o Memory[ ALUOut ] = B <Almacenamiento> La dirección calculada en el paso anterior está en ALUOut. IorD = 1 Si es una Carga, MemRead debe acertarse, el dato a cargar se almacenará en el registro MDR. Para almacenamientos, MemWrite debe acertarse, el dato que se escribirá está en el registro B, se obtuvo en el paso 2, pero su valor no cambio durante el paso 3. La escritura del registro MDR y de la memoria se hará en el siguiente flanco de reloj. Con este paso terminan los almacenamientos, pero no las cargas. 52 13

(4b) Instrucción aritmético-lógica Tipo R Reg[ IR [ 15-11 ] ] = ALUOut El resultado de la operación de la ALU, que esta en ALUOut, debe escribirse en el registro especificado en el campo rd. RegDst =1. RegWrite debe acertarse MemtoReg = 0 Aquí terminan las instrucciones tipo R 5.- Culminación de una lectura de memoria En este paso se completa la carga Reg[ IR [ 20-16 ] ] = MDR El dato que está en el registro MDR debe escribirse en el registro especificado en el campo rt. RRegDst =0 RegWrite debe acertarse MemtoReg = 1 53 55 Resumen 54 56 14

El control multiciclos En la implementación de un sólo ciclo, por medio de una tabla de verdad se determinó la habilitación de las señales para cada clase de instrucción. Para la implementación del control, usaremos una máquina de estados finitos. Una máquina de estados finitos consiste de un conjunto de estados y direcciones sobre cómo cambiar de estado. Las direcciones son definidas por la función del estado siguiente, la cual hace un mapeo entre el estado actual y sus entradas con el estado siguiente. Para la implementación de la máquina, las salidas de habilitación que no estén explícitamente acertadas estarán desacertadas, no se tendrá una condición no importa. 57 Instruction fetch and decode Para pasar de 0 a 1 no hay ninguna restricción 59 Aproximación al control multiciclos El paso 1 y 2 es el mismo para todos los tipos de instrucción. A partir de ese momento cada instrucción realiza cosas independientes. Máquina finita para controlar referencias a memoria 58 60 15

Instrucciones tipo R 61 63 Branch Implementación final de la máquina de estados Jump 62 64 16

65 67 66 17