Hacker News new | ask | show | jobs
by jkabrg 2859 days ago
Can someone explain how this works?

We've got the following chip companies: Intel, AMD, Samsung.

And we've got a bunch of "fab" companies: Intel, TSMC, Global Foundries, Samsung.

What's the difference between the two sets of companies? Why can't Intel just buy a "7nm" processor from TSMC?

And what exactly is "7nm"? The distance between the closest transistors in a chip? Just guessing.

[edit]

From browsing Wikipedia, I gather that:

  - A chip company designs a processor. The design is in the form of a circuit diagram(?)
  - A fab company turns that diagram into a physical product.
So for example, ARM designs a chip, which then gets built by Samsung. ARM is strictly responsible for design, and Samsung provides a factory.
9 comments

Intel, Samsung - They design chips as well as fabricate them. Design starts from a very high level specification down to individual transistors.

Fabs such as TSMC, Global Foundries etc.: They manufacture chips in addition to specifying the rules to be followed when laying out the logical design (circuits) on silicon. Rules differ by the given node (7nm, 10nm, 14nm etc.) and specify things such as the width of a gate, thickness of a metal wire on the chip, spacing and tolerances etc. The actual number just indicates technology advancement. 7nm means the manufacturing process is more advanced than the 10nm process and has little to do with physical reality. Hence Intel's 10nm process might not be the same as TSMC's 10nm. While Intel can in principle adhere to TSMC's 7nm process, they already have their own R&D and develop their process in-house. Switching to a different foundry's node would involve redoing a number of steps before the chip can be manufactured. Besides, fabs guard their process jealously and are very protective of their IP.

Design companies such as AMD, Qualcomm, Broadcom etc. just design the circuits and adhere to the specification of their chosen fab and node to layout the design on silicon.

Source: I worked in the EDA[1] industry.

[1] https://en.wikipedia.org/wiki/Electronic_design_automation

The first set is doing chip design and layout (think of this like the circuit diagram for the CPU). The second set is doing the actual manufacturing after being delivered a complete layout.

Intel can buy a "7nm" processor from TSMC and in fact for products that aren't their processors they actually do get other companies to manufacture their products occasionally. They don't want to release the complete design of their processor to external suppliers for IP reasons and have been leveraging their manufacturing advantage to sell more CPUs. Intel could build AMD chips in their fab but then Intel CPUs have to compete with AMD on architecture alone and lose any performance edge attributable to the manufacturing.

Technically this is the gate length of the transistor (https://nptel.ac.in/courses/103106075/Courses/Lecture21.html) but it's becoming mostly a marketing term to refer to the generation of manufacturing tech since the transistor density depends on enough other factors now that gate length alone isn't a good measure. Intel's 14nm ~= TSMC/GF 10nm and Intel's 10nm ~= TSMC/GF 7nm.

I highly recommend watching this, it's one of the best videos available on how chips are actually built and gives a great overview:

"Indistinguishable From Magic: Manufacturing Modern Computer Chips" - https://www.youtube.com/watch?v=NGFhc8R_uO4

It's just incredible how complex and advanced the hardware got, but at the same time, how crappy and inefficient the software on top of it is. I know it's simple economics and the chip foundry has an economy of scale that the Electron developer lacks. But it still feels like we're all eating garbage out of golden plates.

By the end of the next decade we will probably reach the end of what is physically possible in device fabrication, so competition will have to move to design and software efficiency.

I thought at first you were going to talk about how EDA software sucks. Now /that's/ garbage
It's a good example of the same underlying economic incentives. An EDA title is used by a few tens of thousands of professionals, at best. Large investments into making it more user-friendly and stable is not really worth it in the grand scheme of things. It needs to be just the minimal viable product that can get the chip out the door; it will be complex and feature packed rather than usable, and the engineers will learn to navigate around it's idiosyncrasies and bugs just like they solve other technical problems, it's what engineers do.

The chip itself though, that's a whole nother thing. Especially the process that works across multiple designs and becomes an asset for the company. Any nanosecond shaved here improves the capacity of the foundry to compete and helps a billion people complete the task 1% faster or have 1% more memory. The customers have no reason to work around a less performing product, they will just buy from the competition.

So you get this strange combo of supernatural hardware assembled with atomic precision by garbage software written in Perl by an outsourcing guy with 6 months total programming experience.

What does Perl has to do with this? Wouldn’t be any better if the same guy wrote it in crap Python now would it?
By the way, the lingua franca of EDA is Tcl.
Improvements in efficiency may only be needed in build and runtime systems. You may still be able to write electron apps.
That presumes the existence of a Sufficiently Smart Compiler.
There is a little more complexity that bears on why companies like Intel would have their own fab. In practice, a processor design isn’t just a circuit diagram (or a netlist: https://en.m.wikipedia.org/wiki/Netlist). A circuit diagram is an idealized model that hardware does not totally reflect. For example, wires have capacitance and transistors leak current. In fact the smaller the process node, the less the real circuits reflect idealized circuits. High-performance designs thus are tuned for the specific properties of the process.

Historically, Intel has not only led in process technology, but has reaped benefits from having the process engineers next door to the processor designers. Intel CPUs have been tuned for the exact process that will be used to make them, including by laying out transistors by hand to maximize performance.

Custom design happens with foundaries as well, of course, but there have historically been synergies from putting processor design and process design under the same roof.

I have heard the argument? Rumors? that Intel has suffered from the closeness of the chip designers to the process engineers... for a long time if the process is not robust, the designers could workaround, but that made it hard for non-in-house designers to develop. The need for robustness has forced a discipline in the tsmc process engineers to be more disciplined, which scales well downward.
Well for decades Intel's competitive advantage was the fabs. They executed well and it was hard to compete. There's been dozens of projects to compete with Intel that failed to deliver, largely because they couldn't compete with Intel's fabs. I always felt bad for AMD, they often ended up competing with Intel using fabs that were a generation behind.

However the latest stumble does show the weakness of that approach. Nothing is stopping Intel from using a 3rd party fab, however every chip they farm out is one less to amortize their fab related R&D over.

Is there any chance Apple would switch from Intel to AMD or it’s own x86 design made by TSMC?

Do they need to licence x86 fiest or some sort of other good nuff reason?

Seems pretty much impossible for anyone but AMD and Intel to make an x86 without causing IP related issues, at least in the USA. AMD did recently try to subvert this with a complex setup of partnerships for a CPU that will only be sold inside of China.

Not sure what x86 has to offer Apple though. Their control of their platform would allow them to switch architectures, just like they have twice before. It's widely rumored that Apple will migrate their x86 products to Arm based products. They have invested pretty heavily in Arm.

I mean, x86_64 came out in 2000. The basic patents behind it should be expiring right about now.
There are many patents around microarchitectural optimizations and also features like performance monitoring, virtualization, etc.

It happened a few times to me to see a new, still undocumented, feature mentioned in Intel slides, and consult the patent to learn more about it.

It's not like AMD and Intel agree on how to do performance monitoring and virtualization. What's a third implementations in the grand scheme of things?
For the roughly 150M New iPhone Unit sold every year, Apple needs just one SoC. One. And it could be reused next year.

For the roughly 25M Mac sold every year, Apple needs lots of design with different TDP. Fanless TDP sub 10W for MacBook, 15 - 25W for MacBook Air like. 35W for MacBook Pro, Upto 100W for iMac, and up to 200W for iMac Pro and Mac Pro. That is around 5 design variation for the 25M unit.

I still don't see how Apple would do it. Especially for the Pros, why would you design CPU aimed at 100W+ when they represent less than 2.5M unit per year. A lot easier just switch to AMD Zen 2 when the timing is right.

You forgot the 15-inch, so make that six.
Apple doesn't have the rights to design x86, and it will never* get them. Only Intel, AMD and Via can do that. Intel and AMD cross-license each other's patents. Not sure how Via got the rights, but I think a successful blind reverse engineering effort and a court was involved at some point. So Apple would either have to get licenses from Intel _and_ AMD or it would have to go the same route Via did. Both sound unlikely. At the same time, Apple has an excellent ARM architecture going.

*Never is a dangerous word

Patents run out. I should be able to design something using ideas from more than 17 years ago. Companies try to block this by filing continuing new patents but the time limit should allow only using the old ideas.
the old ideas aren't good enough to compete in 2018. You're going the stuff that remains patented in order to stay relevant
Most programs aren't going to notice a lack of AVX.
How about Apple buying Via?
Not possible from my understanding. The only reason Via has an x86 license is due to a successful settlement (forgot details of the case) with Intel in 2003[0] after acquiring assets from National Semiconductor and under the terms of the settlement got a 10yr license. That got extended to 15yrs and is due to expire this year last I heard.

Licenses to the x86 ISA can’t be bought or transferred via acquisition. Re: the other question someone asked about patent expiration, a patent expired version of the ISA is pretty worthless. Each new iteration gets new patents.

Update: [0] - a source for Via lawsuit: https://www.cnet.com/news/intel-via-bury-the-hatchet/

That would be the way to go, but why invest in x86 at the time where it mattered the least to Apple's bottom line?

ARM is the way to go.

Is there a reason RISC V is off the table?
Apple actually has enough cash to buy Intel. Or AMD 10 times.
AMD's licenses from Intel have some strings attached. I think they basically cannot be bought while keeping the rights to x86. A bought AMD could possibly threaten to no longer grant licenses to Intel, but I'm sure Intel's lawyers have thought of that.

Apple buying Intel could work, I guess (anti-trust might get involved), but I don't think it would be a wise investment. Apple doesn't have the volume to keep Intel busy alone.

They'd surely try an in-house ARM design long before considering an x86 chip of their own design, especially given Apple's enormous success with their own ARM designs in the cellphone space. Rumor mill has been suggesting such a move for a while too.

Apple have successfully managed major instruction set transitions in the past, I think x86 to ARM would probably be the "easiest" one yet.

Intel could bet on technologies that allow leverage their design-fab close relationships.

Like integrating more non-CPU things into the CPU. FPGA, neural coprocessors, DSP, and stuff. FPGA is on the way, but while just couple together CPU and FPGA connecting them by QPI is great, but it's not the things I'm talking about.

What we could wait from Intel is coprocessors real-time offloading, automagically done by (very sophisticated as on Intel x64) CPU control unit. Tight coupling might allow very fast (partial) reconfiguration of that FPGA-like coprocessors - and that's when you need your own fab to make that coupling really tight, and optimize everything down to the last bit.

I've been wondering what Intel's moves will be now they own Altera (FPGA). Was tinkering with dev boards with Cyclone V FPGA with embedded ARM - but if Intel kills that then they lose me to Xilinx zynq, I'm not interested in the Intel ISA.
Intel released Xeon Gold 6138P processor with a built-in Altera Arria 10 GX 1150 FPGA recently. Considering the all obstacles on the way to merge two big companies, that was almost fast.
It's good (and expected) that Intel merge their cores with Altera's FPGAs. My worry is that Intel will drop ARM (given the earlier StrongARM market exit) and leave the market that Altera created for FPGA-ARM SoCs. Of course, they can assuage that fear by making a concrete public commitment to a 5 year roadmap which includes ARM, for example. But in default of that, you have to wonder if investing in learning their tooling and ARM integration will be a waste of time. Which will be their loss, and Xilinx's gain.
> the market that Altera created for FPGA-ARM SoCs

Wasn't it Actel with SmartFusion?

Intel have historically been very good at fabrication, which represented a considerable competitive advantage. Outsourcing fabrication is much less capital-intensive and can be more flexible, but it's potentially less profitable because the foundry needs to make a profit. The relationship between a chip design company and their foundry partner is fairly complex (especially at cutting-edge nodes), with the foundry providing considerable expertise and design support.

Node size names have become fairly arbitrary, with no direct connection to any particular feature size. Intel's 10nm is effectively the same as everyone else's 7nm. In either case, the actual pitch between transistor gates is about 54nm. There are ostensibly standards set through the IRDS, but there's a clear marketing imperative to advertise a smaller node size.

It's not a concrete distance, but moreso a range. I think 7nm is the bottom of the range so the distance would be 7nm-14nm. 10nm chips have distance ranges of 10nm to 20nm.

I think at that size it is very difficult to get exacts.

Fab refers to a plant than manufactures the chips, versus designs them. I think Intel does both?

The design of the processor is specific to the fabrication technology. Notably Intel has been the industry leader in fab technology and capacity for some time. It's simply very difficult to compete with their ability to crank out CPUs at their volume and performance levels. Intel could "simply" crank out CPUs via TSMC but it wouldn't be to their advantage.
Short and to the point answers:

>And what exactly is "7nm"?

The size of pixel in an IC, or it used to be so. For convenience, just think that it still is.

>Why can't Intel just buy a "7nm" processor from TSMC?

Intel can dual source fab capacity, (they make part of Atom line at TSMC, part in house) and did so in the past. Besides technicalities, a lot has to do with pride.

At my time at Intel, the company was fab-constrained. Intel ran some parts on outside fabs. The decision as to which ones was easily made by sorting projects in order of gross margin per wafer. Highest margin parts ran on Intel fab, when the fab was full, the project had to hunt down fab capacity elsewhere.