SSE4 è un instruction set SIMD sviluppato dalla Intel Corporation e annunciato a settembre 2006, arrivato poi sul mercato a fine 2007 con i primi processori a 45 nm presentati dalla stessa Intel.

Come i set predecessori, anche con SSE4 è possibile ripetere la stessa operazione con più di un elemento di dati, al posto di richiedere che ogni istruzione sia direttamente legata ad un elemento dati, permettendo di ottenere un generale incremento della velocità di elaborazione con applicazioni di tipo multimediale.

Campi di utilità delle SSE4

Di seguito sono riassunte le 3 tipologie di contenuti che dovrebbero trarre maggior vantaggio dall'utilizzo delle nuove istruzioni:

  • Accelerazione video - 14 istruzioni saranno dedicate all'accelerazione dei calcoli tipicamente utilizzati nell'elaborazione di contenuti video;
  • "Graphics Building Blocks" - 32 istruzioni primitive orientate alla grafica;
  • "Streaming Load" - utile per accedere e ricevere dati di ritorno da dispositivi di memoria che non siano presenti nella cache del sistema.

Implementazione di Intel

L'intero set prevede 54 nuove istruzioni, ma Intel ha scelto di inaugurare il proprio supporto a tali istruzioni integrandone solo 47, e indicandole come SSE4.1 (dove .1 indica la prima versione, l'implementazione definitiva arrivò solo nel 2008).
Fra le 47 nuove istruzioni si possono citare i sottogruppi "Floating Point Dot Product" (DPPS, DPPD) e i "Floating Point Round" (ROUNDPS, ROUNDSS, ROUNDPD, ROUNDSD), coinvolti nell'ottimizzazione delle scene 2D e 3D. Appare chiaro quindi che uno degli ambiti di utilizzo che è in grado di trarre maggior beneficio da questo nuovo set d'istruzioni è quello dei videogiochi, insieme a tutti quelli che richiedono un uso massiccio dei calcoli in virgola mobile. Tra le altre novità, si possono citare "Vectorizing compiling", "Media, string and text processing" e "Application targeted accelerators".

È da evidenziare inoltre la funzionalità "Super Shuffle Engine" che riduce le latenze processando operazioni a 128 bit in un solo ciclo di clock velocizzando alcune tipiche operazioni legate all'utilizzo delle istruzioni SSE.

Le restanti istruzioni che vanno a comporre il set completo, indicato da Intel come SSE4.2, sono le seguenti: CRC32, PCMPESTRI, PCMPESTRM, PCMPISTRI, PCMPISTRM, PCMPGTQ, e POPCNT

Nuove istruzioni

Diversamente dalle altre versioni di SSE, SSE4 contiene istruzioni non specifiche per operazioni multimediali. Implementa molte operazioni il cui comportamento dipende da un campo costante e un gruppo di istruzioni che prende XMM0 come terzo operando implicito. Parecchie di queste istruzioni sono attive con il motore di shuffle a ciclo singolo in Penryn (operazioni di shuffle sono quelle che causano il riposizionamento dei bit in un byte o in una word).

SSE4.1

Queste istruzioni sono state introdotte con la microarchitettura Penryn, la riduzione a 45 nm della microarchitettura Core di Intel.

SSE4.2

Queste istruzioni sono state implementate per la prima volta nella linea di prodotti Core i7 Intel basata su Nehalem, e completano il set di istruzioni SSE.

SSE4a

Il gruppo di istruzioni SSE4a fu implementato nella microarchitettura Barcelona di AMD. Con l'eccezione di POPCNT, queste istruzioni non sono disponibili sui processori Intel.

Processori con SSE4

Le istruzioni SSE4 dovevano essere implementate da Intel per la prima volta all'interno dei processori Core 2 Duo, Conroe e Merom, e nella controparte per i server, gli Xeon DP della serie 51xx, Woodcrest, e inizialmente sembrava che il set dovesse comprendere 16 nuove istruzioni. In realtà questi processori videro solo una revisione delle precedenti SSE3 (chiamata SSSE3) e si è quindi saputo che Intel aveva deciso di rimandare le SSE4 ai progetti successivi.

I primi processori a incorporare le nuove istruzioni e, più precisamente, il sottoinsieme di 47 istruzioni SSE4.1 sono stati i processori a 45 nm Penryn, Wolfdale e Yorkfield, appartenenti alla seconda generazione dell'architettura Intel Core Microarchitecture.

L'intero set delle istruzioni, indicato come SSE4.2 è arrivato invece nei processori appartenenti all'architettura Nehalem, successiva alla Core, e il cui primo esponente è il core Bloomfield.

SSE4 e Tejas New Instructions: qualche attinenza?

Nel 2004 Intel interruppe lo sviluppo del processore Tejas che avrebbe dovuto portare con sé un nuovo set di istruzioni, chiamato Tejas New Instructions (o TNI). Dato che Tejas era il successore di Prescott che aveva introdotto le Prescott New Instructions (o PNI) divenute poi le SSE3, si è ipotizzato che le TNI potessero essere proprio lo stadio embrionale delle SSE4, e le scarsissime informazioni rilasciate da Intel riguardo a questo set di istruzioni poi sospeso insieme al processore che avrebbe dovuto introdurlo non hanno fatto altro che infittire il mistero infatti, sebbene plausibile, non ci sono prove certe di correlazione le TNI e le SSE4.

Alcune indicazioni preliminari, le uniche praticamente dato lo stop del progetto Tejas, indicavano questo set come formato da 8 nuove istruzioni studiate per il riconoscimento vocale avanzato, multi-threading e il supporto Dolby Digital (Azalia). Non è chiaro se tra le 54 istruzioni SSE4 siano comprese anche le 8 previste dalle TNI, ma dato che il nuovo set è arrivato sul mercato più di 3 anni dopo quello previsto per il progetto Tejas, è probabile che comprenda una completa rivisitazione delle istruzioni originarie, in modo da migliorare ulteriormente le prestazioni negli ambiti di utilizzo per i quali le TNI erano state pensate.

Note

Voci correlate

  • MMX
  • Streaming SIMD Extensions (SSE)
  • SSE2
  • SSE3
  • 3DNow!

Schweizer Bundesbahn Baureihe Am4/4

SBBFFS RE4/4 II Green (real) Swiss rail, Train,

Bauersein unterwegs für die SEG 4 TSW 4 Bahnstrecke Bremen

Arbeitsblätter Deutsch Klasse 4 Ss ß PDF

Re 4/4 II der SBB zwischen EssertPittet und Ependes