Stephan's MSR Page!


This page is about the little-known but still unbelievably cool Machine Specific Registers implemented in most recent x86 clones, namely the Pentium. This registers are that cool because they provide you with very precious information about what's going on inside the CPU.

Most important are probably the P5's two "counters" each of which can count one out of about forty distinct events. Among these are things like Address Generation Interlocks and bus cycles, IO read/writes and number of MMX instructions executed.

If you are hand-optimising assembler routines or simply want to see how much time the processor spends waiting for the memory, this is what you want.


Recenty, I published kernel patches (if you're not using Linux, go somewhere else) which add support for these u.c. (unbelievably cool) MSRs to the Linux kernel. They are implemented as a character device with major 10 and minor 142. You may get the patch here:

IMPORTANT: There has been a change in the way the device interprets data. If you use the 2.0.30 kernel patch, don't upgrade to p5profile-0.4. If you use the 2.1.39 patch, *do* use the new p5profile. I will provide a new patch for 2.0.31 as soon as it comes out.


I'm also writing a program which reads these statistics and charts two nice graphs of the information. It runs under X and uses the u.c. GUI library "Qt" from http://www.troll.no. You may get release 0.4 here.

If you're still asking yourself "what's this stuff about?" try one of these links to get more information and then come back and get my software!


Go back to my homepage.

You are visitor nr.

This page is proud to be listed with the linux-related links at http://www.linuxhq.com !

This page is Copyright (c) 1997 by Stephan Meyer!