switching between 0 and 1 is what consumes power

By: Heikki Kultala (heikki.kultal.a.delete@this.gmail.com), November 21, 2022 7:23 am
Room: Moderated Discussions
Andrey (andrey.semashev.delete@this.gmail.com) on November 21, 2022 4:23 am wrote:
> This will probably be a naive and silly question, but I'm curious.
> Assuming that a logical one is represented with a higher voltage than a logical zero in the IC,
> is it fair to say that ones are more expensive to process in terms of power and heat? That is,
> if it takes more energy to charge a DRAM or SRAM cell to a level of one (in case of DRAM - also
> to refresh it), if it takes more voltage to transfer the signal along the traces, if this voltage
> makes more heat in the transistors implementing a logical circuit within the IC, thus causing
> more leakage current, wouldn't it be more expensive? I wonder if someone tested this.

No. Because there is no absolute 0 that is somehow "natural".
The zero is just the lower of the two voltage levels.

And on CMOS, there are always two transistors in pair. One to connect to zero, one to connect to 1.

But on some very old mfg processes, there was only single transistor, and connection to the other voltage level was through a resistor. In those mfg processes, there was considerable leakage difference between 0 and 1. And in the most common of these, 1 consumed less power than 0.

> If there is a measurable difference, wouldn't it make sense to account for that when designing the ICs and
> writing software? On the hardware level, it might make sense to process negated signals or a mixture of positive
> and negated signals to reduce the number of "ones" or at least make them statistically closer to "zeros" so
> to reduce the possible power consumption spikes. In software, it would make sense to prefer zero or power-of-two
> representations of data more often. Of course, it is not possible to have a useful machine (both in hardware
> and software) processing only zeros, but some difference could be made. Or could it?

What matters is minimizing the switching activity, as the switching is what really consumes lots of power. And inverting bits to minimize ones or zeroes easily cause LOTS of extra switching.

If we want to change some encoding to minimize the power of some signals, it would make sense to make some counters use gray encoding which only needs to change 1 bit with incrementation/decrementation.
< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
Is 1 more expensive than 0?Andrey2022/11/21 05:23 AM
  Is 1 more expensive than 0?Juha Lainema2022/11/21 06:15 AM
  Is 1 more expensive than 0?Adrian2022/11/21 07:21 AM
    Is 1 more expensive than 0?anon22022/11/21 05:29 PM
  switching between 0 and 1 is what consumes powerHeikki Kultala2022/11/21 07:23 AM
    Thank you all for your answers. (NT)Andrey2022/11/21 08:29 AM
  Is 1 more expensive than 0?Foyle2022/11/21 08:58 AM
    Is 1 more expensive than 0?Michael S2022/11/21 10:51 AM
    Is 1 more expensive than 0?Captain Obvious2022/11/21 11:29 AM
      obvious stuffanonymou52022/11/21 02:25 PM
        obvious stuffAndrey2022/11/21 02:50 PM
          obvious stuffMichael S2022/11/21 03:43 PM
  SRAM is bistableAnon2022/11/21 10:50 AM
    SRAM is bistableAndrew Clough2022/11/22 05:53 AM
  NAND Flash 1 and 0jokerman2022/11/24 01:13 PM
    NAND Flash 1 and 0Joern Engel2022/11/25 12:00 AM
      NAND Flash 1 and 0Ungo2022/11/25 02:26 AM
        The ECC needs to be stored. as ones ane zeroes (NT)Heikki Kultala2022/11/25 08:31 AM
          The ECC needs to be stored. as ones ane zeroesanon22022/11/25 05:07 PM
            The ECC needs to be stored. as ones ane zeroesHeikki Kultala2022/11/26 12:48 AM
              The ECC needs to be stored. as ones ane zeroesanon22022/11/26 02:00 AM
Reply to this Topic
Body: No Text
How do you spell tangerine? 🍊