Claims
- 1. An indirect very long instruction word (VLIW) processor comprising a plurality of execution units capable of performing a plurality of distinct operations in parallel;
a VLIW memory (VIM) for storing VLIWs; and an addressing mechanism for providing access to each memory entry in VIM, said memory entries each containing at least one instruction slot associated with a unique execution unit.
- 2. The indirect VLIW processor of claim 1 further comprising at least one state bit associated with each instruction slot, said state bit designating whether an instruction is available-for-execution or not-available-for-execution.
- 3. The indirect VLIW processor of claim 1 further comprising an instruction to execute VLIWs stored in VIM, said instruction containing a field to specify a VIM address, said instruction containing at least one mask enable bit.
- 4. The indirect VLIW processor of claim 1 wherein said plurality of execution units comprise a store unit, a load unit, an arithmetic-logic unit, a multiply-accumulate unit and a data-select unit.
- 5. The indirect VLIW processor of claim 1 wherein said memory units each contain a store instruction slot, a load instruction slot, an arithmetic-logic instruction slot, a multiply-accumulate instruction slot, and a data-select unit slot.
- 6. The indirect VLIW procesor of claim 1 wherein said addressing mechanism comprises a base VIM address register for storing a base VIM address and an adder for adding the base VIM address and an offset (VIMOFF) to produce a VIM address.
- 7. The indirect VLIW processor of claim 3 wherein said instruction contains at least one mask enable bit per instruction slot and further comprising at least one storage latch for storing each mask enable bit.
- 8. The indirect VLIW processor of claim 7 further comprising at least one state bit associated with each instruction slot, said state bit designating whether an instruction is available-for-execution or not-available-for-execution, and an execution unit decoder which determines from the stored mask enable bit for the at least one storage latch and said state bit for its associated instruction slot whether an instruction is to execute or not.
- 9. An indirect very long instruction word (VLIW) processor comprising
a plurality of execution units capable of performing a plurality of distinct operations in parallel; a VLIW memory (VIM) for storing VLIWs, said VIM being divided into separate VIM sections each of which is associated with one of said plurality of execution units, said VIM sections storing instructions in each of the memory entry slots; and an addressing mechanism for each of said VIM sections providing access to each memory entry, in it associated VIM section independently.
- 10. The indirect VLIW processor of claim 1 further comprising at least one state bit associated with each VIM section, said state bit designating whether an instruction is available-for-execution or not-available-for-execution.
- 11. The indirect VLIW processor of claim 1 further comprising an instruction to execute VLIWs stored in VIM, said instruction containing a plurality of offset fields to specify a VIM address with one offset field per execution unit VIM.
- 12. The indirect VLIW processor of claim 11 wherein the plurality of execution units comprise a store unit, a load unit, an arithmetic-logic unit, a multiply-accumulate unit and a data-select unit.
- 13. The indirect VLIW processor of claim 9 wherein said addressing mechansim comprises a base VIM address register for storing a base VIM address and an adder for adding the base VIM address and an offset to produce a VIM address.
- 14. The indirect VLIW processor of claim 9 wherein said addressing mechanism comprises a base VIM address register for storing a base VIM address, an adder for adding the base VIM address and an offset to produce a address, and an incrementing mechanism for loading instructions into the VIM in multiple VIM addresses.
- 15. A single instruction multiple data stream (SIMD) processor with a sequence processor (SP) and a plurality of processing elements (PEs), the SP and each PE comprising:
a plurality of execution units capable of performing a plurality of distinct operations in parallel; a very long instruction word (VLIW) memory (VIM) for storing VLIWs; and an addressing mechanism for said VIM providing access to each memory entry in VIM, said memory entries each containing at least one instruction slot associated with a unique execution unit and at least one state bit associated with each instruction slot, said state bit acting as a load-indicator bit for the instruction slot.
- 16. The SIMD processor of claim 15 further comprising:
an instruction to execute VLIWs stored in VIM, said instruction containing a field to specify a VIM address, said instruction containing at least one mask bit to control the enabling or disabling of an execution unit at VLIW-instruction-execution-time.
- 17. The SIMD processor of claim 15 in which a plurality of VLIW operations are packed into a single VLIW memory entry so that a plurality of programs running simultaneously on the PEs can share a single VLIW memory entry.
- 18. A single instruction multiple data stream (SIMD) processor with a sequence processor (SP) and a plurality of processing elements (PEs), the SP and each PE comprising:
a plurality of execution units capable of performing a plurality of distinct operations in parallel; a very long instruction word (VLIW) memory (VIM) for storing VLIWs, said VIM being divided into separate VIM sections each of which is associated with one of said plurality of execution unitS, said VIM sections storing instructions in each of the memory entry slots; and an addressing mechanism for each of said VIM sections providing access to each memory entry, in it associated VIM section independently.
- 19. The SMID processor of claim 18 further comprising at least one state bit associated with each VIM section, said state bit designating whether an instruction is available-for-execution or not-available-for-execution.
- 20. The SMID processor of claim 18 further comprising an instruction to execute VLIWs stored in VIM, said instruction containing a plurality of offset fields to specify a VIM address with one offset field per execution unit VIM.
- 21. The SMID processor of claim 18 wherein the plurality of execution units comprise a store unit, a load unit, an arithmetic-logic unit, a multiply-accumulate unit and a data-select unit.
- 22. The SMID processor of claim 18 wherein said addressing mechansim comprises a base VIM address register for storing a base VIM address and an adder for adding the base VIM address and an offset to produce a VIM address.
RELATED APPLICATIONS
[0001] The present invention claims the benefit of U.S. Provisional Application Serial No. 60/067,511 entitled “Method and Apparatus For Dynamically Modifying Instructions in a Very Long Instruction Word Processor” and filed Dec. 4, 1997.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09717992 |
Nov 2000 |
US |
Child |
10254012 |
Sep 2002 |
US |