Ha Kyoum Kim, Hanjo Kim, C. M. Eun, Hyun Hak Cho, O. H. Jeong
{"title":"考虑内存容量限制的高性能分支预测器设计","authors":"Ha Kyoum Kim, Hanjo Kim, C. M. Eun, Hyun Hak Cho, O. H. Jeong","doi":"10.1109/CIRSYSSIM.2017.8023180","DOIUrl":null,"url":null,"abstract":"Pipeline flush due to the flow change of instruction can be a huge degradation factor in modern processors since the branch instructions consist of more than 20 % of all instructions when running a program. However, with a characteristic called branch locality, the result of branch execution is predictable. By utilizing branch locality, there have been a lot of researches to improve the prediction rate of branch predictor however, most of these did not consider the memory capacity so that they cannot be implemented to the embedded systems. Therefore, we propose a new scheme with high prediction rate while maintaining low memory consumption. The new scheme uses an XOR gate to diversify the Pattern History Table (PHT) index. However, the last 6 bits of the index are replaced with PC addresses to enhance the distinction ability of branch instruction addresses. The simulation was executed using SimpleScalar 3.0 simulator, and benchmarks from SPEC CPU2000. Based on the simulation result, this new structure achieved higher prediction rate while maintaining the low memory consumption. Consequently, the new scheme is the most appropriate branch predictor among comparison group presented in this paper.","PeriodicalId":342041,"journal":{"name":"2017 International Conference on Circuits, System and Simulation (ICCSS)","volume":"38 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":"{\"title\":\"A high-performance branch predictor design considering memory capacity limitations\",\"authors\":\"Ha Kyoum Kim, Hanjo Kim, C. M. Eun, Hyun Hak Cho, O. H. Jeong\",\"doi\":\"10.1109/CIRSYSSIM.2017.8023180\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Pipeline flush due to the flow change of instruction can be a huge degradation factor in modern processors since the branch instructions consist of more than 20 % of all instructions when running a program. However, with a characteristic called branch locality, the result of branch execution is predictable. By utilizing branch locality, there have been a lot of researches to improve the prediction rate of branch predictor however, most of these did not consider the memory capacity so that they cannot be implemented to the embedded systems. Therefore, we propose a new scheme with high prediction rate while maintaining low memory consumption. The new scheme uses an XOR gate to diversify the Pattern History Table (PHT) index. However, the last 6 bits of the index are replaced with PC addresses to enhance the distinction ability of branch instruction addresses. The simulation was executed using SimpleScalar 3.0 simulator, and benchmarks from SPEC CPU2000. Based on the simulation result, this new structure achieved higher prediction rate while maintaining the low memory consumption. Consequently, the new scheme is the most appropriate branch predictor among comparison group presented in this paper.\",\"PeriodicalId\":342041,\"journal\":{\"name\":\"2017 International Conference on Circuits, System and Simulation (ICCSS)\",\"volume\":\"38 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2017-07-14\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"5\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2017 International Conference on Circuits, System and Simulation (ICCSS)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/CIRSYSSIM.2017.8023180\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2017 International Conference on Circuits, System and Simulation (ICCSS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CIRSYSSIM.2017.8023180","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
A high-performance branch predictor design considering memory capacity limitations
Pipeline flush due to the flow change of instruction can be a huge degradation factor in modern processors since the branch instructions consist of more than 20 % of all instructions when running a program. However, with a characteristic called branch locality, the result of branch execution is predictable. By utilizing branch locality, there have been a lot of researches to improve the prediction rate of branch predictor however, most of these did not consider the memory capacity so that they cannot be implemented to the embedded systems. Therefore, we propose a new scheme with high prediction rate while maintaining low memory consumption. The new scheme uses an XOR gate to diversify the Pattern History Table (PHT) index. However, the last 6 bits of the index are replaced with PC addresses to enhance the distinction ability of branch instruction addresses. The simulation was executed using SimpleScalar 3.0 simulator, and benchmarks from SPEC CPU2000. Based on the simulation result, this new structure achieved higher prediction rate while maintaining the low memory consumption. Consequently, the new scheme is the most appropriate branch predictor among comparison group presented in this paper.