it is more durable than you may assume
What number of transistors are in Intel’s 8086 processor? This looks like an easy query, nevertheless it does not have an easy reply.
Most sources say that this processor has 29,000 transistors.1
Nevertheless, I’ve traced out each transistor from die images and my depend is nineteen,618. What accounts for the 9382 lacking transistors?
The reason is that when producers report the transistor depend of chips, usually usually report “potential” transistors.
Chips that embody a ROM could have completely different numbers of transistors relying on the values saved within the ROM.
Since advertising does not wish to publish various numbers relying on the variety of 1 bits and 0 bits, they usually depend ROM websites:
locations that might have transistors, however won’t.
A PLA (Programmable Logic Array) has comparable points; the transistor depend depends upon the specified logic capabilities.
What are these potential transistor websites?
ROMs are usually constructed as a grid of cells, with a transistor at a cell for a 1 bit, and no transistor for a 0 bit.2
Within the 8086, transistors are created or not by the sample of silicon doping.
The photograph beneath exhibits a closeup of the silicon layer for a part of the 8086’s microcode ROM. The empty areas are undoped silicon, whereas the opposite areas are doped silicon.
Transistor gates are shaped the place vertical polysilicon strains (eliminated for the photograph) handed over the doped silicon.
Thus, relying on the information encoded into the ROM throughout manufacturing, the variety of transistors varies.
A closeup of a part of the microcode ROM. The darkish circles point out vias between the silicon and the steel on prime.
The diagram beneath offers extra element, exhibiting the microcode ROM up shut. Inexperienced T’s point out transistors, whereas crimson X’s point out positions with no transistor.
As you may see, the potential transistor positions kind a grid, however solely a few of the positions are occupied by transistors.
The frequent technique for counting transistors counts all of the potential positions (18 beneath) moderately than the precise transistors which are applied (12 beneath).
An excessive closeup of the microcode ROM. Inexperienced T’s point out transistors, whereas crimson X’s point out positions with no transistor.
I discovered an Intel history that confirmed that the 8086 transistor depend consists of potential websites, saying
“That is 29,000 transistors if all ROM and PLA obtainable placement websites are counted.”
That paper offers the approximate variety of (bodily) transistors within the 8086 as 20,000. This quantity is near my depend of 19,618.
To get a transistor depend that features empty websites,
I counted the variety of transistor websites within the numerous ROMs and PLAs within the 8086 chip. That is more durable than you may count on as a result of the smaller ROMs, such because the fixed ROM,
have some structure optimization.
The photograph beneath exhibits a closeup of the fixed ROM. It’s primarily a grid, however has been “squeezed” barely to optimize its structure, making it barely irregular.
I am counting its “potential” transistors, however
one might argue that it should not be counted as a result of filling in these transistors may run into issues.
Closeup of the fixed ROM exhibiting the silicon and polysilicon.
The next desk breaks down the ROM and PLA counts by subcomponent.
I discovered a complete of roughly 9659 unfilled transistor vacancies. When you add these to my transistor depend, it really works out to 29,277 transistors.
Part | Transistor websites | Transistors | Vacancies |
---|---|---|---|
Microcode | 13904 | 6210 | 7694 |
Group Decode ROM | 1254 | 603 | 651 |
Translation ROM | 1050 | 431 | 619 |
Register PLAs | 465 | 182 | 283 |
ALU PLA | 354 | 170 | 184 |
Fixed ROM | 203 | 109 | 94 |
Situation PLA | 160 | 74 | 86 |
Phase PLA | 90 | 42 | 48 |
The picture beneath exhibits these ROMs and PLAs on the die and the way a lot the vacancies improve the transistor depend.
Not surprisingly, the big microcode ROM and its decoding PLA are chargeable for many of the vacancies.
The 8086 die with transistor emptiness counts and the way a lot they contribute to the ultimate transistor depend. (Click on this picture or another for a bigger model.)
Potential exclusions
So are my counts of 19,618 transistors and 29,277 transistor websites appropriate?
There are some subtleties that might decrease this depend barely.
First, the output pins use massive, high-current transistors. Every output transistor is constructed from greater than a dozen transistors wired in parallel.
Ought to this be counted as a dozen transistors or a single transistor? I am counting the element transistors.
An output pad with a bond wire hooked up. Driver transistors subsequent to the pad are constructed from a number of transistors in parallel.
The 8086 has about 43 transistors wired as diodes for numerous functions. Some are enter safety diodes, whereas others are used within the cost pump for the substrate bias generator.
Ought to these be excluded from the transistor depend? Bodily they’re transistors however functionally they don’t seem to be.
The 8086 is constructed with NMOS logic which builds gates out of lively “enhancement” transistors in addition to “depletion” transistors which principally act as pull-up resistors.
I depend 2689 depletion-mode transistors, however you would exclude them from the depend as not “actual” transistors.
Conclusions
The variety of transistors in a chip is more durable to outline than you may count on.
The 8086 is often described as having 29,000 transistors when together with empty websites in ROMs and PLAs that probably might have a transistor.
The revealed variety of bodily transistors within the 8086 is “roughly 20,000”.
From my counts, the 8086 has 19,618 bodily transistors and 29,277 transistors when together with empty websites.
Given the potential uncertainties in counting, it isn’t shocking that Intel rounded the numbers to the closest thousand.
The observe of counting empty transistor websites might appear to be an exaggeration of the actual transistor depend, however there are some good causes to depend this manner.
Together with empty websites offers a greater measure of the scale and complexity of the chip, since these websites take up space whether or not or not they’re used.
This quantity additionally lets one depend the variety of transistors earlier than the microcode is written, and it is usually steady because the microcode adjustments.
However when transistor counts, it is good to know precisely what’s getting counted.
I plan to proceed reverse-engineering the 8086 die so
comply with me on Twitter @kenshirriff or RSS for updates.
I’ve additionally began experimenting with Mastodon lately as @[email protected].
I mentioned the transistor depend within the 6502 processor here.