Preload instruction control

US9632776B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9632776-B2
Application numberUS-201113064113-A
CountryUS
Kind codeB2
Filing dateMar 7, 2011
Priority dateApr 22, 2010
Publication dateApr 25, 2017
Grant dateApr 25, 2017

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 processor provided with an instruction decoder responsive to preload instructions which trigger preload operations, such as page table walks and cache line fetches. An instruction decoder identifies if the memory address associated with the preload instruction matches a null value and suppresses the preload operation if the memory address does match the null value. The null value may be set under program control, it may be predetermined as a fixed value (e.g. zero) or may be set under hardware control, such as corresponding to memory addresses of a page identified by a memory management unit as non-accessible.

First claim

Opening claim text (preview).

I claim: 1. Apparatus for processing data comprising: processing circuitry configured to perform data processing operations in response to program instructions; instruction decoder circuitry coupled to said processing circuitry and responsive to said program instructions to generate control signals for controlling said processing circuitry to perform said data processing operations; wherein said instruction decoder is responsive to a preload instruction, said preload instruction specifying a memory address location to be subject to a preload operation for preparing for a subsequent memory access to said memory address, to compare said memory address with a null value and: (i) if said memory address does not match said null value then to generate control signals for controlling said processing circuitry to perform said preload operation; and (ii) if said memory address does match said null value then not to generate said control signals for controlling said processing circuitry to perform said preload operation. 2. Apparatus as claimed in claim 1 , comprising translation lookaside buffer circuitry configured to store address mapping data specifying translations between virtual addresses and physical addresses, wherein said memory address is a virtual memory address and said preload operation triggers loading of address mapping data for said memory address to said translation lookaside buffer if said address mapping data does not specify a translation for said memory address. 3. Apparatus as claimed in claim 2 , wherein said address mapping data for said memory address is accessible using a page table walk operation. 4. Apparatus as claimed in claim 1 , comprising a cache memory and wherein said preload operation loads data from said memory address to said cache memory. 5. Apparatus as claimed in claim 1 , wherein said null value is zero. 6. Apparatus as claimed in claim 1 , wherein said null value is one of a range of values. 7. Apparatus as claimed in claim 1 , wherein said null value is a programmable value. 8. Apparatus as claimed in claim 6 , wherein said null value is programmable by detecting circuitry configured to detect memory addresses that are not to be subject to said preload operation. 9. Apparatus as claimed in claim 1 , wherein said memory address is within a memory address space divided into memory address pages and said instruction decoder circuitry is configured to set said null value to correspond to a previously detected memory access to a non-accessible memory page. 10. Apparatus for processing data comprising: processing means for performing data processing operations in response to program instructions; instruction decode for generating control signals in response to said program instructions, said control signals controlling said processing means to perform said data processing operations; wherein said instruction decode means is responsive to a preload instruction, said preload instruction specifying a memory address location to be subject to a preload operation for preparing for a subsequent memory access to said memory address, to compare said memory address with a null value and: (i) if said memory address does not match said null value then to generate control signals for controlling said processing means to perform said preload operation; and (ii) if said memory address does match said null value then not to generate said control signals for controlling said processing means to perform said preload operation. 11. A method of processing data comprising the steps of: performing data processing operations in response to program instructions; decoding program instructions to generate control signals for controlling said data processing operations; wherein said decoding is responsive to a preload instruction, said preload instruction specifying a memory address location to be subject to a preload operation for preparing for a subsequent memory access to said memory address, to compare said memory address with a null value and: (i) if said memory address does not match said null value then to generate control signals for controlling said data processing operations to perform said preload operation; and (ii) if said memory address does match said null value then not to generate said control signals for controlling said data processing operations to perform said preload operation. 12. A method as claimed in claim 11 , further comprising storing address mapping data specifying translations between virtual addresses and physical addresses, wherein said memory address is a virtual memory address and said preload operation triggers loading of address mapping data for said memory address if said address mapping data does not specify a translation for said memory address. 13. A method as claimed in claim 12 , wherein said address mapping data for said memory address is accessed using a page table walk operation. 14. A method as claimed in claim 11 , wherein said preload operation loads data from said memory address to a cache memory. 15. A method as claimed in claim 11 , wherein said null value is zero. 16. A method as claimed in claim 11 , wherein said null value is one of a range of values. 17. A method as claimed in claim 11 , wherein said null value is a programmable value. 18. A method as claimed in claim 17 , wherein said null value is programmed by detecting hardware memory addresses that are not to be subject to said preload operation. 19. A method as claimed in claim 11 , wherein said memory address is within a memory address space divided into memory address pages and said null value is set to correspond to a previously detected memory access to a non-accessible memory page.

Assignees

Inventors

Classifications

  • with prefetch · CPC title

  • Prefetching based on hints or prefetch instructions · CPC title

  • G06F9/3824Primary

    Operand accessing · CPC title

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

  • LOAD or STORE instructions; Clear instruction · 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 US9632776B2 cover?
A processor provided with an instruction decoder responsive to preload instructions which trigger preload operations, such as page table walks and cache line fetches. An instruction decoder identifies if the memory address associated with the preload instruction matches a null value and suppresses the preload operation if the memory address does match the null value. The null value may be set u…
Who is the assignee on this patent?
Craske Simon John, Advanced Risc Mach Ltd
What technology area does this patent fall under?
Primary CPC classification G06F9/3824. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 25 2017 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).