Intel® Developer Zone:
Estensioni dei set di istruzioni dell'architettura Intel

L'Instruction Set Architecture (ISA) di Intel continua ad evolversi per migliorare la funzionalità, le prestazioni e l'esperienza dell'utente. Vi presentiamo, di seguito, le estensioni programmate per l'ISA, che sono nuove come quelle programmate per miglioramenti nelle future generazioni di processori. Pubblicando queste estensioni prima del previsto, Intel aiuta a verificare che l'ecosistema del software abbia il tempo di innovare e di apparire sul mercato con prodotti nuovi e migliorati, quando i processori saranno lanciati.

Panoramica

Strumenti e download

  • Compilatore C++ Intel®

    Il compilatore C++ Intel® può essere scaricato dai clienti con licenza nel centro di registrazione Intel®. È disponibile, inoltre, il download gratuito delle versioni di valutazione dei prodotti Intel® per lo sviluppo di software.

  • Intel Intrinsics Guide

    Intel Intrinsics Guide è uno strumento di riferimento interattivo per le istruzioni intrinsiche Intel, che sono funzioni in stile C che forniscono l'accesso a numerose istruzioni Intel, incluse Intel® Streaming SIMD Extensions (Intel® SSE), Intel® Advanced Vector Extensions (Intel® AVX) e altre, senza che sia necessario scrivere codice assembly.

Intel® Advanced Vector Extensions (Intel® AVX)

Ottenere prestazioni di elaborazione superiori è una necessità crescente di tutti i segmenti di mercato del settore. Per supportare una domanda crescente e modelli di utilizzo in evoluzione, offriamo  Intel® Advanced Vector Extensions (Intel® AVX) per continuare la nostra tradizione di innovazione.

Intel® AVX è un nuovo set di istruzioni a 256 bit che rappresenta l'evoluzione di Intel® SSE ed è progettato per le applicazioni ad uso intensivo della virgola mobile (FP). È stato fatto uscire all'inizio del 2011 come parte della famiglia di processori basati sulla microarchitettura Intel® con nome in codice Sandy Bridge ed è presente in numerose piattaforme, dalle piattaforme notebook a quelle server. Intel AVX migliora le prestazioni grazie a vettori più ampi, una nuova sintassi flessibile e funzionalità complete. Il risultato è una migliore gestione dei dati e delle applicazioni per uso generico come l'elaborazione di immagini e di audio/video, le simulazioni scientifiche, le analisi di dati finanziari, la modellazione e l'analisi 3D.

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

In futuro, alcuni dei nuovi prodotti presenteranno un passaggio significativo al supporto SIMD a 512-bit. I programmi possono includere otto numeri in virgola mobile a doppia precisione e sedici a precisione singola entro i vettori a 512-bit, oltre a otto numeri interi a 64-bit e sedici a 32-bit. Questo consente di elaborare il doppio del numero di elementi dei dati che l'IntelAVX/AVX2 riesce ad elaborare con un'unica istruzione e quattro volte le capacità di Intel SSE.

Le istruzioni Intel AVX-512 sono importanti perché aprono la strada a capacità di prestazioni superiori per le attività computazionali più impegnative. Le istruzioni Intel AVX-512 offrono il più alto grado di supporto al compilatore, includendo un livello senza precedenti di ricchezza nella progettazione delle capacità di istruzione.

Le funzioni di Intel AVX-512 includono 32 registri vettore, ciascuno dell'ampiezza di 512-bit, e otto registri maschera dedicati. Intel AVX-512 è un insieme flessibile di istruzioni che include supporto per la trasmissione, mascheramento incorporato per attivare il predicato, virgola mobile incorporata per controllare l'arrotondamento, virgola mobile incorporata per la soppressione degli errori, istruzioni di scattering, istruzioni di matematica ad alta velocità e rappresentazione compatta di grandi valori di sfasamento.

Intel AVX-512 offre un livello di compatibilità con Intel AVX più solido di quello delle transizioni precedenti verso nuove ampiezze per le operazioni SIMD. A differenza di Intel SSE e Intel AVX, che non potevano essere mescolati senza penalità di prestazione, le istruzioni di Intel AVX e Intel AVX-512 possono essere mescolate perché sono supportate senza penalità. I registri Intel AVX registers YMM0–YMM15 mappano nei registri Intel AVX-512 ZMM0–ZMM15 (in modalità x86-64), in modo molto simile a come i registri Intel SSE mappano nei registri Intel AVX. Pertanto, in processori con supporto Intel AVX-512, le istruzioni Intel AVX e Intel AVX2 operano sui bit 128 o 256 inferiori dei primi registri 16 ZMM.

Altre informazioni sui dettagli delle istruzioni Intel AVX-512 si trovano nel blog "Istruzioni AVX-512". Le istruzioni sono documentate nel Riferimento alla programmazione di estensioni impostate di Intel® Architecture (vedere la scheda "Panoramica" su questa pagina).

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...

Pagine

Iscriversi a
Benvenuti in Intel® Developer Zone!
By Francesco Baldassarri (Intel)Posted 12/03/20120
Salve a tutti, è onore mio, di Community Manager di IDZ (Intel® Developer Zone™) per l'Italia, darvi il benvenuto nel nuovo portale dedicato a tutto il mondo software su architetture Intel. Intel® Developer Zone™ nasce con l'intento di voler unificare tanti mondi di natura molto diversa ma tutti ...
Iscriversi a Blog Intel® Developer Zone

    Intel® Software Guard Extensions (Intel® SGX)

    Visione programmatica di Intel

    I carichi di lavoro del computing di oggi stanno diventando più complessi, con centinaia di moduli software consegnati da diversi team sparsi per il mondo. L'isolamento dei carichi di lavoro su piattaforme aperte si è rivelato uno sforzo continuato, iniziando con l'architettura in modalità protetta per creare una separazione di privilegi tra sistema operativo e applicazioni. Recenti attacchi di malware, comunque, hanno dimostrato l'abilità di penetrare in modalità con alto livello di privilegi e di riuscire a controllare l'intero software su una piattaforma.

    Intel® Software Guard Extensions (Intel® SGX) è un nome per le estensioni dell'architettura Intel progettate per aumentare la sicurezza del software attraverso un meccanismo a “sandbox inversa”. Con questo approccio, invece di tentare di identificare e isolare tutto il malware presente sulla piattaforma, si sigilla software legittimo in un'enclave e lo si protegge dagli attacchi del malware, indipendentemente dal livello di privilegio di quest'ultimo. Questo sarebbe un complemento per gli sforzi continui per proteggere la piattaforma dall'intrusione del malware, simili all'installazione di una cassaforte nelle nostre case per proteggere gli oggetti di valore, persino quando aggiungiamo dispositivi di blocco e sistemi di allarme ancora più sofisticati per impedire i furti e riuscire a catturare gli intrusi.

    Per iniziare (comune a tutta l'ISA)

    Panoramica

    Strumenti e download

    • Nessuna modifica al contenuto esistente

    Contenuto tecnico

    Nessun contenuto trovato
    Iscriversi a Blog Intel® Developer Zone
    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 ...
    Iscriversi a

    Intel® Memory Protection Extensions (Intel® MPX)

    I sistemi dei computer devono affrontare attacchi dannosi sempre più sofisticati, e una delle forme più comunemente osservate è il causare o lo sfruttare le eccedenze (gli eccessi) dei buffer nelle applicazioni software.

    Intel® Memory Protection Extensions (Intel® MPX) è un nome per le estensioni Intel Architecture progettate per aumentare la robustezza del software. Intel MPX offrirà funzioni hardware da utilizzare assieme ai cambi dei compilatori per controllare che i riferimenti della memoria studiati per il momento della compilazione non diventino pericolosi al runtime. Due degli obiettivi più importanti di Intel MPX sono: offrire questa capacità a basso prezzo per il codice appena compilato, e fornire meccanismi di compatibilità con componenti software legacy. Intel MPX sarà disponibile in un futuro processore Intel®.

    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...

    Pagine

    Iscriversi a
    Nessun contenuto trovato
    Iscriversi a Blog Intel® Developer Zone

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

      Secure Hash Algorithm (SHA) è uno degli algoritmi crittografici usati più frequentemente.  Gli SHA sono principalmente utilizzati per l'integrità dei dati, l'autenticazione di messaggi, le firme digitali e la deduplicazione dei dati.  Con il continuo aumento dell'uso già diffusissimo delle soluzioni di sicurezza, gli SHA possono essere notati in più applicazioni che mai. Le estensioni Intel® SHA sono progettate per migliorare le prestazioni di questi algoritmi intensivi di computazione su processori basati sull'architettura Intel®.

      Le estensioni Intel® SHA consistono in una famiglia di sette istruzioni basate su estensioni Intel® Streaming SIMD Extensions (Intel® SSE), utilizzate assieme per accelerare le prestazioni degli algoritmi di elaborazione SHA-1 e SHA-256 su processori basati su architettura Intel.  Data la sempre crescente importanza degli SHA nei nostri dispositivi di elaborazione di uso quotidiano, le nuove istruzioni sono progettate per fornire un aumento necessario delle prestazioni della funzione di hash per un solo buffer di dati. I vantaggi delle prestazioni non aiuteranno solo a migliorare le risposte e a ridurre il consumo di alimentazione per una data applicazione; potrebbero anche consentire agli sviluppatori di adottare gli SHA in nuove applicazioni per proteggere i dati contemporaneamente al raggiungimento degli obiettivi dell'esperienza utente. Le istruizioni sono definite in un modo che semplifica la loro mappatura nel flusso di elaborazione degli algoritmi della maggioranza delle librerie software, permettendo così uno sviluppo più facile.

      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...

      Pagine

      Iscriversi a
      Nessun contenuto trovato
      Iscriversi a Blog Intel® Developer Zone
        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 !

        Pagine

        Iscriversi a Forum