하드웨어 성능 카운터
Hardware performance counter이 글은 검증을 위해 인용구가 추가로 필요하다. – · · 책 · · (2011년 4월) (이 를 과 시기 |
컴퓨터에서 하드웨어 성능 카운터(HPC)[1] 또는 하드웨어 카운터는 컴퓨터 시스템 내의 하드웨어 관련 활동의 수를 저장하기 위해 현대적인 마이크로프로세서에 내장된 특수 목적 레지스터의 집합이다.고급 사용자는 낮은 수준의 성능 분석 또는 조정을 수행하기 위해 이러한 카운터에 의존하는 경우가 많다.
구현
프로세서에서 사용 가능한 하드웨어 카운터의 수는 제한되지만 각 CPU 모델에는 개발자가 측정할 수 있는 다양한 이벤트가 있을 수 있다.각 카운터는 L1 캐시 미스나 분기 오식처럼 모니터링할 이벤트 유형의 인덱스로 프로그래밍할 수 있다.
이러한 카운터와 관련 지침을 구현한 최초의 프로세서 중 하나RDPMC
그것에 접근하는 것은 IntelPentium이었지만, Terje Mathisen이 1994년 7월에 역 엔지니어링에 관한 기사를 쓰기 전까지는 기록되지 않았다.[2]
다음 표에는 CPU의 몇 가지 예와 사용 가능한 하드웨어 카운터의 수가 나와 있다.
프로세서 | 사용 가능한 HW 카운터 |
---|---|
울트라Sparc II | 2 |
펜티엄 3세 | 2 |
ARM11 | 2 |
AMD 애슬론 | 4 |
IA-64 | 4 |
ARM 코텍스-A5 | 2[3] |
ARM 코텍스-A8 | 4 |
ARM 코텍스-A9 MPCore | 6 |
POWER4 | 8 |
펜티엄 4 | 18 |
소프트웨어 기법 대 소프트웨어 기술
소프트웨어 프로파일러에 비해 하드웨어 카운터는 CPU의 기능 유닛, 캐시, 메인 메모리 등과 관련된 풍부한 상세 성능 정보에 대한 오버헤드 액세스를 제공한다.그것들을 사용할 때의 또 다른 이점은 일반적으로 소스 코드 수정이 필요하지 않다는 것이다.그러나 하드웨어 카운터의 종류와 의미는 하드웨어 조직의 변화로 인해 아키텍처마다 다르다.
낮은 수준의 성능 메트릭스를 소스 코드에 다시 연결하는 데 어려움이 있을 수 있다.카운터를 저장하기 위한 레지스터의 제한된 수는 사용자가 원하는 모든 성능 지표를 수집하기 위해 여러 측정을 수행하도록 강요하는 경우가 많다.
지시 기반 샘플링

현대의 슈퍼칼라 프로세서는 한 번에 고장난 여러 지침을 스케줄링하고 실행한다.이러한 "기내" 지침은 메모리 액세스, 캐시 적중, 파이프라인 내 정지 및 기타 많은 요인에 따라 언제든지 폐기할 수 있다.이로 인해 성능 카운터 이벤트가 잘못된 지시로 인해 발생하여 정밀한 성능 분석이 어렵거나 불가능할 수 있다.
AMD는 이러한 결점의 일부를 완화하기 위한 방법을 도입했다.예를 들어, Opteron 프로세서는 2007년에 명령 기반 샘플링(또는 IBS)이라는 기술을 구현했다.AMD의 IBS 구현은 가져오기 샘플링(슈퍼칼라 파이프라인 전면)과 op 샘플링(파이프라인의 후면)을 위한 하드웨어 카운터를 제공한다.따라서 별도의 성능 데이터가 수명 만료 지침과 "상위" AMD64 지침과 연관된다.
참고 항목
참조
- ^ https://www.researchgate.net/profile/Mohamed-Zahran/publication/241623685_Are_hardware_performance_counters_a_cost_effective_way_for_integrity_checking_of_programs/links/5537beca0cf226723ab3d8e5/Are-hardware-performance-counters-a-cost-effective-way-for-integrity-checking-of-programs.pdf[bare URL PDF]
- ^ "Pentium Secrets". Gamedev.net. Retrieved 2012-02-14.
- ^ "Documentation – Arm Developer". developer.arm.com.
- ^ "Instruction-Based Sampling: A New Performance Analysis Technique for AMD Family 10h Processors" (PDF). AMD. Retrieved 2015-10-16.