{"title":"动态零检测降低ALU和寄存器文件能量","authors":"Soontae Kim","doi":"10.1109/PCCC.2007.358915","DOIUrl":null,"url":null,"abstract":"Register files and ALU are dominant energy consumers in the datapath of typical pipelined processors. Reducing energy consumption of these components has a big impact on processor energy budget. Consequently, several techniques have been proposed at circuit and architectural levels. In contrast, we propose a dynamic zero detection technique for reducing energy in the register files and ALU in this paper. We find that zero is the most frequent value used in the register files and ALU. When a register value is determined to be zero before reading a register file, an access to the register file is prevented to save energy and zero is directly provided to the datapath. When one of operand register values of an add instruction is zero, it is prevented from being executed on ALU since its result is just the value of the other operand register. Since adds/subs constitute most of arithmetic and logic instructions, this optimization saves large ALU energy. Our dynamic zero detection technique is demonstrated to save 9.0% and 20.2% of energy in the register files and the adder of ALU for SPEC2000 floating-point and integer benchmarks, respectively.","PeriodicalId":356565,"journal":{"name":"2007 IEEE International Performance, Computing, and Communications Conference","volume":"2 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2007-04-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"10","resultStr":"{\"title\":\"Reducing ALU and Register File Energy by Dynamic Zero Detection\",\"authors\":\"Soontae Kim\",\"doi\":\"10.1109/PCCC.2007.358915\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Register files and ALU are dominant energy consumers in the datapath of typical pipelined processors. Reducing energy consumption of these components has a big impact on processor energy budget. Consequently, several techniques have been proposed at circuit and architectural levels. In contrast, we propose a dynamic zero detection technique for reducing energy in the register files and ALU in this paper. We find that zero is the most frequent value used in the register files and ALU. When a register value is determined to be zero before reading a register file, an access to the register file is prevented to save energy and zero is directly provided to the datapath. When one of operand register values of an add instruction is zero, it is prevented from being executed on ALU since its result is just the value of the other operand register. Since adds/subs constitute most of arithmetic and logic instructions, this optimization saves large ALU energy. Our dynamic zero detection technique is demonstrated to save 9.0% and 20.2% of energy in the register files and the adder of ALU for SPEC2000 floating-point and integer benchmarks, respectively.\",\"PeriodicalId\":356565,\"journal\":{\"name\":\"2007 IEEE International Performance, Computing, and Communications Conference\",\"volume\":\"2 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2007-04-11\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"10\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2007 IEEE International Performance, Computing, and Communications Conference\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/PCCC.2007.358915\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2007 IEEE International Performance, Computing, and Communications Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/PCCC.2007.358915","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Reducing ALU and Register File Energy by Dynamic Zero Detection
Register files and ALU are dominant energy consumers in the datapath of typical pipelined processors. Reducing energy consumption of these components has a big impact on processor energy budget. Consequently, several techniques have been proposed at circuit and architectural levels. In contrast, we propose a dynamic zero detection technique for reducing energy in the register files and ALU in this paper. We find that zero is the most frequent value used in the register files and ALU. When a register value is determined to be zero before reading a register file, an access to the register file is prevented to save energy and zero is directly provided to the datapath. When one of operand register values of an add instruction is zero, it is prevented from being executed on ALU since its result is just the value of the other operand register. Since adds/subs constitute most of arithmetic and logic instructions, this optimization saves large ALU energy. Our dynamic zero detection technique is demonstrated to save 9.0% and 20.2% of energy in the register files and the adder of ALU for SPEC2000 floating-point and integer benchmarks, respectively.