Statically speculative compilation and execution

US10101978B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10101978-B2
Application numberUS-201514964443-A
CountryUS
Kind codeB2
Filing dateDec 9, 2015
Priority dateJul 9, 2002
Publication dateOct 16, 2018
Grant dateOct 16, 2018

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 system, for use with a compiler architecture framework, includes performing a statically speculative compilation process to extract and use speculative static information, encoding the speculative static information in an instruction set architecture of a processor, and executing a compiled computer program using the speculative static information, wherein executing supports static speculation driven mechanisms and controls.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: ascertaining, at run time, whether a tag corresponding to a program address is represented by current information of a hotline register corresponding to a plural-way associative cache; selecting one of a plurality of ways of the plural-way associative cache if the tag is represented by said current information, wherein the selection is based on said current information; accessing only the selected one of the plurality of ways if the tag is represented by said current information; determining whether to update the hotline register if the tag is not represented by said current information; and storing a value in the hotline register responsive to a result of the determination. 2. The method of claim 1 , further comprising determining whether to access more than one of the plurality of ways in parallel if the tag is not represented by said current information. 3. The method of claim 2 , further comprising accessing a tagline cache in response to an ascertainment that the tag is not represented by said current information, wherein the tagline cache stores information associated with a subset of cache lines of the plural-way associative cache, wherein the value is taken from the information of the tagline cache. 4. The method of claim 3 , further comprising accessing more than one of the plurality of ways in parallel only if the subset of cache lines do not correspond to the tag. 5. An apparatus, comprising: a processor; a compiler-managed speculative direct addressing mechanism to access only one of a plurality of ways of a plural-way associative cache to attempt to correlate one of a plurality of cache lines to a program address; and an associative cache lookup mechanism to perform a parallel access of all ways of the plurality of ways of the plural-way associative cache for the program address only if a miss occurs in response to said attempt; wherein the compiler-managed speculative direct addressing mechanism includes a hotline register having a plurality of register entries, each entry including a protection bit, way information, and tag information. 6. The apparatus of claim 5 , further comprising: a tag-cache to identify a subset of the cache lines and to provide the compiler-managed speculative direct addressing mechanism with an information update only if a miss occurs in response to said attempt and a tag associated with the program address is represented by the identified subset of the cache lines. 7. The apparatus of claim 6 , wherein the associative cache lookup mechanism tags protection information to each cache lines of the cache lines. 8. An apparatus, comprising: an associative cache lookup mechanism of a plural-way associative cache; a hotline register to store cache-way information; and a processing device to: determine whether a tag corresponding to a program address is represented by current information of the hotline register; in response to determining that the tag is represented by the current information of the hotline register, access only one of a plurality of ways of the plural-way associative cache based on the current information of the hotline register. 9. The apparatus of claim 8 , further comprising: a tagline cache to store information corresponding to a subset of cache lines; and wherein the processing device is configured to check the tagline cache in response to determining that the tag is not represented by the current information of the hotline register. 10. The apparatus of claim 9 , wherein the processing device is configured to: perform a tag check using the associative cache lookup mechanism in response to a miss on the tagline cache check. 11. The apparatus of claim 10 , wherein the tag check using the associative cache lookup mechanism comprises access more than one of the plurality of ways in parallel. 12. The apparatus of claim 10 , wherein the processing device is configured to update the hotline register in response to a hit on the tagline cache check. 13. The apparatus of claim 8 , wherein the associative cache lookup mechanism is configured to tag protection information to each cache line of a portion of the cache lines. 14. The apparatus of claim 13 , wherein the protection information includes protection bits (ASID). 15. The apparatus of claim 9 , wherein the subset of the cache lines stored by the tagline cache includes cache line addresses for most recently accessed ones of the cache lines. 16. The apparatus of claim 8 , further comprising a virtual memory exception handler to fetch data from main memory in response to a cache miss. 17. The apparatus of claim 16 , wherein the cache miss comprises an L 2 cache miss. 18. The apparatus of claim 8 , further comprising a translation buffer to perform address translation in response to a cache miss. 19. The apparatus of claim 8 , wherein the cache-way information is identified at compile time.

Assignees

Inventors

Classifications

  • Means for saving power · CPC title

  • G06F8/4432Primary

    Reducing the energy consumption · CPC title

  • G06F8/44Primary

    Encoding · CPC title

  • Cross-Sectional Technologies · mapped topic

  • Energy efficient computing, e.g. low power processors, power management or thermal management · 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 US10101978B2 cover?
A system, for use with a compiler architecture framework, includes performing a statically speculative compilation process to extract and use speculative static information, encoding the speculative static information in an instruction set architecture of a processor, and executing a compiled computer program using the speculative static information, wherein executing supports static speculatio…
Who is the assignee on this patent?
Iii Holdings 2 Llc
What technology area does this patent fall under?
Primary CPC classification G06F8/4432. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 16 2018 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).