가공데이터 · 한국어 지식관계

분기 예측 document_id A220623089380

분류
IT_과학
라벨 상태 (label_status)
draft
문맥 (context)
분기 예측(branch prediction)은 다음 실행될 조건문이 어떤 곳으로 분기할 것인지를 확실히 알게 되기 전에 미리 추측하는 CPU 기술이다. 분기 예측기(branch predictor)는 분기 예측을 수행하는 디지털 회로를 가리킨다. 분기 예측을 수행하는 목적은, 명령어 파이프라인이 일시적으로 정지되지 않도록 하는 것이다. 최신 x86 아키텍처와 같이 많은 수의 파이프라인을 사용하는 구조에서 분기 예측기는 전체적인 성능을 크게 향상시킬 수 있다. 조건 분기 명령이 명령어 파이프라인에 입력되면, 조건 분기의 다음 명령은 둘 중 하나로 정해진다. 만약 파이프라인이 조건 값의 계산이 끝날 때까지 대기한다면, 조건 분기 명령이 전체 파이프라인을 통과할 때까지 다음 명령은 파이프라인에서 수행되지 못하고 대기하게 될 것이다. 분기 예측기는 이런 낭비를 막기 위해 단순한 알고리즘에 따라 다음 명령을 미리 추론한 후 미리 실행시킨다. 만약 분기 예측기의 예측이 맞으면 파이프라인은 낭비 없이 계속 수행되며, 예측이 틀릴 경우 미리 실행되던 명령이 파이프라인에서 모두 취소되고 올바른 명령이 다시 실행된다. 분기 예측기가 올바른 예측에 실패하면 파이프라인의 개수 만큼의 클럭 주기가 낭비된다. 복잡한 파이프라인 구조를 가진 현대 아키텍처에서는, 분기 예측기가 실패하면 10-20 클럭 주기가 낭비된다. 조건 분기문이 처음 파이프라인에 들어왔을 때 활용할 수 있는 정보는 많지 않다. 분기 예측기는 해당 조건 분기문이 분기한 이력이나 루프 구조, 함수 구조 등의 정보를 바탕으로 다음 분기를 예측한다.
지시문 (instruction)
문맥의 분류 기준에 따라 대상을 범주별로 구분하여 제시하라.
질문 (question)
분기 예측기가 다음 분기를 예측할 때 활용하는 정보의 범주는 무엇인가?
추론 과정 (compact_reasoning)
  1. 1과제 해석task_interpretation

    분기 예측기가 예측을 수행하기 위해 사용하는 정보의 종류를 분류하여 파악해야 한다.

  2. 2정보 추출information_extraction

    분기 예측기가 정보를 활용하는 방식과 그 대상에 대한 문장을 탐색한다.

    • 분기 예측기는 해당 조건 분기문이 분기한 이력이나 루프 구조, 함수 구조 등의 정보를 바탕으로 다음 분기를 예측한다.
  3. 3근거 선택evidence_selection

    예측에 활용되는 구체적인 정보 항목들을 선별한다.

    • 분기한 이력이나 루프 구조, 함수 구조 등의 정보
  4. 4논리 통합logical_integration

    추출된 정보들을 나열하여 질문에 대한 답변 체계를 구성한다.

  5. 5결론 도출conclusion_formulation

    선별된 정보를 바탕으로 답변을 정리한다.

    • 분기한 이력, 루프 구조, 함수 구조
  6. 6답변 생성answer_generation

    질문에서 요구하는 정보의 범주를 리스트 형태로 작성한다.

    • 분기한 이력, 루프 구조, 함수 구조
최종 답변 (final_answer)
분기 예측기가 활용하는 정보는 해당 조건 분기문이 분기한 이력, 루프 구조, 함수 구조 등이다.
핵심 해석 (core_interpretation)
분기 예측 성능을 높이기 위해 활용되는 데이터의 유형과 그 구성 요소