IP Library › Granted Patent US 6,857,066
Granted Patent B2
US 6,857,066 · App. 09/990,899 · Granted Feb 15, 2005

Apparatus and method to identify the maximum operating frequency of a processor

Assignee: Intel Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,857,066
App. No.
09/990,899
Granted
Feb 15, 2005
Kind
B2
Abstract

A method and apparatus comprising setting a register to a value executing a processing instruction to interpret the value and the at least one register verifying that the interpretation of the processing instruction is valid to ensure the at least one register contains a valid at least one string scanning the string in the register for multiplier scanning the string in the register for a frequency and determining a maximum operating frequency with the multiplier and frequency.

Claims (73)

1. A method comprising:

verifying if a brand string feature is supported on a processor;

retrieving a brand string;

interpreting the brand string which includes information pertaining to a maximum operating frequency of the processor; and

outputting the maximum operating frequency.

2. The method of claim 1 , wherein interpreting the brand string includes scanning the brand string in reverse order for a quantity.

3. The method of claim 1 , wherein verifying a brand string feature is supported on a processor is accomplished by verifying if a value loaded in a register by a processor identification instruction is greater than or equal to a selected value.

4. The method of claim 3 , wherein the register is the EAX register, the processor identification instruction is the CPUID instruction, and the selected value is 80000000h.

5. A method comprising:

loading a register with a first specified value;

executing a processing instruction;

verifying that the returned value in the register logically anded with a second specified value does not equal zero;

verifying that a value the processing instruction returns is greater than or equal to a third specified value;

scanning the string in reverse order for at least one specified substring;

parsing the next digits as a decimal number;

determining a multiplier value according to the specified substring;

multiplying the decimal number by the multiplier value to output a maximum operating frequency.

6. The method of claim 5 , wherein the register is one of a plurality of general purpose registers.

7. The method of claim 5 , wherein the first specified value is 0x80000000.

8. The method of claim 5 , wherein the specified substring is at least one of “zHM”, “zHG”, and “zHT”.

9. A machine-readable medium that provides instructions, which when executed by a machine, causes the machine to perform operations comprising:

verifying if a brand string feature is supported on a processor;

retrieving a brand string;

retrieving a maximum operating frequency of the processor from the brand string; and

outputting the maximum operating frequency.

10. The machine-readable medium of claim 9 , wherein retrieving the maximum operating frequency of the processor from the brand string includes scanning the brand string in reverse order for the maximum operating frequency.

11. The machine-readable medium of claim 9 , wherein verifying if a brand string feature is supported on a processor is accomplished by verifying a value loaded in a register by a processor identification instruction is greater than or equal to a selected value.

12. A machine-readable medium that provides instructions, which when executed by a machine, causes the machine to perform operations comprising:

loading a register with a first specified value;

executing a processing instruction;

verifying that the returned value in the register logically anded with a second specified value does not equal zero;

verifying that a value the processing instruction returns is greater than or equal to a third specified value;

scanning the string in reverse order for at least one specified substring;

parsing the next digits as a decimal number;

determining a multiplier value according to the specified substring;

multiplying the decimal number by the multiplier value to output a maximum operating frequency.

13. The machine-readable medium of claim 12 , wherein the register is one of a plurality of general purpose registers.

14. The machine-readable medium of claim 12 , wherein the register is the EAX register.

15. The machine-readable medium of claim 12 , wherein the first specified value is 0x80000000, the processing identification instruction is a CPUID instruction, and the third specified value is 80000004.

16. The machine-readable medium of claim 12 , wherein the processing instruction is a processing identification instruction.

17. The machine-readable medium of claim 12 , wherein the specified substring is at least one of “zHM”, “zHG”, and “zHT”.

18. A computer comprising:

a processor to execute a processing instruction;

a memory element coupled to the processor;

input and output facilities coupled to the processor;

at least one register located within the processor, said at least one register able to contain at least one string;

said processor to

execute a processing instruction to interpret a numerical quantity in the at least one register;

verify at least one processing feature is supported;

scan the at least one string for a multiplier;

scan the at least one string for a frequency; and

use the multiplier and frequency to determine a maximum operating frequency.

19. The computer of claim 18 , wherein the register is a general purpose register.

20. The computer of claim 18 , wherein the processing instruction is a processing identification instruction.

21. The computer of claim 18 , wherein the at least one string is a brand string.

22. A processor comprising:

a first register;

a second register to store maximum operating frequency information;

at least one execution unit to execute instructions;

said processor to

execute a processing instruction to copy the maximum operating frequency information from the second register to the first register;

verify at least one feature relating to the maximum operating frequency information is supported;

scan the maximum operating frequency information in the first register for a multiplier;

scan the maximum operating frequency information in the first register for a frequency;

use the multiplier and frequency to determine a maximum operating frequency of the processor.

23. The processor of claim 22 , wherein the first register is one of a plurality of general purpose registers.

24. The processor of claim 22 , wherein the first register is the EAX register.

25. The processor of claim 22 , wherein the second register is one of a plurality of control registers.

26. The processor of claim 22 , wherein the processing instruction is a processing identification instruction.

27. The processor of claim 22 , wherein the maximum operating frequency information is a brand string.

28. The processor of claim 22 , wherein said processor is further able to measure a current operating frequency of the processor; and compare the maximum operating frequency to the current operating frequency.

29. The processor of claim 22 , wherein the maximum operating frequency information is stored in the second register at manufacturing time.

30. The processor of claim 22 , further comprising system software to store maximum operating frequency information set at manufacturing time.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2002
From: BIGBEE, BRYANT; KAUSHIK, SHIVNANDAN; BINNS, FRANK
To: INTEL CORPORATION
Reel/Frame 012664/0961 →
Continuity (1)
Related Publication 20030097602A1 · May 22, 2003