• 제목/요약/키워드: misprediction

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

값 예측 오류를 위한 순차적이고 선택적인 복구 방식 (Sequential and Selective Recovery Mechanism for Value Misprediction)

  • 이상정;전병찬
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제31권1_2호
    • /
    • pp.67-77
    • /
    • 2004
  • 고성능 슈퍼스칼라 프로세서에서 값 예측(value prediction) 방식은 명령의 결과 값을 미리 예측하고, 이 후 데이타 종속 관계가 있는 명령들에게 값을 조기에 공급함으로써 이들 명령들을 모험적으로 실행하여 성능을 향상시키는 방식이다. 값 예측으로 성능을 향상시키기 위해서는 예측 실패 시에 효율적으로 복구하는 과정이 필수적이다. 본 논문에서는 값 예측 실패 시에 잘못 예측된 값을 사용하여 모험적으로 수행된 명령들만을 순차적으로 취소하고 복구한 후에 재이슈하는 값 예측 실패 복구 메커니즘(value misprediction recovery mechanism)을 제안한다. 제안된 복구 방식은 한번에 모든 종속명령들을 검색하지 않음으로써 파이프라인을 정지시키지 않는다. 즉, 파이프라인이 진행되는 순서에 따라 순차적으로 값 예측이 틀린 종속명령만을 선택적으로 취소하고 재이슈하여 불필요한 취소와 재이슈를 줄임으로써 값 예측 실패 시에 손실을 줄인다.

프로그램 상의 제어 독립성을 이용한 분기 예상 실패 복구 메커니즘 (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%의 성능 향상을 보이고 있다.

캐쉬 미스와 분기예측 실패를 고려한 명령어 페치 모델의 성능분석 (Performance Analyses of Instruction Fetch Models Considering Cache Miss and Branch Misprediction)

  • 김선모;정진하;최상방
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제28권12호
    • /
    • pp.685-697
    • /
    • 2001
  • 캐쉬 메모리는 명령어와 데이터의 참조시간을 줄이기 위하여 프로세서에 의해 참조되어질 가능성이 높은 주 메모리의 내용을 일시적으로 저장하는 용량이 작고 빠른 메모리이다. 본 논문에서는 슈퍼스칼라 프로세서에 적용될 수 있는 네 가지 명령어 캐쉬 구조에 대하여 캐쉬 미스와 분기예측 실패를 고려한 해석적 모델을 제안하고 성능을 분석하였다. 슈퍼스칼라 구조의 다양한 파라미터들을 정의하여 명령어 페치를 모델링하였으며, 해석적 모델의 타당성을 검증하기 위하여 시뮬레이션을 수행하여 얻은 결과와 비교하였다. 명령어 페치율에 있어서는 분기예측 실패로 인한 영향보다는 캐쉬 미스로 인한 성능저하가 더욱 큰 것으로 나타났다. 본 연구를 통하여 얻은 해석적 모델을 사용하면 시뮬레이션에서는 드러나지 않는 성능제약의 원인에 대한 명확한 규명이 가능하며, 캐쉬 성능에 있어서 캐쉬 미스와 분기예측 실패간의 관계에 대한 정확한 분석이 가능하다.

  • PDF

제어 독립성과 분기예측 실패 복구 메커니즘 (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% 정도 성능이 향상되었다.

동적 분류를 이용한 하이브리드 결과 값 예측기 (Hybrid Value Predictor using Dynamic Classification)

  • 신영호;윤성룡;조영일
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제27권11호
    • /
    • pp.899-907
    • /
    • 2000
  • 슈퍼스칼라 프로세서의 성능을 향상시키기 위해서는 데이터 종속성에 의한 장애를 제거해야 한다. 최근 여러 논문들은 이러한 데이터 종속성을 제거하기 위해서 명령어의 결과 값을 예상하는 메커니즘을 제안하였다. 이러한 예상 메커니즘 중 여러 예측기를 혼합해서 사용하는 하이브리드 방법은 각 하나의 예측기만을 사용하는 방법보다 더 좋은 성능을 얻을 수 있다. 그러나 그러한 하이브리드 예측기는 명령어를 중복해서 저장하여 많은 하드웨으 크기를 요구한다. 본 논문에서는 여러 예측기의 장점을 이용하여 높은 성능을 얻을 수 있는 새로운 하이브리드 예측 메커니즘을 제안한다. 또한 예상이 자주 틀리는 명령어를 동적으로 찾아내어 예상하지 않음으로서 잘못 예상시 발생하는 misprediction 페널티를 낮추고 예상 정확도를 높인다. 시뮬레이션 결과 SPECint95 벤치마크프로그램에 대해 제안한 하이브리드 예측기에서 예측율은 평균 79%에서 90%로 향상하였고, misprediction rate는 평균 12%에서 2%로 낮추었다.

  • PDF

농업정보기술을 위한 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

슈퍼스칼라 프로세서에서 동적 분류를 사용한 하이브리드 결과 값 예측기 (A Hybrid Value Predictor using Dynamic Classification in Superscalar Processors)

  • 신영호;윤성룡;박흥준;이원모;김주익;조영일
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2000년도 제13회 춘계학술대회 및 임시총회 학술발표 논문집
    • /
    • pp.544-549
    • /
    • 2000
  • 슈퍼스칼라 프로세서의 성능을 향상시키기 위해서는 데이터 종속성에 의한 장애를 제거해야 한다. 최근 여러 논문들은 이러한 데이터 종속성을 제거하기 위해서 명령의 결과 값을 예상하는 메커니즘이 연구되고 있다. 결과 값 예상 메커니즘 중 여러 예측기를 하이브리드해서 사용하는 방법은 각각 하나의 예측기만을 사용하는 방법보다 더 좋은 성능을 얻을 수 있다. 그러나 종전의 하이브리드 예측기는 명령어를 중복해서 저장하여 많은 하드웨어 크기를 요구한다. 본 논문에서는 여러 예측기의 장점을 이용하여 높은 성능을 얻을 수 있는 새로운 하이브리드 예측 메커니즘을 제안한다. 또한 예상하기 어려운 명령어를 동적으로 찾아내어 예상하지 않음으로서 잘못 예상한 misprediction 페널티를 줄이고 예상 정확도를 높인다. 시뮬레이션 결과 SPECint95 벤치마크 프로그램에 대해 제안한 하이브리드 예측기에서 예측율은 평균 79%에서 90%로 향상하였고, misprediction rate는 평균 12%에서 2%로 낮추었다

  • PDF

농림수산식품분야 정보처리를 위한 적응하는 분기히스토리 길이를 갖는 분기예측 메커니즘 (A Branch Prediction Mechanism With Adaptive Branch History Length for FAFF Information Processing)

  • 고광현;조영일
    • 현장농수산연구지
    • /
    • 제13권1호
    • /
    • pp.3-17
    • /
    • 2011
  • Pipelines of processor have been growing deeper and issue widths wider over the years. If this trend continues, branch misprediction penalty will become very high. Branch misprediction is the single most significant performance limiter for improving processor performance using deeper pipelining. Therefore, more accurate branch predictor becomes an essential part of modem processors for FAFF(Food, Agriculture, Forestry, Fisheries)Information Processing. In this paper, we propose a branch prediction mechanism, using variable length history, which predicts using a bank having higher prediction accuracy among predictions from five banks. Bank 0 is a bimodal predictor which is indexed with the 12 least significant bits of the branch PC. Banks 1,2,3 and 4 are predictors which are indexed with different global history bits and the branch PC. In simulation results, the proposed mechanism outperforms gshare predictors using fixed history length of 12 and 13, up to 6.34% in prediction accuracy. Furthermore, the proposed mechanism outperforms gshare predictors using best history lengths for benchmarks, up to 2.3% in prediction accuracy.

적응 가능한 분기 히스토리 길이를 사용하는 분기 예측 메커니즘 (A Branch Prediction Mechanism Using Adaptive Branch History Length)

  • 조영일
    • 전자공학회논문지CI
    • /
    • 제44권1호
    • /
    • pp.33-40
    • /
    • 2007
  • 최근, 프로세서의 파이프라인 깊이와 이슈 폭이 점차로 증가함에 따라 분기예측 실패에 의한 페널티가 더욱 증가하고 있다. 분기예측 실패는 프로세서 성능을 개선하는데 가장 심각한 성능 장애 요소이다. 따라서 좀 더 정확한 분기 예측기는 최신 프로세서들에게 필수적이다. 많은 분기예측기들은 분기 명령의 주소와 고정 분기히스토리 길이로 예측을 수행한다. 최적의 분기히스토리 길이는 프로그램과 프로그램에 있는 분기 명령에 따라 달라지므로 고정 분기히스토리를 사용하는 예측기들은 잠재적 성능을 얻을 수 없다. 본 논문에서는 5개 뱅크로부터의 예측 중 가장 높은 예측정확도를 갖는 뱅크로 예측하는 가변 길이 분기 히스토리를 사용하는 분기예측 메커니즘을 제안한다. 뱅크 0는 분기 명령의 주소만을 사용하여 인덱스 하는 bimodal 예측기이고, 나머지 뱅크는 다른 히스토리 길이와 분기 명령 PC로 인덱스 하는 예측기이다. 실험결과 제안한 메커니즘은 12, 13의 고정 히스토리 길이를 사용하는 gshare보다 최대 6.34% 예측 정확도를 개선시켰고, 각 벤치마크에 대한 최적의 히스토리 길이를 사용하는 gshare와 비교해도 최대 2.3% 개선시켰다.

분기 히스토리의 모험적 갱신을 허용하는 전역 히스토리 기반 분기예측기에서 분기예측실패를 위한 간단한 복구 메커니즘 (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$\%$ 개선되었다.