Streaming SIMD-utvidelser

Image
Sammenligning av implementeringen av utvidelser av instruksjonssett av AMD (venstre) og Intel (høyre), fra og med 2013

Den Streaming SIMD Extensions ( SSE ), tidligere også Internet SIMD Streaming Extensions (isse), er en instruksjonssett forlengelse av den x86-arkitektur utviklet av Intel , som ble introdusert med innføringen av Pentium III (Katmai) prosessor i 1999, og derfor opprinnelig kalt det Katmai New Instructions (KNI) hadde på seg. Hensikten er å akselerere programmer gjennom parallellisering til instruksjonsnivå, kalt SIMD .

konsept

I motsetning til den tidligere publiserte MMX -instruksjonssettet forlengelse, ble SSE spesielt utviklet for flyt antall datatyper . I tillegg, 128-bits registre som var dobbelt så bred implementert, som begge er hyppig kritisert svakhetene ved MMX-instruksjonssettet. Intel bestemte seg også for å redesigne SSE instruksjonssett helt og gjøre det inkompatibelt med 3DNow- instruksjonene som ble utgitt av konkurrent AMD i 1998 , og som tjente et sammenlignbart formål. Dette trinnet var vellykket på lang sikt, SSE vant over 3DNow og AMD støttet senere bare SSE og la 3DNow-støtten utløpe.

Selv om den først ble eksplisitt nevnt i navnet (ISSE), har denne teknologien ingenting direkte å gjøre med Internett; snarere tjente referansen bedre markedsføring (Intel annonserte med introduksjonen av Pentium III, blant annet om at internett-surfing ville bli raskere og generelt mer spennende). Etter kort tid droppet Intel "jeg" slik at vi i dag bare snakker om SSE .

SSE videre utvikling

Konkurransen som har eksistert i noen tid mellom AMD og Intel om definisjonen av suverenitet i den videre utviklingen av x86-arkitekturen har ført til inkompatible utvidelser av SSE siden rundt SSE3.

SSE2 , SSE3 , SSSE3 , SSE4 , SSE4a og SSE5 er nyere utvidelser eller utvidelsesforslag fra SSE både fra AMD og Intel. I mellomtiden eksisterer videre utviklingsgrener med Advanced Vector Extensions , XOP og CVT16 .

teknisk struktur

Image
De åtte 128-biters brede og dedikerte SSE-registerene, kalt XMM0 til XMM7

SSE-instruksjonsutvidelsen besto opprinnelig av 70 instruksjoner og 8 nye registre (XMM0 til XMM7), senere ble både antall register og antall instruksjoner økt i løpet av den videre utviklingen.

I likhet med AMDs 3DNow- utvidelser er SSE primært designet for flytende punktoperasjoner . Imidlertid, med Pentium III, introduserte Intel nye 128-bits brede registre slik at dobbelt så mye data kan behandles parallelt med SSE-kommandoer som med 3DNow, som er basert på 64-biters registre. Med den gangen prosessorer, gikk dette imidlertid ikke hånd i hånd med høyere beregningsgjennomstrømning, siden 128-biters SSE-kommandoene ble delt opp internt i to 64-biters SSE-mikrooperasjoner hver, fordi de interne kjøringsenhetene og deres datastier bare er 64 bits brede var.

I dagens 64-biters prosessorer, for eksempel de som er basert på kjernemikroarkitekturen , blir de 128 bit brede SSE-registerene faktisk behandlet i ett trinn. Antall SSE-registre har også blitt økt til 16, med de nylig introduserte registerene blir referert til som XMM8 til XMM15, analogt med forrige navneskema.

Støtte i CPUene

Siden SSE var en av de første SIMD- utvidelsene til x86-arkitekturen og ble lansert på markedet i 1999, har praktisk talt alle x86-prosessorer hatt SSE siden midten av 2000-tallet.

For eksempel, fra og med Athlon , støttet AMD noen av kommandoene i SSE-kommandosettet (inkludert de som fungerer med 64-bitersregistre). Dette er også referert til som en utvidelse av MMX. SSE har blitt støttet fullt ut siden Athlon XP- prosessoren, så omfattende at selv sin egen 3DNow-utvidelse har blitt forlatt.

Nedenfor er en oversikt over CPU-familien som de respektive produsentene har integrert SSE fra:

Individuelle bevis

  1. 3DNå! Instruksjoner blir avviklet ( Memento av den opprinnelige datert 09.11.2013 i Internet Archive ) Omtale: The arkivet koblingen ble satt inn automatisk og har ennå ikke blitt sjekket. Vennligst sjekk originalen og arkivlenken i henhold til instruksjonene, og fjern deretter denne meldingen. (Engelsk) @1@ 2Mal: Webachiv / IABot / developer.amd.com
  2. Ner Agner Fog: Stopp instruksjonssett krigen ( engelsk ) agner.org. 5. desember 2009. Hentet 12. mai 2012.
  3. St Jon Stokes: Into the Core: Intels neste generasjons mikroarkitektur ( engelsk ) arstechnica.com. 5. april 2006. Arkivert fra originalen 1. april 2007. Hentet 12. mai 2012.