• 제목/요약/키워드: Branch History

검색결과 213건 처리시간 0.028초

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

  • Ko, Kwang Hyun;Cho, Young Il
    • 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 Branch Prediction Mechanism With Adaptive Branch History Length for FAFF Information Processing (농림수산식품분야 정보처리를 위한 적응하는 분기히스토리 길이를 갖는 분기예측 메커니즘)

  • Ko, K.H.;Cho, Y.I.
    • Journal of Practical Agriculture & Fisheries Research
    • /
    • 제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.

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

  • Kwak, Jong-Wook
    • The KIPS Transactions:PartA
    • /
    • 제15A권4호
    • /
    • pp.217-226
    • /
    • 2008
  • Branch prediction accuracy is critical for system performance in modern microprocessor architectures. The use of speculative update branch history provides substantial accuracy improvement in branch prediction. However, speculative update branch history is the information about uncommitted branch instruction and thus it may hurts program correctness, in case of miss-speculative execution. Therefore, speculative update branch history requires suitable recovery mechanisms to provide program correctness as well as performance improvement. In this paper, we propose recovery logics for speculative update branch history. The proposed solutions are recovery logics for both global history and local history. In simulation results, our solution provides performance improvement up to 5.64%. In addition, it guarantees the program correctness and almost 90% of additional hardware overhead is reduced, compared to previous works.

Hybrid Dynamic Branch Prediction to Reduce Destructive Aliasing (슈퍼스칼라 프로세서를 위한 고성능 하이브리드 동적 분기 예측)

  • Park, Jongsu
    • Journal of the Korea Institute of Information and Communication Engineering
    • /
    • 제23권12호
    • /
    • pp.1734-1737
    • /
    • 2019
  • This paper presents a prediction structure with a Hybrid Dynamic Branch Prediction (HDBP) scheme which decreases the number of stalls. In the application, a branch history register is dynamically adjusted to produce more unique index values of pattern history table (PHT). The number of stalls is also reduced by using the modified gshare predictor with a long history register folding scheme. The aliasing rate decreased to 44.1% and the miss prediction rate decreased to 19.06% on average compared with the gshare branch predictor, one of the most popular two-level branch predictors. Moreover, Compared with the gshare, an average improvement of 1.28% instructions per cycle (IPC) was achieved. Thus, with regard to the accuracy of branch prediction, the HDBP is remarkably useful in boosting the overall performance of the superscalar processor.

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

  • Cho, Young-Il
    • Journal of the Institute of Electronics Engineers of Korea CI
    • /
    • 제44권1호
    • /
    • pp.33-40
    • /
    • 2007
  • Processor pipelines have been growing deeper and issue widths wider over the years. If this trend continues, the 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 modern processors. Several branch predictors combine a part of the branch address with a fixed amount of global branch history to make a prediction. These predictors cannot perform uniformly well across all programs because the best amount of branch history to be used depends on the program and branches in the program. Therefore, predictors that use a fixed history length are unable to perform up to their potential performance. 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 address. 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.

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

  • Ko, Kwang-Hyun;Cho, Young-Il
    • Journal of KIISE:Computer Systems and Theory
    • /
    • 제32권6호
    • /
    • pp.306-313
    • /
    • 2005
  • 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 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 simple 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 SPECINTgS 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.

Design and Implementation of an Automatic Embedded Core Generation System Using Advanced Dynamic Branch Prediction (동적 분기 예측을 지원하는 임베디드 코어 자동 생성 시스템의 설계와 구현)

  • Lee, Hyun-Cheol;Hwang, Sun-Young
    • The Journal of Korean Institute of Communications and Information Sciences
    • /
    • 제38B권1호
    • /
    • pp.10-17
    • /
    • 2013
  • This thesis proposes an automatic embedded core generator system that supports branch prediction. The proposed system includes a dynamic branch prediction module that enhances execution speed of target applications by inserting history/direction flags into BTAC(Branch Target Address Cache). Entries of BHT(Branch History Table) and BTAC are determined based on branch informations extracted by simulation. To verify the effectiveness of the proposed branch prediction module, ARM9TDMI core including a dynamic branch predictor was described in SMDL and generated. Experimental results show that as the number of entry rises, area increase up to 60% while application execution cycle and BTAC miss rate drop by an average of 1.7% and 9.6%, respectively.

Variable Input Gshare Predictor based on Interrelationship Analysis of Instructions (명령어 연관성 분석을 통한 가변 입력 gshare 예측기)

  • Kwak, Jong-Wook
    • Journal of the Korea Society of Computer and Information
    • /
    • 제13권4호
    • /
    • pp.19-30
    • /
    • 2008
  • Branch history is one of major input vectors in branch prediction. Therefore, the Proper use of branch history plays a critical role of improving branch prediction accuracy. To improve branch prediction accuracy, this paper proposes a new branch history management policy, based on interrelationship analysis of instructions. First of all, we propose three different algorithms to analyze the relationship: register-writhing method, branch-reading method, and merged method. Then we additionally propose variable input gshare predictor as an implementation of these algorithms. In simulation part, we provide performance differences among the algorithms and analyze their characteristics. In addition, we compare branch prediction accuracy between our proposals and conventional fixed input predictors. The performance comparison for optimal input branch predictor is also provided.

  • 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.

A Study on the Concept of Navigational History (항해사의 개념에 관한 연구)

  • 김성준
    • Journal of the Korean Institute of Navigation
    • /
    • 제21권4호
    • /
    • pp.93-102
    • /
    • 1997
  • History will be defined as a science on human beings in both space and time(des hommes dans le temps et l'espace). Navigational History is a premise to compose Maritime History. Maritime History is a branch of General History which is classified on the basis of space and will be definded as a branch of history to examine 'inter-realtions between maritime affairs and inland affairs'. Then, what kind of 'go by sea'can be a subject of Navigational History ? A research-subject of Navigational History must be navigation rather than sail or voyage. Because while 'sail' means to 'passive and noncommercial sailing' and voyage means to journeyin a general sense that includes sail and navigation, navigation means to indicate ' to go from one place to another in a ship' adn 'to convoy goods by water'. Then, how can we define Navigation History? Navigational History in a narrow sense is to be a field of studying 'process of development of nautical science and seamanship on the side of History ofScience and Techique, whereas Navigational History in a broad sense is to be a field of analyzing 'effects of historical navigation upon history on the side of General History. On studying Navigational History in a narrow sense, there are signifiacances of disclosing what the development of nautical instruments and arts of navigation have played a role in history. Navigational History in a broad sense is a branch of General History to study effects of historical navigation upon history. In conclusion, the significance of studying Navigation History is to disclose process of developmentof arts of navigation, and on the basis of this study is to reveal how the human elements operate in historical navigation. In short, it should not cease to study Navigational History in a narrow sense, and should enlarge its perspective of research toward Navigational History in a broad sense.

  • PDF