Understanding CPU die/architecture images...

jnick

2[H]4U
Joined
Sep 25, 2004
Messages
2,888
I'm always interested to know what goes on behind the scenes and what we take for granted. For instance, how exactly the memory controller works or how the FSB has any relation to CPU/MEM speed, etc.

The one thing that I have yet to understand is die images of CPU's. For instance, in the write up on [H] about Yorkfield and Penryn, they show an image of the die itself. The thing is, it means nothing to me. What exactly am I looking at? For example, Kyle state's explicitly:

Kyle said:
Below is a picture of the Yorkfield core sporting Penryn architecture. If you think you are seeing a lot of L2 cache, you would exactly correct, 12MB to be exact.

Unfortunately I have no idea what he's referring to...I can't identify anything on the image. This is mainly because I do not understand the image, except that it's a Yorkfield core.

Are there any websites or diagrams that walk you through what exactly I'm looking at? I am really interested in understanding the image and moreover how everything works on the lowest level (physical) however I don't know where to start!
 
OK, first going to lay it out, not meant to be condescending or rude it just the way it is.

remember in that picture you are looking at 700million+ transistors. It is like looking at the earth from the moon and trying to pick out your house. However you can see continents. You would recognize North America because you know the general shape. Well cache is memory which is very organized in rows and columns of transistors lined up because it is easy to lay them out that way and to route the access signals. So that larger very uniform rectangle structure that is the largest thing on the chip is the cache. We know because all large arrays of memory transistors are done this way because it is the most efficient and sensible way. That was easy. The rest of it takes a microscope and an EE degree, years of knowledge of semiconductor fabrication and a good bit of advanced computer science. If you had a circuit schematic of the thing big enough to be human readable it would probably be larger than a football field. In fact is it so complex most of it was designed by other computers. Teams of engineers might just work on one small part, say the integer math processing section. It is hugely complex but it was an evolution from the very simple (in comparison) first processor chips. Those designs were kept, improved upon, polished, etc. are reused with additions of new logic circuitry. These things evolve. I seriously doubt that there are any 3 people in the world that could tell you by looking (with a microscope) what any one circuit does exactly unless they happened to look at a portion they had a direct hand in working on. Things like Arithmetic Logic Units (think California) or Shift registers (think Florida) most experts could look and find because they are fairly large structures and their visible shape has become known because basically someone laid it out years ago and despite improvements etc. the basic shape that occurs when you do that stays about the same. Drop that same expert down a level into say 100 transistors that are dedicated to execute the command "shift the bits in the register one p lace to the left" and if he could figure it out it would probally take weeks. It really is a marvel of engineering and computer science and process manufacturing and math and physics and ..... Remember these things used to take up several rooms and did not do a 100th of the work a modern one can.

So a degree in Electrical Engineering would be a good start. Even a night course in basic semiconductor theory would be usefull. Lots of good books at the library. There is just too much for any one web site to do much more than what Kyle pointed out. Its just too complex of a subject. Sure someone could mark all the larger sections but next design revision it might be in a differnt place or look just different enough you could not reconize it unless you were an expert.

hmm maybe I am overshooting the mark and I do not want you to think its magic or anything, just a lot of hard work by some damn smart people over 30+ years to get where we are today, and you can buy one for $100. Amazing.

Google this and start reading :D

microprocessor architecture

semiconductor theory (might want to put the word "basic" in the search" too. )

digital electonic theory

Really tho a good book from the library on basic digitial electonics would probally be best and teach you the most. If there is a college around with an electronics school, check out the used textbook stores
 
Just wondering if you know whether or not Computer Engineering also covers this, or it's limited to EE. This stuff is really, really interesting (currently a CE student, first year :))

depending on the school, computer engineers get a basic overview, or get a boatload of everything. In short: it depends.
 
There's not much to learn from die images, they're more for publicity than anything else.

And it really depends on what you want to learn, you can go from the holes and electrons of solid state materials (with a little bit if quantum) of the transistor all the way to the instruction set and code compilation of an entire CPU.

But i think the best start for you would be just to learn the general subject of 'computer architecture' as the other stuff won't really help you in understanding the specific parts of cpu performance. For example, if you wanted to know how intel/amd/ibm/sun/etc make all the improvements they do look into things like the CPU pipeline, page tables, MIPS architecture, cache coherence, branch prediction, speculation, etc...
 
I'm learning the basics of digital logic this semester in my first real Computer Engineering (281, sophomore) class.

Right now we're at finite state machines, pretty awesome how much we've covered this semester.

But it's mind boggling how little this is relative to modern technology... D: makes my brain ache.
 
I'm learning the basics of digital logic this semester in my first real Computer Engineering (281, sophomore) class.

Right now we're at finite state machines, pretty awesome how much we've covered this semester.

But it's mind boggling how little this is relative to modern technology... D: makes my brain ache.

While this is true, if you don't study these basic fundamentals, you will not be able to get anywhere near modern technology :p. I am a senior in EE (but our program here at UCF for EE's and CpE's are nearly the same with about a 6 course difference). If you want to get into modern microprocessor design, you will probably need a master's degree, minimum.

You then need to figure out which level you want to work at if you go into the industry. You could work at the semiconductor level, the logic level, the packaging level, etc.

If you enjoy what you are doing though, stick with it. You won't regret it :).
 
Back
Top