Claims
- 1. A method of controlling a microcode instruction unit comprising:accessing a first microcode line and a first control field from a storage device responsive to a first microcode address; and decoding said first control field to determine if a subsequent microcode line is a last microcode line of a microcode sequence.
- 2. The method as recited in claim 1 further comprising, if said subsequent microcode line is said last microcode line, asserting a signal indicating a number of microcode instructions in said last microcode line.
- 3. The method as recited in claim 2, wherein said number of said microcode instructions in said last microcode line is included in said first control field.
- 4. The method as recited in claim 1 further comprising, if said subsequent microcode line is said last microcode line, asserting a signal to an instruction alignment unit.
- 5. The method as recited in claim 1 further comprising:accessing said last microcode line from said storage device; and selecting an entry point address corresponding to a subsequent instruction as a next address to access said storage device in parallel with said accessing said last microcode line.
- 6. A method of controlling a microcode instruction unit comprising:accessing at least a first microcode instruction and a first control field from a storage device responsive to a first microcode address; decoding said first control field to determine if a subsequent microcode instruction is a last microcode instruction of a microcode sequence.
- 7. The method as recited in claim 6 further comprising, if said subsequent microcode instruction is said last microcode instruction, asserting a signal to an instruction alignment unit.
- 8. The method as recited in claim 6 further comprising:accessing said last microcode instruction from said storage device; and selecting an entry point address corresponding to a subsequent instruction as a next address to access said storage device in parallel with said accessing said last microcode instruction.
- 9. A microprocessor comprising:an instruction cache; a microcode instruction unit coupled to said instruction cache, said microcode instruction unit including: a storage device including a plurality of lines for storing a plurality of microcode instructions and a plurality of control fields, wherein said plurality of control fields are associated with said plurality of microcode instructions, and wherein said storage device is configured to output at least a first microcode instruction of said plurality of microcode instructions and a first control field of said plurality of control fields in response to a first address; and a sequence control unit coupled to receive said first control field from said storage device, wherein said first control field corresponds to a subsequent microcode instruction in a microcode sequence with said first microcode instruction, and wherein said first control field further includes an indication indicative of whether or not said subsequent microcode instruction is a last microcode instruction in said microcode sequence, and wherein said sequence control unit is configured to assert a signal responsive to said indication indicating that said subsequent microcode instruction is said last microcode instruction.
- 10. The microprocessor as recited in claim 9 further comprising an instruction alignment unit coupled to receive said signal from said sequence control unit.
- 11. The microprocessor as recited in claim 9 wherein said sequence control unit is configured to select a next address to access said storage device.
- 12. The microprocessor as recited in claim 11 further comprising an address generator coupled to said storage device, wherein said address generator is configured to generate an entry point address responsive to an instruction from said instruction cache, and wherein said sequence control unit is configured to select said entry point address as said next address responsive to said indication indicating that said subsequent microcode instruction is said last microcode instruction.
- 13. The microprocessor as recited in claim 12 wherein said sequence control unit is configured to select said entry point address as said next address in parallel with access of said subsequent microcode instruction from said storage device.
- 14. The microprocessor as recited in claim 11 wherein said sequence control unit is configured to select an address specified by said first control field as said next address responsive to said indication indicating that said subsequent microcode instruction in not said last microcode instruction.
- 15. The microprocessor as recited in claim 9 wherein each of said plurality of lines is configured to store a plurality of said plurality of microcode instructions, and wherein said first control field includes a number of microcode instructions included with said subsequent microcode instruction in one of said plurality of lines if said indication indicates that said subsequent microcode instruction is said last microcode instruction.
- 16. The microprocessor as recited in claim 15, wherein a number of microcode instructions stored in each one of said plurality of lines equals a number of functional units in said microprocessor.
- 17. A computer system comprising:a microprocessor comprising: an instruction cache; a microcode instruction unit coupled to said instruction cache, said microcode instruction unit including: a storage device including a plurality of lines for storing a plurality of microcode instructions and a plurality of control fields, wherein said plurality of control fields are associated with said plurality of microcode instructions, and wherein said storage device is configured to output at least a first microcode instruction of said plurality of microcode instructions and a first control field of said plurality of control fields in response to a first address; and a sequence control unit coupled to receive said first control field from said storage device, wherein said first control field corresponds to a subsequent microcode instruction in a microcode sequence with said first microcode instruction, and wherein said first control field further includes an indication indicative of whether or not said subsequent microcode instruction is a last microcode instruction in said microcode sequence, and wherein said sequence control unit is configured to assert a signal responsive to said indication indicating that said subsequent microcode instruction is said last microcode instruction; and an input/output (I/O) device coupled to said microprocessor, wherein said I/O device is configured to communicate between said computer system and another computer system to which said I/O device is coupled.
- 18. The computer system as recited in claim 17 wherein said I/O device comprises a modem.
Parent Case Info
This application is a continuation of U.S. patent application Ser. No. 09/261,116, filed Mar. 3, 1999, now U.S. Pat. No. 6,009,513 which is a continuation of U.S. patent application Ser. No. 08/873,360, filed Jun. 12, 1997 now U.S. Pat. No. 5,933,629.
US Referenced Citations (23)
Foreign Referenced Citations (6)
| Number |
Date |
Country |
| 0259095 |
Mar 1988 |
EP |
| 0381471 |
Aug 1990 |
EP |
| 0459232 |
Dec 1991 |
EP |
| 2263985 |
Aug 1993 |
GB |
| 2263987 |
Aug 1993 |
GB |
| 2281422 |
Mar 1995 |
GB |
Non-Patent Literature Citations (5)
| Entry |
| Intel, “Chapter 2: Microprocessor Architecture Overview,” pp. 2-1 through 2-4. |
| Michael Slater, “AMD's K5 Designed to Outrun Pentium,” Microprocessor Report, vol. 8, No. 14, Oct. 24, 1994, 7 pages. |
| Sebastian Rupley and John Clyman, “P6: The Next Step?,” PC Magazine, Sep. 12, 1995, 16 pages. |
| Tom R. Halfhill, “AMD K6 Takes On Intel P6,” BYTE, Jan. 1996, 4 pages. |
| Mike Johnson, Superscalar Microprocessor Design,1991, pp. 71-75. |
Continuations (2)
|
Number |
Date |
Country |
| Parent |
09/261116 |
Mar 1999 |
US |
| Child |
09/428591 |
|
US |
| Parent |
08/873360 |
Jun 1997 |
US |
| Child |
09/261116 |
|
US |