![]()
Order (or just read more about) Pentium Pro Processor System Architecture from Amazon.com
Finnish translation by Jukka Paulin available at http://aplawrence.com/Books/ppro_fi.html
The primary audience for this book is hardware engineers, compiler designers, kernel folk and the like. I'm not any of those, and it's been a long, long time since I had to write any assembly language. So why did I enjoy this so much? Because the CPU is, after all, the base of everything we do, and understanding its capabilities and features is both important and interesting.
For example, did you know that the BIST (Built In Self Test) on a Pentium Pro takes some 5.5 million clock cycles? Running at 200 MHz or more, that's not even an eye blink, but imagine how exhaustive the tests must be. Did you know that the Pentium Pro actually translates IA (Intel Architecture) instructions (x86 instructions) into RISC instructions, so it really is a RISC processor that runs CISC instructions?
The Pentium Pro has lots of tricks up its sleeves. It has 40 general purpose registers, and it will use them to improve code written for previous processors. IA code generally does a lot of register shuffling. An example from the book shows this sequence:
mov eax, 17 add mem, eax mov eax, 3 add eax, ebx
If the Pentium Pro just took those as they are, and used the registers indicated, this sequence would have to be executed serially; it could not take advantage of its ability to execute micro-ops (RISC instructions) simultaneously. But it does not use the registers that the code tells it to; it uses its "hidden" registers so that the two "mov"'s can be done at the same time, followed by the two "add"'s (also done concurrently). The Pro also has a new branch prediction algrorithm that is supposedly up to 95% successful, there is support for having one CPU follow another's work, comparing its results for every instruction the other executes, and more.
There are also fascinating little inefficiences. According to the author, at initial startup, the processor requests 8 bytes, but actually reads 32 bytes, discards 24, then does it again to get the next 8 bytes (which it already had and had thrown away!).
There's an amusing new instruction in the Pro's repertoire: it is the UD2 instruction, which is defined-pay attention!- as an undefined instruction. Obviously that's for testing; allowing the deliberate generation of an undefined opcode, but the definition of undefined does stop my brain for at least half a second.
An interesting new register, the TSC (Time Stamp Counter) counts processor clock cycles since reset (or since it was programmatically zeroed). This register was actually introduced in the Pentium, but Intel did not document it until the Pro. It's a 64 bit register; when it reaches all "ones", it wraps around to zero and starts again. No interrupt marks this momentous occurence, which is understandable once you realize how long it would take for it to reach that point. This is a 64 bit register, and the implications of 64 bit computing are fascinating. Consider that this register increments every clock cycle. Given a 200 MHz clock, that would mean it would increase its value by 200 million every second. A 32 bit register, capable of holding a maximum value of merely 4 billion or so, would overflow in about 20 seconds when forced to swallow 200 million increments each and every second. A 48 bit register would last longer: a little less than 3 years if I did the math right. But a 64 bit register, incrementing 200 million times every second, runs for thousands of years before it overflows! Doesn't that give a great picture of what 64 bit numbers really are? The author tells us that Intel promises us that the wraparound period for future processors will never be less than 10 years, which would require some unimaginable clock speeds!
The sections on bus arbitration and timing were of less interest to me. There is full coverage of the 450GX, KX and 440FX chipsets; again probably of most interest to system designers and device driver programmers.
This book also covers MMX extensions. I never realized that the MMX registers are really just the FPU registers, or if I had read that somewhere before now, it hadn't sunk in. There's a lot of little "Aha's" like that to be gleaned from this book. You will need at least a minimal background in general CPU architecture to comprehend this book, but if this review didn't leave you dumfounded, you probably have enough to both understand and enjoy it.
The Pentium Pro has been replaced by the Xeon processor. I
haven't yet seen any books about that. Intel's web site does have
information, of course, but that seems to be either glitzy sales
overviews or bare metal engineers manuals, with little in
betweeen.
Have you tried Searching this site?
Unix/Linux/Mac OS X support by phone, email or on-site: Support Rates
This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more. We appreciate comments and article submissions.
Many of the products and books I review are things I purchased for my own use. Some were given to me specifically for the purpose of reviewing them. I resell or can earn commissions from the sale of some of these items. Links within these pages may be affiliate links that pay me for referring you to them. That's mostly insignificant amounts of money; whenever it is not I have made my relationship plain. I also may own stock in companies mentioned here. If you have any question, please do feel free to contact me.
Specific links that take you to pages that allow you to purchase the item I reviewed are very likely to pay me a commission. Many of the books I review were given to me by the publishers specifically for the purpose of writing a review. These gifts and referral fees do not affect my opinions; I often give bad reviews anyway.
We use Google third-party advertising companies to serve ads when you visit our website. These companies may use information (not including your name, address, email address, or telephone number) about your visits to this and other websites in order to provide advertisements about goods and services of interest to you. If you would like more information about this practice and to know your choices about not having this information used by these companies, click here.
Click here to add your comments
Mon Dec 4 20:14:05 2006: Subject: TonyLawrence
Curious - why has a seven year old article about a now defunct processor attracted such attention this week? No referer in the logs, so it would seem unrelated.. but it can't be..
Tue Dec 5 14:43:32 2006: Subject: BigDumbDinosaur
Curious - why has a seven year old article about a now defunct processor attracted such attention this week?
Was wondering that myself, especially since at the time of the article, the Pentium Pro itself was all but defunct. The P-II was in production and the AMD Athlon, which was to change the course of PC processor history, was just over the horizon. Seems like it was just the other day.
Tue Dec 5 16:00:05 2006: Subject: TonyLawrence
Very strange - over 200 page views again today.. I simply cannot imagine why..
Wed Dec 6 14:48:23 2006: Subject: BigDumbDinosaur
...over 200 page views again today...
Are these viewers being sent here from a search engine?
Wed Dec 6 19:18:06 2006: Subject: TonyLawrence
No, that's the odd thing: no referrer info at all and all sorts of access - all over the world..
Wed Dec 6 20:47:32 2006: Subject: TonyLawrence
More oddity: a search for "pentium pro processor book" on Google turns up this page as first hit.. really, really strange..
Sat Jan 26 15:10:42 2008: Subject: TonyLawrence
And it continues - often more than a thousand hits per day.. why? Why would people be looking up information on Pentium Pro now??
Buy Take Control of Fonts in Leopard
Sun Feb 17 20:54:07 2008: Subject: TonyLawrence
And they aren't "people" - or if they are, they have javascript and images disabled - almost all the log entries show only the GET of the page itself, nothing else..
Mon Feb 18 14:38:45 2008: Subject: BigDumbDinosaur
http://bcstechnology.net
Maybe some script kiddie has something running that is doing random gets of your site.
Mon Feb 18 14:41:42 2008: Subject: TonyLawrence
No, this has been going on for years, with IP's from all over the world, and they NEVER go to any other page..
Don't miss responses! Subscribe to Comments by RSS or by Email
Click here to add your comments
If you want a picture to show with your comment, go get a Gravatar