SIMD-Latenzdurchsatz

8

Auf dem Intel Intrisics Guide finden Sie die meisten Anweisungen, aber auch Latenz und Durchsatz. Beispiel:

__ m128i _mm_min_epi32

%Vor%

Was genau bedeuten diese Zahlen? Ich denke, eine langsamere Latenz bedeutet, dass der Befehl länger dauert, aber Durchsatz 1 für Nehalem und 0,5 für Ivy bedeutet, dass der Befehl auf Nehalem schneller ist?

    
Alexandros 15.02.2015, 23:02
quelle

2 Antworten

10

Die "Latenz" für eine Anweisung ist, wie viele Taktzyklen die Ausführung einer Anweisung dauert (wie lange dauert es, bis die Anweisung abgeschlossen ist).

Normalerweise ist der Durchsatz die Anzahl der Befehle pro Taktzyklus, aber hier ist der Durchsatz die Anzahl der Taktzyklen pro unabhängigem Befehlsstart - also bedeuten 0,5 Taktzyklen, dass 2 Befehle in einem Taktzyklus ausgegeben werden können und das Ergebnis bereit ist beim nächsten Taktzyklus.

Intel dokumentiert das hier: Ссылка

    
Mats Petersson 15.02.2015, 23:11
quelle
4

Nachfolgend finden Sie ein Zitat von Intels Seite Messbefehlslatenz und -durchsatz .

  

Latenz und Durchsatz

     

Latenz ist die Anzahl der Prozessortakte, die für eine Anweisung benötigt werden   seine Daten für die Verwendung durch eine andere Anweisung verfügbar zu machen. Deshalb,   Ein Befehl mit einer Latenz von 6 Takten hat seine Daten   verfügbar für eine andere Anweisung, dass viele Uhren, nachdem es beginnt   Ausführung.

     

Durchsatz ist die Anzahl der Prozessortaktgeber, die für einen   Anweisung zum Ausführen oder Ausführen von Berechnungen. Eine Anweisung   bei einem Durchsatz von 2 Takten würde dafür seine Ausführungseinheit binden   viele Zyklen, die einen Befehl verhindern, der diese Ausführungseinheit benötigt   von der Ausführung. Erst nachdem der Befehl mit dem Befehl ausgeführt wurde   Ausführungseinheit kann die nächste Anweisung eingeben.

    
quelle

Tags und Links