Professional Documents
Culture Documents
procesador MIPS
Procesador MIPS
Organizacin MIPS
Memoria
CPU
Alu
Registros
FPU
Registros
Mul Div
Hi
Lo
U. Aritmtica
Procesador MIPS
Organizacin MIPS
Unidad
Procesador MIPS
Memoria
Se
Procesador MIPS
Memoria
Dos
Byte 0
Byte 1
Byte 2
Byte 3
La direccin del byte ms significativo termina en
00 (en binario), slo si la palabra est alineada
Direcciones
Aumentan
Hacia abajo
Byte 3
Byte 2
Byte 1
Byte 0
Direccin de palabra
Direccin de palabra
Procesador MIPS
Memoria
Dos
Byte 3
Byte 2
Byte 1
Byte 0
La direccin del byte menos significativo termina
en 00 (en binario), slo si la palabra est alineada
Direcciones
Aumentan
Hacia abajo
Byte 0
Byte 1
Byte 2
Byte 3
Direccin de palabra
Direccin de palabra
siguiente
Procesador MIPS
Memoria
El
Procesador MIPS
0,1
Bit String
4 bits
8 bits
16 bits
32 bits
64 bits
nibble
byte
half-word
word
double-word
Procesador MIPS
Decimal(BCD)
Enteros
Reales
Procesador MIPS
Caractersticas
Puede
Procesador MIPS
Registros
Posee 32 registros de 32 bits cada uno.
Se requieren 5 bits para especificar un
registro.
Poseen nombres simblicos y nmeros.
Su uso adems se rige bajo algunos
convenios.
Procesador MIPS
Registros
Nombre Registro
Nmero
Uso
zero
Constante 0
at
v0
v1
a0
Argumento 1
a1
Argumento 2
a2
Argumento 3
a3
Argumento 4
t0
t1
t2
10
t3
11
t4
12
t5
13
t6
14
t7
15
Procesador MIPS
Registros
Nombre Registro
Nmero
Uso
s0
16
s1
17
s2
18
s3
19
s4
20
s5
21
s6
22
s7
23
t8
24
t9
25
k0
26
k1
27
gp
28
sp
29
fp
30
ra
31
Procesador MIPS
Ciclo de Ejecucin
Corresponde
Bsqueda de instruccin:
Obtiene desde la memoria la instruccin que ser ejecutada.
Decodificacin de Instruccin:
Determina el tipo de instruccin y su largo en caso de que la
instruccin est compuesta de varias palabras.
Debe especificarse cmo estarn codificados los operandos, la
operacin y la direccin de la prxima instruccin.
Procesador MIPS
Ciclo de Ejecucin
Bsqueda de Operandos:
Localiza y obtiene los datos que son los operandos de la
instruccin.
Accesar registros o la memoria, o decodificar valores que vienen
contenidos en la misma instruccin (operandos inmediatos), lo
cual debe especificarse en la instruccin.
Ejecucin:
Realiza la operacin con los operandos de entrada para generar
un resultado y determina el estado de ste.
Procesador MIPS
Ciclo de Ejecucin
Almacenamiento de resultados:
Deposita los resultados en la memoria de datos o en registros.
Esto se especifica en el cdigo de la instruccin.
Procesador MIPS
Procesador MIPS
R para operaciones.
Rs 5
Rt 5
Rd 5
Shamnt 5
Funct 6
Procesador MIPS
I para
bifurcaciones.
Op 6
Rs 5
Rt 5
inmediatas,
transferencias
Inmediato 16
Procesador MIPS
I para
bifurcaciones.
Op 6
Rs 5
Rt 5
inmediatas,
transferencias
Inmediato 16
Procesador MIPS
J para saltos
Direccin 26
Procesador MIPS
Add, AddU, Sub, SubU, And, Or, Xor, Nor, SLT, SLTU
Instruccin
Ejemplo
Significado
add
add
$t1,$t2,$t3
$t1 = $t2 + $t3
add unsigned
addu
$t1,$t2,$t3
$t1 = $t2 + $t3
subtract
sub
$t1,$t2,$t3
$t1 = $t2 $t3
subtract unsigned subu
$t1,$t2,$t3
$t1 = $t2 $t3
and
and
$t1,$t2,$t3
$t1 = $t2 & $t3
or
or
$t1,$t2,$t3
$t1 = $t2 | $t3
xor
xor
$t1,$t2,$t3
$t1 = $t2 ^ $t3
nor
nor
$t1,$t2,$t3
$t1 = ~($t2 | $t3)
set on less than slt
$t1,$t2,$t3
if ($t2 < $t3) $t1=1; else $t1=0;
Procesador MIPS
Aritmticos y Lgicos.
Procesador MIPS
Procesador MIPS
I Accesos a Memoria.
Procesador MIPS
y divisin entera
Instruccin
Ejemplo
multiply
mult $t2,$t3
multiply unsigned multu $t2,$t3
divide
div $t2,$t3
divide unsigned
divu
$t2,$t3
Significado
Hi, Lo = $t2 * $t3
Hi, Lo = $t2 * $t3
Lo = $t2 $t3
Lo = cuociente
Hi = $2 mod $3 Hi = resto
Lo = $t2 $t3
Hi = $t2 mod $t3 resto
Procesador MIPS
result from.
Procesador MIPS
to HI or LO .
MTHI, MTLO rd
Instruccin
Move to Hi
Move to Lo
Ejemplo
mthi $t1
mtlo $t1
Significado
Hi = $t1
Lo = $t1
Procesador MIPS
I Comparacin y bifurcaciones
Instruccin
Ejemplo
branch on equal beq $t1,$t2,100
branch on not eq. bne $t1,$t2,100
Significado
if ($t1 == $t2)
PC = (PC+4)+100*4;
if ($t1!= $t2)
PC = (PC+4)+100*4;
Procesador MIPS
J Saltos incondicionales
J, JR, JAL
Instruccin
Jump
jump and link
(Formato R)
jump register
jump and link
Ejemplo
j rtulo
jal rtulo
Significado
salto rtulo.
$ra = (PC + 4); salto rtulo;
jr $t1
jr $ra
jalr $t1
PC = $t1;
PC = $ra
$ra = (PC + 4); PC = $t1;
Procesador MIPS
de coprocesadores
Procesador MIPS
(directo):
Inmediato:
Base+ndice:
Procesador MIPS
En bifurcaciones
a PC:
En saltos ( j, jal,jr):
Procesador MIPS
Niveles de Representacin
Lenguaje
a[x] = a[x+1];
x++;
Assembler
Simblico.
Lenguaje
de Mquina. Binario.
1010 1110 0100 1001 0000 0000 0000 0000
Procesador MIPS
Niveles de Representacin
Transferencias
Transferencias Lgicas
Transferencias Fsicas.
Ej.
IR = MemInst[PC], PC=PC+4; Unidad Instruccin.
A = R[18];
Unidad Registros. Lectura.
S = A + signext(4);
Unidad Operaciones.
M = MemDat[S];
Unidad Memoria Datos.
R[9] = M
Unidad Registros. Escritura.
Procesador MIPS
Niveles de Representacin
Control
Procesador MIPS
Procesador MIPS
Por ejemplo para una palabra de tres
cifras (3 bits).
El negativo de un nmero se obtiene
complementndolo, excepto para el mayor
negativo que no tiene complemento en
tres cifras.
De esta manera para restar, basta sumar
el complemento.
Procesador MIPS
Procesador MIPS
Procesador MIPS