APLawrence.com -  Resources for Unix and Linux Systems, Bloggers and the self-employed

Pentium Pro Processor System Architecture- Tom Shanley

© March 1999 Tony Lawrence


Order (or just read more about) Pentium Pro Processor System Architecture from Amazon.com

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.

Copyright March 1999 A.P. Lawrence. All rights reserved

Got something to add? Send me email.

(OLDER)    <- More Stuff -> (NEWER)    (NEWEST)   

Printer Friendly Version

-> Pentium Pro Processor System Architecture-A.P. Lawrence-Book Reviews


Inexpensive and informative Apple related e-books:

Take Control of Apple Mail, Third Edition

iOS 10: A Take Control Crash Course

Take Control of Preview

Photos for Mac: A Take Control Crash Course

Take Control of IOS 11

More Articles by © Tony Lawrence

Related Articles

Mon Dec 4 20:14:05 2006: 2689   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: 2690   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: 2691   TonyLawrence

Very strange - over 200 page views again today.. I simply cannot imagine why..

Wed Dec 6 14:48:23 2006: 2697   BigDumbDinosaur

...over 200 page views again today...

Are these viewers being sent here from a search engine?

Wed Dec 6 19:18:06 2006: 2698   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: 2699   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: 3536   TonyLawrence

And it continues - often more than a thousand hits per day.. why? Why would people be looking up information on Pentium Pro now??

Sun Feb 17 20:54:07 2008: 3662   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: 3663   BigDumbDinosaur

Maybe some script kiddie has something running that is doing random gets of your site.

Mon Feb 18 14:41:42 2008: 3664   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..


Printer Friendly Version

Related Articles

Have you tried Searching this site?

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.

Contact us

Printer Friendly Version

I think a nerd is a person who uses the telephone to talk to other people about telephones. And a computer nerd therefore is somebody who uses a computer in order to use a computer. (Douglas Adams)

Linux posts

Troubleshooting posts

This post tagged:



Unix/Linux Consultants

Skills Tests

Unix/Linux Book Reviews

My Unix/Linux Troubleshooting Book

This site runs on Linode

SCO Unix Sales, Support, & Service

Phone:  707-SCO-UNIX (707-726-8649Toll Free: 833-SCO-UNIX (833-726-8649)