{"title":"在移动处理器上使用两级分支预测器的性能改进","authors":"N. G. Kim, Hyun Hak Cho, C. M. Eun, O. H. Jeong","doi":"10.1109/ICCE-TW.2015.7217014","DOIUrl":null,"url":null,"abstract":"In the last few years, the microprocessor of mobile device has been developed into multi-core, multi-issue, and deep pipeline for high-performance. But maximizing the parallelism of a pipeline and deepening pipeline cause more penalties so that branch predictor is more and more important. One of the efficient ways to improve its performance is generally to increase the size of the branch predictor. However, increasing the size of branch predictor necessarily involves the increase of memory indexing time and power consumption. Therefore, to improve the performance of branch predictor considering the mobile environment, we have studied the effect on performance improvement by changing the other factors while remaining the size of the memory fixed with 2-level branch predictor. We experimented to investigate the performance improvement by modifying the associativity of Branch Target Buffer (BTB) and the size of Branch History Register (BHR). The simulation was performed using SimpleScalar 3.0 based on ARM Cortex-A15 and benchmarks from SPEC CPU2000. As a result, in the 2-level branch predictor structure, when reducing the length of BHR in 8 bit, the increase of Instruction Per Cycle (IPC) is the highest as 0.599%. Therefore, we concluded that to modify the length of BHR of branch predictor is most effective way to improve the performance of the processor.","PeriodicalId":340402,"journal":{"name":"2015 IEEE International Conference on Consumer Electronics - Taiwan","volume":"28 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-06-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Performance improvement using two level branch predictor on the mobile processor\",\"authors\":\"N. G. Kim, Hyun Hak Cho, C. M. Eun, O. H. Jeong\",\"doi\":\"10.1109/ICCE-TW.2015.7217014\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"In the last few years, the microprocessor of mobile device has been developed into multi-core, multi-issue, and deep pipeline for high-performance. But maximizing the parallelism of a pipeline and deepening pipeline cause more penalties so that branch predictor is more and more important. One of the efficient ways to improve its performance is generally to increase the size of the branch predictor. However, increasing the size of branch predictor necessarily involves the increase of memory indexing time and power consumption. Therefore, to improve the performance of branch predictor considering the mobile environment, we have studied the effect on performance improvement by changing the other factors while remaining the size of the memory fixed with 2-level branch predictor. We experimented to investigate the performance improvement by modifying the associativity of Branch Target Buffer (BTB) and the size of Branch History Register (BHR). The simulation was performed using SimpleScalar 3.0 based on ARM Cortex-A15 and benchmarks from SPEC CPU2000. As a result, in the 2-level branch predictor structure, when reducing the length of BHR in 8 bit, the increase of Instruction Per Cycle (IPC) is the highest as 0.599%. Therefore, we concluded that to modify the length of BHR of branch predictor is most effective way to improve the performance of the processor.\",\"PeriodicalId\":340402,\"journal\":{\"name\":\"2015 IEEE International Conference on Consumer Electronics - Taiwan\",\"volume\":\"28 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2015-06-06\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2015 IEEE International Conference on Consumer Electronics - Taiwan\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ICCE-TW.2015.7217014\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2015 IEEE International Conference on Consumer Electronics - Taiwan","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICCE-TW.2015.7217014","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Performance improvement using two level branch predictor on the mobile processor
In the last few years, the microprocessor of mobile device has been developed into multi-core, multi-issue, and deep pipeline for high-performance. But maximizing the parallelism of a pipeline and deepening pipeline cause more penalties so that branch predictor is more and more important. One of the efficient ways to improve its performance is generally to increase the size of the branch predictor. However, increasing the size of branch predictor necessarily involves the increase of memory indexing time and power consumption. Therefore, to improve the performance of branch predictor considering the mobile environment, we have studied the effect on performance improvement by changing the other factors while remaining the size of the memory fixed with 2-level branch predictor. We experimented to investigate the performance improvement by modifying the associativity of Branch Target Buffer (BTB) and the size of Branch History Register (BHR). The simulation was performed using SimpleScalar 3.0 based on ARM Cortex-A15 and benchmarks from SPEC CPU2000. As a result, in the 2-level branch predictor structure, when reducing the length of BHR in 8 bit, the increase of Instruction Per Cycle (IPC) is the highest as 0.599%. Therefore, we concluded that to modify the length of BHR of branch predictor is most effective way to improve the performance of the processor.