Data Transfer in a Multi-Core Processor
US-2015286597-A1 · Oct 8, 2015 · US
US10134172B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10134172-B2 |
| Application number | US-201615141727-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 28, 2016 |
| Priority date | Nov 17, 2015 |
| Publication date | Nov 20, 2018 |
| Grant date | Nov 20, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A first request is received from a window checker, requesting to read cell data from a window buffer or write cell data into the window buffer, where the first request contains at least first cell index. A second request is received from a window releaser, requesting to read cell data from the window buffer or write cell data into the window buffer, where the second request contains at least second cell index. A register stores the first cell index, the second cell index, a first lock flag indicating whether the window checker has read cell data but hasn't written cell data back and a second lock flag indicating whether the window releaser has read cell data but hasn't written cell data back. One of the requests is granted according to the first and second cell indices and the first and second lock flags.
Opening claim text (preview).
What is claimed is: 1. A method for checking dependencies of data units, comprising: receiving a first request from a window checker, requesting to read cell data from a window buffer or write cell data into the window buffer, wherein the first request comprises a first cell index; storing the first cell index in a register, wherein the register further stores a first lock flag indicating whether the window checker has read cell data but hasn't written cell data back; receiving a second request from a window releaser, requesting to read cell data from the window buffer or write cell data into the window buffer, wherein the second request comprises a second cell index; storing the second cell index in the register, wherein the register further stores a second lock flag indicating whether the window releaser has read cell data but hasn't written cell data back; and granting one of the first request and the second request according to the first and second cell indices and the first and second lock flags; wherein the first lock flag being “true” indicates that the window checker has read cell data of the window buffer but hasn't written cell data back, the first lock flag being “false” indicates that the window checker hasn't read new cell data from the window buffer, the second lock flag being “true” indicates that the window releaser has read cell data of the window buffer but hasn't written cell data back, the second lock flag being “false” indicates that the window releaser hasn't read new cell data from the window buffer; wherein the step for granting one of the first request and the second request according to the first and second cell indices and the first and second lock flags further comprises: selecting and processing the second request when the first lock flag is “false” and the second lock flag is “true” and the first and second cell indices are the same. 2. The method of claim 1 , wherein the cell data comprises a plurality of bit values and each bit value indicates whether a data unit is being processed by a thread of a pixel shader. 3. The method of claim 1 , wherein the step for granting one of the first request and the second request according to the first and second cell indices and the first and second lock flags further comprises: selecting and processing the second request when the first and second lock flags are “false” and the first and second cell indices are the same. 4. The method of claim 3 , wherein the step for selecting and processing the second request when the first and second lock flags are “false” and the first and second cell indices are the same further comprises: directing an access interface to read cell data associated with the second cell index from the window buffer; replying with the read cell data to the window releaser; and updating the second lock flag with “true”. 5. The method of claim 1 , wherein the step for granting one of the first request and the second request according to the first and second cell indices and the first and second lock flags further comprises: selecting and processing the second request when the first lock flag is “true” and the second lock flag is “false” and the first and second cell indices are different. 6. The method of claim 5 , wherein the step for selecting and processing the second request when the first lock flag is “true” and the second lock flag is “false” and the first and second cell indices are different further comprises: directing an access interface to read cell data associated with the second cell index from the window buffer; replying with the read cell data to the window releaser; and updating the second lock flag with “true”. 7. The method of claim 1 , wherein the step for granting one of the first request and the second request according to the first and second cell indices and the first and second lock flags further comprises: selecting and processing the first request when the first lock flag is “false” and the second lock flag is “true” and the first and second cell indices are different. 8. The method of claim 7 , wherein the step for selecting and processing the first request when the first lock flag is “false” and the second lock flag is “true” and the first and second cell indices are different further comprises: directing an access interface to read cell data associated with the first cell index from the window buffer; replying with the read cell data to the window checker; and updating the first lock flag with “true”. 9. The method of claim 1 , wherein the step for granting one of the first request and the second request according to the first and second cell indices and the first and second lock flags further comprises: selecting and processing the first request when the first lock flag is “true” and the second lock flag is “false” and the first and second cell indices are the same. 10. The method of claim 9 , wherein the step for selecting and processing the first request when the first lock flag is “true” and the second lock flag is “false” and the first and second cell indices are the same further comprises: directing an access interface to write cell data into an address of the window buffer, which is associated with the first cell index; replying with a data-write success message to the window checker; and updating the first lock flag with “false”. 11. The method of claim 1 , wherein the step for selecting and processing the second request when the first lock flag is “false” and the second lock flag is “true” and the first and second cell indices are the same further comprises: directing an access interface to write cell data into an address of the window buffer, which is associated with the second cell index; replying with a data-write success message to the window releaser; and updating the second lock flag with “false”. 12. The method of claim 1 , wherein the step for granting one of the first request and the second request according to the first and second cell indices and the first and second lock flags further comprises: selecting and processing the second request when the first and second lock flags are “true” and the first and second cell indices are different. 13. The method of claim 12 , wherein the step for selecting and processing the second request when the first and second lock flags are “true” and the first and second cell indices are different further comprises: directing an access interface to write cell data into an address of the window buffer, which is associated with the second cell index; replying with a data-write success message to the window releaser; and updating the second lock flag with “false”. 14. An apparatus for checking dependencies of data units, comprising: a register, storing a first lock flag indicating whether a window checker has read cell data but hasn't written cell data back and a second lock flag indicating whether a window releaser has read cell data but hasn't written cell data back; a window buffer; and a control unit, coupled to the register and the window buffer, receiving a first request from the window checker, requesting to read cell data from the window buffer or write cell data into the window buffer, wherein the first request comprises a first cell index; storing the first cell index in the register; receiving a second request from the window releaser, requesting to read cell data from the window buffer or write cell data into the window buffer, wherein the second request comprises a second cell index; storing the second cell index in the register; and granting one of the first request and the second request according to the first and
General purpose rendering architectures · CPC title
Physical resource allocation for ACK/NACK (for physical mapping arrangements in ARQ protocols H04L1/1861) · CPC title
using storage descriptor, e.g. read or write pointers · CPC title
Physics · mapped topic
Memory management · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.