Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Arquitectura de Computadores
Clase 13
Rubn Mitnik
Objetivos
Captulo 4 : Unidad de Procesamiento Central (CPU)
Objetivos
R.Mitnik
Arquitectura de Computadores
ndice
Captulo 4 : Unidad de Procesamiento Central (CPU)
4.1 Partes de la CPU. 4.2 Conjunto de Instrucciones y tipos de funcionalidad. 4.3 Ciclo de la Instruccin. 4.4 Diseo de una CPU bsica. 4.5 Modos de direccionamiento. 4.6 Instrucciones en lenguaje de mquina. 4.7 Subrutinas y Manejo de Stack. 4.8 Interrupciones de software y hadware. 4.9 CISC/RISC.
R.Mitnik 3 Arquitectura de Computadores
Subrutinas
Captulo 4 : Unidad de Procesamiento Central (CPU) Subrutinas y manejo del Stack
Subrutinas
R.Mitnik
Arquitectura de Computadores
Subrutinas
Captulo 4 : Unidad de Procesamiento Central (CPU) Subrutinas y manejo del Stack
Cdigo de su implementacin
Direccin de retorno
R.Mitnik
Arquitectura de Computadores
Subrutinas
Captulo 4 : Unidad de Procesamiento Central (CPU) Subrutinas y manejo del Stack
Cdigo de su implementacin
Direccin de retorno
R.Mitnik
Arquitectura de Computadores
Inicio subrutina
Datos y resultado
kaput!!
Instrucciones
Salida de subrutina
Subrutinas
Captulo 4 : Unidad de Procesamiento Central (CPU) Subrutinas y manejo del Stack
Cdigo de su implementacin
Kaput!
R.Mitnik
Arquitectura de Computadores
Subrutinas
Captulo 4 : Unidad de Procesamiento Central (CPU) Subrutinas y manejo del Stack
R.Mitnik
Arquitectura de Computadores
Subrutinas
Captulo 4 : Unidad de Procesamiento Central (CPU) Subrutinas y manejo del Stack
Registros Stack
R.Mitnik
10
Arquitectura de Computadores
Direccin de retorno
Captulo 4 : Unidad de Procesamiento Central (CPU) Subrutinas
Registros
Al llamar a una subrutina se carga un registro con la direccin de retorno de sta. Al retornar, carga el Program Counter (o Instruction Pointer) con el valor de dicho registro.
Desventajas Se dificulta la anidacin de subrutinas Se dificulta la implementacin de funciones recursivas Pierdo utilizacin de un registro Ventajas Simpleza
11 Arquitectura de Computadores
R.Mitnik
Direccin de retorno
Captulo 4 : Unidad de Procesamiento Central (CPU) Subrutinas
Stack
Al llamar a una subrutina hago PUSH del valor del Program Counter (o Instruction Pointer) Al retornar, hace POP del valor almacenado cargndolo de vuelta en el Program Counter. Desventajas Requiere manejar el stack Ventajas Anidacin de subrutinas (incluso recursivas) se logra de manera transparente.
12 Arquitectura de Computadores
R.Mitnik
A0h A1h A2h A3h A4h A5h A6h A7h CALL SUB Next Instr. Program Counter
Stack Pointer
A0h A1h A2h A3h A4h A5h A6h A7h CALL SUB Next Instr. Program Counter
Stack Pointer
Subrutinas
Captulo 4 : Unidad de Procesamiento Central (CPU) Subrutinas y manejo del Stack
R.Mitnik
15
Arquitectura de Computadores
Subrutinas
Captulo 4 : Unidad de Procesamiento Central (CPU) Subrutinas y manejo del Stack
Registros Stack
Retornar resultados
R.Mitnik
16
Arquitectura de Computadores
Paso de parmetros
Captulo 4 : Unidad de Procesamiento Central (CPU) Subrutinas
Registros
Antes de llamar a subrutina cargo registros con los parmetros Debo conocer que registros ocupa la subrutina La subrutina lee los registros
R.Mitnik
Paso de parmetros
Captulo 4 : Unidad de Procesamiento Central (CPU) Subrutinas
Stack
Antes de llamar a subrutina hago PUSH de los parmetros Debo saber en que orden mandarlos
R.Mitnik
A0h A1h A2h A3h A4h A5h A6h A7h PUSH A PUSH B CALL SUB POP POP Next Instr.
Program Counter
Stack Pointer
A0h A1h A2h A3h A4h A5h A6h A7h PUSH A PUSH B CALL SUB POP POP Next Instr.
Program Counter
dato
A4h B A ### ### ### Stack
R.Mitnik
20
A0h A1h A2h A3h A4h A5h A6h A7h PUSH A PUSH B CALL SUB POP POP Next Instr.
Program Counter
Stack Pointer
A0h A1h A2h A3h A4h A5h A6h A7h PUSH A PUSH B CALL SUB POP POP Next Instr.
Program Counter
Frame (marco)
de la subrutina anterior
A0h A1h A2h A3h A4h A5h A6h PUSH A PUSH B CALL SUB POP POP Next Instr.
Program Counter
FFh
A4h B A ### ### ### Stack Base Pointer
23
A7h
R.Mitnik
A0h A1h A2h A3h A4h A5h A6h A7h PUSH A PUSH B CALL SUB POP POP Next Instr.
Program Counter
C6h
A0h A1h A2h A3h A4h A5h A6h A7h PUSH A PUSH B CALL SUB POP POP Next Instr.
Program Counter
C6h
Subrutinas
Captulo 4 : Unidad de Procesamiento Central (CPU) Subrutinas y manejo del Stack
R.Mitnik
26
Arquitectura de Computadores
Subrutinas
Captulo 4 : Unidad de Procesamiento Central (CPU) Subrutinas y manejo del Stack
Registros
R.Mitnik
27
Arquitectura de Computadores
Subrutinas
Captulo 4 : Unidad de Procesamiento Central (CPU) Subrutinas y manejo del Stack
Cdigo de su implementacin
Kaput!
Direccin de retorno
Registros Stack
Parmetros
Registros Stack
R.Mitnik
Retornar resultados
Registros
28 Arquitectura de Computadores
Resumen
Captulo 4 : Unidad de Procesamiento Central (CPU)
Resumen
Precauciones
Direccin de retorno
Registros Stack
Registros Stack Registros
Parmetros
Retornar resultados
R.Mitnik
29
Arquitectura de Computadores