Vous êtes sur la page 1sur 41

Tecnolgico de Estudios Superiores de Jocotitln

Instrucciones y Registros del procesador Intel(R) Core(TM) i5 450M


Autores: -Adelina Hernndez Torres -Luis Angel Hermenegildo D.
Arquitectura de Computadoras

Contenido
INTRODUCCIN ............................................................................................................................. 4 OBJETIVOS ..................................................................................................................................... 4 Intel Core i5-450M Processor (3M cache, 2.40 GHz) ...................................................... 4 Nombre del procesador: i5-450M .............................................................................................. 4 Fecha de lanzamiento: Q2'10 .................................................................................................... 4 Marca: Intel Core .................................................................................................................. 4 Mximo de memoria: 8 Gb ......................................................................................................... 4 Niveles de cache: 3 Mb .............................................................................................................. 4 Velocidad: 2.40 GHz ................................................................................................................... 4 Tipo de socket: PGA988............................................................................................................. 4 Datos (I/O) (FSB): 2500 MHz ..................................................................................................... 4 DMI: 2.5 GT/s .............................................................................................................................. 4 Tipo de memoria: DDR3-800/1066 ............................................................................................ 4 1. Instrucciones MMX ............................................................................................................. 8 1.2 MMX Instrucciones de transferencia de datos ...................................................................... 8 1.3 Operaciones de conversin MMX ......................................................................................... 8 1.4 MMX Instrucciones aritmticas Almuerzos ........................................................................... 9 1.5 MMX Operaciones de comparacin ...................................................................................... 9 1.6 Instrucciones lgicas MMX ................................................................................................ 10 1.7 MMX de desplazamiento y rotacin ................................................................................... 10 2. Instrucciones SSE.................................................................................................................. 11 2.1 SSE SIMD de precisin simple operaciones en coma flotante .............................................. 11 2.2 ESE Instrucciones de transferencia de datos ....................................................................... 11 2.3 INSTRUCCIONES SET RESUMEN .......................................................................................... 11 2.4 ESE Instrucciones aritmticas pic ........................................................................................ 12 2.5 ESE Operaciones de comparacin ....................................................................................... 13 2.6 ESE Instrucciones lgicas .................................................................................................... 13 2.3 INSTRUCCIONES SET RESUMEN .............................................................................................. 13 2.4 SSE aleatoria e Instrucciones Descomprimir........................................................................ 13

2.5 Operaciones de conversin SSE .......................................................................................... 14 2.6 SSE MXCSR instrucciones de administracin de estado ....................................................... 14 2.7 SSE 64 bits enteros SIMD instrucciones............................................................................... 14 2.6 SSE Control de almacenamiento en cach , Prefetch , e Instruccin Instrucciones para Ordenar .................................................................................................................................................... 15 2.9 SSE SIMD de precisin simple operaciones en coma flotante .................................................. 16 2.9.1 ESE Instrucciones de transferencia de datos .................................................................... 16 2.10 INSTRUCCIONES SET RESUMEN ............................................................................................ 17 2.10.1 ESE Instrucciones aritmticas pic ....................................................................................... 17 2.10.2 ESE Operaciones de comparacin ...................................................................................... 18 2.10.3 ESE Instrucciones lgicas ................................................................................................... 18 2.11 INSTRUCCIONES SET RESUMEN ............................................................................................ 18 2.11.1 Operaciones de conversin SSE ......................................................................................... 19 2.11.2 SSE MXCSR instrucciones de administracin de estado ...................................................... 19 2.11.3 SSE 64 bits enteros SIMD instrucciones.............................................................................. 20 2.12 Instrucciones SSE2 ................................................................................................................ 21 2.12.1 SSE2 Bolsas y Scalar doble precisin operaciones en coma flotante ................................... 21 2.12.2 SSE2 Instrucciones de transferencia de datos .................................................................... 21 2.13 INSTRUCCIONES SET RESUMEN ............................................................................................ 22 2.13.1 SSE2 Instrucciones aritmticas Almuerzos ......................................................................... 22 2.13.2 SSE2 Instrucciones lgicas ................................................................................................. 23 2.13.4 SSE2 Instrucciones de comparacin ................................................................................... 23 2.13.5 SSE2 aleatoria e Instrucciones Descomprimir..................................................................... 23 2.14 INSTRUCCIONES SET RESUMEN ............................................................................................ 23 2.14.1 SSE2 Operaciones de conversin ....................................................................................... 24 2.14.6 SSE2 Embalado precisin simple operaciones en coma flotante ......................................... 25 2.14.7 SSE2 de 128 bits SIMD enteros Instrucciones ..................................................................... 25 2.14.8 SSE2 Control de almacenamiento en cach y las instrucciones de pedido .......................... 26 2.15 SSE3 INSTRUCCIONES ........................................................................................................... 26 2.15.1 SSE3 x87 -FP Integer Instruccin de conversin ................................................................. 27 2.15.2 SSE3 Especializada datos Unaligned 128 bits de instrucciones de carga ............................. 27 2.15.3 SSE3 SIMD en coma flotante Almuerzos para ADD / Instrucciones SUB .............................. 27

2.15.4 SSE3 SIMD en coma flotante ADD horizontales / Instrucciones SUB ................................... 27 2.15.5 SSE3 SIMD en coma flotante LOAD / MOVE / Instrucciones DUPLICADO ............................ 28 2.15.6 Agente instrucciones SSE3 sincronizacin .......................................................................... 28 2.16 COMPLEMENTARIOS Extensiones Streaming SIMD 3 ( SSSE3 ) INSTRUCCIONES .................... 28 2.16.1 Horizontal suma / resta ..................................................................................................... 29 2.16.2 Valores absolutos pic ......................................................................................................... 30 2.16.3 multiplicar y sumar Almuerzos Bytes signo y sin signo ....................................................... 30 2.16.4 Embalado Multiply alta con la Ronda y Escala .................................................................... 30 2.16.5 Bytes aleatoria pic ............................................................................................................. 30 2.16.6 Packed Entrar .................................................................................................................... 31 2.16.7 Packed Alinear a la derecha ............................................................................................... 31 2.18 instrucciones SSE4 ................................................................................................................ 31 2.20 SSE4.1 INSTRUCCIONES ........................................................................................................ 32 2.20.1 Dword Instrucciones Multiplicar ........................................................................................ 32 2.20.2 coma flotante Dot Product Instructions ............................................................................. 32 2.20.3 Carga Streaming Instruccin Sugerencia ............................................................................ 32 2.20.4 Instrucciones de fusin pic ................................................................................................ 33 2.20.5 Bolsas enteros Instrucciones MIN / MAX ........................................................................... 33 2.20.6 Instrucciones Ronda de punto flotante con el modo de redondeo seleccionable ............... 33 2.20.7 Insercin y Extracciones de XMM Registros ....................................................................... 34 2.20.8 Bolsas Conversiones formato entero ................................................................................. 34 2.20.9 La mejora de las sumas de las diferencias absolutas ( SAD ) para bloques de 4 bytes ......... 35 2.20.10 Horizontal Buscar ............................................................................................................ 35 2.20.11 Prueba Packed................................................................................................................. 36 2.20.13 DWORD Embalaje Con Saturacin Unsigned .................................................................... 36 2.21 SSE4.2 del conjunto de instrucciones .................................................................................... 36 2.21.1 cuerdas y texto Instrucciones de procesamiento ............................................................... 36 DISTRIBUCION DE REGISTROS ...................................................................................................... 38 Registros de propsito general ........................................................................................ 38 El registro EIP y el EFLAGS ............................................................................................................ 39 CONCLUSIONES............................................................................................................................ 40

INTRODUCCIN
En el presente documento de dar a conocer ms acerca del procesador Core i5 540-M. De cierta manera se ver lo que son sus registros y sus instrucciones que maneja dicho procesador. Un registro es la memoria donde se procesa toda informacin (CPU), de tal manera que en esta se encuentra lo que es un registro de segmento, de punteros y de uso general. Dentro del registro de segmento esta; el registro CS, registro DS, registro SS, registro ES y registro FS, GS. Una instruccin es una serie de pasos a seguir, esto para que la informacin o alguna operacin aritmtica o lgica sean procesadas correctamente. Dependiendo de qu tipo de procesador se esta manejando.

OBJETIVOS
Llevar a cabo una buena informacin Obtener buenos resultados Conocer ms acerca del procesador que estamos utilizando

Intel Core i5-450M (3M cache, 2.40 GHz)


Nombre del procesador: i5-450M Fecha de lanzamiento: Q2'10 Marca: Intel Core Mximo de memoria: 8 Gb Niveles de cache: 3 Mb Velocidad: 2.40 GHz Tipo de socket: PGA988 Datos (I/O) (FSB): 2500 MHz DMI: 2.5 GT/s Tipo de memoria: DDR3-800/1066

Processor

Essentials
Estado Fecha de lanzamiento Nmero de procesador Cantidad de ncleos Cantidad de subprocesos Veloc. reloj Frecuencia turbo mxima Cach inteligente Intel DMI Conjunto de instrucciones Extensiones instrucciones de conjunto de EOIS Q2'10 i5-450M 2 4 2.4 GHz 2.66 GHz 3 MB 2.5 GT/s 64-bit SSE4.1, SSE4.2 No 32 nm 35 W N/A

Opciones integradas disponibles Litografa Mximo de TDP Precio de cliente recomendado

Memory Specifications
Tamao de memoria mximo 8 GB (depende del tipo de memoria) Tipo de memoria Cantidad de canales de memoria DDR3-800/1066 2

Mximo de ancho de banda de 17,1 GB/s memoria Extensiones de direccin fsica Compatible con memoria ECC 36-bit No

Graphics Specifications

Grficos del procesador

Intel HD Graphics 500 MHz de 766 MHz Yes Yes No 2

Frecuencia de base de grficos Frecuencia grficos dinmica mxima

Intel Flexible Display Interface Tecnologa Intel Clear Video HD Licencia Macrovision* requerida N de pantallas admitidas

Expansion Options
Revisin de PCI Express Configuraciones de PCI Express Cantidad Express mxima de lneas PCI 2.0 1x16 16

Package Specifications
Mximo de configuracin de CPU TJUNCTION Tamao de paquete Tamao de chip de procesamiento 1 105C rPGA 37.5mmx 37.5mm, BGA 34mmx28mm 81 mm2

Cantidad de transistores de chip de 382 million procesador Litografa de IMC y grficos Tamao de chip de IMC y grficos 45 nm 114 mm2

Cantidad de transistores de chip y 177 million grficos Zcalos compatibles Baja concentracin disponibles de halgenos PGA988 Ver MDDS

Advanced Technologies
Versin de la tecnologa Intel Turbo Yes Boost Tecnologa Intel vPro Tecnologa Hyper-Threading Intel No Yes

Tecnologa de virtualizacin Intel (VT-x) Yes Tecnologa de virtualizacin Intel para E/S dirigida (VT-d) No Intel VT-x con tablas de pginas extendidas (EPT) Yes Intel 64 Estados de inactividad Tecnologa mejorada Intel SpeedStep Yes Yes Yes Yes

Yes Yes

Tecnologas de monitoreo trmico Acceso a memoria rpida Intel Intel Flex Memory Access

Intel Data Protection Technology


Nuevas instrucciones de AES No

Intel Platform Protection Technology


Tecnologa Intel Trusted Execution Bit de desactivacin de ejecucin

No Yes

1. Instrucciones MMX
Cuatro extensiones se han introducido en la arquitectura IA - 32 para permitir que los procesadores IA - 32 para llevar a cabo singleinstruction ( SIMD ) las operaciones de datos mltiples. Estas extensiones incluyen la tecnologa MMX, extensiones SSE , SSE2 extensiones y extensiones SSE3 . Para una discusin que pone instrucciones SIMD en su contexto histrico , ver Seccin 2.2.7 , "Instrucciones SIMD . " Instrucciones MMX operan sobre lleno byte , palabra, palabra doble o quadword operandos enteros contenidos en la memoria , en registros MMX , y / o en registros de propsito general . Para ms detalles sobre estas instrucciones , consulte el Captulo 9 , "Programacin con la tecnologa Intel MMX . " Instrucciones MMX slo se pueden ejecutar en el procesador Intel 64 y IA- 32 que soportan la tecnologa MMX . apoyar de estas instrucciones se pueden detectar con la instruccin CPUID . Ver la descripcin de la instruccin CPUID en Captulo 3 , " Instruction Set Reference, AM , " del Intel 64 e IA- 32 Arquitecturas de Software del desarrollador Manual , Volumen 2A . Instrucciones MMX se dividen en los siguientes subgrupos : transferencia de datos , la conversin , la aritmtica envasados , comparacin , lgica , desplazamiento y rotacin , y las instrucciones de administracin de estado . Las secciones que siguen presentan cada subgrupo .

1.2 MMX Instrucciones de transferencia de datos


Las instrucciones de transferencia de datos se mueven doble palabra y palabra cudruple operandos entre registros MMX y entre MMX Registros y memoria.

MOVD Move doubleword MOVQ Move quadword

1.3 Operaciones de conversin MMX


El paquete de instrucciones de conversin y desempaquetar bytes , palabras y palabras dobles PACKSSWB Paquete palabras en bytes con saturacin firmado PACKSSDW Paquete palabras dobles en palabras con saturacin firmado INSTRUCCIONES SET RESUMEN PACKUSWB Paquete palabras en bytes con signo de saturacin .

PUNPCKHBW Desembale bytes de orden superior PUNPCKHWD Desembale palabras de orden PUNPCKHDQ Desembale palabras dobles de alto orden

PUNPCKLBW Desembale bytes de orden inferior PUNPCKLWD Desembale palabras de orden inferior PUNPCKLDQ Desembale palabras dobles de bajo orden

1.4 MMX Instrucciones aritmticas Almuerzos


Las instrucciones aritmticas envasados realizan lleno aritmtica de enteros en el byte lleno , la palabra y doble palabra enteros . PADDB Aadir byte enteros envasados PADDW Agregar enteros llenos de palabras PADDD Agregar enteros envasados doble palabra PADDSB Aadir envasada enteros de byte con saturacin firmado PADDSW Aadir lleno enteros palabra firmados con saturacin firmado PADDUSB Aadir envasados enteros byte sin signo con la saturacin sin signo PADDUSW Agregar enteros sin signo de palabras llenas de saturacin sin signo PSUBB Restar enteros lleno byte PSUBW Restar enteros lleno de palabras PSUBD Restar enteros lleno doble palabra PSUBSB Restar envasada enteros de byte con saturacin firmado PSUBSW Restar enteros lleno de palabras firmados con saturacin firmado PSUBUSB Restar enteros lleno de bytes sin signo con la saturacin sin signo PSUBUSW Restar enteros lleno de palabras sin signo con signo saturacin PMULHW Multiplicar enteros llenos de palabras firmados y alta almacenar el resultado PMULLW Multiplicar enteros llenos de palabras firmados y almacenar el resultado bajo PMADDWD multiplicar y sumar enteros llenos de palabras

1.5 MMX Operaciones de comparacin


Las instrucciones de comparacin comparan bytes envasados , palabras o palabras dobles . PCMPEQB Comparar bytes envasados para la igualdad PCMPEQW Comparar palabras envasados para la igualdad PCMPEQD Comparar palabras dobles envasados para la igualdad

PCMPGTB Comparar enteros envasados byte firmado por ms de PCMPGTW Comparar enteros llenos de palabras firmadas por ms de PCMPGTD Comparar enteros envasados doble palabra firmados por ms de

1.6 Instrucciones lgicas MMX


Las instrucciones lgicas realizar AND y NOT , OR, XOR y operaciones en operandos de palabra cudruple . PAND bit a bit AND lgico PANDN bit a bit lgica AND NOT POR bit a bit OR lgico PXOR lgica OR exclusiva bit a bit Vol. . en 5 a 13 INSTRUCCIONES SET RESUMEN

1.7 MMX de desplazamiento y rotacin


El desplazamiento y rotacin de desplazamiento y rotacin bytes envasados , palabras o palabras dobles o quadwords en 64 bits operandos . PSLLW Shift palabras llenas dejaron lgica PSLLD Shift palabras dobles llenas dejaron lgica PSLLQ Shift lleno quadword dej lgica PSRLW Shift lleno palabras correctas lgica Shift PSRLD embalado palabras dobles razn lgica PSRLQ Shift lleno quadword derecho lgica PSRAW Shift palabras lleno aritmtico a la derecha PSRAD Shift lleno palabras dobles aritmtico a la derecha 5.4.7 MMX instrucciones de administracin de estado La instruccin EMMS borra el estado de los registros MMX MMX . Estado MMX vaco EMMS

2. Instrucciones SSE
Instrucciones SSE representan una extensin del modelo de ejecucin SIMD introducido con la tecnologa MMX . para ms detalles sobre estas instrucciones , consulte el Captulo 10 , " Programacin con extensiones Streaming SIMD ( SSE) . " Instrucciones SSE slo se pueden ejecutar en el procesador Intel 64 y IA- 32 que soportan las extensiones SSE . Apoyo a estas instrucciones se pueden detectar con la instruccin CPUID . Ver la descripcin de la instruccin CPUID en Captulo 3 , " Instruction Set Reference, AM , " del Intel 64 e IA- 32 Arquitecturas de Software del desarrollador Manual , Volumen 2A . Instrucciones SSE se dividen en cuatro subgrupos ( tenga en cuenta que el primer subgrupo tiene subgrupos subordinados de su propia ) : SIMD de precisin simple instrucciones de coma flotante que operan en el XMM registra Instrucciones de manejo del estado MXSCR Las instrucciones de 64 bits SIMD enteras que operan en los registros MMX Instrucciones de pedido Control de almacenamiento en cach , prefetch , y la instruccin Las siguientes secciones proporcionan una visin general de estos grupos.

2.1 SSE SIMD de precisin simple operaciones en coma flotante


Estas instrucciones operan sobre envasado y los valores de punto flotante de precisin sencilla escalares ubicados en registros XMM y / o de la memoria . Este subgrupo se subdivide en los siguientes subgrupos subordinados : transferencia de datos, empaquetados aritmtica , comparacin , lgicos , aleatoria y desempacar, y las instrucciones de conversin.

2.2 ESE Instrucciones de transferencia de datos


Instrucciones de transferencia de datos ESE mueven para llevar y escalares de precisin simple operandos de coma flotante entre XMM registros y entre registros XMM y memoria. MOVAPS Mover cuatro alineados valores de punto flotante de precisin sencilla empaquetadas entre registros XMM o entre y XMM registro y la memoria MOVUPS Mover cuatro valores de precisin simple de punto flotante lleno alineados entre registros XMM o entre y XMM registro y la memoria 5-14 vol . 1

2.3 INSTRUCCIONES SET RESUMEN


MOVHPS Mover dos valores de punto flotante de precisin simple llenos a una de la alta palabra cudruple de un XMM registro y la memoria MOVHLPS Mover dos valores de punto flotante de precisin simple llenas de la alta quadword de XMM registrarse para el bajo palabra cudruple de otro registro XMM MOVLPS Mover dos valores de punto flotante de precisin simple llenos a una baja de la palabra cudruple de un

XMM registro y la memoria MOVLHPS Mover dos valores de punto flotante de precisin simple para llevar en el bajo palabra cudruple de XMM registrarse para el alto quadword de otro registro XMM MOVMSKPS Extracto mscara de seal de cuatro valores de punto flotante de precisin simple envasados MOVSS Move escalar de precisin simple valor de punto flotante entre registros XMM o entre un XMM registro y la memoria

2.4 ESE Instrucciones aritmticas pic


SSE instrucciones aritmticas envasados realizan para llevar y operaciones aritmticas escalares de lleno y singleprecision escalar operandos de coma flotante . ADDPS Agregar valores de punto flotante de precisin sencilla empaquetadas ADDSS Agregar valores de punto flotante de precisin simple escalar SUBPS Restar los valores de punto flotante de precisin sencilla empaquetadas SUBSS Resta simple precisin valores de punto flotante escalares MULPS valores de punto flotante de precisin simple Multiply envasados MULSS Multiplicar los valores de punto flotante de precisin simple escalar DIVPS Divide los valores de punto flotante de precisin sencilla empaquetadas DIVSS Divide los valores de punto flotante de precisin simple escalar RCPPS Calcular recprocos de los valores de punto flotante de precisin simple envasados RCPSS Calcular recproco de los valores de precisin simple de punto flotante escalares SQRTPS calcular races cuadradas de los valores de punto flotante de precisin simple envasados SQRTSS Calcular la raz cuadrada de precisin simple valores de punto flotante escalares RSQRTPS Calcular recprocos de las races cuadradas de los valores de punto flotante de precisin simple envasados RSQRTSS Calcular recproco de la raz cuadrada de precisin simple valores de punto flotante escalares MAXPS mximo retorno lleno valores de punto flotante de precisin simple MAXSS Retorno de precisin simple mximos valores escalares de punto flotante

MINPS Volver valores mnimos lleno de precisin simple de punto flotante MINSS Retorno de precisin simple valores mnimos escalares de punto flotante

2.5 ESE Operaciones de comparacin


SSE Instrucciones de comparacin comparan embalado y escalares de precisin simple operandos de coma flotante. CMPPS Compara los valores de punto flotante de precisin sencilla empaquetadas CMPSS Compara los valores de punto flotante de precisin simple escalar COMISS Realizar comparacin ordenada de simple precisin valores de punto flotante escalares y establecer indicadores de EFLAGS registro UCOMISS Realizar desordenada comparacin de los valores de precisin simple de punto flotante escalares y establecer indicadores de EFLAGS registro

2.6 ESE Instrucciones lgicas


Instrucciones lgicas realizan SSE bit a bit AND, AND NOT, OR, XOR y las operaciones de envasado de precisin simple operandos de coma flotante . ANDPS asigna el operador AND lgico de los valores de punto flotante de precisin simple envasados Vol. . 5 a 15 en

2.3 INSTRUCCIONES SET RESUMEN


ANDNPS asigna el operador lgico AND NOT de valores de punto flotante de precisin sencilla empaquetadas Orps Realizar valores de punto flotante lgicas bit a bit OR de envasados de precisin simple XORPS Realiza bitwise XOR lgico de los valores de punto flotante de precisin simple envasados

2.4 SSE aleatoria e Instrucciones Descomprimir


SSE barajar y descomprimir instrucciones aleatoria o valores de punto flotante de precisin simple intercalacin en singleprecision embalado operandos de coma flotante . SHUFPS Shuffles valores repleto de precisin simple de punto flotante operandos Desempaqueta UNPCKHPS y entrelaza los dos valores de orden superior de dos de un solo punto flotante de precisin operandos Desempaqueta UNPCKLPS y entrelaza los dos valores de orden inferior de dos de un solo punto flotante de precisin operandos

2.5 Operaciones de conversin SSE


Instrucciones de conversin ESE convertir enteros dobles palabras llenas e individual en lleno y single precision escalar valores de punto flotante y viceversa. CVTPI2PS Convertir enteros dobles palabras llenas de valores de punto flotante de precisin sencilla empaquetadas CVTSI2SS Convertir entero doble palabra a escalar de precisin simple valor de punto flotante CVTPS2PI convertir los valores de precisin simple de punto flotante a enteros envasados doble palabra envasados CVTTPS2PI convertir con truncamiento embalado valores de punto flotante de precisin simple a doble palabra llena enteros CVTSS2SI Convertir un escalar de precisin simple valor de punto flotante a un entero doble palabra CVTTSS2SI convertir con truncamiento un escalar de precisin simple valor de punto flotante a una doble palabra escalares entero

2.6 SSE MXCSR instrucciones de administracin de estado


MXCSR instrucciones de administracin de estado permiten guardar y restaurar el estado del control MXCSR y estado registrarse. LDMXCSR carga MXCSR registro STMXCSR Guardar MXCSR estado registro

2.7 SSE 64 bits enteros SIMD instrucciones


Estos SSE 64 bits instrucciones de enteros SIMD realizar operaciones adicionales en bytes envasados , palabras o palabras dobles contenida en los registros MMX. Representan mejoras en el conjunto de instrucciones MMX descrito en la seccin 5.4 , "Instrucciones MMX . " PAVGB Compute promedio de envasados enteros byte sin signo PAVGW Calcular la media de los enteros sin signo lleno de palabras PEXTRW palabra Extract PINSRW Insertar palabra

PMAXUB mximo de envasados enteros byte sin signo PMAXSW mximo de enteros con signo llenos PMINUB mnimo de envasados enteros byte sin signo PMINSW mnimo de enteros con signo llenos PMOVMSKB mscara de byte Move PMULHUW Multiplicar enteros sin signo para llevar y almacenar gran resultado 5-16 vol . 1 INSTRUCCIONES SET RESUMEN PSADBW Calcular suma de diferencias absolutas PSHUFW aleatoria lleno palabra entera en MMX registro

2.6 SSE Control de almacenamiento en cach , Prefetch , e Instruccin Instrucciones para Ordenar
Las instrucciones de control de almacenamiento en cach proporcionan control sobre el almacenamiento en cach de datos que no son temporales al almacenar los datos de el MMX y XMM registra en la memoria. El PREFETCHh permite que los datos sean prefetched a un nivel de cach seleccionado . la Instruccin SFENCE controla la instruccin al comprar en las operaciones de almacn . MASKMOVQ tiendas no -temporal de bytes seleccionados de un MMX registra en la memoria MOVNTQ tiendas no -temporal de palabra cudruple de un MMX registra en la memoria MOVNTPS tiendas no -temporal de los cuatro valores de punto flotante de precisin simple para llevar un registro de XMM en la memoria PREFETCHh cargar 32 o ms bytes de memoria a un nivel seleccionado de la jerarqua de memoria cach del procesador SFENCE Serializa operaciones de la tienda

instrucciones SSE Instrucciones SSE representan una extensin del modelo de ejecucin SIMD introducido con la tecnologa MMX . para

ms detalles sobre estas instrucciones , consulte el Captulo 10 , " Programacin con extensiones Streaming SIMD ( SSE) . " Instrucciones SSE slo se pueden ejecutar en el procesador Intel 64 y IA- 32 que soportan las extensiones SSE . Apoyo a estas instrucciones se pueden detectar con la instruccin CPUID . Ver la descripcin de la instruccin CPUID en Captulo 3 , " Instruction Set Reference, AM , " del Intel 64 e IA- 32 Arquitecturas de Software del desarrollador Manual , Volumen 2A . Instrucciones SSE se dividen en cuatro subgrupos ( tenga en cuenta que el primer subgrupo tiene subgrupos subordinados de su propia ) : SIMD de precisin sim ple instrucciones de coma flotante que operan en el XMM registra Instrucciones de manejo del estado MXSCR Las instrucciones de 64 bits SIMD enteras que operan en los registros MMX Instrucciones de pedido Control de almacenamiento en cach , prefetch , y la instruccin Las siguientes secciones proporcionan una visin general de estos grupos.

2.9 SSE SIMD de precisin simple operaciones en coma flotante


Estas instrucciones operan sobre envasado y los valores de punto flotante de precisin sencilla escalares ubicados en registros XMM y / o de la memoria . Este subgrupo se subdivide en los siguientes subgrupos subordinados : transferencia de datos, empaquetados aritmtica , comparacin , lgicos , aleatoria y desempacar, y las instrucciones de conversin.

2.9.1 ESE Instrucciones de transferencia de datos


Instrucciones de transferencia de datos ESE mueven para llevar y escalares de precisin simple operandos de coma flotante entre XMM registros y entre registros XMM y memoria. MOVAPS Mover cuatro alineados valores de punto flotante de precisin sencilla empaquetadas entre registros XMM o entre y XMM registro y la memoria MOVUPS Mover cuatro valores de precisin simple de punto flotante lleno alineados entre registros XMM o entre y XMM registro y la memoria 5-14 vol . 1

2.10 INSTRUCCIONES SET RESUMEN


MOVHPS Mover dos valores de punto flotante de precisin simple llenos a una de la alta palabra cudruple de un XMM registro y la memoria MOVHLPS Mover dos valores de punto flotante de precisin simple llenas de la alta quadword de XMM registrarse para el bajo palabra cudruple de otro registro XMM MOVLPS Mover dos valores de punto flotante de precisin simple llenos a una baja de la palabra cudruple de un XMM registro y la memoria MOVLHPS Mover dos valores de punto flotante de precisin simple para llevar en el bajo palabra cudruple de XMM registrarse para el alto quadword de otro registro XMM MOVMSKPS Extracto mscara de seal de cuatro valores de punto flotante de precisin simple envasados MOVSS Move escalar de precisin simple valor de punto flotante entre registros XMM o entre un XMM registro y la memoria

2.10.1 ESE Instrucciones aritmticas pic


SSE instrucciones aritmticas envasados realizan para llevar y operaciones aritmticas escalares de lleno y singleprecision escalar operandos de coma flotante . ADDPS Agregar valores de punto flotante de precisin sencilla empaquetadas ADDSS Agregar valores de punto flotante de precisin simple escalar SUBPS Restar los valores de punto flotante de precisin sencilla empaquetadas SUBSS Resta simple precisin valores de punto flotante escalares MULPS valores de punto flotante de precisin simple Multiply envasados MULSS Multiplicar los valores de punto flotante de precisin simple escalar DIVPS Divide los valores de punto flotante de precisin sencilla empaquetadas DIVSS Divide los valores de punto flotante de precisin simple escalar RCPPS Calcular recprocos de los valores de punto flotante de precisin simple envasados RCPSS Calcular recproco de los valores de precisin simple de punto flotante escalares SQRTPS calcular races cuadradas de los valores de punto flotante de precisin simple envasados SQRTSS Calcular la raz cuadrada de precisin simple valores de punto flotante escalares

RSQRTPS Calcular recprocos de las races cuadradas de los valores de punto flotante de precisin simple envasados RSQRTSS Calcular recproco de la raz cuadrada de precisin simple valores de punto flotante escalares MAXPS mximo retorno lleno valores de punto flotante de precisin simple MAXSS Retorno de precisin simple mximos valores escalares de punto flotante MINPS Volver valores mnimos lleno de precisin simple de punto flotante MINSS Retorno de precisin simple valores mnimos escalares de punto flotante

2.10.2 ESE Operaciones de comparacin


SSE Instrucciones de comparacin comparan embalado y escalares de precisin simple operandos de coma flotante. CMPPS Compara los valores de punto flotante de precisin sencilla empaquetadas CMPSS Compara los valores de punto flotante de precisin simple escalar COMISS Realizar comparacin ordenada de simple precisin valores de punto flotante escalares y establecer indicadores de EFLAGS registro UCOMISS Realizar desordenada comparacin de los valores de precisin simple de punto flotante escalares y establecer indicadores de EFLAGS registro

2.10.3 ESE Instrucciones lgicas


Instrucciones lgicas realizan SSE bit a bit AND, AND NOT, OR, XOR y las operaciones de envasado de precisin simple operandos de coma flotante . ANDPS asigna el operador AND lgico de los valores de punto flotante de precisin simple envasados Vol. . 5 a 15 en

2.11 INSTRUCCIONES SET RESUMEN


ANDNPS asigna el operador lgico AND NOT de valores de punto flotante de precisin sencilla empaquetadas Orps Realizar valores de punto flotante lgicas bit a bit OR de envasados de precisin simple XORPS Realiza bitwise XOR lgico de los valores de punto flotante de precisin simple envasados

5.5.1.5 SSE aleatoria e Instrucciones Descomprimir SSE barajar y descomprimir instrucciones aleatoria o valores de punto flotante de precisin simple intercalacin en singleprecision embalado operandos de coma flotante . SHUFPS Shuffles valores repleto de precisin simple de punto flotante operandos Desempaqueta UNPCKHPS y entrelaza los dos valores de orden superior de dos de un solo punto flotante de precisin operandos Desempaqueta UNPCKLPS y entrelaza los dos valores de orden inferior de dos de un solo punto flotante de precisin operandos

2.11.1 Operaciones de conversin SSE


Instrucciones de conversin ESE convertir enteros dobles palabras llenas e individual en lleno y singleprecision escalar valores de punto flotante y viceversa. CVTPI2PS Convertir enteros dobles palabras llenas de valores de punto flotante de precisin sencilla empaquetadas CVTSI2SS Convertir entero doble palabra a escalar de precisin simple valor de punto flotante CVTPS2PI convertir los valores de precisin simple de punto flotante a enteros envasados doble palabra envasados CVTTPS2PI convertir con truncamiento embalado valores de punto flotante de precisin simple a doble palabra llena enteros CVTSS2SI Convertir un escalar de precisin simple valor de punto flotante a un entero doble palabra CVTTSS2SI convertir con truncamiento un escalar de precisin simple valor de punto flotante a una doble palabra escalares entero

2.11.2 SSE MXCSR instrucciones de administracin de estado


MXCSR instrucciones de administracin de estado permiten guardar y restaurar el estado del control MXCSR y estado registrarse. LDMXCSR carga MXCSR registro STMXCSR Guardar MXCSR estado registro

2.11.3 SSE 64 bits enteros SIMD instrucciones


Estos SSE 64 bits instrucciones de enteros SIMD realizar operaciones adicionales en bytes envasados , palabras o palabras dobles contenida en los registros MMX. Representan mejoras en el conjunto de instrucciones MMX descrito en la seccin "Instrucciones MMX . " PAVGB Compute promedio de envasados enteros byte sin signo PAVGW Calcular la media de los enteros sin signo lleno de palabras PEXTRW palabra Extract PINSRW Insertar palabra PMAXUB mximo de envasados enteros byte sin signo PMAXSW mximo de enteros con signo llenos PMINUB mnimo de envasados enteros byte sin signo PMINSW mnimo de enteros con signo llenos PMOVMSKB mscara de byte Move PMULHUW Multiplicar enteros sin signo para llevar y almacenar gran resultado 5-16 vol . 1 INSTRUCCIONES SET RESUMEN PSADBW Calcular suma de diferencias absolutas PSHUFW aleatoria lleno palabra entera en MMX registro 5.5.4 SSE Control de almacenamiento en cach , Prefetch , e Instruccin Instrucciones para Ordenar Las instrucciones de control de almacenamiento en cach proporcionan control sobre el almacenamiento en cach de datos que no son temporales al almacenar los datos de el MMX y XMM registra en la memoria. El PREFETCHh permite que los datos sean prefetched a un nivel de cach seleccionado . la Instruccin SFENCE controla la instruccin al comprar en las operaciones de almacn . MASKMOVQ tiendas no -temporal de bytes seleccionados de un MMX registra en la memoria MOVNTQ tiendas no -temporal de palabra cudruple de un MMX registra en la memoria MOVNTPS tiendas no -temporal de los cuatro valores de punto flotante de precisin simple para llevar un registro de XMM en la memoria

PREFETCHh cargar 32 o ms bytes de memoria a un nivel seleccionado de la jerarqua de memoria cach del procesador SFENCE Serializa operaciones de la tienda

2.12 Instrucciones SSE2


SSE2 extensiones representan una extensin del modelo de ejecucin SIMD introducido con la tecnologa MMX y la Extensiones SSE. Instrucciones SSE2 operan sobre lleno de doble precisin operandos de punto flotante y el envasado byte , palabra, doble palabra y palabra cudruple operandos situados en los registros XMM . Para ms detalles sobre estas instrucciones, consulte el Captulo 11 , " Programacin con extensiones Streaming SIMD 2 ( SSE2 ) . " Instrucciones SSE2 slo se pueden ejecutar en el procesador Intel 64 y IA- 32 que soportan las extensiones SSE2. El apoyo a estas instrucciones se puede detectar con la instruccin CPUID . Vase la descripcin de la CPUID instruccin en el Captulo 3, " Instruction Set Reference, maana, " el Intel 64 e IA32 Arquitecturas Software Manual del desarrollador, volumen 2A. Estas instrucciones se dividen en cuatro subgrupos ( tenga en cuenta que el primer subgrupo se divide en subordinadas subgrupos ): Almuerzos y escalar doble precisin las instrucciones de punto flotante Las instrucciones de conversin de punto flotante de precisin simple Almuerzos Las instrucciones de enteros SIMD de 128 bits almacenamiento en cach de control e instruccin de las indicaciones de pedido Las siguientes secciones proporcionan una visin general de cada subgrupo.

2.12.1 SSE2 Bolsas y Scalar doble precisin operaciones en coma flotante


SSE2 envasados y escalar doble precisin las instrucciones de punto flotante se dividen en las siguientes subordinadas subgrupos: el movimiento de datos , clculo , comparacin, conversin, lgica , y las operaciones en orden aleatorio de doble precisin operandos de coma flotante . Estos se introducen en las secciones que siguen.

2.12.2 SSE2 Instrucciones de transferencia de datos


Instrucciones SSE2 movimiento de datos se mueven de datos de doble precisin de punto flotante entre registros XMM y entre XMM registros y la memoria.

MOVAPD Move dos alinea a lleno valores de punto flotante de doble precisin entre registros XMM o entre y XMM registro y la memoria Move MOVUPD dos valores de doble precisin de punto flotante lleno alineados entre registros XMM o entre y XMM registro y la memoria MOVHPD Move alta precisin doble valor de punto flotante llena a una de la gran palabra cudruple de un XMM registro y la memoria Vol. . en 5 a 17

2.13 INSTRUCCIONES SET RESUMEN


MOVLPD Move precisin simple valor de punto flotante de baja llena a una baja de la palabra cudruple de XMM registro y la memoria MOVMSKPD mscara de signos Extracto de dos valores de punto flotante de precisin doble empaquetadas MOVSD Move escalar de precisin doble valor de punto flotante entre registros XMM o entre un XMM registro y la memoria

2.13.1 SSE2 Instrucciones aritmticas Almuerzos


Las instrucciones aritmticas realizan la suma , resta, multiplicacin, divisin , raz cuadrada, y el mximo / mnimo operaciones de envasado y escalar doble precisin operandos de coma flotante . ADDPD Agregar valores de punto flotante de precisin doble empaquetadas ADDSD Agregar valores de punto flotante de precisin doble escalares Doble precisin valores de punto flotante SUBPD Restar escalares Doble precisin valores de punto flotante SUBSD Restar escalares Valores de punto flotante de doble precisin MULPD Multiply envasados MULSD Multiplicar doble precisin valores de punto flotante escalares DIVPD Divide los valores de punto flotante de precisin doble empaquetadas Doble precisin valores de punto flotante DIVSD escalares Divide SQRTPD Compute envasados races cuadradas de los valores de punto flotante de precisin doble empaquetadas Doble precisin valores de punto flotante SQRTSD Compute escalar raz cuadrada de escalar Volver mxima MAXPD lleno valores de punto flotante de doble precisin Doble precisin valores de punto flotante MAXSD mxima escalares Volver

Valores de punto flotante de doble precisin embalada retorno mnimo MINPD Doble precisin valores de punto flotante MINSD Volver escalares mnimo

2.13.2 SSE2 Instrucciones lgicas


Instrucciones SSE2 lgicas preformas AND y NOT , OR, XOR y operaciones en embalados punto flotante de doble precisin valores . ANDPD asigna el operador AND lgico de los valores de punto flotante de precisin doble empaquetadas ANDNPD Realizar valores de punto flotante bit a bit lgica y no de concentrado de doble precisin ORPD asigna el operador lgico OR de valores de punto flotante de precisin doble empaquetadas XORPD Realiza bitwise XOR lgico de los valores de punto flotante de precisin doble empaquetadas

2.13.4 SSE2 Instrucciones de comparacin


Comparar instrucciones SSE2 comparar lleno y doble precisin valores de punto flotante escalares y devolver el resultados de la comparacin ya sea para el operando de destino o a los EFLAGS registran . CMPPD Comparar los valores de punto flotante de precisin doble empaquetadas CMPSD Comparar escalar los valores de punto flotante de doble precisin COMISD Realizar comparacin ordenada de doble precisin valores de punto flotante escalares y establecer indicadores de EFLAGS registro UCOMISD Perform desordenada comparacin de los valores de doble precisin de punto flotante escalares y establecer indicadores de Registran EFLAGS .

2.13.5 SSE2 aleatoria e Instrucciones Descomprimir


Doble precisin valores de punto flotante SSE2 barajar y descomprimir instrucciones aleatoria o intercalado en doubleprecision embalado operandos de coma flotante . 5-18 vol . 1

2.14 INSTRUCCIONES SET RESUMEN


SHUFPD valores Shuffles en empaquetado de doble precisin de punto flotante operandos

Desempaqueta UNPCKHPD e intercala los altos valores de dos llenas de doble precisin de punto flotante operandos Desempaqueta UNPCKLPD e intercala los valores bajos de dos operandos de doble precisin de punto flotante para llevar

2.14.1 SSE2 Operaciones de conversin


Instrucciones SSE2 conversin convertir enteros dobles palabras llenas e individual en lleno y doubleprecision escalar valores de punto flotante y viceversa. Tambin convertir entre lleno y escalar de precisin simple y valores de punto flotante de doble precisin . CVTPD2PI convertir los valores de doble precisin de punto flotante a enteros dobles palabras envasados para llevar. CVTTPD2PI convertir con truncamiento lleno valores de punto flotante de doble precisin de doble palabra llena enteros CVTPI2PD Convertir enteros dobles palabras llenas de valores de punto flotante de precisin doble empaquetadas CVTPD2DQ convertir los valores de doble precisin de punto flotante a enteros envasados doble palabra envasados CVTTPD2DQ convertir con truncamiento lleno valores de punto flotante de doble precisin de doble palabra llena enteros CVTDQ2PD Convertir enteros dobles palabras llenas de valores de punto flotante de precisin doble empaquetadas CVTPS2PD convertir los valores de precisin simple de punto flotante lleno de lleno de doble precisin de punto flotante valores CVTPD2PS convertir los valores de doble precisin de punto flotante lleno de lleno de punto flotante de precisin simple valores CVTSS2SD convertir valores de punto flotante de precisin simple escalar a escalar de doble precisin de punto flotante valores CVTSD2SS Convertir doble precisin de punto flotante valores escalares para escalar de precisin simple de punto flotante valores CVTSD2SI Convertir doble precisin valores de punto flotante escalar a una doble palabra entera CVTTSD2SI convertir con doble precisin valores de punto flotante escalares truncamiento a doubleword escalar enteros CVTSI2SD Convertir entero doble palabra a escalar con precisin doble valor de punto flotante

2.14.6 SSE2 Embalado precisin simple operaciones en coma flotante


SSE2 lleno de precisin simple instrucciones de punto flotante realizar operaciones de conversin de precisin simple operandos de punto flotante y entero. Estas instrucciones representan mejoras en precisin simple SSE instrucciones de coma flotante . CVTDQ2PS Convertir enteros dobles palabras llenas de valores de punto flotante de precisin sencilla empaquetadas CVTPS2DQ convertir los valores de precisin simple de punto flotante a enteros envasados doble palabra envasados CVTTPS2DQ convertir con truncamiento embalado valores de punto flotante de precisin simple a doble palabra llena enteros

2.14.7 SSE2 de 128 bits SIMD enteros Instrucciones


SSE2 SIMD instrucciones enteras realizar operaciones adicionales en las palabras llenas, palabras dobles y quadwords que figura en el XMM y MMX registros. Movdqa Move alineado doble palabra cudruple. MOVDQU Mueva doble quadword no alineados MOVQ2DQ Move quadword entero de MMX de XMM registra MOVDQ2Q Move quadword entero de XMM a los registros MMX Vol. . en 5 a 19 INSTRUCCIONES SET RESUMEN PMULUDQ Multiplicar enteros envasados doble palabra sin signo PADDQ Agregar enteros quadword envasados PSUBQ Restar enteros lleno quadword PSHUFLW aleatoria lleno palabras de baja PSHUFHW aleatoria lleno altas palabras Mezclar PSHUFD lleno palabras dobles PSLLDQ Shift doble quadword dej lgica PSRLDQ Shift doble quadword derecho lgica PUNPCKHQDQ Desembale alta quadwords PUNPCKLQDQ Desembale bajo quadwords

2.14.8 SSE2 Control de almacenamiento en cach y las instrucciones de pedido


SSE2 instrucciones de control de almacenamiento en cach proporcionan funciones adicionales para el almacenamiento en cach de datos que no son temporales al almacenar los datos de XMM registra en la memoria. LFENCE y MFENCE proporcionan un control adicional de instruccin de ordenar el operaciones de la tienda. Vaca CLFLUSH e invalida un operando de memoria y su lnea de cach asociados de todos los niveles de la jerarqua de cach del procesador LFENCE Serializa las operaciones de carga MFENCE Serializa las operaciones de carga y almacn PAUSA Mejora el rendimiento de "bucles spin- espera" MASKMOVDQU tiendas no -temporal de bytes seleccionados de un registro XMM en la memoria MOVNTPD tiendas no -temporal de dos valores de punto flotante de precisin doble empaquetadas de una XMM registrar en la memoria MOVNTDQ tiendas no -temporal de la doble palabra cudruple de un registro XMM en la memoria MOVNTI tiendas no -temporal de una doble palabra de un registro de uso general en la memoria

2.15 SSE3 INSTRUCCIONES


El SSE3 extensiones ofrece 13 instrucciones que aceleran el rendimiento de la tecnologa de las extensiones Streaming SIMD. Streaming SIMD Extensions 2 tecnologa y x87 - PF capacidades matemticas. Estas instrucciones pueden ser agrupadas en las siguientes categoras: Una instruccin x87FPU utilizado en la conversin de nmero entero Un nmero entero de instrucciones SIMD que aborda cargas de datos no alineados Dos de punto flotante para llevar instrucciones ADD / SUB SIMD Cuatro SIMD instrucciones ADD / SUB horizontales de punto flotante Tres SIMD CARGA punto flotante / mover / DUPLICADO instrucciones Dos instrucciones de sincronizacin de subprocesos Instrucciones SSE3 slo se pueden ejecutar en el procesador Intel 64 y IA- 32 que soportan las extensiones SSE3 . apoyar de estas instrucciones se pueden detectar con la instruccin CPUID . Ver la descripcin de la instruccin CPUID en Captulo 3 , " Instruction Set Reference, AM , " del Intel 64 e IA- 32 Arquitecturas de Software del desarrollador

Manual , Volumen 2A . Las secciones siguientes describen cada subgrupo .

2.15.1 SSE3 x87 -FP Integer Instruccin de conversin


FISTTP comporta como la instruccin FISTP pero utiliza truncamiento, con independencia de la modalidad de redondeo especificado en el cdigo de control de punto flotante ( FCW ) 5-20 vol . 1 INSTRUCCIONES SET RESUMEN

2.15.2 SSE3 Especializada datos Unaligned 128 bits de instrucciones de carga


LDDQU especial de carga alineados 128 bits diseado para evitar la lnea de cach se divide

2.15.3 SSE3 SIMD en coma flotante Almuerzos para ADD / Instrucciones SUB
ADDSUBPS Realiza adems de precisin simple en el segundo y cuarto pares de elementos de datos de 32 bits dentro de los operandos ; precisin simple resta en el primer y tercer pares ADDSUBPD Realiza adems de doble precisin en el segundo par de quadwords y doble precisin resta en el primer par

2.15.4 SSE3 SIMD en coma flotante ADD horizontales / Instrucciones SUB


HADDPS Realiza una adicin simple precisin en los elementos de datos contiguos . El primer elemento de datos de el resultado se obtiene mediante la adicin de los primero y segundo elementos de la primera operando ; la segunda elemento mediante la adicin de los elementos tercero y cuarto de la primera operando ; el tercero mediante la adicin de la elementos primero y segundo del segundo operando , y el cuarto por la adicin de la tercera y cuarta elementos del segundo operando . HSUBPS Realiza una precisin simple sustraccin de elementos de datos contiguos . El primer elemento de datos de el resultado se obtiene restando el segundo elemento del primer operando de la primera elemento del primer operando , el segundo elemento restando el cuarto elemento de la primera operando desde el tercer elemento del primer operando ; la tercera restando la segunda elemento del segundo operando desde el primer elemento del segundo operando , y el cuarto restando el cuarto elemento del segundo operando desde el tercer elemento de la segunda operando . HADDPD Realiza una suma de doble precisin en los elementos de datos contiguos . El primer elemento de datos de el resultado se obtiene mediante la adicin de los primero y segundo

elementos de la primera operando ; la segunda elemento mediante la adicin de los primero y segundo elementos del segundo operando . HSUBPD Realiza una doble precisin sustraccin de elementos de datos contiguos . El primer elemento de datos del resultado se obtiene restando el segundo elemento del primer operando de la primera elemento del primer operando , el segundo elemento restando el segundo elemento de la segundo operando desde el primer elemento del segundo operando .

2.15.5 SSE3 SIMD en coma flotante LOAD / MOVE / Instrucciones DUPLICADO


Cargas MOVSHDUP / se mueve 128 bits; duplicacin de los segundo y cuarto elementos de datos de 32 bits Cargas MOVSLDUP / se mueve 128 bits; duplicacin de los primero y tercer elementos de datos de 32 bits Cargas MOVDDUP / mueve 64 bits (bits [ 63:0 ] Si la fuente es un registro ) y devuelve los mismos 64 bits de ambas las mitades inferior y superior del registro de resultado de 128 bits ; duplica los 64 bits de la fuente

2.15.6 Agente instrucciones SSE3 sincronizacin


MONITOR Establece un rango de direcciones se utiliza para controlar write-back tiendas MWAIT Permite que un procesador lgico para entrar en un estado ptimo a la espera de una tienda de write-back al rango de direcciones definido por la instruccin MONITOR

2.16 COMPLEMENTARIOS Extensiones Streaming SIMD 3 ( SSSE3 ) INSTRUCCIONES


SSSE3 proporciona 32 instrucciones ( representado por 14 teclas de acceso ) para acelerar los clculos de enteros para llevar. Estos incluyen: Doce instrucciones que realizan adems horizontal u operaciones de resta . Vol. . en 5 a 21 INSTRUCCIONES SET RESUMEN Seis instrucciones que evalan los valores absolutos . Dos instrucciones que realizan operaciones de multiplicar y sumar y acelerar la evaluacin de los productos de punto . Dos instrucciones que aceleran las operaciones de multiplicar empaquetado enteros y producen valores enteros con el escalamiento .

Dos instrucciones que realizan un byte a byte , en lugar de mezclar de acuerdo con el segundo operando de control de reproduccin aleatoria . Seis instrucciones que niegan enteros envasados en el operando destino si las seales de la correspondiente elemento en el operando fuente es menor que cero . Dos instrucciones que se alinean los datos de la composicin de dos operandos . Instrucciones SSSE3 slo se pueden ejecutar en el procesador Intel 64 y IA- 32 que apoyan SSSE3 extensiones. Apoyar de estas instrucciones se pueden detectar con la instruccin CPUID . Ver la descripcin de la instruccin CPUID en Captulo 3 , " Instruction Set Reference, AM , " del Intel 64 e IA- 32 Arquitecturas de Software del desarrollador Manual , Volumen 2A . Las secciones siguientes describen cada subgrupo .

2.16.1 Horizontal suma / resta


PHADDW aade dos adyacentes , enteros de 16 bits horizontalmente desde el origen y destino de operandos y los paquetes de los resultados firmados de 16 bits del operando destino. PHADDSW aade dos adyacentes , enteros de 16 bits horizontalmente desde el origen y destino de operandos y los paquetes de los suscritos , saturados resultados de 16 bits para el operando destino. PHADDD Suma dos adyacentes, firmado enteros de 32 bits horizontalmente desde el origen y el destino de los operandos y los paquetes de los resultados firmados de 32 bits para el operando destino. PHSUBW Realiza restas horizontales en cada par adyacente de enteros con signo de 16 bits al restar la palabra ms significativa de la palabra menos significativa de cada par en el origen y el destino operandos . Los resultados firmados de 16 bits se empaquetan y se escriben en el operando destino. PHSUBSW Realiza restas horizontales en cada par adyacente de enteros con signo de 16 bits al restar la palabra ms significativa de la palabra menos significativa de cada par en el origen y el destino operandos . Los suscritos, saturados resultados de 16 bits se empaquetan y se escriben en el destino operando . PHSUBD Realiza restas horizontales en cada par adyacente de enteros con signo de 32 bits al restar la doble palabra ms significativa de la doble palabra de menor valor de cada par en el operandos de origen y de destino . Los resultados firmados de 32 bits se empaquetan y se escriben en el operando de destino .

2.16.2 Valores absolutos pic


PABSB Calcula el valor absoluto de cada elemento de datos byte con signo . PABSW Calcula el valor absoluto de cada elemento de datos de 16 bits con signo . PABSD Calcula el valor absoluto de cada elemento de datos de 32 bits con signo .

2.16.3 multiplicar y sumar Almuerzos Bytes signo y sin signo


PMADDUBSW multiplica cada valor de byte sin signo con el valor de byte con signo correspondiente para producir una intermedio de 16 bits con signo . Cada par adyacente de valores con signo de 16 bits se aaden horizontalmente. Los suscritos, saturados resultados de 16 bits se empaquetan al operando destino.

2.16.4 Embalado Multiply alta con la Ronda y Escala


PMULHRSW Multiplica verticalmente cada entero de 16 bits con signo del operando destino con la correspondiente entero con signo de 16 bits del operando de origen , produciendo intermedios , firmado de 32 bits nmeros enteros . Cada nmero entero de 32 bits intermedia se trunca a los 18 bits ms significativos. El redondeo se realiza siempre mediante la adicin de 1 en el bit menos significativo del intermedio 18 bits 5-22 vol . 1 INSTRUCCIONES SET RESUMEN como resultado . El resultado final se obtiene mediante la seleccin de los 16 bits inmediatamente a la derecha de los ms poco significativo de cada resultado intermedio de 18 bits y envasados al operando destino.

2.16.5 Bytes aleatoria pic


PSHUFB permuta cada byte en el lugar , de acuerdo con una mscara de control aleatorio. El menor valor de tres o cuatro bits de cada byte de control aleatorio de la mscara de control forman el ndice de reproduccin aleatoria. La reproduccin aleatoria la mscara no se ve afectada . Si se establece el bit ms significativo (bit 7 ) de un byte de control de reproduccin aleatoria , la constante cero se escribe en el byte de resultado .

2.16.6 Packed Entrar


PSIGNB / W / D Niega cada elemento entero con signo del operando destino si la seal de la correspondiente elemento de datos en el operando fuente es menor que cero .

2.16.7 Packed Alinear a la derecha


PALIGNR operando fuente se aade despus del operando destino formando un valor intermedio de el doble de la anchura de un operando . El resultado se extrae a partir del valor intermedio en el operando destino seleccionando el valor del bit 128 bits o 64 que estn alineados a la derecha en el byte desplazamiento especificado por el valor inmediato .

2.18 instrucciones SSE4


Intel Streaming SIMD Extensiones 4 ( SSE4 ) presenta 54 nuevas instrucciones . 47 de las instrucciones SSE4 son conoce como SSE4.1 en este documento , 7 nuevas instrucciones SSE4 se conocen como SSE4.2 . SSE4.1 est dirigido a mejorar el rendimiento de los medios de comunicacin , formacin de imgenes , y las cargas de trabajo 3D . SSE4.1 aade instrucciones que mejoran compilador vectorizacin y aumentar significativamente el apoyo a lleno cmputo dword . La tecnologa tambin proporciona un indicio de que puede mejorar el rendimiento de memoria en la lectura de la memoria no almacenable en cach WC tipo. Los 47 SSE4.1 instrucciones incluyen: Dos instrucciones realizan dword lleno multiplica. Dos instrucciones que realizan productos de punto de punto flotante con entrada / salida selecciona. Una instruccin realiza una carga con un toque de streaming. Seis instrucciones simplifican la mezcla para llevar. Ocho instrucciones de ampliar el apoyo a lleno entero MIN / MAX . Cuatro instrucciones de soporte circular de punto flotante con el modo de redondeo seleccionable y precisin excepcin de anulacin. Siete instrucciones de mejorar la insercin de datos y extraccin de XMM registra Doce instrucciones de mejorar las conversiones de formato enteros envasados ( seal cero y extensiones) . Una instruccin mejora la generacin de SAD ( diferencia absoluta suma ) para los pequeos tamaos de bloque . Una instruccin de las operaciones de bsqueda ayudas horizontales.

Una instruccin de mejora comparaciones enmascarados. Una instruccin suma comparaciones de igualdad QWORD llevar. Una instruccin suma dword embalar con saturacin sin signo. Los siete SSE4.2 instrucciones incluyen: Cadena y procesamiento de texto que puede tomar ventaj a de la programacin de mltiples datos de una sola instruccin tcnicas. ( ATA ) las instrucciones de aplicacin especficas del acelerador . Vol. . en 5 hasta 23 INSTRUCCIONES SET RESUMEN Un nmero entero de instrucciones SIMD que mejora la capacidad de la capacidad enteros SIMD de 128 bits en SSE4.1 .

2.20 SSE4.1 INSTRUCCIONES


SSE4.1 instrucciones pueden usar un registro XMM como origen o destino. Programacin SSE4.1 es similar a programacin de instrucciones SIMD en coma flotante en SSE/SSE2/SSE3/SSSE3 . 128-bit Integer SIMD y SSE4.1 hace no proporcionar instrucciones SIMD enteros de 64 bits que funcionan en registros MMX. Las secciones siguientes describen cada subgrupo.

2.20.1 Dword Instrucciones Multiplicar


PMULLD Devuelve cuatro menores de 32 bits de los resultados de 64 bits del entero con signo de 32 bits multiplica . PMULDQ Devuelve dos 64-bit firmado resultado de entero con signo de 32 bits multiplica .

2.20.2 coma flotante Dot Product Instructions


DPPD Realice precisin doble producto escalar para un mximo de 2 elementos y difusin. DPPS Realizar productos de punto de precisin simple para un mximo de 4 elementos y difusin

2.20.3 Carga Streaming Instruccin Sugerencia


MOVNTDQA Proporciona un toque intemporal que puede causar artculos 16 bytes adyacentes dentro de una de 64 bytes alineados regin ( una lnea de transmisin ) que se fue a buscar y se mantiene en un pequeo conjunto de bferes temporales ( " Buffers de transmisin de carga ") . Posteriores cargas de transmisin a otros elementos de 16 bytes alineados en la misma lnea de transmisin puede ser suministrado desde el buffer de carga de transmisin y puede mejorar rendimiento .

2.20.4 Instrucciones de fusin pic


BLENDPD condicional copia de doble precisin los elementos de datos de punto flotante especificados en la fuente operando a los elementos de datos correspondientes en el destino , utilizando un byte inmediata controlar . BLENDPS condicional copia elementos de datos de punto flotante de precisin simple especificado en la fuente operando a los elementos de datos correspondientes en el destino , utilizando un byte inmediata controlar . BLENDVPD condicional copia de doble precisin los elementos de datos de punto flotante especificados en la fuente operando a los elementos de datos correspondientes en el destino , utilizando una mscara implcita . BLENDVPS condicional copia elementos de datos de punto flotante de precisin simple especificado en la fuente operando a los elementos de datos correspondientes en el destino , utilizando una mscara implcita . PBLENDVB condicional copia elementos de bytes especificados en el operando origen al correspondiente elementos en el destino , utilizando una mscara implcita . PBLENDW condicional copia elementos denominativos especificados en el operando origen al correspondiente elementos en el destino , utilizando un byte de control inmediato .

2.20.5 Bolsas enteros Instrucciones MIN / MAX


PMINUW Comparar enteros palabra sin signo para llevar. PMINUD Comparar envasados dword enteros sin signo. PMINSB Comparar enteros llenos de bytes con signo. PMINSD Comparar enteros envasados dword firmados. PMAXUW Comparar enteros palabra sin signo para llevar. 5-24 vol . 1 INSTRUCCIONES SET RESUMEN PMAXUD Comparar envasados dword enteros sin signo. PMAXSB Comparar enteros llenos de bytes con signo. PMAXSD Comparar enteros envasados dword firmados.

2.20.6 Instrucciones Ronda de punto flotante con el modo de redondeo seleccionable


ROUNDPS Round valores de precisin embalaje individual de punto flotante en valores enteros y regresan redondeadas valores de punto flotante .

Ronda ROUNDPD lleno valores de doble precisin de punto flotante en valores enteros y devolver redondeado valores de punto flotante . ROUNDSS Round the precisin el valor de punto flotante nica baja embalado en un valor entero y devuelven un redondeada valor de punto flotante . ROUNDSD Alrededor de la precisin de valor de punto flotante de doble bajo embalado en un valor entero y devuelven un redondeada valor de punto flotante .

2.20.7 Insercin y Extracciones de XMM Registros


EXTRACTPS Extrae un valor de punto flotante de precisin simple de un desplazamiento en un registro XMM especificado y almacena el resultado en la memoria o un registro de propsito general INSERTPS Inserta un valor de punto flotante de precisin simple de cualquiera de una posicin de memoria de 32 bits o seleccionados de un desplazamiento especificado en un registro XMM a un desplazamiento en el destino XMM registro especificado. Adems, INSERTPS permite la puesta a cero de los elementos de datos seleccionados en el destino, utilizando una mscara. PINSRB Introduzca un valor de bytes de un registro o memoria en un registro XMM PINSRD Introduzca un valor DWORD del registro de 32 bits o de memoria en un registro XMM PINSRQ Introduzca un valor QWORD del registro de 64 bits o de memoria en un registro XMM PEXTRB Extracto de un byte de un registro XMM e insertar el valor en un registro de propsito general o memoria PEXTRW Extracto de una palabra a partir de un registro XMM e insertar el valor en un registro de propsito general o memoria PEXTRD Extraiga una dword de un registro XMM e insertar el valor en un registro de propsito general o memoria PEXTRQ Extracto de un QWORD de un registro XMM e insertar el valor en un registro de propsito general o memoria

2.20.8 Bolsas Conversiones formato entero


PMOVSXBW Registrarse ampliar el nmero entero de 8 bits inferior de cada elemento denominativo lleno en lleno palabra firmada nmeros enteros. PMOVZXBW Zero ampliar el nmero entero de 8 bits inferior de cada elemento denominativo lleno en lleno palabra firmada nmeros enteros. PMOVSXBD Entrar ampliar el entero de 8 bits ms baja de cada elemento dword lleno en lleno firmado dword nmeros enteros .

PMOVZXBD Zero ampliar el entero de 8 bits ms baja de cada elemento dword lleno en lleno firmado dword nmeros enteros . PMOVSXWD Entrar ampliar el entero de 16 bits ms baja de cada elemento dword lleno en lleno firmado dword nmeros enteros . PMOVZXWD Zero ampliar el entero de 16 bits ms baja de cada elemento dword lleno en lleno dword firmado enteros .. PMOVSXBQ Entrar ampliar el entero de 8 bits ms baja de cada elemento QWORD lleno en lleno firmado QWORD nmeros enteros . Vol. . 5-25 en INSTRUCCIONES SET RESUMEN PMOVZXBQ Zero ampliar el entero de 8 bits ms baja de cada elemento QWORD lleno en lleno firmado QWORD nmeros enteros . PMOVSXWQ Entrar ampliar el entero de 16 bits ms baja de cada elemento QWORD lleno en lleno firmado QWORD nmeros enteros . PMOVZXWQ Zero ampliar el entero de 16 bits ms baja de cada elemento QWORD lleno en lleno firmado QWORD nmeros enteros . PMOVSXDQ Entrar ampliar el entero de 32 bits ms baja de cada elemento QWORD lleno en lleno firmado QWORD nmeros enteros . PMOVZXDQ Zero ampliar el entero de 32 bits ms baja de cada elemento QWORD lleno en lleno firmado QWORD nmeros enteros .

2.20.9 La mejora de las sumas de las diferencias absolutas ( SAD ) para bloques de 4 bytes
MPSADBW Realiza ocho de ancho Sum 4 bytes de las operaciones de las diferencias absolutas para producir ocho palabras nmeros enteros.

2.20.10 Horizontal Buscar


PHMINPOSUW Busca el valor y la ubicacin de la palabra sin signo de un mnimo de 8 embalan horizontalmente palabras sin signo . El valor resultante y la ubicacin ( desplazamiento dentro de la fuente ) se empaquetan en el bajo dword del destino XMM registro .

2.20.11 Prueba Packed


PTEST Realiza una operacin lgica AND entre el destino con esta mscara y establece el indicador ZF si el resultado es cero . La bandera CF ( cero TEST) se establece si la mscara invertida AND'd con el destino es todos cero 10/05/12 Almuerzos comparaciones de igualdad QWORD PCMPEQQ 128 bits empaquetado prueba de igualdad QWORD

2.20.13 DWORD Embalaje Con Saturacin Unsigned


PACKUSDW PACKUSDW paquetes dword a la palabra con la saturacin sin signo

2.21 SSE4.2 del conjunto de instrucciones


Cinco de los siete SSE4.2 instrucciones puede utilizar un registro XMM como origen o destino. Estos incluyen cuatro texto / string instrucciones de procesamiento y uno lleno quadword comparar instrucciones SIMD . Programacin estos cinco SSE4.2 instrucciones es similar a la programacin de 128 bits de enteros SIMD en SSE2/SSSE3 . SSE4.2 no proporciona ningn 64 bits enteros instrucciones SIMD . Los otros dos SSE4.2 instrucciones utiliza registros de propsito general para realizar las funciones de procesamiento acelerado en reas de aplicacin especficas . Las secciones siguientes describen cada subgrupo .

2.21.1 cuerdas y texto Instrucciones de procesamiento


PCMPESTRI Embalado comparar cadenas explcita de longitud , devuelva ndice en ECX / RCX PCMPESTRM Embalado comparar cadenas explcita de longitud , devuelva mscara XMM0 PCMPISTRI Embalado comparar cadenas implcita de longitud , ndice de rentabilidad en ECX / RCX 5-26 vol . 1 INSTRUCCIONES SET RESUMEN PCMPISTRM Embalado comparar cadenas implcita de longitud , devuelva mscara XMM0 5.11.2 Packed Comparacin SIMD entero Instruccin PCMPGTQ Realiza lgico comparar de mayor que en empaquetado entero quadwords . 5.11.3 Instrucciones Acelerador de aplicacin selectivas

CRC32 Proporciona aceleracin de hardware para el clculo de los controles de redundancia cclica para una rpida y eficiente implementacin de protocolos de integridad de datos . POPCNT Esta instruccin calcula del nmero de bits puestos a 1 en el segundo operando (origen) y devuelve el recuento en el primer operando ( un registro de destino ) 5.12 AESNI Y PCLMULQDQ Seis instrucciones AESNI operan en XMM registra para proporcionar primitivas aceleradas para el cifrado de bloque / descifrado utilizando Advanced Encryption Standard (FIPS -197 ) . Instruccin PCLMULQDQ llevar a cabo , menos la multiplicacin de dos nmeros binarios de hasta 64 bits de ancho. AESDEC Realizar una ronda de descifrado AES mediante un estado de 128 bits y una clave de ronda AESDECLAST Realizar la ltima ronda AES descifrado usando un estado de 128 bits y una clave de ronda AESENC Realice un ciclo de cifrado AES con un estado de 128 bits y una clave de ronda AESENCLAST Realizar la ltima ronda de cifrado AES con un estado de 128 bits y una clave de ronda AESIMC Realizar una mezcla de transformacin inversa columna primitiva AESKEYGENASSIST Ayuda a la creacin de claves de ronda con un programa de expansin de clave PCLMULQDQ carryless realizar la multiplicacin de dos nmeros de 64 bits

DISTRIBUCION DE REGISTROS
Registros de propsito general Los registros de propsito general son los siguientes:

Estos registros tienen un uso especial en algunas instrucciones: EAX Registro acumulador. Fuente y destino en algunas operaciones. EBX Puntero a los datos en el segmento DS. ECX Contador en las operaciones de cadena y bucles. EDX Puntero a los puertos de E/S. ESI Puntero fuente en las operaciones de cadena y puntero a datos en el segmento DS. EDI Puntero destino en las operaciones de cadena y puntero a datos en el segmento ES. ESP Puntero de pila. EBP Puntero a los datos alojados en la pila. AX - acumulador, se utiliza para clculos. Habitualmente se utiliza como registro de retorno del resultado. DX - extensin de AX. Lo mismo uso como AX. CX - count register -- contadores, especialmente de bucles con nmero predeterminado de ejecuciones. BX - registro base. Se utiliza como ndice, pero tambin para clculos. SI - source index - se utiliza para direccionar datos que principalmente se leen, pero no se escriben. DI - destination index - se utiliza para direccionar datos que principalmente se escriben, pero no se leen. BP - base pointer - se utiliza para pasar parmetros en la pila.

SP - stack pointer - se utiliza slo implcitamente para indexar la pila con PUSH POP,CALL RET, INT IRET y para valor inicial de BP. CS - segmento de cdigo. Uso exclusivamente segn su propsito segn el hardware de 8086. SS - segmento de pila. Uso exclusivamente segn su propsito segn el hardware de 8086. DS - segmento de datos. Datos utilizados con alta frecuencia. ES - extra segment. El resto de los datos. Si el programa es pequea, es normal que DS=ES.

El registro EIP y el EFLAGS


El registro EIP apunta a la siguiente instruccin a ejecutar del segmento de cdigo. Su valor se ve modificado con la ejecucin de cada instruccin o como resultado de ejecutar una instruccin de control de flujo (JMP, Jxx, CALL, RET, RET n, IRET). Al registro EIP se le conoce como el puntero a instruccin o contador de programa. El registro EFLAGS contiene el estado del procesador en un momento dado, incluyendo los bits de condicin (S, Z, P, C, ...).

CONCLUSIONES
(Adelina Hernndez Torres) Al buscar ms informacin del procesador como lo es grupo de instrucciones que esta maneja y sus registros es de gran importancia, ya que, de cierta manera la computadora es utilizada en muchas ocasiones, ya sea para hacer un proyecto, ver videos, comprender algo ms sobre esta, etc. Generalmente hay que informarnos ms de nuestra mquina, saber con qu se est trabajando y que funciones al ser utilizada por un usuario.

(Luis Angel Hermenegildo Dominguez) Una instruccin es una serie de pasos a seguir, esto para que la informacin o alguna operacin aritmtica o lgica sean procesadas correctamente. Dependiendo de qu tipo de procesador se est manejando.

REFERENCIAS BIBLIOGRFICAS http://sop.upv.es/dso/es/t2-arquitectura/gen-t2-arquitectura.html http://www.pmzone.org/chapter01.html

Vous aimerez peut-être aussi