• 제목/요약/키워드: Branch Misprediction Recovery

검색결과 5건 처리시간 0.022초

프로그램 상의 제어 독립성을 이용한 분기 예상 실패 복구 메커니즘 (Branch Misprediction Recovery Mechanism That Exploits Control Independence on Program)

  • 윤성룡;이원모;조영일
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제29권7호
    • /
    • pp.401-410
    • /
    • 2002
  • 제어 독립성은 슈퍼스칼라 프로세서에서 명령어 수준 병렬성을 향상시키기 위한 중요한 요소로 작용하고 있다. 분기 예측기에서 예상이 잘못된 경우에는 예상한 분기 방향의 명령어들을 무효화시키고 올바른 분기 방향의 명령어들을 다시 반입하여 수행해야 한다. 본 논문에서는 컴파일 시 프로파일링을 통한 정적인 방법과 프로그램상의 제어 흐름을 통해 동적으로 제어 독립적인 명령어를 탐지해서 분기 명령어의 잘못된 예상으로 인해 무효화되는 명령어를 효과적으로 감소시켜 프로세서의 성능을 향상시키는 메커니즘을 제안한다. SPECint95 벤치마크 프로그램에 대해 기존의 방법과 본 논문에서 제안한 방법 사이의 사이클 당 수행된 명령어 수를 분석한 결과, 4-이슈 프로세서에서 2%~7%, 8-이슈 프로세서에서 4%~15%, 16-이슈 프로세서에서 18%~28%의 성능 향상을 보이고 있다.

제어 독립성과 분기예측 실패 복구 메커니즘 (A Branch Misprediction Recovery Mechanism by Control Independence)

  • 고광현;조영일
    • 현장농수산연구지
    • /
    • 제14권1호
    • /
    • pp.3-22
    • /
    • 2012
  • 제어독립성(Control Independence)은 슈퍼스칼라 프로세서에서 명령어수준 병렬성(Instruction-level Parallelism)을 향상시키기 위한 중요한 요소로 작용하고 있다. 분기예측기법(Branch Prediction Mechanism)에서 잘못 예측될 경우에는 예측된 분기 방향의 명령어들을 무효화시키고 올바른 분기 방향의 명령어들을 다시 반입하여 수행해야 한다. 본 논문에서는 컴파일 시 프로파일링을 통한 정적인 방법과 프로그램상의 제어흐름을 통해 동적으로 제어 독립적인 명령어를 탐지하여 분기명령어의 잘못된 예측으로 발생되어 무효화되는 명령어를 효과적으로 감소시킬 수 있도록 하여 프로세서의 성능을 향상시키는 메커니즘을 제안한다. SPECint 벤치마크 프로그램에 대해 기존의 방법과 본 논문에서 제안한 방법 사이의 사이클 당 수행된 명령어 수를 분석한 결과, 4-이슈 프로세서에서 2%~7%, 8-이슈 프로세서에서 4%~15%, 16-이슈 프로세서에서 18%~28% 정도 성능이 향상되었다.

농업정보기술을 위한 ILP 프로세서에서 새로운 복구 메커니즘 적용 분기예측기 (A Branch Predictor with New Recovery Mechanism in ILP Processors for Agriculture Information Technology)

  • 고광현;조영일
    • Agribusiness and Information Management
    • /
    • 제1권2호
    • /
    • pp.43-60
    • /
    • 2009
  • To improve the performance of wide-issue superscalar processors, it is essential to increase the width of instruction fetch and the issue rate. Removal of control hazard has been put forward as a significant new source of instruction-level parallelism for superscalar processors and the conditional branch prediction is an important technique for improving processor performance. Branch mispredictions, however, waste a large number of cycles, inhibit out-of-order execution, and waste electric power on mis-speculated instructions. Hence, the branch predictor with higher accuracy is necessary for good processor performance. In global-history-based predictors like gshare and GAg, many mispredictions come from commit update of the branch history. Some works on this subject have discussed the need for speculative update of the history and recovery mechanisms for branch mispredictions. In this paper, we present a new mechanism for recovering the branch history after a misprediction. The proposed mechanism adds an age_counter to the original predictor and doubles the size of the branch history register. The age_counter counts the number of outstanding branches and uses it to recover the branch history register. Simulation results on the SimpleScalar 3.0/PISA tool set and the SPECINT95 benchmarks show that gshare and GAg with the proposed recovery mechanism improved the average prediction accuracy by 2.14% and 9.21%, respectively and the average IPC by 8.75% and 18.08%, respectively over the original predictor.

  • PDF

분기 히스토리의 모험적 갱신을 허용하는 전역 히스토리 기반 분기예측기에서 분기예측실패를 위한 간단한 복구 메커니즘 (Simple Recovery Mechanism for Branch Misprediction in Global-History-Based Branch Predictors Allowing the Speculative Update of Branch History)

  • 고광현;조영일
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제32권6호
    • /
    • pp.306-313
    • /
    • 2005
  • 조건 분기예측은 프로세서 성능 개선을 위한 중요한 기술이다 그러나, 분기예측실패는 많은 사이클을 낭비시키며, 비순서적 실행을 방해하고, 잘못 예측된 명령어들을 수행하게 되므로 전력을 낭비한다. 따라서 높은 정확도를 갖는 분기 예측기는 좋은 성능을 갖는 프로세서를 위해 중요하다. gshare와 GAg같은 전역 히스토리를 기반으로 하는 예측기에서는 히스토리의 명령어 완료시간 갱신 (commit update)에 의해 많은 분기예측실패가 발생한다. 그런 문제를 해결하기 위해 히스토리를 모험적으로 갱신하고, 분기예측실패 시 히스토리를 복구시키는 메커니즘에 관한 연구의 필요성이 제시되었고, 연구 되었다. 본 논문에서는 분기예측실패 발생 후 분기 히스토리를 복구하는 간단한 복구 메커니즘을 제안한다. 제안한 복구 메커니즘은 기존 분기예측기에 age_counter를 추가하고 분기 히스토리 레지스터 크기를 2배로 확장시킨다. age_counter는 미해결 분기명령어 수를 저장하며, 분기예측실패 후 분기 히스토리 레지스터를 복구하는데 사용한다. Simplescalar 3.0/PISA 툴셋과 SPECINT95 벤치마크 프로그램에서 시뮬레이션 한 결과, 제안된 복구 메커니즘을 gshare와 GAg 예측기에 적용하였을 때 예측 정확도와 프로세서 성능을 개선시킬 수 있었음 을 보여준다. GAg와 gshare 예측기에서 예측정확도는 각각 9.21$\%$와 2.14$\%$가 개선되었고, WC는 18.08$\%$와 8.75$\%$ 개선되었다.

제어 독립성을 이용한 분기 예상 실패 복구 메커니즘 (A Branch Misprediction Recovery Mechanism using Control Independence)

  • 윤성룡;신영호;박홍준;조영일
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2000년도 가을 학술발표논문집 Vol.27 No.2 (3)
    • /
    • pp.636-638
    • /
    • 2000
  • 제어 독립성(Control Independence)은 슈퍼스칼라 프로세서에서 명령어 수준 병렬성(Instruction-Level Parallelism)을 향상시키기 위한 중요한 요소로 작용하고 있다. 분기 예상기법(Branch Prediction Mechanism)에서 잘못 예상될 경우에는 예상한 분기 방향의 명령어들을 제거하고 올바른 분기 방향의 명령어들을 다시 반입하여 수행해야 한다. 본 논문에서는 컴파일 시 프로파일링을 통한 정적인 방법과 프로그램상의 제어 흐름을 통해 동적으로 제어 독립적인 명령어를 탐지함으로써 분기 명령어의 잘못된 예상으로 인해 제거되는 명령어를 효과적으로 감소시켜 프로세서의 성능을 향상시키는 메커니즘을 제안한다. SPECint95 벤치마크 프로그램에 대해 기존의 방법과 본 논문에서 제안한 방법 사이의 사이클 당 수행된 명령어 수를 분석한 결과, 4-width 프로세서에서 4%~6%, 8-width 프로세서에서 11%~18%, 16-width 프로세서에서 15%~17%의 성능 향상을 보이고 있다.

  • PDF