DOI QR코드

DOI QR Code

A Power-aware Branch Predictor for Embedded Processors

내장형 프로세서를 위한 저전력 분기 예측기 설계 기법

  • 김철홍 (전남대학교 전자컴퓨터공학부) ;
  • 송성근 (전남대학교 전자컴퓨터공학부)
  • Published : 2007.12.31

Abstract

In designing a branch predictor, in addition to accuracy, microarchitects should consider power consumption, especially for embedded processors. This paper proposes a power-aware branch predictor, which is based on the gshare predictor, by accessing the BTB (Branch Target Buffer) only when the prediction from the PHT (Pattern History Table) is taken. To enable the selective access to the BTB, the PHT in the proposed branch predictor is accessed one cycle earlier than the traditional PHT to prevent the additional delay. As a side effect, two predictions from the PHT are obtained through one access to the PHT, which leads to more power savings. The proposed branch predictor reduces the power consumption, not requiring any additional storage arrays, not incurring additional delay (except just one MUX delay) and never harming accuracy. Simulation results show that the proposed predictor reduces the power consumption by $35{\sim}48%$ compared to the traditional predictor.

프로세서의 파이프라인 길이가 점차 길어지고 한 사이클에 이슈되는 명령어의 수가 증가함에 따라, 분기 예측기의 정확도는 프로세서의 성능에 상당한 영향을 미치게 되었다. 또한, 내장형 프로세서를 설계하는데 있어서는 전력 효율성이 가장 중요한 설계 고려 사항 중 하나가 되었다. 그러므로, 내장형 프로세서의 분기 예측기를 설계할 때에는 성능과 전력 효율성이 함께 고려되어야 한다. 본 논문에서는 gshare 분기 예측기가 적용된 내장형 프로세서에서 선택적인 BTB (Branch Target Buffer) 접근을 가능하게 하는 저전력 분기 예측기를 제안하고자 한다. 제안하는 분기 예측기 내에서 BTB는 직전 명령어가 테이큰 (Taken) 분기로 예측되지 않는 경우에는, PHT (Pattern History Table)의 예측 결과가 테이큰인 경우에만 접근된다. PHT의 예측 결과가 테이큰인 분기 명령어의 경우에만 다음에 인출될 명령어의 주소를 BTB 접근을 통해 얻은 주소로 결정하기 때문이다. 물론, 이와 같은 선택적인 BTB 접근으로 인하여 성능 저하가 발생하는 것을 방지하기 위해 직전 명령어가 테이큰분기로 예측된 경우에는 PHT의 예측 결과에 관계없이 BTB는 항상 접근된다. 선택적인 BTB 접근을 하기 위해, 제안하는 분기 예측기 내의 PHT는 기존 분기 예측기의 PHT와 비교하여 1 사이클 일찍 접근되도록 구현한다. 1 사이클 빠른 접근을 위해 제안하는 PHT는 한 번의 접근을 통해 두 개의 예측 결과를 동시에 얻어오게 구현하고, 이를 통해 PHT의 접근 횟수도 줄임으로써 분기 예측기의 전력 소모를 줄이는 효과 또한 얻게 된다. 제안하는 분기 예측기는 하드웨어 오버헤드나 예측 정확도의 감소 없이 전력 소모를 줄일 수 있다는 장점을 가진다. 실험 결과에 따르면, 제안하는 분기 예측기는 기존의 분기 예측기와 비교하여 $35{\sim}48%$의 전력 소모를 줄이는 결과를 보인다.

Keywords

References

  1. ARM Corp., ARM1136J(F)-S, http://www.arm.com/ products/CPUs/ARM1136JF-S.html
  2. ARM Corp., ARM1156T2(F)-S, http://www.arm.com/ products/CPUs/ARM1156T2-S.html
  3. D. Parikh, K. Skadron, Y. Zhang, M. Barcella, and M. Stan, 'Power Issues Related to Branch Prediction', Proc. International Conference on High-Performance Computer Architecture, pp. 233-242, 2002 https://doi.org/10.1109/HPCA.2002.995713
  4. S. Manne, A. Klauser, and D. Grunwald, 'Pipeline Gating: Speculation Control for Energy Reduction', Proc. International Symposium on Computer Architecture, pp. 132-141, 1998 https://doi.org/10.1109/ISCA.1998.694769
  5. Z. Hu, P. Juang, K. Skadron, D. Clark, and M. Martonosi, 'Applying Decay Strategies to Branch Predictors for Leakage Energy Savings', Proc. International Conference on Computer Design, pp. 442-445, 2002
  6. P. Petrov and A. Orailoglu, 'Low-Power Branch Target Buffer for Application-Specific Embedded Processors', Proc. Euromicro Symposium on Digital System Design, pp. 158-165, 2003
  7. G. Palermo, M. Sami, C. Silvano, V. Zaccaria, and R. Zafalon, 'Branch Prediction Techniques for Low-Power VLIW Processors', Proc. The 13th ACM Great Lakes Symposium on VLSI, pp. 225-228, 2003 https://doi.org/10.1145/764808.764866
  8. M. Monchiero, G. Palermo, M. Sami, C. Silvano, V. Zaccaria, and R. Zafalon, 'Power-Aware Branch Prediction Techniques: A Compiler-Hints Based Approach for VLIW Processors', Proc. The 14th Great Lakes Symposium on VLSI, pp. 440-443, 2004 https://doi.org/10.1145/988952.989058
  9. D. Chaver, L. Pinuel, M. Prieto, F. Tirado, and M. C. Huang, 'Branch Prediction On Demand: an Energy-Efficient Solution', Proc. International Symposium on Low Power Electronics and Design, pp. 390-395, 2003 https://doi.org/10.1145/871506.871603
  10. M. C. Huang, D. Chaver, L. Pinuel, M. Prieto, and F. Tirado, 'Customizing the Branch Predictor to Reduce Complexity and Energy Consumption', IEEE Micro, 23(5), pp. 12-25, 2003 https://doi.org/10.1109/MM.2003.1240209
  11. D. Parikh, K. Skadron, Y. Zhang, and M. Stan, 'Power-Aware Branch Prediction: Characterization and Design', IEEE Trans. Computers, 53(2), pp. 168-186, 2004 https://doi.org/10.1109/TC.2004.1261827
  12. D. A. Jimenez, 'Reconsidering Complex Branch Predictors', Proc. International Conference on High-Performance Computer Architecture, pp. 43-52, 2003 https://doi.org/10.1109/HPCA.2003.1183523
  13. D. A. Jimenez, S. W. Keckler, and C. Lin, 'The Impact of Delay on the Design of Branch Predictors', Proc. International Symposium on Microarchitecture, pp. 67-76, 2000 https://doi.org/10.1145/360128.360137
  14. S. McFarling, Combining Branch Predictors, WRL Technical Note TN-36, Digital, 1993
  15. Samsung Electronics, Samsung Memory Compiler, 2002
  16. Standard Performance Evaluation Corp., SPEC CPU2000 Benchmarks, available at http://www.specbench.org/ osg/cpu2000
  17. C. Lee, M. Potkonjak, and W. Mangione-Smith, 'MediaBench: A Tool for Evaluating Synthesizing Multimedia and Communication Systems', Proc. International Symposium on Microarchitecture, pp. 330-335, 1997 https://doi.org/10.1109/MICRO.1997.645830
  18. D. Burger, T. M. Austin, and S. Bennett, 'Evaluating future microprocessors: the SimpleScalar toolset', Tech. Report TR-1308, Univ. of Wisconsin-Madison Computer Science Dept., 1997