{"id":4380,"date":"2013-02-04T10:54:15","date_gmt":"2013-02-04T09:54:15","guid":{"rendered":"https:\/\/blogs.mentor.com\/colinwalls\/?p=4380"},"modified":"2013-02-04T10:54:15","modified_gmt":"2013-02-04T09:54:15","slug":"more-on-low-power-cpu-design","status":"publish","type":"post","link":"https:\/\/blogs.stage.sw.siemens.com\/embedded-software\/2013\/02\/04\/more-on-low-power-cpu-design\/","title":{"rendered":"More on low power CPU design"},"content":{"rendered":"<p>I recently wrote a posting about <a href=\"https:\/\/blogs.mentor.com\/colinwalls\/blog\/2013\/01\/21\/designing-a-low-power-cpu\/\" target=\"_blank\" rel=\"noopener noreferrer\">designing a CPU for low power<\/a> by creating an instruction set where common sequences of instructions would have the minimum number of logic transitions. I hoped that I would get some feedback and I did. I had an email from <a href=\"mailto:apleventis@gmail.com\" target=\"_blank\" rel=\"noopener noreferrer\">Apostolos Leventis<\/a>. I am always delighted to be contacted by blog readers, either by comment or <a href=\"mailto:colin_walls@mentor.com\" target=\"_blank\" rel=\"noopener noreferrer\">email<\/a> &#8211; even if it is critical or correcting my errors!<\/p>\n<p>In this case, I was fully prepared to hear that the approach that I described would not work for some reason. However, what Apostolos told me about was some work that approached the problem in a different, but very interesting way &#8230;<!--more--><\/p>\n<p>The approach that I talked about would involved designing a new CPU. The project, that Apostolos had been involved in, looked at the optimal use of existing devices and the generation of power-efficient code for them.<\/p>\n<p>The work was done using an ARM7tdmi and a DSP56156. The team did measurements on the devices to identify instruction sequences which were particularly power efficient. They then created a compiler which could generate power-optimized code by utilizing these findings. They tested the tools on an implementation of IEEE802.11 and observed power savings of up to 10% [for just the CPU].<\/p>\n<p>The full paper may be found <a href=\"http:\/\/www.loe.ee.upatras.gr\/comes\/papers\/2000_ISLPED_SOFLOPO.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>. I thought that this research was very interesting and I am sure could be carried further. I would like to thank Apostolos for sharing.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I recently wrote a posting about designing a CPU for low power by creating an instruction set where common sequences&#8230;<\/p>\n","protected":false},"author":71677,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spanish_translation":"","french_translation":"","german_translation":"","italian_translation":"","polish_translation":"","japanese_translation":"","chinese_translation":"","footnotes":""},"categories":[1],"tags":[300,308],"industry":[],"product":[],"coauthors":[],"class_list":["post-4380","post","type-post","status-publish","format-standard","hentry","category-news","tag-embedded-software","tag-low-power"],"_links":{"self":[{"href":"https:\/\/blogs.stage.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/posts\/4380","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.stage.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.stage.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.stage.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/users\/71677"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.stage.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/comments?post=4380"}],"version-history":[{"count":0,"href":"https:\/\/blogs.stage.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/posts\/4380\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.stage.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/media?parent=4380"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.stage.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/categories?post=4380"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.stage.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/tags?post=4380"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/blogs.stage.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/industry?post=4380"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/blogs.stage.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/product?post=4380"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blogs.stage.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/coauthors?post=4380"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}