IP Library Granted Patent US 9,892,484
Granted Patent B2
US 9,892,484 · App. 15/141,767 · Granted Feb 13, 2018

Methods for checking dependencies of data units and apparatuses using the same

Inventors: Heng Xiao (Shanghai, CN); Ying Liang (Shanghai, CN); Heng Que (Shanghai, CN)
Assignee: VIA ALLIANCE SEMICONDUCTOR CO., LTD.
G06T1/60G06F3/0604G06F3/0659G06F3/0679G06T1/20G06T11/40
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 9,892,484
App. No.
15/141,767
Granted
Feb 13, 2018
Kind
B2
Abstract

A memory access request associated with a data unit is received from a first thread of a pixel shader. A processing status associated with the data unit is obtained from a window buffer. It is determined whether the data unit is being processed by a second thread. If so, a rejection procedure is performed to avoid the first thread gaining to access an attribute value associated with the data unit from/to a DRAM (Dynamic Random Access Memory). Otherwise, an acknowledgement procedure is performed to grant the first thread to access the attribute value associated with the data unit from/to the DRAM.

Claims (36)

1. A method for checking dependencies of data units, comprising:

receiving a memory access request associated with a data unit from a first thread of a pixel shader;

obtaining a processing status associated with the data unit from a plurality of bit values of a cell of a window buffer, wherein each bit value of the cell is associated with one data unit at specific coordinates of a 2D (two-dimensional) image;

determining whether the data unit is being processed by a second thread by inspecting the corresponding bit value of the cell;

if so, performing a rejection procedure to avoid the first thread gaining to access an attribute value associated with the data unit from/to a DRAM (Dynamic Random Access Memory); and

otherwise, performing an acknowledgement procedure to grant the first thread to access the attribute value associated with the data unit from/to the DRAM,

wherein the memory access request comprises the coordinates at which the data unit is situated in the 2D image, the window buffer is a 1R1W- or 2R2W-type SRAM (Static Random Access Memory) and the step for obtaining a processing status associated with the data unit from a window buffer further comprises:

calculating a cell index according to the coordinates;

reading whole cell data corresponding to the cell index from the 1R1W- or 2R2W-type SRAM; and

obtaining the processing status associated with the data unit from the whole cell data.

2. The method of claim 1 , wherein the corresponding bit value being logic “1” indicates that the data unit is being processed by the second thread and the bit value being logic “0” indicates that the data unit has not been processed by any thread.

3. The method of claim 1 , wherein addressing information of the processing status associated the data unit conforms to its coordinates in the 2D image.

4. The method of claim 1 , wherein the rejection procedure further comprises:

replying with a rejection message to the first thread; and

writing the original cell data into an address corresponding to the cell index of the 1R1W- or 2R2W-type SRAM.

5. The method of claim 1 , wherein the acknowledgement procedure further comprises:

replying with an acknowledgement to the first thread;

updating the processing status associated with the data unit to indicate that the data unit is being processed by the first thread; and

writing the updated cell data into an address corresponding to the cell index of the 1R1W- or 2R2W-type SRAM.

6. The method of claim 1 , wherein the data unit is a pixel, a quad or a tile.

7. The method of claim 1 , wherein the processing status associated with the data unit, which is stored in the window buffer, is obtained through an arbiter.

8. An apparatus for checking dependencies of data units, comprising:

a window buffer; and

a window checker, coupled to the window buffer, receiving a memory access request associated with a data unit from a first thread of a pixel shader; obtaining a processing status associated with the data unit from a plurality of bit values of a cell of a window buffer, wherein each bit value of the cell is associated with one data unit at specific coordinates of a 2D (two-dimensional) image; determining whether the data unit is being processed by a second thread by inspecting the corresponding bit value of the cell; if so, performing a rejection procedure to avoid the first thread gaining to access an attribute value associated with the data unit from/to a DRAM (Dynamic Random Access Memory); and otherwise, performing an acknowledgement procedure to grant the first thread to access the attribute value associated with the data unit from/to the DRAM,

wherein the memory access request comprises the coordinates at which the data unit is situated in the 2D image, the window buffer is a 1R1W- or 2R2W-type SRAM (Static Random Access Memory) and the window checker calculates a cell index according to the coordinates; reading whole cell data corresponding to the cell index from the 1R1W- or 2R2W-type SRAM; and obtains the processing status associated with the data unit from the whole cell data.

9. The apparatus of claim 8 , wherein the bit value being logic “1” indicates that the data unit is being processed by the second thread and the bit value being logic “0” indicates that the data unit has not been processed by any thread.

10. The apparatus of claim 8 , wherein addressing information of the processing status associated the data unit conforms to its coordinates in the 2D image.

11. The apparatus of claim 8 , wherein the rejection procedure further comprises:

replying with a rejection message to the first thread; and

writing the original cell data into an address corresponding to the cell index of the 1R1W- or 2R2W-type SRAM.

12. The apparatus of claim 8 , wherein the acknowledgement procedure further comprises:

replying with an acknowledgement to the first thread;

updating the processing status associated with the data unit to indicate that the data unit is being processed by the first thread; and

writing the updated cell data into an address corresponding to the cell index of the 1R1W- or 2R2W-type SRAM.

13. The apparatus of claim 8 , wherein the data unit is a pixel, a quad or a tile.

14. The apparatus of claim 8 , wherein the processing status associated with the data unit, which is stored in the window buffer, is obtained through an arbiter.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2021
From: SHANGHAI ZHAOXIN SEMICONDUCTOR CO., LTD.
To: GLENFLY TECH CO., LTD.
Reel/Frame 058965/0042 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2016
From: XIAO, HENG; LIANG, YING; QUE, HENG
To: VIA ALLIANCE SEMICONDUCTOR CO., LTD.
Reel/Frame 038415/0483 →
Priority Claims (1)
CN 2015 1 0788164 · Nov 17, 2015 · national
Continuity (1)
Related Publication 20170140499A1 · May 18, 2017