Cache storing data fetched by address calculating load instruction with label used as associated name for consuming instruction to refer

US9501280B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9501280-B2
Application numberUS-201414194589-A
CountryUS
Kind codeB2
Filing dateFeb 28, 2014
Priority dateNov 14, 2006
Publication dateNov 22, 2016
Grant dateNov 22, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A unified architecture for dynamic generation, execution, synchronization and parallelization of complex instruction formats includes a virtual register file, register cache and register file hierarchy. A self-generating and synchronizing dynamic and static threading architecture provides efficient context switching.

First claim

Opening claim text (preview).

What is claimed is: 1. A system, comprising: a cache adapted to store a prefeteched value for a consuming instruction, wherein the cache associates the prefeteched value with a corresponding name and wherein the consuming instruction explicitly references the corresponding name instead of a memory address, wherein the corresponding name is a label associated with a load address calculation instruction within a program that is executed to obtain the prefetched value; and a scheduling unit to issue the consuming instruction after the prefetched value is loaded in the cache and to release the location of the prefeteched value in the cache after an execution unit executes the consuming instruction using the prefetched value. 2. The system of claim 1 wherein the corresponding name indicates a source of dependency for the consuming instruction. 3. The system of claim 1 wherein the scheduling unit confirms that the prefetched value is validly loaded from higher memory prior to the execution unit executing the consuming instruction. 4. The system of claim 1 wherein a context switch in response to a call to an exception handler or a system call is used to release the location of the prefetched value. 5. The system of claim 1 further comprising physical registers with flag fields to facilitate conditional execution of an instruction and delay slots for branch instructions. 6. The system of claim 1 further comprising an instruction fetch unit to selectively execute a conditional branch instruction in response to an evaluation of a flag field. 7. A system as claimed in claim 1 wherein the cache is adapted to store a sequence of prefetched values corresponding to a sequence of consuming instructions, wherein the sequence of prefetched values has a single corresponding name regardless of the number of prefeteched values; wherein the execution unit is adapted to execute the sequence of consuming instructions using the sequence of prefetched values; and wherein the scheduling unit is adapted to release the locations of the sequence of prefeteched values in the cache after the execution unit executes the sequence of consuming instructions. 8. The system of claim 7 wherein the sequence of prefetched values is used to access an array inside a loop. 9. The system of claim 7 wherein the scheduler resets a write counter in an inheritance vector when the sequence of prefeteched values is allocated. 10. The system of claim 8 wherein the scheduler increments the write counter for every iteration of a loop. 11. The system of claim 7 wherein the scheduler maintains a read counter for each consuming instruction. 12. The system of claim 11 wherein the scheduler increments the read counter for each consuming instruction read from the sequence of consuming instructions. 13. The system of claim 7 wherein the cache stores the sequence of prefetched values without performing ordering checks. 14. The system of claim 13 wherein the scheduler performs an ordering check with respect to stores when a consuming instruction executes. 15. The system of claim 14 wherein the scheduler includes a bypass mechanism to selectively fetch a stored value instead of a prefetched value. 16. The system of claim 7 wherein the execution unit speculatively executes a consuming instruction ahead of a stored instruction through thread control speculation. 17. The system of claim 16 wherein the execution unit conditionally executes a prefetch thread on an ordering check made upon execution of a preceding store.

Assignees

Inventors

Classifications

  • Extension of operand address space · CPC title

  • Extension of register space, e.g. register cache · CPC title

  • organised in groups of units sharing resources, e.g. clusters · CPC title

  • Operand prefetching (cache prefetching G06F12/0862) · CPC title

  • with multiple register sets · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9501280B2 cover?
A unified architecture for dynamic generation, execution, synchronization and parallelization of complex instruction formats includes a virtual register file, register cache and register file hierarchy. A self-generating and synchronizing dynamic and static threading architecture provides efficient context switching.
Who is the assignee on this patent?
Soft Machines Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/30123. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 22 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).