Address generation in a data processing apparatus

US8954711B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-8954711-B2
Application numberUS-201213361229-A
CountryUS
Kind codeB2
Filing dateJan 30, 2012
Priority dateMar 7, 2011
Publication dateFeb 10, 2015
Grant dateFeb 10, 2015

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 data processing apparatus is provided comprising processing circuitry and an instruction decoder responsive to program instructions to control processing circuitry to perform the data processing. The instruction decoder is responsive to an address calculating instruction to perform an address calculating operation for calculating a partial address result from a non-fixed reference address and a partial offset value such that a full address specifying a memory location of an information entity is calculable from said partial address result using at least one supplementary program instruction. The partial offset value has a bit-width greater than or equal to said instruction size and is encoded within at least one partial offset field of said address calculating instruction. A corresponding data processing method, virtual machine and computer program product are also provided.

First claim

Opening claim text (preview).

We claim: 1. A data processing apparatus comprising: processing circuitry for processing data; an instruction decoder responsive to program instructions to generate control signals for controlling said processing circuitry to perform said data processing; wherein said program instructions comprise an address calculating instruction having an instruction size, said processing circuitry being responsive to said address calculating instruction to perform an address calculating operation for calculating a partial address result from a non-fixed reference address and a partial offset value, wherein said processing circuitry is configured to calculate a full address specifying a memory location of an information entity from said partial address result using at least one supplementary program instruction and wherein said partial offset value has a bit-width greater than or equal to said instruction size and is encoded within at least one partial offset field of said address calculating instruction, wherein said program instructions comprise said at least one supplementary program instruction such that said full address is obtained by execution of a set comprising at least two program instructions comprising said address calculating instruction and said at least one supplementary program instruction, wherein said full address is specified by a full offset value and said non-fixed reference address and wherein said at least one supplementary instruction provides a supplementary offset value such that said partial offset value and said supplementary offset value together specify said full offset value. 2. The data processing apparatus as claimed in claim 1 , wherein said supplementary offset value is encoded within at least one supplementary offset field of said at least one further instruction. 3. The data processing apparatus as claimed in claim 1 , wherein said partial offset value forms a first portion of said full offset value and wherein said supplementary offset value forms a further portion of said full offset value. 4. The data processing apparatus as claimed in claim 1 , wherein a bit-width of said full offset value is greater than or equal to said instruction size. 5. The data processing apparatus as claimed in claim 2 , wherein said full offset value is a 33-bit signed offset and said instruction size is 32 bits. 6. The data processing apparatus as claimed in claim 1 , wherein said data processing apparatus has access to a virtual address space having a plurality of memory frames of predetermined frame size and wherein said partial offset value is a frame offset value specifying relative to said non-fixed reference address a frame base address for a frame containing said information entity. 7. The data processing apparatus as claimed in claim 6 , wherein said partial offset value is obtained from said encoding in said at least one partial offset field and has a bit-width greater than a combined bit-width of said at least one partial offset field. 8. The data processing apparatus as claimed in claim 7 , wherein said partial offset value comprises said encoding in said at least one partial offset field and a predetermined bit-width of zeros. 9. The data processing apparatus as claimed in claim 6 , wherein said predetermined frame size corresponds to a number of bytes that is 2 F where F is the number of intra-frame offset bits and wherein said frame base address is at a predetermined offset within said frame. 10. The data processing apparatus as claimed in claim 9 , wherein said address calculating operation comprises: (i) deriving said frame offset value from at least one field of said address calculating instruction encoding said partial offset value; (ii) generating said partial address result comprising said frame base address. 11. The data processing apparatus as claimed in claim 10 , wherein said at least one supplementary program instruction comprises at least one intra-frame offset field specifying an intra-frame offset value, said intra-frame offset value specifying relative to said frame base address, a location of said information entity within said frame of memory and wherein upon execution of said at least one supplementary instruction, said intra-frame offset value is combined with said frame base address result to generate said full address. 12. The data processing apparatus as claimed in claim 1 , wherein said at least one supplementary program instruction comprises one of an add instruction, and a memory access instruction. 13. The data processing apparatus as claimed in claim 11 , wherein said data processing apparatus is configured to execute a sequence of program instructions comprising said address calculating instruction and said at least one supplementary program instruction and wherein said at least one supplementary program instruction is executed subsequently to execution of said address calculating instruction but following execution of one or more intervening program instructions. 14. The data processing apparatus as claimed in claim 11 , wherein said data processing apparatus is configured to execute a sequence of program instructions comprising a plurality of instances of said address calculating instruction, each of said plurality of instances providing said partial address result of said information entity. 15. The data processing apparatus as claimed in claim 1 , wherein said address calculating instruction has an instruction bit-width and said full address has a full address bit-width different from said instruction bit-width. 16. The data processing apparatus as claimed in claim 15 , wherein said data processing apparatus has access to a virtual address space having a plurality of memory frames of predetermined frame size and wherein said partial offset value is a frame offset value specifying relative to said non-fixed reference address a frame base address for a frame containing said information entity and wherein said at least one frame offset field has a first bit-width and wherein said frame offset value has a second bit-width greater than said first bit-width. 17. The data processing apparatus as claimed in claim 16 , wherein said frame offset value is generated by combining contents of said at least one frame offset field and performing a scaling operation depending upon said predetermined frame size. 18. The data processing apparatus as claimed in 17 , wherein said full address bit-width is different from said second bit-width associated with said frame offset value. 19. The data processing apparatus as claimed in claim 15 , wherein said total first bit-width is 21 bits and said third bit-width is 64 bits. 20. The data processing apparatus as claimed in claim 16 , wherein said calculation of said partial address result comprises expanding said first bit-width to said second bit-width corresponding to said frame offset value by multiplying said at least one frame offset field by said frame size and expanding said second bit-width to said third bit-width corresponding to said full address by performing a sign extension. 21. The data processing apparatus as claimed in claim 16 , wherein upon execution of said at least one supplementary program instruction, said frame offset value is added to said intra-frame offset value to generate a combined offset value corresponding to said full address and wherein said combined offset value specifies a location of said information entity relative to said non-fixed reference address. 22. The data processing app

Assignees

Inventors

Classifications

  • G06F9/3557Primary

    using program counter as base address · CPC title

  • Extension of operand address space · CPC title

  • to perform operations on data operands · CPC title

  • comprising data of variable length · CPC title

  • of immediate specifier, e.g. constants · 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 US8954711B2 cover?
A data processing apparatus is provided comprising processing circuitry and an instruction decoder responsive to program instructions to control processing circuitry to perform the data processing. The instruction decoder is responsive to an address calculating instruction to perform an address calculating operation for calculating a partial address result from a non-fixed reference address and…
Who is the assignee on this patent?
Stephens Nigel John, Seal David James, Advanced Risc Mach Ltd
What technology area does this patent fall under?
Primary CPC classification G06F9/3557. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 10 2015 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).