Zona para desarrolladores Intel®:
Extensiones de conjuntos de instrucciones de la Intel® architecture

Las Extensiones de conjuntos de instrucciones de la Intel architecture (ISA) continúan evolucionando para mejorar la funcionalidad, el rendimiento y la experiencia del usuario. A continuación, presentamos las extensiones planeadas para ISA que son nuevas, así como las que se están planeando para mejoras en futuras generaciones de los procesadores. Al publicar estas extensiones con anticipación, Intel ayuda a garantizar que el ecosistema del software tenga tiempo para innovar y entrar al mercado con productos mejorados y nuevos cuando se lancen al mercado los procesadores.

Visión general

Herramientas y descargas

  • Intel® C++ Compiler

    Intel® C++ Compiler está disponible para ser descargado del Intel® Registration Center para todos los clientes con licencias. Las versiones de evaluación de los Productos Intel® de desarrollo de software también están disponibles para una descarga gratis.

  • Guía de Intel Intrinsics

    La Guía de Intel Intrinsics es una herramienta de referencia interactiva para las instrucciones intrínsecas de Intel, las cuales son funciones de estilo C que proporcionan acceso a muchas instrucciones Intel, incluyendo las instrucciones Intel® Streaming SIMD Extensions (Intel® SSE), Intel® Advanced Vector Extensions (Intel® AVX), y muchas más, sin necesidad de escribir el código de ensamblaje.

  • Gcc Compiler
    El compilador 'gcc compiler' y la biblioteca 'glibc library' compatibles con las instrucciones de Intel® AVX, Intel® AVX2, Intel® AVX-512 e Intel® MPX están disponibles para ser descargados de GPL que se encuentra en la página Emulador de Desarrollo de software Intel®.

Intel® Advanced Vector Extensions (Intel® AVX)

La necesidad de un mayor desempeño computacional sigue creciendo en todos los segmentos de la industria. Para satisfacer la creciente demanda y ofrecer compatibilidad con los modelos de uso en evolución, continuamos nuestra historia de innovación con  Intel® Advanced Vector Extensions (Intel® AVX) en los productos de hoy.

Intel® AVX es una nueva extensión del conjunto de instrucciones de 256 bits para Intel® SSE y se diseñó para aplicaciones que usan Floating Point (FP - Punto flotante) de manera intensa. Se lanzó al mercado a principios del año 2011 como parte de la familia de procesadores de la microarquitectura Intel ®, con el nombre de código 'Sandy Bridge', y se encuentra en plataformas que abarcan desde notebooks a servidores. Intel AVX mejora el desempeño gracias a vectores más anchos, nueva sintaxis ampliable y funcionalidad enriquecida. Esto resulta en una mejor administración de los datos y las aplicaciones para fines generales como el procesamiento de imágenes, sonido/video, simulaciones científicas, análisis financieros, y modelos y análisis tridimensionales.

Intel® Advanced Vector Extensions 512 (Intel® AVX-512)

En el futuro, algunos productos nuevos incluirán un avance importante hacia la compatibilidad con SIMD de 512 bits. Los programas pueden contener ocho números flotantes de doble precisión y dieciseis de precisión simple dentro de los vectores de 512 bits, así como ocho enteros de 64 bits y dieciseis de 32 bits. Esto permite el procesamiento del doble de la cantidad de elementos de datos que puede procesar IntelAVX/AVX2 con una sola instrucción y cuatro veces más las capacidades de Intel SSE.

Las instrucciones de Intel AVX-512 son importantes porque abren capacidades de rendimiento superiores para las tareas computacionales más exigentes. Las instrucciones de Intel AVX-512 ofrecen el grado más elevado de compatibilidad al incluir un nivel sin precedentes de enriquecimiento en el diseño de las capacidades de instrucciones.

Las características de Intel AVX-512 incluyen registros de 32 vectores, cada uno con 512 bits de ancho y ocho registros de máscaras dedicadas. Intel AVX-512 es un conjunto de instrucciones flexible que incluye compatibilidad con máscaras de difusión integradas para habilitar la predicción, el control de redondeo de puntos flotantes integrado, la supresión de fallas de puntos flotantes integrados, las instrucciones de dispersión, instrucciones de matemáticas de alta velocidad y la representación de grandes valores de desplazamiento.

Intel AVX-512 ofrece un grado de compatibilidad con Intel AVX que es más sólido que anteriores transiciones con los nuevos anchos para las operaciones de SIMD. A diferencia de Intel SSE e Intel AVX que no pueden mezclarse sin sufrir penalidades en el desempeño, la mezcla de las instrucciones de Intel AVX e Intel AVX-512 es compatible sin penalidades. Intel AVX registra la guía YMM0–YMM15 en los registros ZMM0–ZMM15 de Intel AVX-512 (en el modo x86-64), muy similar a las guías de los registros de Intel SSE en los registros de Intel AVX. Por tanto, en los procesadores compatibles con Intel AVX-512, las instrucciones de Intel AVX e Intel AVX2 funcionan en los valores inferiores de 128 o 256 bits de los primeros registros de 16 ZMM.

Puede encontrar más información sobre los detalles de las instrucciones de Intel AVX-512 en el blog "AVX-512 Instructions" (Instrucciones de AVX-512). Las instrucciones se documentan en la Intel® Architecture Instruction Set Extensions Programming Reference (Referencia de programación de extensiones de conjuntos de instrucciones en la Intel Architecture) (vea la ficha "Overview" (Visión general) de esta página).

Intel® System Studio - Solutions, Tips and Tricks
By robert-mueller-albrecht (Intel)Posted 12/03/20130
Training Slides Link to Training Slides Overview New Features and Components of Intel System Studio 2014 Detailed Overview of all Intel System Studio 2014 Components System Requirements Support Matrix - Full list of component support based on Host/Target OS and Embedded Platfo...
Installation of Intel® System Studio on Windows* Host
By Naveen Gv (Intel)Posted 10/07/20130
How to get Intel System Studio 2014 - Windows* Host package? Upon registering for the program you will receive a serial number and email with a license file. You will need either of these two to complete the installation process. If you want to use the license file you can point to it during ins...
How to install Intel® System Studio on Windows* OS
By adminPosted 10/06/20130
Topic: - How to install Intel® System Studio 2014 on Windows* OS Objective: - This article is focused on explaining step wise as “How to install Intel® System Studio 2014 on Windows* OS”. Installation: - After downloading Intel® System Studio 2014 – Windows* Host from Intel® registration center...
Intel® Xeon® Processor E5-2600 V2 Product Family Technical Overview
By Sreelekshmy Syamalakumari (Intel)Posted 10/04/20133
Download Article Intel® Xeon® Processor E5-2600 V2 Product Family Technical Overview [PDF 780KB] Contents Executive Summary Introduction Intel Xeon processor E5-2600 V2 product family enhancements Intel® Secure Key (DRNG) Intel® OS Guard (SMEP) Intel® Advanced Vector Extensions (Intel® AVX): Floa...

Páginas

Suscribirse a
No se encontró contenido
Suscribirse a Blogs de la Zona para desarrolladores Intel®

    Intel® Software Guard Extensions (Intel® SGX)

    Declaración de visión de Intel

    Las cargas de trabajo computarizado de hoy están incrementado en complejidad, con cientos de módulos de software entregado por distintos equipos distribuidos en todo el planeta. El aislamiento de cargas de trabajo en plataformas abiertas ha sido un esfuerzo continuo, comenzando con la arquitectura en modo protegido para crear la separación de privilegios entre los sistemas operativos y las aplicaciones. Sin embargo, los recientes ataques de software malicioso han demostrado la habilidad de penetrar en modos altamente privilegiados y de lograr controlar todo el software de una plataforma.

    Intel® Software Guard Extensions (Intel® SGX) es un nombre para las extensiones de la arquitectura Intel designado para incrementar la seguridad del software mediante un mecanismo de “zona de pruebas inversa”.  En este método, en lugar de intentar identificar y aislar todos los software maliciosos presentes en la plataforma, el software legítimo puede sellarse dentro de un enclave y protegerlo de ataques de software malicioso, sin tener en cuenta el grado de privilegio del software malicioso. Esto complementaría los esfuerzos continuos para proteger a la plataforma contra intrusiones de software malicioso, similar a la manera de instalar cajas de seguridad en nuestros hogares para proteger nuestros artículos valiosos y, al mismo tiempo, introducir sistemas de alarmas y cerraduras más sofisticadas para impedir ataques y atrapar a intrusos.

    Cómo comenzar (común para todos los ISA)

    Visión general

    Herramientas y descargas

    • No existen cambios en el contenido existente

    Contenido técnico

    No se encontró contenido
    Suscribirse a Blogs de la Zona para desarrolladores Intel®
    Innovative Technology for CPU Based Attestation and Sealing
    By adminPosted 08/14/20130
    Download white paper as PDF By:Ittai Anati, Shay Gueron, Simon P Johnson, Vincent R Scarlata Intel Corporation Abstract Intel is developing the Intel® Software Guard Extensions (Intel® SGX) technology, an extension to Intel® Architecture for generating protected software containers. The container...
    Using Innovative Instructions to Create Trustworthy Software Solutions
    By adminPosted 08/14/20130
    Download white paper as PDF By:Matthew Hoekstra, Reshma Lal, Pradeep Pappachan, Carlos Rozas, Vinay Phegade, Juan del Cuvillo Intel Corporation Abstract Software developers face a number of challenges when creating applications that attempt to keep important data confidential. Even diligent use o...
    Innovative Instructions and Software Model for Isolated Execution
    By adminPosted 08/14/20130
    Download white paper as PDF By:Frank McKeen, Ilya Alexandrovich, Alex Berenzon, Carlos Rozas, Hisham Shafi, Vedvyas Shanbhogue and Uday SavagaonkarIntel Corporation Abstract For years the PC community has struggled to provide secure solutions on open platforms. Intel has developed innovative new ...
    Suscribirse a

    Intel® Memory Protection Extensions (Intel® MPX)

    Los sistemas PC sufren ataques maliciosos de creciente sofisticación y una de las formas más comúnmente observadas es causar o explotar el uso excesivo del búfer (o desbordamientos) en aplicaciones de software.

    Intel® Memory Protection Extensions (Intel® MPX) es un nombre para las extensiones de Intel Architecture diseñadas para incrementar la robustez del software. Intel MPX proporcionará características de hardware que se pueden utilizar en conjunto con los cambios en el compilador para comprobar que las referencias de la memoria destinadas al momento de la compilación no se conviertan en un peligro durante la ejecución (runtime). Dos de los objetivos más importantes de Intel MPX son: proporcionar esta capacidad sin impactar el código recientemente compilado y proporcionar mecanismos de compatibilidad con componentes de software legados. Intel MPX estará disponible en un procesador Intel® futuro.

    Using Intel® SDE's chip-check feature
    By Mark Charney (Intel)Posted 10/03/20130
    Intel® SDE includes a software validation mechanism to restrict executed instructions to a particular microprocessor. This is intended to be a helpful diagnostic tool for use when deploying new software. Use chip check when you want to make sure that your program is not using instruction features...
    Using Intel® MPX with the Intel® Software Development Emulator
    By Ady Tal (Intel)Posted 07/23/20130
    Intel has announced a new technology called Intel® Memory Protection Extensions (Intel® MPX). To find out more, check out the Instruction Set Extensions web pages.  Once you know about Intel MPX, you may want to experiment with Intel® SDE. This article explains how to run Intel MPX with Intel SDE...
    Linux* ABI
    By Milind Girkar (Intel)Posted 07/18/20130
    by Milind Girkar, Hongjiu Lu, David Kreitzer, and Vyacheslav Zakharin (Intel) Description of the Intel® AVX, Intel® AVX2, Intel® AVX-512 and Intel® MPX extensions required for the Intel® 64 architecture application binary interface.
    Introduction to Intel® Memory Protection Extensions
    By RB (Intel)Posted 07/16/20130
    The C and C++ languages provide for memory access via pointers, however, these languages do not ensure the safe use of pointers. Left undetected, the unsafe use of pointers puts an application at risk of data corruption or malicious attack via buffer overruns and overflows. Intel is always lookin...

    Páginas

    Suscribirse a
    No se encontró contenido
    Suscribirse a Blogs de la Zona para desarrolladores Intel®

      Intel® Secure Hash Algorithm Extensions (Intel® SHA Extensions)

      Secure Hash Algorithm (SHA) es uno de los algoritmos criptográficos de uso más común.  Los usos principales de SHA incluyen la integridad de datos, la autenticación de mensajes, las firmas digitales y la deduplicación de datos.  A medida que crece el uso generalizado de las soluciones de seguridad, SHA ahora se puede ver en más aplicaciones que nunca. Intel® SHA Extensions se diseñaron para mejorar el rendimiento de estos algorimos de cómputos intensos en los procesadores basados en la Intel® architecture.

      Intel® SHA Extensions son una familia de siete instrucciones basadas en Intel® Streaming SIMD Extensions (Intel® SSE) que se utilizan juntas para acelerar el rendimiento del procesamiento de SHA-1 y SHA-256 en procesadores basados en la Intel architecture.  Dada la creciente importancia de SHA en nuestros dispositivos de computación de uso diario, las nuevas instrucciones se diseñaron para proporcionar un impulso necesario de rendimiento para aplicar un solo búfer de datos. Los beneficios de rendimiento no solo ayudarán a mejorar la respuesta y a disminuir el consumo de energía para una aplicación dada, si no que pueden facilitar que más desarrolladores adopten SHA en nuevas aplicaciones para proteger datos y, al mismo tiempo, contribuyan a sus metas para la experiencia de usuario. Las instrucciones se definen de manera tal que simplifican sus guías en un flujo de procesamiento del algoritmo de la mayoría de las bibliotecas de software, por tanto se habilita un desarrollo más sencillo.

      Innovative Technology for CPU Based Attestation and Sealing
      By adminPosted 08/14/20130
      Download white paper as PDF By:Ittai Anati, Shay Gueron, Simon P Johnson, Vincent R Scarlata Intel Corporation Abstract Intel is developing the Intel® Software Guard Extensions (Intel® SGX) technology, an extension to Intel® Architecture for generating protected software containers. The container...
      Using Innovative Instructions to Create Trustworthy Software Solutions
      By adminPosted 08/14/20130
      Download white paper as PDF By:Matthew Hoekstra, Reshma Lal, Pradeep Pappachan, Carlos Rozas, Vinay Phegade, Juan del Cuvillo Intel Corporation Abstract Software developers face a number of challenges when creating applications that attempt to keep important data confidential. Even diligent use o...
      Innovative Instructions and Software Model for Isolated Execution
      By adminPosted 08/14/20130
      Download white paper as PDF By:Frank McKeen, Ilya Alexandrovich, Alex Berenzon, Carlos Rozas, Hisham Shafi, Vedvyas Shanbhogue and Uday SavagaonkarIntel Corporation Abstract For years the PC community has struggled to provide secure solutions on open platforms. Intel has developed innovative new ...
      Intel® SHA Extensions Implementations
      By adminPosted 07/18/20130
      The Intel® Secure Hash Algorithm (SHA) Extensions are designed to improve the performance of SHA-1 and SHA-256 on Intel® Architecture (IA) processors. This code download provides optimized assembly and intrinsic routines using the Intel® SHA Extensions. A sample test application using published k...

      Páginas

      Suscribirse a
      No se encontró contenido
      Suscribirse a Blogs de la Zona para desarrolladores Intel®
        Instruction set extensions programming reference, revision 18
        By Mark Charney (Intel)0
        In early February, an updated instruction set extensions programming reference, revision 18, has been posted here.  It includes information about: Intel® Advanced Vector Extensions 512 (Intel® AVX-512) instructions Intel® Secure Hash Algorithm (Intel® SHA) extensions  Intel® Memory Protection Extensions (Intel® MPX)  For more information about the technologies: http://www.intel.com/software/isa
        Updated Intel® Software Development Emulator
        By Ady Tal (Intel)0
        Hello, we just released version 6.20 of the Intel® Software Development Emulator. It is available here:http://www.intel.com/software/sde It includes: Added support for XSAVEC and CLFLUSHOPT. Disabled TSX CPUID bits when TSX emulation is not requested. Improved disassembly for MPX instructions. Added an option for running chip-check only on the main executable. Added support for -quark (Pentium ISA). Added application debugging for Mac OSX with the lldb debugger.
        Resources about Intel® Transactional Synchronization Extensions (Intel TSX)
        By Roman Dementiev (Intel)4
        Hi, you might find this collection of technical material about Intel TSX instructions useful: http://www.intel.com/software/tsx By a suggestion from some senior forum contributors I am making this post sticky. Best regards, Roman
        Links to instruction documentation
        By Thomas Willhalm (Intel)24
        The Intel 64 and IA-32 Architectures Software Developer's Manual Volume 2A and 2B (available here) are the instruction set reference. Haswell (2013) new instructionsare in theprogrammer's reference manual. In appendix C of the Intel 64 and IA-32 Architectures Optimization Reference Manual (available here), the latencies and throughput of instructions are listed. The documentation of the Intel C++ Compiler contains documentation of the intrinsics. The AVX Programming Reference and examples for using AVX are available on the AVX community page. (The interactive Intel Intrinsics Guide is also available there, which is useful for SSE programming as well.) The Intel Software Development Emulator (Intel SDE) allows simulation of future instructions.
        Problem when using RTM
        By geomap0
        Hello, My name is George Mappouras and I am trying to make a simple program in order to evaluate the TSX in the new Haswell processors. However I came across a very strange problem that I can't find its cause and I was wondering if you could help me with it. The idea is simple, I have 'x' accounts and 'n' threads. Each thread does 'k' amount of transactions between random accounts (I transfer a random amount from account1 to account2 ). I tried this program with RTM, spinlocks and mutex (fine grained locking). In the end I check my results by comparing them to a single threaded version of this program. The problem is that in the case of the RTM (with or without fallback path) I noticed that sometimes the results don't match the single-threaded results.  I also noticed that this seems to happen only when I use hyperthreading. (The computer in which I test my program has 4 physical cores with hyperthreading, that means 8 threads max). I tried to debug my program and I suspect that the...
        asm blocks
        By berthou4
        Hello, I am writing AVX code inside asm blocks (don"t want to use avx intrinsics). A lot of gp registers are used and so they are mixed with the ones generated by the compiler and thus it is screwing the behavior of the code pretty fast. Is there an automatic or manual way to avoid these register overlaps ? Any link to documentation would be great. I would like also to use asm blocks in fortan with ifort, but didn't find the way yet. Thanks Vincent
        SDE produces unstable behavior
        By andysem2
        Hi, I have some SSE/AVX code that I'm trying to test with Intel Software Development Emulator (SDE) on CPUs without the native support for some of the instruction set extensions. In particular, I tried the following setups: 1. Sandy Bridge CPU, SDE is running with -hsw switch. 2. Sandy Bridge CPU, SDE is running with -hsw -sse-sde switches. 3. A KVM guest virtual machine with SSE4 instructions (host CPU is Nehalem), SDE is running with -hsw switch. All this is on Linux x86_64, SDE 6.22 and 6.12. What I'm seeing is when my code is running the emulated branch (i.e. AVX2 path or AVX path when AVX is emulated) I sometimes get corrupted results. The behavior is not stable, it can work correctly in one run and fail in the next one on the same input data. I'm sure my code is correct because I tried it on a Haswell machine and it works every time. Also, the AVX path is failing when emulated and not when executed natively. My code is single-threaded so there aren't any concurrency issues. I ...
        Disabling AVX
        By emmanuel.attia17
        Hi all, Is there a way (under Windows 7) to disable the support of AVX. I wan't to make sure that on a pre-SB machine I don't get "Illegal Instruction exception". Currently I have to use another machine and it's a bit annoying. I don't use the /QaXXX flags because the code is already taking very long to compile (so it's taken care of manually) and I want it to work on Microsoft compiler too (even if performances would be degraded of course ;) ). So if there is some global flag to change to disable it (even if i need to reboot the computer), the information would be more than welcomed. Thanks in advance !

        Páginas

        Suscribirse a Foros