TEMA 2. ARQUITECTURA IA-32 Lección 1. Arquitectura de los microprocesadores IA-32 Intel Architecture Software Developer’s Manual Vol 1 caps 2.
junio de 2015MICROPROCESADORES2 Evolución histórica de los microprocesadores Intel 80x86
junio de 2015MICROPROCESADORES3
junio de 2015MICROPROCESADORES4
junio de 2015MICROPROCESADORES5
junio de 2015MICROPROCESADORES6
junio de 2015MICROPROCESADORES7
junio de 2015MICROPROCESADORES8
junio de 2015MICROPROCESADORES9
junio de 2015MICROPROCESADORES10
junio de 2015MICROPROCESADORES11
junio de 2015MICROPROCESADORES12 Pentium IV: Modos de operación Protegido Real SSM ( System Management Mode)
junio de 2015MICROPROCESADORES13 Pentium IV: Entorno básico Memoria Registros propósito general Registros de segmento Registros FPU Registros MMX Registros XMM Registro EFLAGS
junio de 2015MICROPROCESADORES14 EFLAGS
junio de 2015MICROPROCESADORES15 Pentium IV: Otros registros Registros de control Registros de gestión de memoria Registros de depuración Registro CPUID Otros registros
junio de 2015MICROPROCESADORES16 Pentium IV: Direcciones de los operandos La propia instrucción: Inmediato Registro Puerto I/O Memoria Segmento Offset = Base + Índice* factor de escala + Desplazamiento
junio de 2015MICROPROCESADORES17 Pentium IV: Formato de instrucciones
junio de 2015MICROPROCESADORES18 Pentium IV: Formato de instrucciones
junio de 2015MICROPROCESADORES19 Pentium IV: Formato de instrucciones
junio de 2015MICROPROCESADORES20 Instrucciones de movimiento de datos MOV destino, fuente CMOVcc destino,fuente
junio de 2015MICROPROCESADORES21 Instrucciones de movimiento condicional
junio de 2015MICROPROCESADORES22 Instrucciones de intercambio XCHG destino, fuente BSWAP XADD CMPXCHG /CMPXCHG8B
junio de 2015MICROPROCESADORES23 Instrucciones de uso de la pila PUSH fuente POP destino PUSHA /POPA
junio de 2015MICROPROCESADORES24 Instrucciones de conversión de tipo CBW CWD /CWDE CDQ MOVSX /MOVZX destino
junio de 2015MICROPROCESADORES25 Instrucciones aritméticas (1) ADD/ADC destino, fuente SUB/SBB destino, fuente MUL/IMUL fuente DIV/IDIV fuente
junio de 2015MICROPROCESADORES26 Instrucciones aritméticas (2) INC/DEC operando CMP destino, fuente NEG operando
junio de 2015MICROPROCESADORES27 Instrucciones de ajuste decimal DAA/DAS AAA/AAS/AAM/AAD
junio de 2015MICROPROCESADORES28 Instrucciones lógicas AND destino, fuente OR destino, fuente XOR destino, fuente NOT operando
junio de 2015MICROPROCESADORES29 Instrucciones de desplazamiento y rotación SAL/SAR/SHL/SHR destino, nº bits SHLD/SHRD destino,fuente ROL/ROR/RCL/RCR destino, nº bits
junio de 2015MICROPROCESADORES30 Instrucciones de bit y byte BT/BTS/BTR/BTC operando, nº bit BSF/BSR destino,origen SETcc destino TEST destino, fuente
junio de 2015MICROPROCESADORES31 Instrucciones de transferencia incondicional JUMP (short near far) etiqueta CALL/RET etiqueta INT/IRET
junio de 2015MICROPROCESADORES32 Instrucciones de salto condicional
junio de 2015MICROPROCESADORES33 Instrucciones de bucles LOOP etiqueta LOOPE/LOOPZ/LOOPNE/LOOPNZ etiq JECXZ etiqueta
junio de 2015MICROPROCESADORES34 Instrucciones sobre cadenas de caracteres MOVS/MOVSB/MOVSW/MOVSD CMPS/CMPSB/CMPSW/CMPSD LODS/LODSB/LODSW/LODSD SCAS/SCASB/SCASW/SCASD STOS/STOSB/STOSW/STOSD
junio de 2015MICROPROCESADORES35 Prefijos de repetición REP REPE/REPZ REPNE/REPNZ
junio de 2015MICROPROCESADORES36 Instrucciones de entrada y salida IN registro, nº puerto OUT nº puerto, registro INS/OUTS
junio de 2015MICROPROCESADORES37 Instrucciones de EFLAGS STC/CLC/CMC STD/CLD STI/CLI LAHF/SAHF PUSHF/POPF
junio de 2015MICROPROCESADORES38 Instrucciones de miscelánea LEA destino, fuente XLAT/XLATB CPUID NOP
junio de 2015MICROPROCESADORES39 El entorno de ejecución FPU-32 Pila de registros Registro de estado Registro de control Registro de tag Registro puntero al ultimo operando Registro puntero a la última instrucción Registro de código de operación
junio de 2015MICROPROCESADORES40 Pila de registros x87 FPU
junio de 2015MICROPROCESADORES41 Registro de control x87 FPU
junio de 2015MICROPROCESADORES42 Registro de estado x87 FPU
junio de 2015MICROPROCESADORES43 Registro de tag x87 FPU
junio de 2015MICROPROCESADORES44 Tipos de datos FPU Enteros de 16,32,64 bits en complemento a dos Reales de 32,64,80 bits Signo Exponente 8, 11, 15 bits Mantisa de 23, 52, 64 bits BCD de 80 bits
junio de 2015MICROPROCESADORES45 Instrucciones de transferencia de datos (1) FLD origen_real FST destino_real FXCH registro x87 FCMOVcc registro x87
junio de 2015MICROPROCESADORES46 Instrucciones de transferencia de datos (2) FILD entero FIST entero FISTP entero FBLD decimal FBSTP decimal
junio de 2015MICROPROCESADORES47 Instrucciones de carga de constantes FLDZ +0.0 FLD1+1.0 FLDPIπ (pi) FLDL2Tlog 2 10 FLDL2Elog 2 e FLDLG2log 10 2 FLDLN2log e 2
junio de 2015MICROPROCESADORES48 Instrucciones aritméticas x87 (1) FADD/FADDP/FIADD FSUB/FSUBP/FISUB FSUBR/FSUBRP/FISUBR
junio de 2015MICROPROCESADORES49 Instrucciones aritméticas x87 (2) FMUL/FMULP/FIMUL FDIV/FDIVP/FIDIV FDIVR/FDIVRP/FIDIVR
junio de 2015MICROPROCESADORES50 Instrucciones aritméticas x87 (3) FABS FCHS FSQRT FPREM/FPREM1 FRNDINT FXTRACT
junio de 2015MICROPROCESADORES51 Instrucciones de comparación x87 FCOM/FCOMP/FCOMPP
junio de 2015MICROPROCESADORES52 Instrucciones de comparación x87 FCOMI/FCOMIP
junio de 2015MICROPROCESADORES53 Otras instrucciones de comparación x87 FUCOM/FUCOMP FICOM/FICOMP FUCOMI/FUCOMIP
junio de 2015MICROPROCESADORES54 Instrucciones de clasificación: FXAM
junio de 2015MICROPROCESADORES55 Otra instrucción de comparación: FTST
junio de 2015MICROPROCESADORES56 Instrucciones trigonométricas FSIN FCOS FSINCOS FPTAN FPATAN
junio de 2015MICROPROCESADORES57 Instrucciones logarítmicas, exponenciales y de escalado FYL2X : st0 =st1*log 2 (st0) FYL2XP1 : st0 = st1*log 2 (st0+1.0) F2XM1 : st0 = 2 st0 -1 FSCALE st0 = st0 * 2 st1
junio de 2015MICROPROCESADORES58 Instrucciones de control x87 FINIT/FNINIT : inicialización FLDCW/FSTCW/FNSTSW : reg control FSTSW/FNSTSW : reg. Estado FCLEX/FNCLEX : bits excepción
junio de 2015MICROPROCESADORES59 Instrucciones carga y almacenamiento del entorno FLDENV FSTENV/FNSTENV FSAVE/FNSAVE/FRSTOR
junio de 2015MICROPROCESADORES60 Otras instrucciones x87 FWAIT/FNWAIT FNOP FFREE FINCSTP/FDECSTP