IP Library Granted Patent US 7,573,481
Granted Patent B2
US 7,573,481 · App. 11/199,095 · Granted Aug 11, 2009

Method and apparatus for management of bit plane resources

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,573,481
App. No.
11/199,095
Granted
Aug 11, 2009
Kind
B2
Abstract

System and method for the management of bit plane resources are presented. Because of the scarcity of processing element (PE) memory in a SIMD architecture, it is important to ensure that it is used with optimal efficiency. The Invention discloses methods for managing PE memory at runtime such that nearly 100% utilization is achieved. The method employed allows memory to be allocated and deallocated in single bit plane increments. Runtime allocation and deallocation occurs continuously such that it is impossible to guarantee availability of contiguous blocks of PE memory. The method employed by the invention allows scattered bit planes to be used without the necessity of expending execution time to perform “garbage collection”.

Claims (30)

1. A digital data processing system comprising:

a. an array of processing elements; having addressable data storage means; adapted to process bit plane data;

b. an allocation table comprising storage means for storing physical addresses;

c. means for conveying an image descriptor comprising a virtual address attribute and a size attribute, the virtual address and size attributes specifying the range of the allocation table positions, wherein the physical addresses of the bit planes comprising an image are stored; and

d. a sequencer configured to control processing of bit planes in the processor array, the sequencer generating at least one microinstruction in response to at least one image descriptor, the image descriptor representing a processor array image operand, the at least one microinstruction comprising one microinstruction for each bit plane of the image operand, each of the microinstructions comprising a physical address, wherein the physical address is generated by reading the allocation table at a generated virtual address, the generated virtual address being computed by increasing the virtual address attribute of the image descriptor by a count of 1 for each generated microinstruction.

2. The system of claim 1 , wherein the number of storage positions in the allocation table exceeds the number of bit planes comprising the processing array.

3. The system of claim 1 , wherein the image descriptor further comprises a sign attribute to indicate whether the image is to be processed as signed data.

4. The system of claim 1 , wherein the allocation table is configured to provide multiple simultaneous accesses.

5. The system of claim 1 , wherein the array is partitioned into multiple segments, each segment comprising a number of bit planes, and wherein the allocation table is partitioned into corresponding segments, each allocation table segment comprising storage means for storing physical addresses pertaining to one of the array segments.

6. The system of claim 1 , further providing first allocation means for allocating bit planes to an image, the first allocation means comprising a repository of physical addresses representing available bit planes, and wherein the allocation includes reading a physical address from the repository and writing the physical address to the allocation table.

7. The system of claim 6 ,wherein the repository is a FIFO memory.

8. The system of claim 6 , wherein the processing array is partitioned into multiple segments, each segment comprising a number of bit planes, and wherein the repository is partitioned into corresponding segments, each repository segment comprising storage means for storing physical addresses of one of the array segments.

9. The system of claim 6 , further comprising second allocation means for allocating bit planes to an unpopulated image, the image having no bit planes allocated to it, and the second allocation means performing the allocation in response to an image descriptor wherein the size attribute is 0 and further responding to a size control signal the size control signal indicating the number of bit planes to allocate.

10. The system of claim 6 , further comprising third allocation means for allocating bit planes to a partially populated image, the image having a number of bit planes allocated to it, and the third allocation means performing the allocation in response to an image descriptor, and further responding to a size control signal, and allocating an additional number of bit planes such that the image is populated with the number of bit planes indicated by a size control signal.

11. The system of claim 6 , further comprising a scoreboard, the scoreboard comprising an array of registers equal in number to the number of allocation table positions, wherein each register is adapted to indicate whether the corresponding allocation table position is populated.

12. The system of claim 11 , further comprising detecting means for detecting the condition wherein an allocation is attempted for an allocation table position that is populated, and generating a signal to indicate the condition, and further including response means for responding to the signal to prevent the allocation until the condition is no longer detected.

13. The system of claim 11 , further comprising detecting means for detecting the condition wherein an allocation is attempted for an allocation table position that is populated, and generating a signal to indicate the condition, and further including means for setting an event register in response to the signal.

14. The system of claim 11 , wherein the allocation table is partitioned into multiple segments, each segment comprising a number of storage positions, and wherein the scoreboard is partitioned into corresponding segments, each scoreboard segment comprising an array of registers adapted to indicate allocation status for positions within the corresponding segment of the allocation table.

15. The system of claim 1 , further providing first deallocating means for deallocating bit planes of an image, the first deallocating means comprising a repository of physical addresses representing available bit planes, and wherein the deallocation includes reading a physical address from the allocation table and writing the physical address to the repository.

16. The system of claim 15 , wherein the repository is a FIFO memory.

17. The system of claim 15 , wherein the processing array is partitioned into multiple segments, each segment comprising a number of bit planes, and wherein the repository is partitioned into corresponding segments, each repository segment comprising storage means for storing physical addresses of one of the array segments.

18. The system of claim 15 , further comprising second deallocating means for deallocating bit planes of a populated image, the second deallocating means performing the deallocation in response to an image descriptor, and further responding to a free control signal, the free control signal indicating that all bit planes of the image are to be deallocated.

19. The system of claim 15 , further comprising third deallocating means for deallocating bit planes of a populated image, the third deallocating means performing the deallocation in response to an image descriptor, and further responding to a size control signal, and deallocating a number of bit planes such that the image is populated with the number of bit planes.

20. The system of claim 15 , further comprising a scoreboard, the scoreboard comprising an array of registers equal in number to the number of allocation table positions, wherein each register is adapted to indicate whether the corresponding allocation table position is populated.

21. The system of claim 20 , further comprising detecting means for detecting the condition wherein a deallocation is attempted for an allocation table position that is unpopulated, and generating a signal to indicate the condition, and further including response means for responding to the signal to prevent the deallocation until the condition is no longer detected.

22. The system of claim 20 , further comprising detecting means for detecting the condition wherein a deallocation is attempted for an allocation table position that is unpopulated, and generating a signal to indicate the condition, and further including means for setting an event register in response to the signal.

23. The system of claim 20 , wherein the allocation table is partitioned into multiple segments, each segment comprising a number of storage positions, and wherein the scoreboard is partitioned into corresponding segments, each scoreboard segment comprising an array of registers adapted to indicate allocation status for positions within the corresponding segment of the allocation table.

24. The system of claim 1 , further comprising processing means for processing an instruction, the instruction comprising at least one image descriptor, and further comprising a size control to determine the number of bit planes with which an image is to be populated as a result of processing the instruction.

25. The system of claim 24 , further comprising replacing means for replacing the size attribute with the value of the size control in a stored copy of the image descriptor.

26. The system of claim 1 , further comprising processing means for processing an instruction, the instruction comprising at least one image descriptor, and further comprising at least one free control to determine that all bit planes with which an image is populated are to be deallocated as a result of processing the instruction.

Assignments (14)
RELEASE OF SECURITY INTEREST Recorded Mar 4, 2023
From: EAST WEST BANK
To: GEO SEMICONDUCTOR INC.
Reel/Frame 062955/0700 →
SECURITY INTEREST Recorded Jul 26, 2022
From: GEO SEMICONDUCTOR INC.
To: EAST WEST BANK
Reel/Frame 060925/0979 →
RELEASE OF SECURITY INTEREST Recorded Jul 23, 2022
From: CRESCENT COVE CAPITAL II, LP
To: GEO SEMICONDUCTOR, INC.
Reel/Frame 060840/0079 →
RELEASE OF SECURITY INTEREST Recorded May 31, 2019
From: SCOTT LAKE HOLDINGS INC.
To: GEO SEMICONDUCTOR INC.
Reel/Frame 050340/0516 →
SECURITY INTEREST Recorded May 31, 2019
From: GEO SEMICONDUCTOR INC.
To: CRESCENT COVE CAPITAL II, LP
Reel/Frame 049337/0040 →
RELEASE OF SECURITY INTEREST Recorded May 31, 2019
From: ROADMAP GEO LP III
To: GEO SEMICONDUCTOR INC.
Reel/Frame 049334/0793 →
RELEASE OF SECURITY INTEREST Recorded May 24, 2019
From: BISHOPSGATE HOLDINGS CORPORATION
To: GEO SEMICONDUCTOR INC.
Reel/Frame 049286/0365 →
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NO. FROM US12027189 TO PCTUS1227189 PREVIOUSLY RECORDED ON REEL 044958 FRAME 0828. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Mar 1, 2018
From: GEO SEMICONDUCTOR INC.
To: ROADMAP GEO LP III, AS ADMINISTRATIVE AGENT
Reel/Frame 045482/0808 →
SECURITY INTEREST Recorded Dec 26, 2017
From: GEO SEMICONDUCTOR INC.
To: ROADMAP GEO LP III, AS ADMINISTRATIVE AGENT
Reel/Frame 044958/0828 →
SECURITY INTEREST Recorded Dec 20, 2017
From: GEO SEMICONDUCTOR INC.
To: SCOTT LAKE HOLDINGS INC.
Reel/Frame 044957/0529 →
SECURITY AGREEMENT Recorded Oct 23, 2013
From: GEO SEMICONDUCTOR INC
To: BISHOPSGATE HOLDINGS CORPORATION
Reel/Frame 031479/0486 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2012
From: TERANEX SYSTEMS INC.
To: GEO SEMICONDUCTOR INC.
Reel/Frame 029341/0017 →
SECURITY AGREEMENT Recorded Nov 21, 2012
From: GEO SEMICONDUCTOR INC.
To: BISHOPSGATE HOLDINGS CORPORATION
Reel/Frame 029341/0102 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2011
From: SO DELAWARE CORPORATION
To: TERANEX SYSTEMS, INC.
Reel/Frame 027302/0033 →