3

실행중인 프로그램이 반복 된 명령을 최적화하는 데 사용되는 확률 데이터를 생성한다고 들었습니다.
예를 들어 "if-then-else"제어 구조가 TRUE로 8/10 배 평가 된 후 다음에 "if-then-else"문이 평가 될 때 조건이 80 % 확률이됩니다 TRUE가됩니다. 이 통계는 결과를 TRUE로 가정하고 하드웨어에 적절한 데이터를 레지스터에로드하도록 프롬프트하는 데 사용됩니다. 의도는 프로세스 속도를 높이는 것입니다. 명령문이 TRUE로 평가되면 데이터가 이미 해당 레지스터에로드됩니다. 명령문이 FALSE로 평가되면 다른 데이터가로드되어 "가능성이 높음"으로 결정된 내용 위에 간단하게 기록됩니다.
확률 계산이 개선하려는 의사 결정의 성과 비용을 어떻게 초과하는지 이해하기가 힘듭니다. 이게 실제로 일어나는 것입니까? 하드웨어 수준에서 발생합니까? 이 이름이 있나요? 주제에 관한 정보를 찾을 수 있습니다.실행중인 프로그램의 동적 최적화

답변

4

이것은 완료되었습니다. 분기 예측이라고합니다. 비용은 드물지만, 전용 하드웨어에 의해 처리되는 이지만이므로 비용은 거의 전적으로 여분의 회로로 간주되므로 코드를 실행하는 데 걸리는 시간에는 영향을주지 않습니다.

즉, 실제 비용은 손실 기회 중 하나 일 수 있습니다. 즉, 다른 용도로 그 양의 회로를 사용하고 그로 인해 더 많은 것을 얻은 CPU를 설계하는 다른 방법이있는 경우입니다. 내 즉각적인 추측은 보통 분기 별 예측이 일반적으로 인데 반해 투자 회수 측면에서 보면입니다.

+0

분기 예측. 아, 고마워. –

관련 문제