English | Farsi
Welcome Guest
Sign Up Forget Password?
Home » News » Going 3D for more powerful and environmentally-friendly microchips
Sign in
Username
Password
Forget password?

 Search Technologies
keyword
Database

 Search Contents
keyword
 
Going 3D for more powerful and environmentally-friendly microchips 2009-12-19 01:27:09

From single-core to multicore

You may argue that writing a text document or viewing your holiday pictures are very simple tasks that don't require much number crunching at all, but the fact is that periodically updated, stable and secure operating systems with pretty-looking graphics invariably require more and more processing power.

So, when a single core just isn't enough to write that novel you've been working on, multicore designs come into play. But why can't we just keep using faster and faster single-cores? Power consumption is often the only reason cited to motivate the transition, but there are at least another two that deserve to be mentioned.

Instruction-level parallelism refers to how well a complex operation can be subdivided into simpler steps that can be computed in parallel, then recombining the partial results for a performance increase that is a factor of how many different "processing streams" were created. Using multiple cores improves parallelism both at the instruction level and, taking a few steps back, at the process level, improving the system's responsiveness.

You may argue that writing a text document or viewing your holiday pictures are very simple tasks that don't require much number crunching at all, but the fact is that periodically updated, stable and secure operating systems with pretty-looking graphics invariably require more and more processing power.

So, when a single core just isn't enough to write that novel you've been working on, multicore designs come into play. But why can't we just keep using faster and faster single-cores? Power consumption is often the only reason cited to motivate the transition, but there are at least another two that deserve to be mentioned.

Instruction-level parallelism refers to how well a complex operation can be subdivided into simpler steps that can be computed in parallel, then recombining the partial results for a performance increase that is a factor of how many different "processing streams" were created. Using multiple cores improves parallelism both at the instruction level and, taking a few steps back, at the process level, improving the system's responsiveness.

Memory usage is another big issue. Memory clock speeds don't increase as quickly as CPU clock speeds and this means that, to keep pace, larger and larger caches should be used. Given their cost, this is quite obviously an unpractical road. The lower clock speeds in multicore processors is one of the factors that help achieve a more efficient use of memory.

Finally, power efficiency is also extremely important. A presentation from Intel (PDF) offers a very fitting example. Suppose we have a single-core processor running at its normal frequency: we may use this as a benchmark and say that it yields one unit of performance per unit of power drawn. If we try to overclock it, which is what hardcore gamers and other demanding professionals often do, we typically obtain a 13 percent increase in performance, but we pay for it with a (typically) 73 percent increase in power, which makes overclocking generally a bad idea.

What we can do instead is experiment by going against the current and actually underclock the processor. If we are willing to accept a specular 13 percent decrease in performance down to 0.87 "performance units," we find that now only 0.51 units of power are required: our CPU suddenly becomes much more power-efficient — about 1.73 units of performance per unit of power, a 73 percent increase with respect to our benchmark. To obtain more processing power, we simply connect several underclocked cores together: the speeds won't simply add up — a dual-core 1.6GHz processor is a bit slower than a single-core 3.2GHz — but we'll preserve our power efficiency.

Memory usage is another big issue. Memory clock speeds don't increase as quickly as CPU clock speeds and this means that, to keep pace, larger and larger caches should be used. Given their cost, this is quite obviously an unpractical road. The lower clock speeds in multicore processors is one of the factors that help achieve a more efficient use of memory.

Finally, power efficiency is also extremely important. A presentation from Intel (PDF) offers a very fitting example. Suppose we have a single-core processor running at its normal frequency: we may use this as a benchmark and say that it yields one unit of performance per unit of power drawn. If we try to overclock it, which is what hardcore gamers and other demanding professionals often do, we typically obtain a 13 percent increase in performance, but we pay for it with a (typically) 73 percent increase in power, which makes overclocking generally a bad idea.
 

What we can do instead is experiment by going against the current and actually underclock the processor. If we are willing to accept a specular 13 percent decrease in performance down to 0.87 "performance units," we find that now only 0.51 units of power are required: our CPU suddenly becomes much more power-efficient — about 1.73 units of performance per unit of power, a 73 percent increase with respect to our benchmark. To obtain more processing power, we simply connect several underclocked cores together: the speeds won't simply add up — a dual-core 1.6GHz processor is a bit slower than a single-core 3.2GHz — but we'll preserve our power efficiency.

Copyright ©PARDIS TECHNOLOGY PARK. All Rights Reserved
Powered by PARSADEV