1 / 10

CAPÍTULO 2 (II - Parte)

CAPÍTULO 2 (II - Parte). Instrucciones: FORMATO DE INSTRUCCIONES. Modos de direccionamiento MIPS. Direccionamiento por registro – el operando se encuentra almacenado en un registro

vicky
Download Presentation

CAPÍTULO 2 (II - Parte)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CAPÍTULO 2 (II - Parte) Instrucciones: FORMATO DE INSTRUCCIONES

  2. Modos de direccionamiento MIPS • Direccionamiento por registro – el operando se encuentra almacenado en un registro • Direccionamiento Base (desplazamiento) – el operando se encuentra almacenado en una posición de memoria cuya dirección es la suma del contenido de un registro y una constante de 16 bits, contenida en la misma instrucción. • Direccionamiento inmediato – el operando es una constante de 16 bits contenida en la misma instrucción. • Direccionamiento relativo al PC – la dirección de la instrucción es la suma del contenido del PC y una constante de 16 bits contenida en la misma instrucción. • Direccionamiento pseudo directo – la direcciónde la instrucción se forma con los 26 bits contenidos en la instrucción concatenados con los cuatro bits más significativos del PC. — 2

  3. 1. Direcc por registro op rs rt rd funct Registro Palabra Operando 2. Direcc base op rs rt offset Memoria Operando word o byte Registro base 3. Direcc. base op rs rt operando 4. Direcc relativo PC op rs rt offset Memoria Destino de la instrucción de salto Contador de programa (PC) 5. Direcc. Pseudo directo Memoria op dirección de salto || Destino de la instruc. de salto Contador de Programa (PC) Ilustración de los modos de direccionamiento Concatenado — 3

  4. op rs rt rd shamt funct Campos en las instrucciones MIPS • op • rs • rt • rd • shamt • funct 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits = 32 bits Código de laoperaciónque se realizará Dirección del registro del primer operando fuente Dirección del registro del segundo operando fuente Dirección del registro destino shift amount, para las instrucciones de desplazamiento(cantidad de desplazamientos) Código de function que selecciona las variantes específicas de la operación indicada en el campo de código de operación — 4

  5. Instrucciones aritméticas MIPS Instrucciones aritméticas MIPS add $t0, $s1, $s2 sub $t0, $s1, $s2 0 17 18 8 0 0x20 • Cada instrucción aritmética realiza una operación • Cada una especifica tres operandos almacenados en registros de la ruta de datos ($t0,$s1,$s2) destino  fuente1 op fuente2 • Formato de la instrucción (Formato R) — 5

  6. Formato de la instrucción Load/Store I (Formato I): lw $t0, 24($s3) Instrucción de cargue Memoria . . . 0001 1000 (24)D + . . . 1001 0100 . . . 1010 1100 = 0x120040AC 2410 + $s3 = 0xFFFFFFFF 0x120040AC $t0 0x12004094 $s3 35 19 8 2410 0x0000000C 0x00000008 0x00000004 0x00000000 datos word address (hex) — 6

  7. 23hex 18 8 24 100011 10010 01000 0000000000011000 op rs rt 16 numero de bits Instrucción de cargue • Considere la instrucción de cargue una palabra o almacene una palabra • ¿Qué significa aquí el principio de regularidad? • Pero . . . Un buen diseño demanda buenos compromisos • Se introduce un nuevo tipo de formato de instrucción • Tipo I para instrucciones de transferencia de datos) • Ejemplo: lw $t0, 24($s2) ¿Donde se presenta el compromiso? — 7

  8. 43 18 8 24 101011 10010 01000 0000000000011000 op rs rt 16 bit number Instrucción para almacenar • Ejemplo: sw $t0, 24($s2) • Un offset de 16 bits significa: acceso a las posiciones de memoria en el rango de +213-1 a -213 (~8,192) palabraso (+215-1 a -215 (~32,768) bytes) de las direcciones en el registro base $s2 • Complemento a 2 (1 bit de signo + 15 bits de magnitud) — 8

  9. Formato I op rs rt 16 bits inmediatos 8 19 19 4 Instrucciones inmediatas • ¿Que tipo de formato utiliza la instrucción addi?addi $s3, $s3, 4 #$s3 = $s3 + 4 • Formato máquina: • La constante se mantiene dentro de la misma instrucción! • Los valores límites inmediatos se encuentran en el rango+215–1 a -215 — 9

  10. lw 35 19 8 8 sub 0 8 18 8 0 34 sw 43 19 8 32 Código ensamblador • Para el código en C A[8] = A[2] – b • Las instrucciones en código MIPS es lw $t0, 8($s3) #cargue A[2] en $t0 sub $t0, $t0, $s2 #substraiga b de A[2] sw $t0, 32($s3) #almacene el resultado en A[8] — 10

More Related