Claims
- 1. An instruction processing system, comprising:
an instruction memory for storing instructions, said instructions comprising branch instructions and non-branch instructions, each of said branch instructions referring to a corresponding target instruction; at least one processing unit for processing the instructions stored in said instruction memory; an instruction queue having a first number of storage spaces, each of the storage spaces storing at least a portion of the instructions, wherein each of the instructions stored in the instruction queue is fetched from said instruction memory; an instruction queue processing window defining a second number of storage spaces of the instruction queue, wherein said first number is greater than the second number; and an instruction queue controller for assigning instructions stored in the instruction queue to the processing unit, said instruction queue controller only assigning instructions stored in the storage spaces defined by said instruction queue processing window.
- 2. The instruction processing system according to claim 1, wherein said instructions stored in the instruction queue comprise at least one branch instruction and at least one corresponding jump target instruction for the branch instruction.
- 3. The instruction processing system according to claim 2, wherein said instruction queue stores a plurality of streams of instructions, each of said streams comprising at least one instruction.
- 4. The instruction processing system according to claim 1, wherein the instructions stored in the storage spaces defined by said instruction queue processing window comprise at least one branch instruction and at least one non-branch instruction.
- 5. The instruction processing system according to claim 4, further comprising a branch prediction mechanism for predicting branch instructions.
- 6. The instruction processing system according to claim 5, wherein the branch prediction mechanism predicts the result of the branch instruction located in the instruction queue processing window.
- 7. The instruction processing system according to claim 6, wherein when the branch instruction is predicted to be taken by the branch prediction mechanism, said instruction queue processing window comprises a corresponding target instruction address for said branch instruction.
- 8. The instruction processing system according to claim 1, wherein said instruction queue comprises a plurality of shift registers.
- 9. The instruction processing system according to claim 1, wherein said instruction queue is a FIFO (“First In First Out”) buffer.
- 10. The instruction processing system according to claim 1, wherein said first number is 40.
- 11. The instruction processing system according to claim 1, wherein said second number is 16.
- 12. The instruction processing system according to claim 1, wherein said instruction memory comprises an instruction cache.
- 13. The instruction processing system according to claim 1, wherein each of the said at least one processing unit is a processing pipeline.
- 14. The instruction processing system according to claim 1, wherein said instruction memory comprises a main memory.
- 15. The instruction processing system according to claim 1, wherein said instruction memory comprises an instruction cache memory.
- 16. An instruction processing system, comprising:
an instruction memory for storing instructions, said instructions comprising branch instructions and non-branch instructions, each of said branch instructions referring to a corresponding target instruction; at least one processing unit for processing the instructions stored in said instruction memory; an instruction queue having a plurality of storage spaces, each of the storage spaces storing at least a portion of the instructions, wherein each of the instructions stored in the instruction queue is fetched from said instruction memory, and wherein said instructions stored in the instruction queue comprise at least two branch instructions and at least two corresponding jump target instructions for the branch instructions; and an instruction queue controller for assigning instructions stored in the instructing queue to the processing unit.
- 17. The instruction processing system according to claim 16, further comprising:
an instruction queue processing window defining a plurality of storage spaces of the instruction queue, wherein the instruction queue processing window does not cover the entire instruction queue.
- 18. The instruction processing system according to claim 17, wherein said instruction queue controller only assigns instructions within the instruction queue processing window to the processions unit.
- 19. The instruction processing system according to claim 16 is a superscalar design.
- 20. The instruction processing system according to claim 16 is a single processor design.
- 21. The instruction processing system according to claim 16, wherein said instruction queue stores a plurality of streams of instructions, each of said streams comprising at least one instruction.
- 22. The instruction processing system according to claim 16, wherein said instruction queue is a FIFO (“First In First Out”) buffer.
- 23. The instruction processing system according to claim 16, wherein each of said at least one processing unit is a processing pipeline.
- 24. The instruction processing system according to claim 16, wherein said instruction memory comprises a main memory.
- 25. The instruction processing system according to claim 16, wherein said instruction memory comprises an instruction cache memory.
- 26. The instruction processing system according to claim 16, wherein the number of the branch instructions stored in the instruction queue is not fixed.
- 27. An instruction queue comprising:
a plurality of storage spaces storing a plurality of instructions, each of the storage spaces storing at least a portion of one of the instructions, wherein said instructions stored in the instruction queue comprise at least three instruction streams, each of the instruction streams comprising at least one instruction.
CROSS REFERENCE TO RELATED APPLICATION
[0001] This application is related to the following, commonly assigned U.S. patent application, which is incorporated entirely by reference herein:
[0002] Ser. No. 09/______ , filed Sep. 4, 1998, entitled “Improved Branch Prediction Mechanism,” by Sean P. Cummins et al.