News for hackers. Stuff that matters.
Re:Intel's 10nm Is Broken, Delayed Until 2019 by codemusings on Friday April 27, 2018 @05:32AM (#16939498)
Can someone explaing why it's important to increase the density instead of increasing the size of a CPU?

Knowing nothing about chip design I'm probably thinking about this the wrong way but socket backwards compatability aside is it not feasible to simply increase the chip size? Is a higher density more rewarding?

Re:Intel's 10nm Is Broken, Delayed Until 2019 by Nokinside on Friday April 27, 2018 @06:23AM (#16939664)
Power, heat and the speed of electrical signal.

Power use increases quadratically with voltage. You want small transistors to keep the voltage and power use from getting out of hand. You also need to increase voltage if you want to increase clock speed.

Electric signal travels in a conductor roughly 15 cm/nsec. With 3 GHz clock speed the electric signal travels travels roughly 50 mm in one clock cycle. Largest microchips are 30 mm across. You can't double the dimensions without dealing with the signal lag. Delivering the clock signal to every part of the chip in sync is already a problem. Modern microchips use lots of extra circuitry just to deliver the clock signal properly.

Re:Intel's 10nm Is Broken, Delayed Until 2019 by kingosticks on Friday April 27, 2018 @09:33AM (#16940629)
> You also need to increase voltage if you want to increase clock speed.

Or use lower VT cells (they turn "on" quicker), at the expense of increased leakage power. But at these geometries, faster clock speeds is getting less feasible and you need to find increased performance in other ways.

No logic signal needs to cross the entire die in one clock cycle, there is always an alternate design. For that reason, only registers 'talking' to each other need to see a clock at the same time, and even then there is a window. Clock routing is a consideration that takes resources but it's not a problem. Realistically, a logical signal won't be going anywhere remotely near 50mm at 3GHz in 10nm, so the clock doesn't need to either.

Max die size is also limited by the vendor's tooling i.e. what their machines can literally handle. And also physical issues such as warpage. If you make a massive die and it heats up in a non-uniform manner (different bits of it get hot at different times), it expands in a non-uniform manner. This can lead to all kinds of problems.

Chips stuffed full of memory will yield better than a logic-heavy chip since large SRAMs always now include redundancy. So this too has an impact on how big you can go for a given cost. You can however get registers that are built of multiple storage elements, the output value of which is the consensus. Don't know how much these get used.

Re:Intel's 10nm Is Broken, Delayed Until 2019 by Nokinside on Friday April 27, 2018 @10:31AM (#16941003)
Numbers I mentioned are just physical maxims.

In reality its the signal speed relative to jitter, time interval errors and data setup times that complicate the design and signal integrity.

If the clock is 3GHz, the margin of error is the fraction of the time of the clock rate. You need to divide the chip into clock regions and add local cache for each core because fetching data far away is too slow.

Re:Intel's 10nm Is Broken, Delayed Until 2019 by kingosticks on Friday April 27, 2018 @11:12AM (#16941346)
Sure, but that's all independent of the size of the chip.
Re:Intel's 10nm Is Broken, Delayed Until 2019 by slivym on Friday April 27, 2018 @08:28AM (#16940272)
Whilst it's true that modern chips have problems with routing clocks, that's not really a limiting factor in chip size. You split the design into clock regions and have clock crossing logic. There's obvious ways this happens - multi-core designs have different clocks for different cores for example. That's not really the limiting factor for chip size.
Re:Intel's 10nm Is Broken, Delayed Until 2019 by Nokinside on Friday April 27, 2018 @10:53AM (#16941175)
The cost of clock regions is slower speeds between tiles and more transistors and power wasted in clock management. In the end you need need buffers and cache for cache for cache to maintain speed and locality. All this wastes transistors.
Re:Intel's 10nm Is Broken, Delayed Until 2019 by fyi1183 on Friday April 27, 2018 @11:24AM (#16941454)
Do you have a good source on how clocks work in modern designs? From the high level down to the actual circuits?

I've always wondered why you can't generate clocks locally, but in a synchronized way. So basically like clock regions, but without having to add extra logic for data that goes between regions.

Re:Intel's 10nm Is Broken, Delayed Until 2019 by dragontamer on Friday April 27, 2018 @11:32AM (#16941537)
You can do this. Its called a "bus". CPUs communicate over a bus (ex: AMD's SerDes, which creates the Infinity Fabric. Or Intel's "Mesh Network") with each other on the die itself.

CPU Cores use a singular clock. But when cores communicate or the L3 cache communicates (cache coherency is needed if you want that mutex / spinlock to actually work), then you need some kind of communication mechanism between the CPU Cores. Those clocks are likely "locally generated", but there needs to be a translation mechanism between Bus -> Core.

Re:Intel's 10nm Is Broken, Delayed Until 2019 by fyi1183 on Friday April 27, 2018 @05:03PM (#16944307)
It's possible I misunderstand you, but I don't think we're talking about the same thing.

With buses, you have different clocks and data moves between them. Like you said: CPU core 1 has its own clock, the bus between them has its own and different clock, and then CPU core 2 has its own clock which is yet again different. And in those cases you actually want different clocks, because you want to be able to boost CPUs independently from each other.

What I meant goes in another direction: instead of having a single powerful clock source for e.g. a CPU core, you have multiple smaller clock sources distributed throughout the core, but synchronized to each other so they run at the same frequency and phase. So data can move freely like it does today, but clock signals don't have to be distributed as far, which would hopefully make clock distribution easier and less power hungry.

It seems like such a thing should be possible, but perhaps there are good reasons why it isn't done?

Re:Intel's 10nm Is Broken, Delayed Until 2019 by dragontamer on Saturday April 28, 2018 @12:56PM (#16948498)
Two things:

1. Clocks don't use a lot of power. Think of a pendulum: there's a lot of movement but the energy constantly swings between gravitational potential energy and kinetic energy. Although there's lots of movement, the device uses very little energy. Similarly, a clock circuit (called an oscillator) barely uses any electricity: it mostly "Swings" energy back and forth between an inverter and a capacitor.

2. Distributing a clock over a long distance similarly uses very little power (!!) due to transmission line theory. You can effectively use the parasitic capacitance in wires themselves to effectively do this pendulum effect for efficient long-distance transmission of clocks. See: https://en.wikipedia.org/wiki/Transmission_line

This gif shows an animation of the pendulum effect in a longer-transmission line: https://upload.wikimedia.org/wikipedia/commons/8/89/Transmis...

----------------

I guess things could be de-sync'd for more efficiency. But your question is kind of like "Well, can't we get rid of V-Tables in C++ to make branch-prediction more efficient??"

I mean, we can. But V-Tables / Polymorphism really doesn't take a lot of time. We only do that if the performance gain really matters.

Re:Intel's 10nm Is Broken, Delayed Until 2019 by fyi1183 on Saturday April 28, 2018 @01:55PM (#16948763)
Interesting, thanks. I'll see if I can grok this from the link you gave.

I do have one follow-up question though: I was under the impression that clock trees contain repeaters in the form of CMOS inverters. Wouldn't those have dynamic leakage which the transmission line stuff doesn't account for?

Re:Intel's 10nm Is Broken, Delayed Until 2019 by dragontamer on Saturday April 28, 2018 @02:38PM (#16948917)
I'm not really an expert at the VLSI level, I'm simply thinking from a PCB-perspective (and I just know that some of the same issues occur in the smaller chip-level design).

From my understanding: yes, the CMOS inverters will certainly use power. But you can minimize the use of them through some passive techniques.

Looking into the issue more, it does seem like a naive implementation of synchronized clocks can become costly. But at the same time, I'm seeing a number of research papers suggesting that people have been applying transmission-line techniques to the clock distribution problem.

I've always assumed that it was something that was commonly done at the chip level, but apparently not. These papers were published ~2010 or so.

Re:Intel's 10nm Is Broken, Delayed Until 2019 by bb88 on Friday April 27, 2018 @05:03PM (#16944308)
Some signals are sent in such a way that you can recover the clock signal from the state transitions. Then use that clock signal to drive the rest of your circuit.
Re:Intel's 10nm Is Broken, Delayed Until 2019 by codemusings on Friday April 27, 2018 @07:53AM (#16940033)
Thank you for your answer. Very interesting. I was vaguely aware of how clock cycles work but the signal lag problem didn't even occur to me.
Re:Intel's 10nm Is Broken, Delayed Until 2019 by veritas3241 on Friday April 27, 2018 @08:28AM (#16940270)
I highly recommend Code by Charles Petzold. Personally, it helped me to have a more intuitive understanding of clock cycles and the underlying architecture of computers. https://www.goodreads.com/book/show/44882.Code
Re:Intel's 10nm Is Broken, Delayed Until 2019 by vinn124 on Friday April 27, 2018 @08:24AM (#16940248)
the quality and preciseness of this answer is why i read hn every day.
Re:Intel's 10nm Is Broken, Delayed Until 2019 by Const-me on Friday April 27, 2018 @06:00AM (#16939599)
One reason is cost. Large size means there’re fewer chips produced per wafer, which means every single chip will cost more, proportionally to the area of a single chip.

Another reason is yield. Defects are inevitable. Their probability per unit of area is roughly constant, i.e. it doesn’t depend on the area of a single chip. Therefore, the probability of one or more defects on a single chip is proportional to the exponent of the chip area. With larger chips, that exponent grows very quickly.

Re:Intel's 10nm Is Broken, Delayed Until 2019 by heavenlyblue on Friday April 27, 2018 @06:15AM (#16939640)
You can always separate the chip into smaller cores and disable the ones that don't work.
Re:Intel's 10nm Is Broken, Delayed Until 2019 by Const-me on Friday April 27, 2018 @06:32AM (#16939693)
The tactics works well for GPUs. But for CPUs, you only can do that sometimes, not always.

Cores only make about half of the area. If the error is not in a core but in e.g. RAM controller or IO controller, you have to throw away the complete chip.

Re:Intel's 10nm Is Broken, Delayed Until 2019 by dizzystar on Friday April 27, 2018 @05:43AM (#16939539)
I asked someone who worked on chips a similar question. The density helps connecting the parts. If the nodes aren't near each other, they have to move through other nodes to get from one to the other, and that process is "slow" in the world of chips.

I guess it's like trying to get from LA to SF. You could get to SF of you 10x'd the size of earth, but it would still more than 10x as long despite having the same connections because you'd need to stop for some extra connections to even make it.

Re:Intel's 10nm Is Broken, Delayed Until 2019 by dragontamer on Friday April 27, 2018 @11:29AM (#16941504)
> Can someone explaing why it's important to increase the density instead of increasing the size of a CPU?

* Yields: silicon wafers have regular manufacturing errors. A bigger die means more failed CPUs, grossly increasing prices. Smaller dies isolate those errors better, leading to better yields. Lets say there are around 20-errors per wafer. 100-chips per wafer would result in ~80is to 85ish successful chips per batch.

If you shrunk the die so that you had 500-chips per wafer, then you have 480-chips after manufacturing (20-defects).

Wafers are a constant size. Errors are relatively constant as well. You can't change those numbers.

* Power: Smaller feature sizes use less power. Smaller capacitance, so the signals travel faster and generally speaking the design can be clocked higher.

Re:Intel's 10nm Is Broken, Delayed Until 2019 by st26 on Friday April 27, 2018 @10:33AM (#16941021)
Aside from the other reasons provided, there's also something called the reticle limit. The manufacturing process will have a maximum die size, due to the finite size of the optics used to expose the photoresist.
Re:Intel's 10nm Is Broken, Delayed Until 2019 by dracyr on Friday April 27, 2018 @05:36AM (#16939516)
It is basically an issue with the thermal capacity of the chip, larger size means more heat.
Re:Intel's 10nm Is Broken, Delayed Until 2019 by snuxoll on Friday April 27, 2018 @12:56PM (#16942288)
This right here is the big one, to be honest. Yes, clocks, latency between parts of the die, etc are all problems - but they can be worked around with some effort.

Thermals and also power delivery are huge problems with large chips, just compare the massive 471 mm2 die of the GP102 (1080 Ti/Titan X) to the 150 mm2 die of the Coffee Lake hexacore chips. GP102 can draw 250-300W depending on boost clock, the Core i7-8700K can also draw upwards of 200W depending on how high you push the clocks and vCore (to keep said clocks stable).

There's a reason why board-partner GPU's always have huge coolers attached to them, and why people pushing CPU clocks are often using at least a giant air cooler like the Hyper 212 EVO or an AIO liquid cooler with a 240mm+ radiator.

Hell, let's skip thermals and just talk electricity - getting 200W+ of stable power to the cores on these dies is no easy task as-is, that's why you have people like buildzoid doing reviews of power delivery on motherboards and GPU boards to see if VRM's are going to blow up trying to power your expensive hardware if you're overclocking (or sometimes even if you aren't).

All in all, we have thermal and power scaling issues at current chip sizes - making them bigger isn't particularly feasible unless everybody is going to start installing 360mm radiators in their system and even that might not be enough depending on clock speeds and the vCore required to maintain them.

Re:Intel's 10nm Is Broken, Delayed Until 2019 by dogma1138 on Friday April 27, 2018 @09:44PM (#16945705)
8700K pushes 130W at 5ghz all Core OC under full AVX load without offset even uner LN you won’t get 200W from a 8700K.
Re:Intel's 10nm Is Broken, Delayed Until 2019 by PaulHoule on Friday April 27, 2018 @11:47AM (#16941660)
Cost too. Many costs scale with die area, so a smaller chip has a cost advantage over a big chip all things considered.
Re:Intel's 10nm Is Broken, Delayed Until 2019 by baybal2 on Friday April 27, 2018 @06:00AM (#16939601)
>Can someone explaing why it's important to increase the density instead of increasing the size of a CPU?

If you compare semiconductors to crops, this determines how much bucks you get from an acre of silicon wafer.

Re:Intel's 10nm Is Broken, Delayed Until 2019 by jeremejevs on Friday April 27, 2018 @07:51AM (#16940021)
I do believe that the savings from getting more dies out of a wafer are non-negligible (wafers themselves are somewhat cheap, but the equipment they're wearing out with each pass - not so much), but my guess is that they aren't the main driver behind the process shrinking.