Organizaci - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

Organizaci

Description:

No las veremos (al menos por ahora.) Instrucciones para tratamiento de excepciones. Las veremos mas adelante. Instrucci n NOP: no hace nada. ... – PowerPoint PPT presentation

Number of Views:64
Avg rating:3.0/5.0
Slides: 24
Provided by: fliamo
Category:

less

Transcript and Presenter's Notes

Title: Organizaci


1
Organización del Computador I VeranoMIPS (2 de
2) Basado en el capítulo 3 del libro de
Patterson y Hennessy
  • Verano 2004

Profesora Borensztejn
2
Arquitectura MIPS (R2000)
  • Registros
  • Formato de Instrucción
  • Modos de Direccionamiento
  • Juego de Instrucciones

3
Registros Visibles
  • 32 registros de 32 bits
  • Todas las operaciones aritméticas operan con
    registros
  • Se identifican 0,1,....31
  • 0 está cableado a cero.

4
Formato MIPS de Instrucción
  • Son todas de 32 bits. Tres formatos
  • Tipo R
  • Tipo I
  • Tipo J

31 26 21 16
11 6 0
shamt
funct
op
rs
rt
rd
31 26 21 16
0
31 26
0
op
Target Address
5
Formato R (registro)
  • Op 0
  • rs, rt identificación de los registros fuente
  • rd identificación del registro destino
  • shamt cantidad de desplazamiento
  • funct identifica la operación (por ej. add32,
    sub34)

6
Formato R Ejemplos
31 26 21 16
11 6 0
  • Add 1, 2, 3

0
32
0
2
3
1
  • Slt 1, 2, 3
  • Set Less Than si (2lt3) entonces 11sino 10
  • Jump Register PClt--31

7
Formato I Transferencias
31 26 21 16
0
  • Lw 1, 100(2)
  • Load Word 1M2100
  • Sw 1, 100(2)
  • Store Word M21001

8
Formato I Saltos Inmediatos
31 26 21 16
0
  • Beq 1,2,100
  • Branch Equal si (12) entonces ir a
    PC4100
  • Bne 1,2,100
  • Branch Not Equal si (1!2) entonces ir a
    PC4100

9
Formato I Transferencias inmediatas
31 26 21 16
0
  • Addi 1,2,100

12100
  • Lui 1, 100

Load upper inmediato 1100216
10
Formato J Transferencias inmediatas
31 26
0
op
Target Address
31 26
0
  • J 10000

2
10000
PC 27..210000 PC1..000
31 26
0
  • Jal 10000

3
10000
JUMP AND LINK 31PC4 PC
27..210000 PC1..000
11
Modos de Direccionamiento
  • Modo Registro
  • Modo Base
  • Modo Inmediato
  • Modo Relativo al PC
  • Modo Pseudodirecto

12
Modos de Direccionamiento
13
Ejemplo Ensamblar
I,j,k están en s3,s4 y s5. La dirección de A
está en s6
while (aik) iij
bucle add t1,s3,s3 add t1,t1,t1 t14i
add t1,t1,s6 lw t0,0(t1) bne t0,s5,
fin add s3,s3,s4 j bucle fin
Suponer que el bucle comienza en la dirección
80000 de memoria
14
Ejemplo Ensamblar
80000
80004
80008
0
80012
35
9
8
2
80016
5
8
21
80020
80024
80000
2
15
Cálculo de la dirección destino de salto
Branch Equal si (12) entonces ir a
PC4offset
El campo desplazamiento mide la cantidad de words
(4 bytes) que separan el valor actual del PC de
la dirección destino de salto
16
Cálculo de la dirección destino de salto
J 10000 PC 27..210000 PC1..000
El campo dirección es una dirección de palabra,
por lo tanto habrá que traducirla a una dirección
de byte. Observar que esto conduce a una
dirección de 28 bits. Los 4 bits mas altos del PC
no se modifican. Si quisiéramos modificar los 32
bits del PC, se deberá usar la instrucción Jump
Register
17
Tipos de Datos
  • Byte (8 bits)
  • Halfword (16 bits)
  • Word (32 bits)
  • Single FP (32 bits)
  • Double FP (64bits)

18
Juego de Instrucciones
  • Aritméticas y Lógicas
  • Operan con datos de 32 bits
  • Con/Sin Signo (op/opu)
  • Con/Sin operando inmediato (op/opi)
  • Aritméticas suma, resta, división y
    multiplicación
  • add/addu/addi/addiu
  • sub/subu
  • div/divu
  • mult/multu
  • Lógicas and, nor, or, xor
  • and/andi
  • or/ori
  • xor/xori
  • nor
  • Desplazamientos lógicos y aritméticos
  • sll/sllv
  • sra/srav/srl/srlv

Las instrucciones de multiplicación y división
dejan sus resultados en dos registros especiales
Hi y Lo
Las versiones no variables, especifican la
cantidad de desplazamiento en el campo shamt de
la instrucción
19
Juego de Instrucciones
  • De Tratamiento de Constantes
  • Instrucción carga valor inmediato en mitad
    superior de registro
  • lui
  • De Comparación
  • No hay flagsgt inicializar registro destino si
    se cumple la condición entre los registros fuente
  • Con/Sin Signo (op/opu)
  • Con/Sin operando inmediato (op/opi)
  • Instrucciones
  • slt/sltu/slti/sltiu

20
Juego de Instrucciones
  • De salto condicional
  • Especifican el desplazamiento en instrucciones ,
    no en bytes
  • El desplazamiento es de 16 bits con signo
  • Incluyen comparación entre registros o contra el
    valor cero
  • Hay versiones para saltar y enlazar (guarda el
    PC4)
  • Instrucciones
  • beq, bne comparación entre registros
  • bgez, bgt, blez, bltz comparación con cero
  • bgezal, bltzal comparar con cero, saltar y
    enlazar
  • De salto incondicional
  • Especifican el desplazamiento en instrucciones ,
    no en bytes
  • El desplazamiento es de 26 bits (cuando no es
    modo registro)
  • Hay versiones para saltar y enlazar
  • Instrucciones
  • j, jal, jalr, jr

21
Juego de Instrucciones
  • De carga y almacenamiento (load/store)
  • Carga byte, halfword, word.
  • Los datos deben estar alineados.
  • La carga de byte y media palabra puede ser
    con/sin signo
  • Hay instrucciones especiales para palabras no
    alineadas.
  • Instrucciones
  • lb, lbu, sb para bytes
  • lh, lhu,sh para halfwords
  • lw, sw para words
  • lwl, lwr para carga de words desalineados
  • swl, swr para almacenamientos desalineados

Las instrucciones load con signo, extienden el
signo sobre el registro completo
22
Juego de Instrucciones
  • De Transferencia
  • Para transferir de/a los registros Hi y Lo
  • Para transferencia entre coprocesadores
  • Instrucciones
  • mfhi, mflo, mthi, mtlo
  • mfcz, mtcz mover desde/hacia registros del copro
    z
  • Instrucciones para CF
  • No las veremos (al menos por ahora......)
  • Instrucciones para tratamiento de excepciones
  • Las veremos mas adelante......
  • Instrucción NOP no hace nada........

Hi y Lo, recordemos, usados en las instrucciones
de multiplicación y división.
Z indica el coprocesador. La unidad de coma
flotante es el coprocesador 1
23
FIN MIPS ISA(2 de 2)
Write a Comment
User Comments (0)
About PowerShow.com