IACA (der Intel Architecture Code Analyzer) ist ein statisches Analysetool, das die Planung von Anweisungen bei der Ausführung berechnet moderne Intel-Prozessoren. Es ermöglicht die Durchsatz-, Latenz- und Trace-Analyse von Codeausschnitten unter optimalen Ausführungsbedingungen.
Um IACA verwenden zu können, müssen Sie Start- und Endmarkierungen in den Code einfügen, den Sie verwenden analysieren möchte. Dies kann mithilfe des bereitgestellten iacaMarks.h-Headers in C/C oder manuell in x86-Assembly erfolgen.
while(cond){ IACA_START /* Loop body */ /* ... */ } IACA_END
mov ebx, 111 ; Start marker bytes db 0x64, 0x67, 0x90 ; Start marker bytes .innermostlooplabel: ; Loop body ; ... jne .innermostlooplabel ; Conditional branch backwards to top of loop mov ebx, 222 ; End marker bytes db 0x64, 0x67, 0x90 ; End marker bytes
Sobald die Marker injiziert wurden, erstellen Sie den Code neu und analysieren Sie ihn mit dem IACA-Befehlszeilentool. Die Syntax lautet wie folgt:
iaca.sh -64 -arch HSW -graph insndeps.dot foo
Dieser Befehl analysiert das 64-Bit-Binär-FOO auf der Haswell-Architektur und generiert ein Diagramm der Befehlsabhängigkeiten.
Das obige ist der detaillierte Inhalt vonWas ist Intel Architecture Code Analyzer (IACA) und wie verwende ich ihn für die Analyse der Befehlsplanung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!