Chapter 16: What CPUID?

Overview

There are multiple manufacturers all making different models of the 80x86 type microprocessors. Some are variations of the Intel processors and are highly specialized, but most are not. They are clones of the Intel processor family but with their own designs that require alternate optimization methods . Most of these manufacturers have technical manuals usually available in a PDF format that can be downloaded from the Internet and used for all your custom optimization needs. If the project you're coding for uses custom hardware, then you are probably using a custom processor such as National Semiconductor's NS486SXF under an operating system such as pSOS. When you are designing code for a specific processor, your code can be highly optimized and tuned accordingly .

When the hardware you are writing code for is a little more generic, the programmer needs a method to identify the exact model of processor that the code is running on. Each manufacturer has written a sample CPU code detection algorithm that uses the CPUID instruction. This is great, but these code samples are not exactly compatible with each other. Since it is ridiculous to write code that encapsulates all of these samples I have written this chapter to help you. You can find all sorts of variations of the following program on the Internet, but the following is designed to be expandable and versatile.

Most of these Intel processors are deviations of each other but if we take a closer look at their "family type" we will note a pattern of 80(x)86, where the x represents a family number. A 3 would be the 80386, etc. So using this family type number we can actually group the processor into a category of functionality, as each " group " actually has its individual subset of instructions that it could execute.

Other manufacturers have second sourced various models of the 80x86 processor line. Intel and AMD are the primary manufacturers, but other manufacturers have brought to market their modified or less expensive versions of these same processors.

Workbench Files: \Bench\x86\chap03\ project \ platform

                         project    

platform    

CPU ID            \cpuid\

\vc6

 

\vc.net



32.64-Bit 80X86 Assembly Language Architecture
32/64-Bit 80x86 Assembly Language Architecture
ISBN: 1598220020
EAN: 2147483647
Year: 2003
Pages: 191

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net