el nivel isaprof.usb.ve/mparada/ec2721/pdfs/clase3.pdf · microsoft powerpoint - clase3 author...

22
El Nivel ISA Capítulo 4

Upload: others

Post on 10-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: El Nivel ISAprof.usb.ve/mparada/ec2721/pdfs/clase3.pdf · Microsoft PowerPoint - clase3 Author monica Created Date 1/28/2008 3:29:51 PM

El Nivel ISA

Capítulo 4

Page 2: El Nivel ISAprof.usb.ve/mparada/ec2721/pdfs/clase3.pdf · Microsoft PowerPoint - clase3 Author monica Created Date 1/28/2008 3:29:51 PM

Elementos de una Instrucción• Código de operación (Op code)

—Hacer esto…

• Referencia a operandos fuente—A esto…

• Referencia a operando resultado—Pon la respuesta aquí…

• Referencia a la siguiente instrucción—Cuando lo termines, sigues con esto otro...

Page 3: El Nivel ISAprof.usb.ve/mparada/ec2721/pdfs/clase3.pdf · Microsoft PowerPoint - clase3 Author monica Created Date 1/28/2008 3:29:51 PM

CalcularDirección

Instrucción

Buscar instrucción

Búsqueda de

operandos

Decodificación de instrucción

Cálculo Dirección

Operandos

Operación sobre datos

Cálculo dirección

operandos

Almacenar Resultado

Diagrama de estados del Ciclo de Instrucción

Múltiples Operandos

MúltiplesResultados

Instrucción Completa,Buscar próxima instrucción

Page 4: El Nivel ISAprof.usb.ve/mparada/ec2721/pdfs/clase3.pdf · Microsoft PowerPoint - clase3 Author monica Created Date 1/28/2008 3:29:51 PM

Pilas (1)

120D4SPC1

A0A0A0100A0LV

A1A1A1104A1

A2A2A2108A2

A3A3A310CA3SP

110D0LVB0B0LV

114D1B1B1

118D2B2B2SP

11CD3C0LV

C2

C3SP

Uso de la pila para almacenar variables locales. a) Mientras A está activo. b) Después que A llama a B. c) Después que B llama a C. d) Después que C y B retornan y A llama a D.

Page 5: El Nivel ISAprof.usb.ve/mparada/ec2721/pdfs/clase3.pdf · Microsoft PowerPoint - clase3 Author monica Created Date 1/28/2008 3:29:51 PM

Pilas (2)

Uso de una pila de operandos para realizar un cálculo aritmético

Page 6: El Nivel ISAprof.usb.ve/mparada/ec2721/pdfs/clase3.pdf · Microsoft PowerPoint - clase3 Author monica Created Date 1/28/2008 3:29:51 PM

El Modelo de Memoria de IJVM

Page 7: El Nivel ISAprof.usb.ve/mparada/ec2721/pdfs/clase3.pdf · Microsoft PowerPoint - clase3 Author monica Created Date 1/28/2008 3:29:51 PM

Conjunto de Instrucciones de IJVM (1)

Conjunto de instrucciones de IJVM

Los operandos byte, const, y numvar son de 1 byte. Los operandos despl, indice y offset son de 2 bytes.

Page 8: El Nivel ISAprof.usb.ve/mparada/ec2721/pdfs/clase3.pdf · Microsoft PowerPoint - clase3 Author monica Created Date 1/28/2008 3:29:51 PM

Conjunto de Instrucciones de IJVM(2)

a) Memoria antes de ejecutar INVOKEVIRTUAL. b) Después de ejecutarlo.

Page 9: El Nivel ISAprof.usb.ve/mparada/ec2721/pdfs/clase3.pdf · Microsoft PowerPoint - clase3 Author monica Created Date 1/28/2008 3:29:51 PM

Conjunto de Instrucciones de IJVM(3)

a) Memoria antes de ejecutar IRETURN. b) Después de ejecutarlo.

Page 10: El Nivel ISAprof.usb.ve/mparada/ec2721/pdfs/clase3.pdf · Microsoft PowerPoint - clase3 Author monica Created Date 1/28/2008 3:29:51 PM

Compilando Java a IJVM (1)

a) Un fragmento de código en Java. b) El correspondiente lenguaje ensamblador Java. c) El programa en IJVM en código hexadecimal.

Page 11: El Nivel ISAprof.usb.ve/mparada/ec2721/pdfs/clase3.pdf · Microsoft PowerPoint - clase3 Author monica Created Date 1/28/2008 3:29:51 PM

Compilando Java a IJVM (2)

Tope de la pila después de cada instrucción de la Fig. 4-14(b).

Page 12: El Nivel ISAprof.usb.ve/mparada/ec2721/pdfs/clase3.pdf · Microsoft PowerPoint - clase3 Author monica Created Date 1/28/2008 3:29:51 PM

Implementación de IJVM usando Mic-1 (1)

El microprograma para Mic-1

Page 13: El Nivel ISAprof.usb.ve/mparada/ec2721/pdfs/clase3.pdf · Microsoft PowerPoint - clase3 Author monica Created Date 1/28/2008 3:29:51 PM

Implementación de IJVM usando Mic-1(2)

El microprograma para Mic-1

Page 14: El Nivel ISAprof.usb.ve/mparada/ec2721/pdfs/clase3.pdf · Microsoft PowerPoint - clase3 Author monica Created Date 1/28/2008 3:29:51 PM

Implementación de IJVM usando Mic-1(3)

El microprograma para Mic-1

Page 15: El Nivel ISAprof.usb.ve/mparada/ec2721/pdfs/clase3.pdf · Microsoft PowerPoint - clase3 Author monica Created Date 1/28/2008 3:29:51 PM

Implementación de IJVM usando Mic-1(4)

El microprograma para Mic-1

Page 16: El Nivel ISAprof.usb.ve/mparada/ec2721/pdfs/clase3.pdf · Microsoft PowerPoint - clase3 Author monica Created Date 1/28/2008 3:29:51 PM

Implementación de IJVM usando Mic-1(5)

El microprograma para Mic-1

Page 17: El Nivel ISAprof.usb.ve/mparada/ec2721/pdfs/clase3.pdf · Microsoft PowerPoint - clase3 Author monica Created Date 1/28/2008 3:29:51 PM

Implementación de IJVM usando Mic-1(6)

Formato de instrucción BIPUSH

a) ILOAD con un índice de 1-byte. b) WIDE ILOAD con un índice de 2-byte.

Page 18: El Nivel ISAprof.usb.ve/mparada/ec2721/pdfs/clase3.pdf · Microsoft PowerPoint - clase3 Author monica Created Date 1/28/2008 3:29:51 PM

Implementación de IJVM usando Mic-1(7)

La secuencia inicial paraILOAD y WIDE ILOAD. Las direcciones son ejemplos.

Page 19: El Nivel ISAprof.usb.ve/mparada/ec2721/pdfs/clase3.pdf · Microsoft PowerPoint - clase3 Author monica Created Date 1/28/2008 3:29:51 PM

Implementación de IJVM usando Mic-1(8)

La instrucción IINC tiene dos campos de operandos distintos.

Page 20: El Nivel ISAprof.usb.ve/mparada/ec2721/pdfs/clase3.pdf · Microsoft PowerPoint - clase3 Author monica Created Date 1/28/2008 3:29:51 PM

Implementación de IJVM usando Mic-1(9)

La situación al inicio de diversas microinstrucciones: a) Main1. b) goto1. c) goto2. d) goto3. e) goto4.

Page 21: El Nivel ISAprof.usb.ve/mparada/ec2721/pdfs/clase3.pdf · Microsoft PowerPoint - clase3 Author monica Created Date 1/28/2008 3:29:51 PM

Conjunto de Instrucciones de IJVM(2)

a) Memoria antes de ejecutar INVOKEVIRTUAL. b) Después de ejecutarlo.

Page 22: El Nivel ISAprof.usb.ve/mparada/ec2721/pdfs/clase3.pdf · Microsoft PowerPoint - clase3 Author monica Created Date 1/28/2008 3:29:51 PM

Conjunto de Instrucciones de IJVM(3)

a) Memoria antes de ejecutar IRETURN. b) Después de ejecutarlo.