• 제목/요약/키워드: branch prediction

검색결과 167건 처리시간 0.024초

적응 가능한 분기 히스토리 길이를 사용하는 분기 예측 메커니즘 (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% 개선시켰다.

멀티프로그래밍 환경에서의 분기 예측 (Branch Prediction in Multiprogramming Environment)

  • 이문상;강영재;맹승렬
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제26권9호
    • /
    • pp.1158-1165
    • /
    • 1999
  • 조건부 분기 명령어(conditional branch instruction)의 잘못된 분기 예측(branch misprediction)은 프로세서의 성능 향상에 심각한 장애 요인이 되고 있다. 특히 시분할(time-sharing) 시스템과 같이 문맥 교환(context switch)이 발생하는 멀티프로그래밍 환경(multiprogramming environment)에서는 더욱 낮은 분기 예측 정확성(branch prediction accuracy)을 보인다. 본 논문에서는 문맥 교환이 발생하는 멀티프로그래밍 환경에서 높은 분기 예측 정확성을 보이는 중첩 분기 예측표 교환(Overlapped Predictor Table Switch, OPTS) 기법을 소개한다. 분기 예측표(predictor table)를 분할하여 각각의 프로세스(process)에 할당하는 OPTS 기법은 문맥 교환의 영향을 최소화함으로써 높은 분기 예측 정확성을 유지하는 분기 예측 방법이다.Abstract There is wide agreement that one of the most important impediments to the performance of current and future pipelined superscalar processors is the presence of conditional branches in the instruction stream. Accurate branch prediction is required to overcome this performance limitation. Many branch predictors have been proposed to help to alleviate this problem, including the two-level adaptive branch predictor, and more recently, hybrid branch predictor. In a less idealized environment, such as a time-sharing system, code of interest involves context switches. Context switches, even at fairly large intervals, can seriously degrade the performance of many of the most accurate branch prediction schemes. In this study, we measure the effect of context switch on the branch prediction accuracy in various situation and show the feasibility of our new mechanism, OPTS(Overlapped Predictor Table Switch), which save and restore branch history table at every context switch.

Victim BTB를 활용한 히트율 개선과 효율적인 통합 분기 예측 (Improving Hit Ratio and Hybrid Branch Prediction Performance with Victim BTB)

  • 주영상;조경산
    • 한국정보처리학회논문지
    • /
    • 제5권10호
    • /
    • pp.2676-2685
    • /
    • 1998
  • 본 논문에서는 파이프라인 프로세서의 분기 명령어 처리 성능 향상을 목적으로, BTB의 미스율을 줄이고 분기 예측의 정확도를 개선하기 위해 victim cache를 활용한 2-단계 BTB 구조를 제안한다. 2-단계 BTB는 기존의 BTB에 작은 크기의 victim BTB를 추가한 구조로, 적은 비용으로 BTB 미스율을 개선하고, 동적 예측(dynamic prediction)과 정적 예측 (static prediction)이 함께 사용되는 기존의 통합 분기 예측(Hybrid Branch Prediction) 구조의 예측 정확도를 높이도록 운영된다. 본 논문에서 제안된 2-단계 BTB에 의한 성능 개선을 4개 벤치마크 프로그램에 대한 trace-driven 시뮬레이션을 통해 검증한 결과, 기존의 BTB에 비해 2.5∼8.5%의 비용 증가로 BTB 미스율이 26.5% 개선되고, 기존의 gshare에 비해 64%의 비용 증가로 예측 정확도는 26.75% 개선되었다.

  • 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

Design of a G-Share Branch Predictor for EISC Processor

  • Kim, InSik;Jun, JaeYung;Na, Yeoul;Kim, Seon Wook
    • IEIE Transactions on Smart Processing and Computing
    • /
    • 제4권5호
    • /
    • pp.366-370
    • /
    • 2015
  • This paper proposes a method for improving a branch predictor for the extendable instruction set computer (EISC) processor. The original EISC branch predictor has several shortcomings: a small branch target buffer, absence of a global history, a one-bit local branch history, and unsupported prediction of branches following LERI, which is a special instruction to extend an immediate value. We adopt a G-share branch predictor and eliminate the existing shortcomings. We verified the new branch predictor on a field-programmable gate array with the Dhrystone benchmark. The newly proposed EISC branch predictor also accomplishes higher branch prediction accuracy than a conventional branch predictor.

ILP 프로세서를 위한 부정적 간섭을 감소시키는 동적 분기예상 기법 (An Dynamic Branch Prediction Scheme to Reduce Negative Interferences for ILP Processors)

  • 박홍준;조영일
    • 인터넷정보학회논문지
    • /
    • 제2권1호
    • /
    • pp.23-30
    • /
    • 2001
  • ILP 프로세서는 고성능을 유지하기 위해 정확한 분기예상 방법을 요구한다. Two-Level 분기예상 방법은 높은 분기예상 정확성을 갖는 것으로 알려져 있다. 그러나, 한 분기 명령이 다른 분기 명령에 의해 갱신된 PHT 엔트리를 사용할 때 간섭이 발생하며, 간섭 중 부정적 간섭은 잘못된 예상(misprediction)을 유발하여 성능에 부정적 영향을 주게 된다. Agree분기예상 방법에서는 BTB에 bias 비트를 추가하여 부정적 간섭을 긍정적 간섭으로 변환하여 예상 정확도를 높였으나, bios 비트를 잘못 설정하는 경우에는 오히려 부정적 간섭이 증가하게 된다. 본 논문에서는 이러한 부정적 간섭을 감소시키는 새로운 동적 분기예상 방법을 제안한다. 제안한 분기예상 방법은 수행시간에 bias 비트를 동적으로 변경시키기 위해 BTB의 엔트리에 hit 비트를 추가하였다. 그 결과 부정적 간섭을 효과적으로 감소시켜 예상 정확도를 향상시켰다. 제안된 방법의 효율성을 보여주기 위해, SPEC92int 벤치마크를 사용하여 성능을 평가한 결과, 제안된 방법이 기존의 방법보다 성능이 우수함을 확인하였다.

  • PDF

분기 정보의 추측적 사용과 효율적 복구 기법 (Branch Prediction with Speculative History and Its Effective Recovery Method)

  • 곽종욱
    • 정보처리학회논문지A
    • /
    • 제15A권4호
    • /
    • pp.217-226
    • /
    • 2008
  • 분기 명령어에 대한 예측 정확도는 시스템의 전체 성능 향상에 중대한 영향을 미친다. 분기 정보의 추측적 사용은 미완료 분기에 대한 히스토리 정보를 추측적으로 사용하여 분기 예측을 수행한다. 이러한 방식은 분기 명령어의 가장 최근 기록을 일관되게 사용할 수 있도록 도와주기 때문에 분기 예측의 정확도 향상에 크게 기여한다. 하지만 미완료 분기 히스토리는 올바르지 못한 정보일 수 있으며, 이런 경우 적절한 복구기법이 필요하다. 이를 위해 본 논문에서는 분기 정보의 추측적 사용에 대한 성능 향상의 정도를 살피고, 분기 정보의 추측적 사용에 대한 필요성을 제시한다. 아울러, 분기 정보의 추측적 사용으로 인해 요구되는 적절한 복구 기법을 제안한다. 제안된 기법은 전역 분기 히스토리를 사용하는 분기 예측기와 지역 분기 히스토리를 사용하는 분기 예측기에 각각 적용 될 수 있는 방식들이다. 모의실험을 통해 본 논문에서 제안된 방식의 성능을 분석한 결과, 본 논문에서 제안된 기법이 최대 5.64%의 성능향상을 제공하였다. 아울러 프로그램 수행의 정확성을 해치지 않으면서 기존의 연구와 비교하여 90% 이상의 하드웨어 요구량의 감소를 가져왔다.

TLB 태그 공유 구조의 분기 타겟 버퍼 (A Branch Target Buffer Using Shared Tag Memory with TLB)

  • 이용환
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국해양정보통신학회 2005년도 추계종합학술대회
    • /
    • pp.899-902
    • /
    • 2005
  • 마이크로프로세서의 성능 저하를 일으키는 주된 원인은 분기에 의한 파이프라인의 정지이다. 분기타겟 버퍼는 분기를 예측하여 다음 실행 명령어의 주소를 제공한다. 이로써 마이크로프로세서의 자연스런 명령어의 실행 흐름은 끊어지지 않게 되고 높은 성능 향상을 기대할 수 있다. 본 논문에서는 가상주소를 실제주소로 바꾸어 주는 TLB와 분기 타겟 버퍼가 각각 가지고 있는 태그 메모리를 공유하는 구조를 제안한다. 이러한 공유 태그 구조의 이점은 2개의 태그 메모리를 하나로 공유함으로써 칩 면적의 감소를 꾀하고 분기 예측 속도를 향상시킬 수 있다는 점이다. 또한, 이러한 구조는 주소로 사용되는 비트 수가 커지거나 여러 개의 명령어를 동시에 실행할 수 있는 구조에서 이점이 더욱 커지기 때문에 향후 개발되는 마이크로프로세서에서 더욱 유용하게 사용될 수 있을 것이다.

  • PDF

독립시행의 정리를 이용하는 수퍼스칼라 프로세서의 다중 분기 예측 성능 모델 (The Analytic Performance Model of the Superscalar Processor Using Multiple Branch Prediction)

  • 이종복
    • 대한전자공학회:학술대회논문집
    • /
    • 대한전자공학회 1999년도 하계종합학술대회 논문집
    • /
    • pp.1009-1012
    • /
    • 1999
  • An analytical performance model that can predict the performance of a superscalar processor employing multiple branch prediction is introduced. The model is based on the conditional independence probability and the basic block size of instructions, with the degree of multiple branch prediction, the fetch rate, and the window size of a superscalar architecture. Trace driven simulation is performed for the subset of SPEC integer benchmarks, and the measured IPCs are compared with the results derived from the model. As the result, our analytic model could predict the performance of the superscalar processor using multiple branch prediction within 6.6 percent on the average.

  • PDF

대형 윈도우에서 다중 분기 예측법을 이용하는 수퍼스칼라 프로세서의 프로화일링 성능 모델 (A Wide-Window Superscalar Microprocessor Profiling Performance Model Using Multiple Branch Prediction)

  • 이종복
    • 전기학회논문지
    • /
    • 제58권7호
    • /
    • pp.1443-1449
    • /
    • 2009
  • This paper presents a profiling model of a wide-window superscalar microprocessor using multiple branch prediction. The key idea is to apply statistical profiling technique to the superscalar microprocessor with a wide instruction window and a multiple branch predictor. The statistical profiling data are used to obtain a synthetical instruction trace, and the consecutive multiple branch prediction rates are utilized for running trace-driven simulation on the synthesized instruction trace. We describe our design and evaluate it with the SPEC 2000 integer benchmarks. Our performance model can achieve accuracy of 8.5 % on the average.