3 ms·
This might seem like a stupid question, but why does the number of transistors relate to processing speed?
by yummybear 11y ago
This might seem like a stupid question, but why does the number of transistors relate to processing speed?
- brixon 11y agohttps://en.wikipedia.org/wiki/Moore%27s_law https://en.wikipedia.org/wiki/Moore%27s_law "Moore's law (/mɔərz.ˈlɔː/) is the observation that the number of transistors in a dense integrated circuit doubles approximately every two years. "
- WhitneyLand 11y agoParallel processing is a big reason. For example GPUs use tons of transistors to replicate the same units over and over, allowing many results to be calculated at once. There are also other ways to get speed from more transistors. For example see speculative execution.
- 0xcde4c3db 11y agoTwo reasons: 1) More transistors per unit area means that they're smaller, which means (all other things being equal, which is far from a good assumption for the past several shrinks) that it takes less energy to switch them, which in turn ideally means that they can also be switched faster. 2) More cache fits on a die of a given size/price.
- vidarh 11y agoYou can speed up any given instruction basically in two main ways: Increase clock frequency or do more per clock. Increasing clock frequency is tricky because you end up spending more and more of chip area to keep the clock in sync, and the chip will also run hotter unless you also manage to lower voltage drastically (which has its own problems); I don't know what it's like these days, but one of the DEC Alpha CPUs spent 40% of the die area just to keep the clock stable (because basically "everything" on the chip is contributing to skewing the clock one way or the other) You may have noticed that clock speed increases have tapered off drastically. They're hard to do without ridiculous power usage. IBM's POWER CPUs still chase clock speed, because they're not as limited by the same constraints (targeting very specific niches). The other alternative is to do more per cycle. That means trying to squeeze out whatever parallelism you can from the instruction stream and executing as much as you can in parallel. To be able to execute in parallel, you need multiple copies of various parts of the logic so each copy can process part of the work for one instruction.
- scott_s 11y agoExcellent explanation, but I think it's missing a simple point yummybear may not know: "transistors" are the unit with which we build logic on processors. More transistors means more logic on the chip. More logic on the chip means you can do more. For a long time "do more" meant "execute a single stream of instructions faster", but that hit a wall because of the reasons vidarh explained. Now "do more" tends to mean "execute multiple streams of instructions".
- revelation 11y agoWhy is it important to keep the clock stable? Or rather, what level of stability are we talking about? I would think that a customer doesn't particularly care if the clock is fluctuating 100MHz.
- nikdaheratik 11y agoThe clock is used to move items along the processing pipeline (between one set of transistors and another). If you don't keep everything in sync, then instructions get executed out of order and that's bad, obviously.