Claims
- 1. A computer system, comprising:
a bus; a processor; and a computer readable medium external to the processor and capable of being operatively coupled to the processor by the bus, the computer readable medium to store instructions to implement microcode functions, wherein the processor further comprises a plurality of machine specific registers associated with one or more functional units of the processor, and wherein execution of said instructions implement microcode functions affects operation of at least one of the plurality of machine specific registers.
- 2. The computer system of claim 1, wherein the instructions implement microcode functions by updating one or more of the plurality of machine specific registers.
- 3. The computer system of claim 1 wherein the instructions implement microcode functions by reading one or more of the plurality of machine specific registers.
- 4. A method of using firmware as microcode, the method comprising:
storing programmed code in firmware external to a processor; executing, by the processor, the programmed code; updating one or more machine specific registers associated with a logic unit included in the processor in response to the executing of the programmed code; and controlling one or more functions of the logic unit on the processor based on a value stored in the one or more of the machine specific registers.
- 5. The method of claim 4, wherein controlling one or more functions of the logic unit on the processor based on a value stored in the one or more of the machine specific registers further includes:
controlling a non-performance critical function.
- 6. The method of claim 5, wherein the non-performance critical function is selected from the group consisting of:
cache flushing, cache invalidation, setting processor features, reading processor features, machine check handling, floating point calculations, processor diagnosis, architecture handling for backward compatibility, authentication, platform management interrupt, diagnostic functions and debug functions.
- 7. A processor comprising:
a plurality of logic units; and one or more machine specific registers associated with each one of the plurality of logic units, the one or more machine specific registers to trigger processor hardware logic functions when one of the one or more machine specific registers is updated in response to executing an external microcode instruction.
- 8. The processor of claim 7, wherein one of the plurality of logic units is associated with at least two machine specific registers.
- 9. The apparatus of claim 7, wherein changing a value of at least one bit in a selected one of the one or more machine specific registers affects the behavior of a selected one of the plurality of logic units.
- 10. A method comprising:
storing programmed code on a computer readable medium external to a processor; executing, by the processor, the programmed code; and controlling one or more functions of the processor in response to executing the programmed code, wherein the one or more functions are controlled by updating at least one machine specific register associated with a logic unit of the processor and by directly triggering hardware on the processor in response to executing the programmed code.
- 11. The method of claim 10, wherein controlling one or more functions of the processor in response to executing the programmed code further includes:
controlling a non-performance critical function.
- 12. The method of claim 11, wherein the non-performance critical function is selected from the group consisting of:
cache flushing, cache invalidation, setting processor features, reading processor features, machine check handling, floating point calculations, processor diagnosis, architecture handling for backward compatibility, authentication, platform management interrupt, diagnostic functions and debug functions.
- 13. A system, comprising:
a bus; a processor including a plurality of machine specific registers, wherein each one of the plurality of machine specific registers is associated with one or more functional units of the processor; and a computer readable medium external to the processor and coupled to the processor by the bus, the computer readable medium to store instructions to implement microcode functions which result in changing a value of at least one bit in at least one of the plurality of machine specific registers.
- 14. The system of claim 13, wherein the computer readable medium is firmware.
- 15. The system of claim 13, wherein the plurality of machine specific registers includes a bank of registers associated with one of the one or more functional units.
- 16. The system of claim 13, wherein one of the one or more functional units is an internal bus controller.
- 17. The system of claim 13, wherein one of the one or more functional units is an internal data cache of the processor.
- 18. The system of claim 17, wherein the instructions implement microcode functions by updating the at least one of the plurality of machine specific registers associated with the internal data cache of the processor.
- 19. The system of claim 18, wherein the instructions implement microcode functions by setting at least one bit to invalidate a line of the internal data cache of the processor.
- 20. The system of claim 13, wherein the instructions implement microcode functions by triggering processor hardware logic and by manipulating the plurality of machine specific registers.
- 21. A method, comprising:
storing microcode on a computer readable medium external to a processor; executing the microcode using the processor, wherein the processor includes a plurality of machine specific registers associated with at least two functional units of the processor; and controlling one of the at least two functional units of the processor in response to executing the microcode by modifying a value of at least one bit included in one of the plurality of machine specific registers.
- 22. The method of claim 21, wherein modifying a value of at least one bit included in one of the plurality of machine specific registers associated with one of the at least two functional units of the processor operates to affect the behavior of an other one of the at least two functional units of the processor.
- 23. The method of claim 21, wherein a logical source register and a logical destination register for executing an instruction of the microcode are selected from the plurality of machine specific registers.
- 24. The method of claim 21, wherein the at least two functional units are linked by a communication bus to a data control unit to fetch an instruction of the microcode from the computer readable medium external to a processor.
- 25. The method of claim 21, wherein controlling one of the at least two functional units of the processor in response to executing the microcode further includes:
controlling a non-performance critical function.
- 26. The method of claim 25, wherein the non-performance critical function is selected from the group consisting of:
cache flushing, cache invalidation, setting processor features, reading processor features, machine check handling, floating point calculations, processor diagnosis, architecture handling for backward compatibility, authentication, platform management interrupt, diagnostic functions and debug functions.
- 27. An article comprising a machine-accessible medium having associated data, wherein the data, when accessed, results in a machine performing:
storing microcode in firmware external to a processor; executing the microcode by the processor; updating one or more machine specific registers associated with a logic unit on the processor in response to the executing of the programmed code; and controlling one or more functions of the logic unit on the processor based on a value stored in the one or more machine specific registers.
- 28. The article of claim 27, wherein the machine-accessible medium further includes data, which when accessed by the machine, results in the machine performing:
moving a value from a general purpose register of the processor to the one or more machine specific registers.
- 29. The article of claim 27, wherein the machine-accessible medium further includes data, which when accessed by the machine, results in the machine performing:
reprogramming the microcode in the firmware.
- 30. An apparatus, comprising:
a first logic unit included in a processor; and at least two machine specific registers associated with the logic unit, the at least two machine specific registers to trigger hardware logic functions associated with the processor when a selected one of the at least two machine specific registers is updated in response to executing a microcode instruction fetched from a memory external to the processor.
- 31. The apparatus of claim 30, further comprising:
a second logic unit associated with a selected one of the at least two machine specific registers.
- 32. The apparatus of claim 31, wherein changing a value of at least one bit in a selected other one of the at least two machine specific registers affects the behavior of the second logic unit.
Parent Case Info
[0001] This application is a divisional of U.S. application Ser. No. 09/476,622 filed Dec. 31, 1999.
Divisions (1)
|
Number |
Date |
Country |
Parent |
09476622 |
Dec 1999 |
US |
Child |
10304199 |
Nov 2002 |
US |