IACA(인텔 아키텍처 코드 분석기)는 다음에 의해 실행될 때 명령의 스케줄링을 계산하는 정적 분석 도구입니다. 최신 Intel 프로세서. 최적의 실행 조건에서 코드 조각의 처리량, 대기 시간 및 추적 분석이 가능합니다.
IACA를 사용하려면 시작 및 종료 마커를 코드에 삽입해야 합니다. 분석하고 싶습니다. 이 작업은 C/C에서 제공된 iacaMarks.h 헤더를 사용하거나 x86 어셈블리에서 수동으로 수행할 수 있습니다.
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
마커가 삽입되면 코드를 다시 빌드하고 분석합니다. IACA 명령줄 도구를 사용하여 이를 수행합니다. 구문은 다음과 같습니다.
iaca.sh -64 -arch HSW -graph insndeps.dot foo
이 명령은 Haswell 아키텍처의 64비트 바이너리 foo를 분석하고 명령어 종속성에 대한 그래프를 생성합니다.
위 내용은 IACA(인텔 아키텍처 코드 분석기)란 무엇이며 명령어 스케줄링 분석에 어떻게 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!