http://www.righto.com/2013/09/intel-x86-documentation-has-more-pages.html Ken Shirriff's blog Computer history, restoring vintage computers, IC reverse engineering, and whatever Intel x86 documentation has more pages than the 6502 has transistors Microprocessors have become immensely more complex thanks to Moore's Law, but one thing that has been lost is the ability to fully understand them. The 6502 microprocessor was simple enough that its instruction set could almost be memorized. But now processors are so complex that understanding their architecture and instruction set even at a superficial level is a huge task. I've been reverse-engineering parts of the 6502, and with some work you can understand the role of each transistor in the 6502. After studying the x86 instruction set, I started wondering which was bigger: the number of transistors in the 6502 or the number of pages of documentation for the x86. It turns out that Intel's Intel(r) 64 and IA-32 Architectures Software Developer Manuals (2011) have 4181 pages in total, while the 6502 has 3510 transistors. There are actually more pages of documentation for the x86 than the number of individual transistors in the 6502. [6502_intel] The above photo shows Intel's IA-32 software developer's manuals from 2004 on top of the 6502 chip's schematic. Since then the manuals have expanded to 7 volumes. The 6502 has 3510 transistors, or 4528, or 6630, or maybe 9000? As a slight tangent, it's actually hard to define the transistor count of a chip. The 6502 is usually reported as having 3510 transistors. This comes from the Visual 6502 team, which dissolved a 6502 chip in acid, photographed the die (below), traced every transistor in the image, and built a transistor-level simulator that runs 6502 code (which you really should try). Their number is 3510 transistors. The 6502 processor chip One complication is the 6502 is built with NMOS logic which builds gates out of active "enhancement" transistors as well as pull-up "depletion" transistors which basically act as resistors. The count of 3510 is just the enhancement transistors. If you include the [DEL: 2102:DEL] 1018 depletion transistors, the total transistor count is [DEL:5612:DEL] 4528. A second complication is that when manufacturers report the transistor count of chips, they often report "potential" transistors. Chips that include a ROM or PLA will have different numbers of transistors depending on the values stored in the ROM. Since marketing doesn't want to publish different transistor numbers depending on the number of 1 bits and 0 bits programmed into the chip, they often count ROM or PLA sites: places that could have transistors, but might not. By my count, the 6502 decode PLA has 21x131=2751 PLA sites, of which 649 actually have transistors. Adding these 2102 "potential" transistors yields a count of 6630 transistors. Finally, some sources such as Microsoft Encarta and A History of the Personal Computer state the 6502 contains 9000 transistors, but I don't know how they could have come up with that value. (The number of pages of Intel documentation is also not constant; the latest 2013 Software Developer Manuals have shrunk to 3251 pages.) Thus, the x86 has more pages of documentation than the 6502 has transistors, but it depends how you count. # # Email ThisBlogThis!Share to TwitterShare to FacebookShare to Pinterest Labels: 6502, electronics, intel, random 5 comments: [blo] Ed said... Hmm, I got 1018 as the number of depletion transistors in 6502. Note that there are dupes if you just count the pull-ups in the visual6502 JavaScript, so you over count. September 3, 2013 at 12:13 PM [icon_delet] [blo] mself said... I used to write 6502 assembly using a 1-page cheat sheet that I created. Each opcode was listed down the left, and each addressing mode across the top. Each cell in the table held the hex opcode (one byte) for that instruction. I was using an Apple II, which came with a disassembler but no assembler. So I would type in the opcodes in hex and then disassemble it to see if I had made any mistakes. As you say, the number of instructions was so small that I memorized many of them. Fun days! December 7, 2016 at 7:56 PM [icon_delet] [blo] OFETT said... what then is the way out of this mess? December 8, 2016 at 9:06 AM [icon_delet] [bla] Anonymous said... It would be a funny coincidence if the 6502 CPU had 6502 transistors :D December 21, 2016 at 2:27 PM [icon_delet] [bla] Anonymous said... Well, the 68000 did have 68,000 transistors. February 23, 2021 at 11:06 PM [icon_delet] Post a Comment Newer Post Older Post Home Get new posts by email: [ ] Subscribe Contact About Ken Shirriff Mastodon Popular Posts * [AAOd8MzBe7] Undocumented 8086 instructions, explained by the microcode * [AAOd8MzH-x] Software woven into wire: Core rope and the Apollo Guidance Computer * [AAOd8My98V] Reverse-engineering the 8086 processor's address and data pin circuits * [AAOd8My8Fn] Intel x86 documentation has more pages than the 6502 has transistors * [AAOd8Mw9yJ] 12-minute Mandelbrot: fractals on a 50 year old IBM 1401 mainframe * [AAOd8MzHNp] A Multi-Protocol Infrared Remote Library for the Arduino * [AAOd8MxL37] Apple iPhone charger teardown: quality in a tiny expensive package * [AAOd8MzApr] The complex history of the Intel i960 RISC processor Search This Blog [ ] [Search] [INS::INS] Labels 6502 8008 8085 8086 8087 alto analog Apollo apple arc arduino arm beaglebone bitcoin c# cadc calculator chips css dx7 electronics f# fpga fractals genome globus haskell html5 ibm ibm1401 intel ipv6 ir java javascript math microcode oscilloscope photo power supply random reverse-engineering sheevaplug snark space spanish synth teardown theory unicode Z-80 Blog Archive * > 2023 (24) + > August (1) + > July (3) + > May (1) + > April (2) + > March (4) + > February (5) + > January (8) * > 2022 (18) + > November (3) + > August (1) + > July (1) + > June (1) + > May (1) + > April (4) + > March (2) + > February (3) + > January (2) * > 2021 (26) + > December (4) + > November (2) + > September (1) + > August (1) + > July (2) + > June (2) + > May (1) + > April (2) + > March (4) + > February (4) + > January (3) * > 2020 (33) + > December (2) + > November (3) + > October (2) + > September (4) + > August (5) + > July (2) + > June (3) + > May (4) + > April (2) + > March (5) + > January (1) * > 2019 (18) + > November (3) + > October (2) + > September (3) + > August (1) + > July (4) + > April (2) + > February (1) + > January (2) * > 2018 (17) + > December (1) + > September (4) + > August (1) + > June (1) + > May (1) + > April (1) + > March (3) + > February (1) + > January (4) * > 2017 (21) + > December (5) + > November (2) + > October (3) + > August (1) + > July (2) + > June (2) + > April (2) + > March (2) + > February (1) + > January (1) * > 2016 (34) + > December (2) + > October (5) + > September (8) + > August (2) + > July (3) + > June (4) + > May (1) + > April (1) + > March (1) + > February (4) + > January (3) * > 2015 (12) + > December (2) + > November (1) + > October (3) + > August (1) + > May (2) + > March (2) + > February (1) * > 2014 (13) + > December (1) + > October (1) + > September (3) + > May (2) + > March (1) + > February (5) * V 2013 (24) + > November (2) + V September (4) o The Z-80 has a 4-bit ALU. Here's how it works. o Intel x86 documentation has more pages than the 65... o Reverse-engineering the Z-80: the silicon for two ... o 9 Hacker News comments I'm tired of seeing + > August (4) + > July (4) + > June (2) + > April (1) + > March (2) + > February (2) + > January (3) * > 2012 (10) + > December (1) + > November (5) + > October (1) + > May (1) + > March (1) + > February (1) * > 2011 (11) + > December (2) + > July (2) + > May (2) + > April (1) + > March (1) + > February (3) * > 2010 (22) + > December (2) + > November (4) + > October (3) + > August (1) + > June (1) + > May (2) + > April (3) + > March (4) + > January (2) * > 2009 (22) + > December (2) + > November (5) + > September (1) + > August (3) + > July (1) + > June (3) + > April (1) + > March (3) + > February (2) + > January (1) * > 2008 (27) + > July (3) + > June (1) + > May (3) + > April (4) + > March (10) + > February (6) Powered by Blogger.