Is there an estimate as to how a common CPU (for example, Intel i7) would improve if all of its logic circuits were reduced to their theoretical minimum, in the sense explained here? By "improve" I mean in metrics such as: size, number of transistors, power consumption, speed.
closed as too broad by JIm Dearden, PeterJ, Bence Kaulics, old_timer, placeholder Jun 1 '16 at 15:18
Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.
I worked for a decade at a startup doing computerised logic improvement for chip designers; we were eventually bought by Cadence.
We had, among a whole bunch of other tools, a heuristic logic minimiser. It was a fairly simple thing that just pushed "bubbles" (negations) around, and attempted to absorb gates into the slightly more efficient AOI or OAI composite gates. It would then compute a cost function to see if this was a good idea.
What turned out to be far more critical was logic duplication. It seems counterintuitive to add more gates computing the same logic function, but the important thing in ASIC performance is the critical path. The logic path that takes longest to compute determines the speed of the whole chip. Adding additional outputs from a gate slows it down, especially if those outputs are to far-away locations. You could get a noticeable improvement by having two copies of logic to compute f(A,B,C) where one was "fast" and close to where it was needed and another "slow" one to a less-critical destination.
The extreme of this is buffering. A naive logic removal function would take out all your buffers - after all, they're just the identity function - which would save you a lot of area but ruin the speed.
Optimal logic placement is, I think, also NP-complete. It's very similar to subset-sum. Again, this is one of those problems which is easiest to solve in practice by pretending it's linear, throwing it at an LP-solver, and having other bits of program go round tidying up the nonlinearity.
The CPU chips that you can buy (for example, Intel i7) are optimized for the maximum speed and lowest power available at the current level of high-volume manufacturing process technology. To be sure they are always working on the feature set, circuit design, device technology, and the manufacturing processes that will help make the next generations of CPU chips even faster and lower power.
Theoretical gates in a college text are quite a different thing from integrating literally billions of transistors on a chip the size of your thumb-nail. The actual transistor-level circuit that goes into a gate is quite different if you compare a simple 7400 quad NAND gate small-scale integration vs. a modern high-end CPU chip.
And approaching the clock-speed limit in traditional Silicon-based semiconductor chips means that increasing performance has shifted to using parallel processing vs. sheer linear-path speed. But there may be other elements that offer speeds beyond what we can get out of silicon.