Hardware design enthusiasts should already be salivating just looking at this image. But [Ken Shirriff’s] write-up on how the 8085 processor’s registers were designed will put you in silicon reverse-engineering heaven. He manages to get to the bottom of the tricks the designers used to make register access as efficient as possible, like routing some through the ALU on their path elsewhere.
We’re certainly not experts in studying dies like the one seen above. Luckily [Ken] does a great job of zooming in on important parts, then dissecting how they work by representing the silicone image as a functional flow chart. One of the parts which we found most interesting is the WZ temporary registers. These are a set of internal registers that are not accessible to the programmer. They’re only used internally by the chip. They act as temporary storage for multiple operand functions, and also hold register addresses for a handful of instructions (JMP, CALL, RST, etc.).
If you’re more interested in how images of these chips are attained you should do some searching on Hackaday. Just last week we featured one such project in a links post.
[via Reddit]
Ouch, the “silicone” in the middle of that writeup was painful to read…
Aww, but I love a good silicone image. :D
NOT SILICONE!!!!!
This probably already in some datasheet somewhere. WHY are people interested in stuff that is so old its nearly useless? This is as useful as reverse engineering arrowheads when you have cruise missles at your dispossal… How things were done in 1977… A WASTE OF TIME. Unless you’re an engineer in a 3rd world country with a busted chip and on the modern worlds blacklist for ICs or a counterfeiter honing your skills.
It’s very educational, because it’s a size that’s reasonably possible for someone to look at and reverse-engineer.
The exact operation and layout of the IC would have been a trade secret; the public behaviour goes in the datasheet, but the _implementation_ is secret sauce.
While IC design is sort of taught in courses, quite a lot of it has to be learnt from copying more experienced engineers. There are a few things in there that are still worth using: register relabelling, use of ALU pipeline as a place to hold temporary values.
A waste of time? Really? Understanding how something works is never a waste of time. This is especially true when that thing, in this case the 8085 processor, is still relevant. The 8085 is used as the core of a measurable handful of microcontrollers today, and was quite prevalent as an MPU and MCU core throughout the 90’s and early 2000’s. In addition, comparing how it was done then to how it’s done now gives us knowledge of how we grew to where we are, which can guide us to future advances. A lack of fundamental electrical engineering knowledge currently plagues the fields of comp. sci. and comp. engineering. As for reverse engineering arrowheads, that’s called archaeology (the field of artifact studies to be exact), and we’ve learned an awful lot from it. Likewise, a steam engine may not be in use today, but you can learn plenty about physics and thermodynamics by studying one. Perhaps most importantly, why be so bothered that someone spent the time? It’s not like they took any time out of your personal day. I love write-ups like these, and hope we get more. The more you know, right?
For the same reasons all hardware hacker type people unscrewed open every clock radio or other electronic device they got their hands on in ther childhood. Just to see what makes it tick.
Theres still plenty of educational value in there. People getting into this stuff still need to learn about registers and buses and pipelines and whatnot, you may as well do so on a simple example. You have to know about we’re we come from to know where we are now.
I know way too much about the Motorola 68000 from my classes at university :P
Yup. If you want to understand how CPUs are made, you’d be much better studying this with it’s 50,000 (?) transistors than a PC’s CPU with it’s 10 billion. There’s an unbelievable amount of clever stuff, tricks, and optimisations in modern CPUs. If you ever want to know how they work, start on a simple one, then work your way up through history.
Even learning from obsolete things, and from paths that have since been abandoned, is worth knowing, so you know why this choice was made instead of that. And sometimes dead ideas from the past end up rediscovered and implemented in the light of new knowledge.
Really tho if you have to ask what the point is of knowing things, you’re in the wrong place. I read instruction manuals for pleasure. Even for things I don’t own!
ObIBetYou’reRealFunAtParties
I think you have some fundamental misunderstandings. First, you can’t repair an 8085 (or any other CPU), so if you have a busted one, the only thing to do is throw it away. Second, someone had to design the thing in the first place, and modern processors aren’t terribly different – they’re just more complex and have smaller features, making them harder to study. If someone learns how this chip works, they will have a much greater understanding of modern CPU’s. Knowledge has to be built upon, you don’t start at the top. Finally, if this is a waste of time, then how is your comment not a waste of time x100?
Perhaps you should go and ask Yahoo Answers. This place is not for people like you.
Ryan7777 Just go. Leave. You clearly don’t get it.
For everyone else who wish to not look like an ass take a peek at this video by Jerri Ellsworth. You only need to watch the first 2:30 or so of the video. While she isn’t necessarily dissecting “classic” chip per se, she does give an excellent real world example and application as to why said knowledge would be invaluable.
http://www.youtube.com/watch?v=y1w6Nskbx8E
Very interesting write up, reminds me of my polygon pushing days ;-)
I’ve been really enjoying Ken Shirriff’s blog. Pretty much everything he writes is fascinating and educational.