연주 지침

연주 지침

그래서 나는 성능과 어셈블리를 가지고 놀았고 다음 프로그램을 가지고 있습니다.

.intel_syntax noprefix

.global _start
_start:
  mov cl, 2
  mov ebx, 0b101
  shr ebx, cl
  and bl, 1 
  je do_stuff

  do_stuff:
  mov eax, 1
  mov ebx, 0
  int 0x80

사용하면 perf -e instructions:u ./shift 8개가 아닌 9개의 지침이 표시되는데 이유를 찾을 수 없습니다. 어떤 +1 명령이 무엇인지 알아낼 수 있는 방법이 있나요?

프로그램 명령 중 하나일 뿐인데 병렬로 실행되면 CPU가 이를 쫓아내나요? 그렇다면 더 낮은 수준에서 어떻게 작동하는지 어떻게 관찰합니까?

엮다:as -msyntax=intel -mnaked-reg shift.s -o shift.o && ld shift.o -o shift

/proc/sys/kernel/perf_event_paranoid-1로 설정

관련 정보