6 ms·
Microprocessors aren't green
- JulianMorrison 14y agoOops, our custom chip has a huge security bug. Never fear, we'll distribute a firmware update... Oh wait, we baked our algorithm into hardware. Looks like you'd better junk the device and buy version 1.1, the "doesn't give your credit card to the Mafia" release.
- wordsaretoys 14y agoAnd instead of downloading software that wastes energy, I can drive to the store to buy it in hardware. No external costs there!
- colanderman 14y agoIt would be relatively straightforward to build a custom chip for browsing the web that doesn't use memory or hard disk. This sentence really needs a plan to back it up. 1) Building a custom chip is not ever straightforward. I say this as someone who has designed ASICs using appropriate high-level tools such as Verilog. 2) I don't understand how one could customize a chip for browsing the web. The modern web is inseparable from JavaScript, which is a general-purpose programming language and thus requires a general-purpose CPU somewhere. At best one could integrate, say, the NIC with the processor, but this is already commonly done. 3) I fail to see how it's possible for a web browser to operate without access to RAM. Page layout involves complex algorithms which are slow. Therefore their output (graphics) must be cached, or else the user would have to wait several seconds to scroll the page. Perhaps the author means to use a very large (tens of megabytes) on-chip cache, suitable for browsing a single web page, but that would inflate the cost of the chip beyond feasibility.
- unwind 14y agoHeh, I came here with the exact same sentence already in the clipboard. I agree ... As far as I know, "browsing the web" with modern expectations is Turing-complete, i.e. it needs a device able to execute general purpose programming. I really wonder what they think they can do to somehow simplify this using a "fixed-function" design. Whatever that is, in this context.
- khitchdee 14y agoFor the Javascript part, you would need a programmable function block. One option would be not to support Javascript (OK in certain parts of the world). You could organize your chip so that there are several fixed function blocks for things like image decoding, video decoding, text rendering and graphic composition coupled with a programmable function block for the Javascript. The point here being instead of doing all your computation through a program, do only as much as you absolutely have to. The parts that you can hardcode, hardcode to make you chip more green. Web browsing has been given as an example because its a commonly used function and on its own it can justify building a gadget like the Chromebook. So, if you have a narrow function that the gadget is going to be used for, you're better of going full custom than programmable function. I'm doing a more complete analysis of what it would take to build such a chip. I'll publish it when its ready.
- icebraining 14y agoOne option would be not to support Javascript (OK in certain parts of the world) Where? So, if you have a narrow function that the gadget is going to be used for, you're better of going full custom than programmable function. How much inefficiency per unit in building small batches of a custom chip, as opposed to many units of a single design, would it take to overcome whatever gains you got when running the device?
- khitchdee 14y agoIf you could identify a large population of users that could be serviced with a narrow usage scenario and they agreed to stick with their function for say a year, you could build a viable solution the fixed-function way. For example, in India, PC penetration is only a few percent. Most of the population is completely technology agnostic. If you could identify the top three uses for a computing gadget for say the farmers of India, you could build a fixed function chip at low enough cost and high enough volume for them which would give them some solution instead of no solution because PCs are too expensive or consume too much power. Users such as these would probably not ask to change their gadget for years.
- deleted 14y ago[deleted]
- GregBuchholz 14y agoHere are some links you might find interesting: Verilog:C :: Bluespec:Haskell http://www.ultratechnology.com/scope.htm http://www.ultratechnology.com/scope.htm http://en.wikipedia.org/wiki/EDRAM http://en.wikipedia.org/wiki/EDRAM
- jarel 14y agoMaybe it's just me, but I could use some explanatory text along with these links (which I certainly find interesting, but I don't see directly how they relate to what colanderman said).
- pfortuny 14y agoI should summarize the post with 'computing is not green' or even more 'human interactions' are not green. Flexibility is not green. Look at brains: they are resource hogs. But.
- crpatino 14y agoWhile I agree with your general feelings regarding this article, I would like to point out the difference between "not green" versus simply "resource intensive". Brains are certainly resource intensive, but the benefits derived from those far out-weight the cost. You could say that as an investment wetware pays off. A different issue is if those are sustainable, but given that those have existed for thousands of millions of years across multiple species, we can say they are. Human interactions have not been around for such a long time, but it can be argued that since human populations can survive (and have survived) for centuries within the restrictions of resources available to local ecosystems, those are potentially "green" too, though not necessarily to the scale we see in today's world. I will not try to discuss the benefits of human interaction or civilization, but I believe most of us will agree that it is so big that it will continue to exist for as long human beings have any amount of resources beyond the bare minimum for physical survival. Computing is a tricky one though. I do not think that in its current form those are sustainable in the long term, regardless of the benefits that we may get from them. But it does not have to do so much with the per unit cost, but with the economies of scale and huge capital investment needed for semiconductor production to be cost effective. Even if operation cost keep dropping, the race to sustain the Moore's Law calls for even more expensive and environment unfriendly manufacturing processes to be relied on. For me, this is the biggest flaw in the article. A call for manufacturing hoards of dissimilar purpose-specific chips would break the economies of scale needed to make the production of electronics viable (versus the energy consumption issue). The qualifier here is that "computing" is an abstract capability, that in this day and age we happen to realize by the application of semiconductor technology. For the long term future, I hope that we will eventually move to a different, leaner and cleaner form of technology that will fulfill the same functions.
- khitchdee 14y agoI guess I'm saying the race to sustain Moore's law may be a pointless race if we change the programmibility assumption in our ICs.
- mikeash 14y agoIs the power consumed by the CPU in efficient web browsing hardware actually a problem? I would have thought that radios and screens took up far more power. My e-ink Kindle will browse the web nearly forever between charges. The effective power consumption of half the devices I browse the web on is substantially lower than the ambient lighting I use with them.
- khitchdee 14y agoThe Intels of the world are trying to reduce the power consumption of their microprocessor based solutions and therefore claim greenness. The point of this write up is to highlight the fact that fundamentally, the microprocessor based architecture is a more general but less green way of achieving a given function. If you can pre-determine what functions your gadget is going to need, you can always build a greener solution by going fixed function.
- mikeash 14y agoYes, but they're not doing it to optimize power consumption fro web browsing. Web browsing consists of a typically very short burst of work (parsing and rendering) followed by long periods of idleness while the user actually looks at stuff. CPUs power consumption is important when you're using it constantly, but most web browsing doesn't do that.
- DougBTX 14y ago> If you can pre-determine what functions your gadget is going to need, you can always build a greener solution by going fixed function. How are you defining fixed function? For example, does eval [1] count as a function? If you have a gadget which only executes one function, eval, is it still a fixed function device? Presumably it is not, since eval can perform any function. If eval is a function which is not allowed in a fixed function device, how do you determine which functions may be used in a fixed function device? [1] http://en.wikipedia.org/wiki/Eval http://en.wikipedia.org/wiki/Eval
- khitchdee 14y ago
- nemik 14y agoIt's as if he forgets the re-use part of being green. A custom Google Chromebook ASIC will work for that and then cannot be repurposed into anything else. To add new features would mean a change of fabrication for the ASIC which is expensive and IMO insane. A tape-out is rarely done for less than $500K USD. Whereas a more general purpose design allows someone to reuse the hardware in a different way just by changing the software. Furthermore, with a more general purpose design, you gain economies of scale and the general purpose chips become cheaper as they get produced in larger quantities and get used in a variety of hardware, not just Chromebooks (as an example). A custom ASIC would only get used in one design and have to be re-done for all others. I believe this to be much more wasteful and less 'green' than widespread use of general purpose SoC's or microprocessors.
- khitchdee 14y agoToday's microprocessors use a billion gates and have to be produced on 22nm advanced processes to fit. The energy spent in producing each chip is pretty high. In the fixed function case, the gate count is a lot lower so you can use an older and cheaper and hence greener process. On average, people use their PCs for 2 years before replacing them. If a fixed function chip had to replaced say every year to update it with newer technology, it would be in the same ballpark. The change that you have to make is instead of promising your customer a gadget that is infinitely programmable through software apps, you have to ask them to decide what they want up front and stick with that decision for one year. This is a paradigm change from the user's viewpoint. Economies of scale are orthogonal to how you decide to implement the function.
- klodolph 14y agoIf I use my computer for 20 different things, then that's 20 different fixed-function chips to replace 1 CPU. It sounds like the opposite of green to me. Besides, you can already produce CPUs on old processes. There's a CPU in the remote control for your TV, and another one in your computer keyboard, and in your microwave. These have low gate counts and are built with off-the-shelf components. Replacing them with fixed-function chips would be an enormous waste.
- click_clack 14y agoBlah, blah, blah... "software bloat = CPU cycles = energy consumption". Another boring blog post about the same old crap. I really was hoping to see an article about the harsh chemicals, heavy metals and exotic compounds used in chip fabrication plants, and printed circuit board production. Not to mention the all the batteries attached to them. ...or maybe at least how we consume all these devices like candy, compared with statistics gathered on actual recycling practices employed by end users. But no. Just another head-in-the-clouds post on Hacker News about software and conflated theories about chips from some blogger who probably hasn't ever even bothered to look at the assembly produced by a compiler (or even a disassembler). Oh well.
- khitchdee 14y agoWe are actually planning to build gadgets based on fixed function chips which are significantly greener than microprocessor based solutions. Intel et al at the same time are taking microprocessor based design to its logical next steps. We want to highlight that there's an inherent flaw in making the assumption that programmable function == more utilitarian == makes more sense because that's the way its been done the last 40 years. There is a lot of bloat in today's gadgets which fixed function alternatives will completely get rid of.
- npsimons 14y agoYeah, I think this was a sub-par post. I understand that maybe the author had a different point (even though the author's grammar and spelling are competent, I suspect English isn't their first language), but I suspect that they don't have a very good grasp of electronics design, or electronics manufacturing. And this is coming from a software weenie. Sure, you could make some good points about e-waste, and the bloat of software, the inefficiency of modern processors (up until recently), or even critique the whole disposable culture, but suggesting that producing locked down chips that are practically designed for planned obsolescence is the solution? No, sorry. That argument was lost when they started putting general purpose microchips in microwaves.
- tlb 14y agoPollution from chip fabrication is worth exploring. In the old days, cleaning solvents were a big problem -- see for example http://www.sfgate.com/bayarea/article/The-valley-s-toxic-history-IBM-trial-is-latest-2826844.php http://www.sfgate.com/bayarea/article/The-valley-s-toxic-his... You should research and write such an article -- it would be valuable.
- jiggy2011 14y agoSurely the least green thing is computers that are not flexible enough? For example having software that is closely linked to hardware that is not upgradeable and locked bootloaders that don't allow older hardware to be repurposed?
- nitrogen 14y agoMicroprocessors have been adding specialized components for a long time. A simple integer processor isn't very good at working with decimal numbers, so we have dedicated floating point units. Floating point units aren't very good at massively parallel tasks like image and video processing, so we have SIMD units. Encryption still wasn't fast or efficient enough, so now we have dedicated encryption instructions in our microprocessors. Maybe one day we'll have dedicated IDCT or wavelet transform instructions in our microprocessors. However, you could argue that we already do, in the form of SoCs with on-chip GPUs and DSPs. Maybe we've already reached the point you want us to reach.
- khitchdee 14y agoThe original idea to do this came as a result of extrapolating this trend to add custom processing features to general purpose processing microprocessors in the form of SOCs. If you extrapolate out from the SOC, over time, the role of the microprocessor becomes less and less significant and that of the special function circuits more so. Khitchdee's approach was to start at the other end of the continuum.