Table of Contents
Branch 예측은 컴퓨터 아키텍처에서 사용하는 기술로서, 그 전에 반드시 알려진 지점 (예 : else 의사 결정)의 결과를 추측하여 지시 실행의 흐름을 개선하는 데 사용됩니다. 이 기능은 실제 지점 결정에 기인한 지연을 줄이기 위해 도움이되므로 프로세서 효율성을 증가시킵니다.
지점 사전의 종류
분기 예측의 몇 가지 방법이 있으며, 각 복잡한 정확도의 다른 수준으로 있습니다. 가장 일반적인 유형에는 정적 예측과 동적 예측이 포함됩니다.
Static vs. 동적 예측
정적 예측은 고정 규칙에 의존합니다. 항상 지점이 촬영되거나 촬영되지 않을 것으로 예측합니다. 동적 예측은 하드웨어 역사를 사용하여 더 많은 정보를 알려지지 않은 지점의 과거 행동을 기반으로합니다.
동적 예측의 실제 예
동적 지점 예측에 사용되는 2 비트 포화 카운터를 고려하십시오. 카운터는 4 주가 있습니다 : 00, 01, 10, 11. 미국 00 및 01은 '발행하지 않음'을 예측하고 10 및 11은 '발행'을 예측합니다. 실제 지점 결과를 기반으로 카운터 업데이트.
카운터가 10점에서 잡은 지점이 11점으로 이동하면 됩니다. 지점이 찍지 않는 경우 01으로 이동합니다. 이 시스템은 시간이 지남에 따라 예측 정확도를 향상 시킵니다.
캘리포니아
예측 정확도는 총 예측에 대한 정확한 추측의 비율에 의해 측정 될 수있다. 예를 들어, 100 개 이상의 지점에서 90이 올바르게 표시되면 정확도는 90 %입니다.
- 정확한 예측: 90
- 총 예측: 100
- 정확도 = (확장 / 총) × 100 = 90 %