Wozu wurden mit SSE 128 Bit Register eingeführt, wenn SSE1 sowieso nur mit 32 Bit Gleitkommazahlen rechnen konnte?



  • Wäre es nicht sinnvoller gewesen, die Registerbreite erst nach und nach zu vergrößern?

    Oder konnte man die restlichen 96 Bit der 128 breiten Register für irgendetwas benutzen?



  • Ich weiß nicht was du unter SSE1 verstehst, aber die x86 Erweiterung SSE und seine Nachfolger können alle mit floats und doubles rechnen - sowohl skalar oder als auch vektoriell.



  • man befüllt die Register im Optimalfall mit 4 floats (1 vektor)
    und kann mit einer Instruktion dise 4 floats bearbeiten.
    Dies ist das Prinzip bei SIMD (single instruction multiple data)

    ein Vektor mit 4 Koordinaten benötigt man z.B. für 3D-Anwendungen.
    Man kann aber auch nur einen Vektor mit 3 Koordinaten benutzen,
    dann werden die restlichen bits einfach genullt und man bekommt kein
    Performance Gewinn



  • nocheinmitglied schrieb:

    man befüllt die Register im Optimalfall mit 4 floats (1 vektor)
    und kann mit einer Instruktion dise 4 floats bearbeiten.
    Dies ist das Prinzip bei SIMD (single instruction multiple data)

    Die horizontale Berechnung war aber erst ab SSE3 möglich.

    SIMD heißt hier also bei SSE1-2 , 4 separate Register füllen und mit einem Befehl alle auf einmal berechnen. Der obere Teil eines Registers bleibt also ungenutzt.



  • SSE1 schrieb:

    SIMD heißt hier also bei SSE1-2 , 4 separate Register füllen und mit einem Befehl alle auf einmal berechnen. Der obere Teil eines Registers bleibt also ungenutzt.

    Jap, genau so ist es. Die restlichen 96bit in jedem Register sind einfach nur so da, niemand weiß genau warum. Manche sagen sie sind Teil von Intels Plan zur Erlangung der Weltherrschaft...



  • SSE1 schrieb:

    nocheinmitglied schrieb:

    man befüllt die Register im Optimalfall mit 4 floats (1 vektor)
    und kann mit einer Instruktion dise 4 floats bearbeiten.
    Dies ist das Prinzip bei SIMD (single instruction multiple data)

    Die horizontale Berechnung war aber erst ab SSE3 möglich.

    Das ist was anderes. Horizontal heißt, dass du die in einem Register gepackten floats untereinander verknüpfen kannst.

    SIMD heißt hier also bei SSE1-2 , 4 separate Register füllen und mit einem Befehl alle auf einmal berechnen. Der obere Teil eines Registers bleibt also ungenutzt.

    Nö, es heißt 4 float-Operationen parallel ausführen. Da bleibt nichts ungenutzt, wenn man nicht will.


  • Mod

    SIMD schrieb:

    Ich weiß nicht was du unter SSE1 verstehst, aber die x86 Erweiterung SSE und seine Nachfolger können alle mit floats und doubles rechnen - sowohl skalar oder als auch vektoriell.

    SSE unstützt nur float, erst ab SSE2 sind double und (8,16,32,64)-bit Integer möglich.



  • angeblich sollen wir Menschen ja auch nur 10% oder noch weniger unseres geistigen Leistungspotentials nutzen...

    Nach und nach Verändern war nicht so einfach, da Intel immer nur viel kompliziertere Addressierungsmodi hinbekommt als vom Vorgänger. Aber noch komplizierter als der Protected Mode? Das muss erstmal einer ausarbeiten. Amd musste sich erstmal darum bemühen, überhaupt eine Alternative zum Intel zu sein. Nachdem sie das geschafft hatten, konnten sie Intel von der Verkomplizierung des Addressierungsmodusses befreien. Intel konnte anschließend befreit von diesen Sorgen Amd erneut die Rücklichter zeigen.

    Darüberhinaus ist bei SSE aber nicht von 32bit auszugehen, sondern von 80/64 Bit, die schon da waren. Was man also genau gemacht hat IST eine schrittweise Erweiterung der 80/64 Bit und eine leichte Erweiterung der Möglichkeiten (Sättigung oder Packetverarbeitung und werbetechnische/werbewirksame Powerwords inclusive Konkurrentenverdrängung)

    Viel gebracht haben die Erweiterungen (leider) nicht, außer die Programmierung und Kompatibilität zu verkomplizieren. Aber: Die Intelprozessoren sind vor allem durch Kompatibilität erfolgreich geworden.

    Der Intel Compiler mag zwar der schnellste für Intelprozessoren sein, aber von dem gesparten Geld kann man sich stattdessen eine gute Grafikkarte kaufen, und sich mit -> siehe http://developer.nvidia.com/cuda-downloads + ziemlicher Leistungsschubkante anfreunden.



  • Wie kann man bloß so viel Misst in einem Beitrag verfassen...


Anmelden zum Antworten