Sunteți pe pagina 1din 2

Instr Referencia a mem: lw, sw. Lgica aritmtica: add, sub , and, or y slt). De salto : beq y j. 1.

- enviar contador de programa hacia memoria y obtener la instruc desde memoria. 2.- leer 1 o 2 regis usando campos d instrucc para seleccionar los regist a ser leidos. Unidad d memo: alamcena la inst d un prog y da instruc apartir de una direcc. Pc: mantienen la direccin de instruc actual. Sumador: incrementa pc a la direc de la siguiente instruc. Este bloque trae instrucc de mem y se prepara para ejecutar la sig instruc. Los 32 bits estn almacenados en una estruct llamada register file q es un banco de registros donde puende lerse o escribirse especificando un numero en el banco , asi mismo se usa una alu par aoperar los valore leidos. Lw$t1, offset_ value($ts): calcula direc de mem al sumar el reg de base (#2) al campo de offset con signo($t2) de 16 bits q se incluye en la inst en base a esto se necesita una unidad q permita hacer una extensin en signo para 32 bits, asi como tambin una unidad de mem de datos para escrit o lect. Esta seccin usa alu para evaluar condicin de salto e incluye un sumador separados para calcular la direccin de salto como la suma del pc imcrementadndo y la extensin en signo (16 bits mas bajo de la instruccion). La instr beq tiene 3 operandos y 2 reg q son comparados para igualdad y un offset de 16 bits para calcular la direccin de salto. Para implementar esta instruccin se debe calcular la direccin de salto sumando el campo de offset extendido de la instr al pc. Instrucci salto, mem reg: permite seleccionar 2 fuentes de origen (alu, mem reg) que van a proporcionar el reg write data. Alu src: cuando vale 1 permite seleccionar el segundo operando de la alu como la extensin llamada en signo de los 16 bits mas bajos de la instruccin. R add$t1, $t2, $t3: 2.- reg $t2 y $t3 son leidos del banco de reg y la unidad de control principal calcula los valores de las lneas de control durante este paso. 3.- alu trabaja con los datos leidos del banco de reg, usando el cdigo de funcin bit 5:0, corresponde al funct field de la inst para generar la funcin de la alu4.- resultado alu se escribe en el banco de reg usando los biots 14:11 de la instruccin para seleccionar el reg destino ($t1) Lw $t1 offset ($t2): 2.- valor del reg ($t2) es ledo del banco de reg. 3.- alu calcula la suma del valor ledo del banco de reg y de la extensin en signo 16 bits mas bajos de la inst, offset. 4.- suma d alu se usa como la direccin de la mem de datos. 5.- datos de unidad de mem se escribe en el banco de reg, el reg destino esta dado por los bits 20:16 de la instruc /$t1). Beq $t1, $t2, offset: 2.- reg t1 y t2 son leidos del banco de reg. El valor de pc+4 suma a la extensin en signo (16 bits mas bajo de la inst , offsert) despalzados hacia la

izquierda por 2: resultado de operacin de salto. 4.- resultado zero de la alu se usa para decir cual resultado de los sumadores se transfiere al pc. Trabaja de manera similar con formato tipo r pero La salida de la alu se usa para det si el pc es escrito con pc+4 o la direccin objetivo de salto. Funcin control: se define de manera precisa usando el contenido de la fig 5.18 . las salidas sin las lneas de control y la entrada es el campo op code de 6 bits (op{5:0})

ENTRADA O SALIDA ENTRADAS

SALIDAS

NOMBRE SEAL Op5 4 3 2 1 0 Reg dst Alu src Mem to reg Reg write Mem read Mem write Brtanch Alu op1 Aluop 0

R-FORMAT 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0

LW 1 0 0 0 1 1 0 1 1 1 1 0 0 0 0

SW 1 0 1 0 1 1 X 1 X 0 0 1 0 0 0

BEQ 0 0 0 1 0 0 X 0 x 0 0 0 1 0 1

Tipos de intruc R TPYE Lw Sw Branch jump

Unidades funcionales usadas por el tipo de instruccion Carg inst X X X x Acceso reg x X X Alu x X x Acceso reg Acceso mem Acceso mem

Acceso reg

S-ar putea să vă placă și