introducción a la computación capítulo 10 repertorio de … · 2014. 6. 8. · •la cpu...
TRANSCRIPT
![Page 1: Introducción a la Computación Capítulo 10 Repertorio de … · 2014. 6. 8. · •La CPU necesita estar en un estado específico —Anillo 0 o 80386+ —Modo Kernel •Para uso](https://reader035.vdocuments.co/reader035/viewer/2022071114/5feadfcfaa928a6b541d19da/html5/thumbnails/1.jpg)
Introducción a la Computación
Capítulo 10Repertorio de instrucciones:Características y Funciones
![Page 2: Introducción a la Computación Capítulo 10 Repertorio de … · 2014. 6. 8. · •La CPU necesita estar en un estado específico —Anillo 0 o 80386+ —Modo Kernel •Para uso](https://reader035.vdocuments.co/reader035/viewer/2022071114/5feadfcfaa928a6b541d19da/html5/thumbnails/2.jpg)
¿Que es un set de instrucciones?• La colección completa de instrucciones
que interpreta una CPU• Código máquina• Binario• Representado generalmente por código
ensamblador
![Page 3: Introducción a la Computación Capítulo 10 Repertorio de … · 2014. 6. 8. · •La CPU necesita estar en un estado específico —Anillo 0 o 80386+ —Modo Kernel •Para uso](https://reader035.vdocuments.co/reader035/viewer/2022071114/5feadfcfaa928a6b541d19da/html5/thumbnails/3.jpg)
Elementos de una Instrucción
• Código de Operación (Op code)• Referencia al Operando Fuente• Referencia al Destino• Referencia a la próxima
Instrucción
![Page 4: Introducción a la Computación Capítulo 10 Repertorio de … · 2014. 6. 8. · •La CPU necesita estar en un estado específico —Anillo 0 o 80386+ —Modo Kernel •Para uso](https://reader035.vdocuments.co/reader035/viewer/2022071114/5feadfcfaa928a6b541d19da/html5/thumbnails/4.jpg)
Formato simple de instrucción
![Page 5: Introducción a la Computación Capítulo 10 Repertorio de … · 2014. 6. 8. · •La CPU necesita estar en un estado específico —Anillo 0 o 80386+ —Modo Kernel •Para uso](https://reader035.vdocuments.co/reader035/viewer/2022071114/5feadfcfaa928a6b541d19da/html5/thumbnails/5.jpg)
¿Dónde se encuentran los operandos?
• En los registros de CPU• En la Memoria principal• En los Registros de un dispositivo de
E/S
![Page 6: Introducción a la Computación Capítulo 10 Repertorio de … · 2014. 6. 8. · •La CPU necesita estar en un estado específico —Anillo 0 o 80386+ —Modo Kernel •Para uso](https://reader035.vdocuments.co/reader035/viewer/2022071114/5feadfcfaa928a6b541d19da/html5/thumbnails/6.jpg)
Representación de la Instrucción• En código máquina cada instrucción tiene
su patrón de bits que le es único• Los programadores usan una
representación simbólica de las mismas:—ADD, SUB, LOAD
• Los operandos pueden representarse así:—ADD A,B
![Page 7: Introducción a la Computación Capítulo 10 Repertorio de … · 2014. 6. 8. · •La CPU necesita estar en un estado específico —Anillo 0 o 80386+ —Modo Kernel •Para uso](https://reader035.vdocuments.co/reader035/viewer/2022071114/5feadfcfaa928a6b541d19da/html5/thumbnails/7.jpg)
Tipos de Instrucciones
• Procesamiento• Transferencia• Almacenamiento• Control
![Page 8: Introducción a la Computación Capítulo 10 Repertorio de … · 2014. 6. 8. · •La CPU necesita estar en un estado específico —Anillo 0 o 80386+ —Modo Kernel •Para uso](https://reader035.vdocuments.co/reader035/viewer/2022071114/5feadfcfaa928a6b541d19da/html5/thumbnails/8.jpg)
Cantidad de Referencias (a)• 3 direcciones
—Operando 1, Operando 2, Resultado—a = b + c;—No muy usado—Muy larga
![Page 9: Introducción a la Computación Capítulo 10 Repertorio de … · 2014. 6. 8. · •La CPU necesita estar en un estado específico —Anillo 0 o 80386+ —Modo Kernel •Para uso](https://reader035.vdocuments.co/reader035/viewer/2022071114/5feadfcfaa928a6b541d19da/html5/thumbnails/9.jpg)
Cantidad de Referencias (b)• 2 direcciones
—Una de ellas funciona como operando y resultado
—a = a + b—Mas corta—Requiere trabajo extra
– Almacenamiento temporal
![Page 10: Introducción a la Computación Capítulo 10 Repertorio de … · 2014. 6. 8. · •La CPU necesita estar en un estado específico —Anillo 0 o 80386+ —Modo Kernel •Para uso](https://reader035.vdocuments.co/reader035/viewer/2022071114/5feadfcfaa928a6b541d19da/html5/thumbnails/10.jpg)
Cantidad de Referencias (c)• 1 dirección
—Segunda dirección es implícita—Se utiliza un registro (acumulador)—Muy usado en máquinas simples
![Page 11: Introducción a la Computación Capítulo 10 Repertorio de … · 2014. 6. 8. · •La CPU necesita estar en un estado específico —Anillo 0 o 80386+ —Modo Kernel •Para uso](https://reader035.vdocuments.co/reader035/viewer/2022071114/5feadfcfaa928a6b541d19da/html5/thumbnails/11.jpg)
Cantidad de Referencias (d)• 0 direcciones
—Todas las direcciones están implícitas—Se usa la Pila— push a— push b— add— pop c
—c = a + b
![Page 12: Introducción a la Computación Capítulo 10 Repertorio de … · 2014. 6. 8. · •La CPU necesita estar en un estado específico —Anillo 0 o 80386+ —Modo Kernel •Para uso](https://reader035.vdocuments.co/reader035/viewer/2022071114/5feadfcfaa928a6b541d19da/html5/thumbnails/12.jpg)
¿Cuantas Direcciones se deberán referenciar?
• Muchas—Las Instrucciones serán más complejas (¿mas
potentes?)—Son necesarios más registros
– Las operaciones entre registros son mas rápidas
—Son necesarias menos instrucciones por programa
• Pocas—Instrucciones mas sencillas (¿menos
potentes?)—Mas instrucciones por programa—Mas rápida búsqueda y ejecución de las
instrucciones
![Page 13: Introducción a la Computación Capítulo 10 Repertorio de … · 2014. 6. 8. · •La CPU necesita estar en un estado específico —Anillo 0 o 80386+ —Modo Kernel •Para uso](https://reader035.vdocuments.co/reader035/viewer/2022071114/5feadfcfaa928a6b541d19da/html5/thumbnails/13.jpg)
Cuestiones de diseño (1)
• Cantidad de operaciones—Cuantas?—Que harán?—Cuan complejas serán?
• Tipos de Datos• Formato
—Longitud del OPCOD—Cantidad de Referencias
![Page 14: Introducción a la Computación Capítulo 10 Repertorio de … · 2014. 6. 8. · •La CPU necesita estar en un estado específico —Anillo 0 o 80386+ —Modo Kernel •Para uso](https://reader035.vdocuments.co/reader035/viewer/2022071114/5feadfcfaa928a6b541d19da/html5/thumbnails/14.jpg)
Cuestiones de diseño (2)
• Registros—Cantidad de registros disponibles—¿Que Operaciones estarán
relacionadas con cada registro?
• Modos de Direccionamiento (cantidad de direcciones)
• RISC vs. CISC
![Page 15: Introducción a la Computación Capítulo 10 Repertorio de … · 2014. 6. 8. · •La CPU necesita estar en un estado específico —Anillo 0 o 80386+ —Modo Kernel •Para uso](https://reader035.vdocuments.co/reader035/viewer/2022071114/5feadfcfaa928a6b541d19da/html5/thumbnails/15.jpg)
Tipos de Operandos
• Direcciones• Números (Enteros, Flotante)• Caracteres (ASCII etc.)• Lógicos (Bits o flags)• Por otro lado, ¿hay diferencias entre
números y caracteres?
![Page 16: Introducción a la Computación Capítulo 10 Repertorio de … · 2014. 6. 8. · •La CPU necesita estar en un estado específico —Anillo 0 o 80386+ —Modo Kernel •Para uso](https://reader035.vdocuments.co/reader035/viewer/2022071114/5feadfcfaa928a6b541d19da/html5/thumbnails/16.jpg)
Tipos de Operaciones
• Transferencia de Datos• Aritméticas• Lógicas• Conversión• E/S• Control del Sistema• Control de Flujo
![Page 17: Introducción a la Computación Capítulo 10 Repertorio de … · 2014. 6. 8. · •La CPU necesita estar en un estado específico —Anillo 0 o 80386+ —Modo Kernel •Para uso](https://reader035.vdocuments.co/reader035/viewer/2022071114/5feadfcfaa928a6b541d19da/html5/thumbnails/17.jpg)
Transferencia de datos• Especifica lo siguiete:
—Fuente (origen)—Destino—Cantidad de datos
• Puede haber diferentes instrucciones para distintos movimientos—Ej. IBM S/390
• O una instrucción y diferentes direcciones—Ej. VAX
![Page 18: Introducción a la Computación Capítulo 10 Repertorio de … · 2014. 6. 8. · •La CPU necesita estar en un estado específico —Anillo 0 o 80386+ —Modo Kernel •Para uso](https://reader035.vdocuments.co/reader035/viewer/2022071114/5feadfcfaa928a6b541d19da/html5/thumbnails/18.jpg)
Aritmética• Suma, Resta, Multiplicación, División• Enteros con signo• ¿Punto flotante?• Puede incluir
—Incremento (a++)—Decremento (a--)—Negación (-a)
![Page 19: Introducción a la Computación Capítulo 10 Repertorio de … · 2014. 6. 8. · •La CPU necesita estar en un estado específico —Anillo 0 o 80386+ —Modo Kernel •Para uso](https://reader035.vdocuments.co/reader035/viewer/2022071114/5feadfcfaa928a6b541d19da/html5/thumbnails/19.jpg)
Operaciones de rotación y desplazamiento
![Page 20: Introducción a la Computación Capítulo 10 Repertorio de … · 2014. 6. 8. · •La CPU necesita estar en un estado específico —Anillo 0 o 80386+ —Modo Kernel •Para uso](https://reader035.vdocuments.co/reader035/viewer/2022071114/5feadfcfaa928a6b541d19da/html5/thumbnails/20.jpg)
Lógicas• Operaciones con Bits• AND, OR, NOT
![Page 21: Introducción a la Computación Capítulo 10 Repertorio de … · 2014. 6. 8. · •La CPU necesita estar en un estado específico —Anillo 0 o 80386+ —Modo Kernel •Para uso](https://reader035.vdocuments.co/reader035/viewer/2022071114/5feadfcfaa928a6b541d19da/html5/thumbnails/21.jpg)
Conversión• Ej. Binario a Decimal
![Page 22: Introducción a la Computación Capítulo 10 Repertorio de … · 2014. 6. 8. · •La CPU necesita estar en un estado específico —Anillo 0 o 80386+ —Modo Kernel •Para uso](https://reader035.vdocuments.co/reader035/viewer/2022071114/5feadfcfaa928a6b541d19da/html5/thumbnails/22.jpg)
Entrada/salida• Pueden ser realizadas por instrucciones
específicas• O utilizar las de trasferencia (E/S
mapeada en memoria)• Puede ser realizada por un controlador
separado (DMA)
![Page 23: Introducción a la Computación Capítulo 10 Repertorio de … · 2014. 6. 8. · •La CPU necesita estar en un estado específico —Anillo 0 o 80386+ —Modo Kernel •Para uso](https://reader035.vdocuments.co/reader035/viewer/2022071114/5feadfcfaa928a6b541d19da/html5/thumbnails/23.jpg)
Control del sistema• Instrucciones privilegiadas• La CPU necesita estar en un estado
específico—Anillo 0 o 80386+—Modo Kernel
• Para uso del Sistema Operativo exclusivamente
![Page 24: Introducción a la Computación Capítulo 10 Repertorio de … · 2014. 6. 8. · •La CPU necesita estar en un estado específico —Anillo 0 o 80386+ —Modo Kernel •Para uso](https://reader035.vdocuments.co/reader035/viewer/2022071114/5feadfcfaa928a6b541d19da/html5/thumbnails/24.jpg)
Control de flujo• Bifurcación
—Ej. Ir a x si el resultado anterior es cero
• Salto—Ej. incrementar y saltar si cero—ISZ Registro1—Branch xxxx—ADD A
• Llamada a subrutina—Interrupciones por software
![Page 25: Introducción a la Computación Capítulo 10 Repertorio de … · 2014. 6. 8. · •La CPU necesita estar en un estado específico —Anillo 0 o 80386+ —Modo Kernel •Para uso](https://reader035.vdocuments.co/reader035/viewer/2022071114/5feadfcfaa928a6b541d19da/html5/thumbnails/25.jpg)
Instrucción de Bifurcación
![Page 26: Introducción a la Computación Capítulo 10 Repertorio de … · 2014. 6. 8. · •La CPU necesita estar en un estado específico —Anillo 0 o 80386+ —Modo Kernel •Para uso](https://reader035.vdocuments.co/reader035/viewer/2022071114/5feadfcfaa928a6b541d19da/html5/thumbnails/26.jpg)
Subrutinas anidadas
![Page 27: Introducción a la Computación Capítulo 10 Repertorio de … · 2014. 6. 8. · •La CPU necesita estar en un estado específico —Anillo 0 o 80386+ —Modo Kernel •Para uso](https://reader035.vdocuments.co/reader035/viewer/2022071114/5feadfcfaa928a6b541d19da/html5/thumbnails/27.jpg)
Uso de la Pila