{"title":"流水线cpu上不同分支预测器的设计、实现及性能比较","authors":"Syed Ali Imran Quadri, Mohd Ziauddin Jahangir","doi":"10.1109/ICCECE.2017.8526196","DOIUrl":null,"url":null,"abstract":"Branch predictors are implemented on pipelined CPUs having different types of instructions. Both unconditional and conditional branches are implemented utilizing different instruction set formats of the CPU. A basic pipelined CPU consists of three stages Fetch, Decode, and Execute. All the instructions are executed in parallel, hence every stage is busy with an instruction which saves the wastage of time and increases the performance. Hazards will occur because of Conditional branches in the pipeline which changes the sequential flow of execution. To overcome these hazards, the pipeline should be made empty and loaded with appropriate instruction which avoids the wastage of time. Hence Branch predictors are essential in CPUs as it saves the wastage of time by guessing the correct sequence of instruction as the conditional branches changes the sequence of instructions. Three types of Branch Predictors are implemented on pipelined CPUs separately which are simulated, synthesized and bit-files are generated using Xilinx ISE tool, the bit-files are later dumped on Xilinx SPARTAN-6 board and the results are analyzed using CHIPSCOPE.","PeriodicalId":325599,"journal":{"name":"2017 International Conference on Computer, Electrical & Communication Engineering (ICCECE)","volume":"14 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Design, Implementation and Performance Comparison of Different Branch Predictors on Pipelined-CPU\",\"authors\":\"Syed Ali Imran Quadri, Mohd Ziauddin Jahangir\",\"doi\":\"10.1109/ICCECE.2017.8526196\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Branch predictors are implemented on pipelined CPUs having different types of instructions. Both unconditional and conditional branches are implemented utilizing different instruction set formats of the CPU. A basic pipelined CPU consists of three stages Fetch, Decode, and Execute. All the instructions are executed in parallel, hence every stage is busy with an instruction which saves the wastage of time and increases the performance. Hazards will occur because of Conditional branches in the pipeline which changes the sequential flow of execution. To overcome these hazards, the pipeline should be made empty and loaded with appropriate instruction which avoids the wastage of time. Hence Branch predictors are essential in CPUs as it saves the wastage of time by guessing the correct sequence of instruction as the conditional branches changes the sequence of instructions. Three types of Branch Predictors are implemented on pipelined CPUs separately which are simulated, synthesized and bit-files are generated using Xilinx ISE tool, the bit-files are later dumped on Xilinx SPARTAN-6 board and the results are analyzed using CHIPSCOPE.\",\"PeriodicalId\":325599,\"journal\":{\"name\":\"2017 International Conference on Computer, Electrical & Communication Engineering (ICCECE)\",\"volume\":\"14 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2017-12-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2017 International Conference on Computer, Electrical & Communication Engineering (ICCECE)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ICCECE.2017.8526196\",\"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 Computer, Electrical & Communication Engineering (ICCECE)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICCECE.2017.8526196","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Design, Implementation and Performance Comparison of Different Branch Predictors on Pipelined-CPU
Branch predictors are implemented on pipelined CPUs having different types of instructions. Both unconditional and conditional branches are implemented utilizing different instruction set formats of the CPU. A basic pipelined CPU consists of three stages Fetch, Decode, and Execute. All the instructions are executed in parallel, hence every stage is busy with an instruction which saves the wastage of time and increases the performance. Hazards will occur because of Conditional branches in the pipeline which changes the sequential flow of execution. To overcome these hazards, the pipeline should be made empty and loaded with appropriate instruction which avoids the wastage of time. Hence Branch predictors are essential in CPUs as it saves the wastage of time by guessing the correct sequence of instruction as the conditional branches changes the sequence of instructions. Three types of Branch Predictors are implemented on pipelined CPUs separately which are simulated, synthesized and bit-files are generated using Xilinx ISE tool, the bit-files are later dumped on Xilinx SPARTAN-6 board and the results are analyzed using CHIPSCOPE.