IP Library Granted Patent US 7,024,540
Granted Patent B2
US 7,024,540 · App. 10/695,071 · Granted Apr 4, 2006

Methods and apparatus for establishing port priority functions in a VLIW processor

Assignee: PTS 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 7,024,540
App. No.
10/695,071
Granted
Apr 4, 2006
Kind
B2
Abstract

Port priorities are defined on a 32-bit word, 16-bit half-word, and 8-bit byte basis to control the write enable signals to a compute register file (CRF). With a manifold array (ManArray) reconfigurable register file, it is possible to have double-word 64-bit and single word 32-bit data-type instructions mixed with other double-word, single-word, half-word, or byte data-type instructions within the same very long instruction word (VLIW). By resolving a write priority conflict on the byte, half-word, or word that is in conflict during the VLIW execution, it is possible to have partial operations complete that provide a useful function. For example, a load half-word to the half-word H 0 portion of a 32-bit register R 0 can have priority to complete its operation while a 64-bit shift of the register pair R 0 and R 1 will complete its operation on the non-conflicting half-word portions of the 64-bit register R 0 and R 1. Other unique capabilities result from the present approach to assigning port priorities that improve the performance of the ManArray indirect VLIW processor.

Claims (25)

1. A processing apparatus comprising:

a memory register storage device comprising a first portion and a second portion;

a processing element comprising a first execution unit and a second execution unit for reading from and writing to the memory register storage device; and

port priority control logic for resolving a write conflict occurring when the first execution unit attempts to write to both the first portion and the second portion, and the second execution unit attempts to write to the second portion,

said port priority control logic allowing the first execution unit to write to the first portion,

said port priority control logic allowing the first execution unit to write to the second portion if the first execution unit has a higher port priority than the second execution unit,

said port priority control logic allowing the second execution unit to write to the second portion if the second execution unit has higher port priority than the first execution unit.

2. The processing apparatus of claim 1 wherein the bit width of the first portion equals the bit width of the second portion.

3. The processing apparatus of claim 1 wherein the port priority is programmable.

4. The processing apparatus of claim 1 wherein the memory register storage device is a computer register file.

5. The processing apparatus of claim 1 wherein the processing elements reading a very long instrisction word (VLIW) to determine whether to write to the first or second portion.

6. The processing apparatus of claim 1 wherein the processing element thither comprises a third execution unit, the third execution unit completing a write operation to the memory register storage device white conflicting write operations are prioritized for completion.

7. A method for resolving write conflicts between a first execution unit and a second execution unit disposed in a processing element, the method comprising:

providing a memory register storage device comprising a first portion and a second portion;

assigning a first port priority to the first execution unit;

assigning a second port priority to the second execution unit; and

resolving a write conflict occurring when the first execution unit attempts to write to both the first portion and the second portion, and the second execution unit attempts to write to the second portion, the resolving step further comprises

allowing the first execution unit to write to the first portion,

allowing the first execution unit to write to the second portion if the first execution unit has a higher port priority than the second execution unit,

allowing the second execution unit to write to the second portion if the second execution unit has a higher port priority than the first execution unit.

8. The method of claim 7 wherein the bit width of the first portion equals the bit width of the second portion.

9. The method of claim 7 wherein the first port priority is programmable.

10. The method of claim 7 wherein the memory register storage device is a computer register file.

11. The method of claim 7 wherein the resolving step further comprises reading every long instruction word (VLIW) to determine whether to write to the first or second portion.

12. The method of claim 7 wherein the processing element further comprises a third execution unit, the method further comprising completing a write operation to the memory register storage device while conflicting write operations are prioritized for completion.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2006
From: PTS CORPORATION
To: ALTERA CORPORATION
Reel/Frame 018184/0423 →
Continuity (3)
Continuation 0959808400 · Jun 21, 2000
Provisional Application 6014032500 · Jun 21, 1999
Related Publication 20040093484A1 · May 13, 2004