Simplified Hash Table
US-2024422006-A1 · Dec 19, 2024 · US
US9760374B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9760374-B2 |
| Application number | US-201113067805-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 28, 2011 |
| Priority date | Aug 12, 2010 |
| Publication date | Sep 12, 2017 |
| Grant date | Sep 12, 2017 |
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 data processing system 2 includes a stack pointer register 26, 28, 30, 32 storing a stack pointer value for use in stack access operations to a stack data store 44, 46, 48, 50 . Stack alignment checking circuitry 36 which is selectively disabled may be provided to check memory address alignment of the stack pointer value associated with a stack memory access. The action of the stack alignment checking circuitry 36 is independent of any further other alignment checking performed in respect of all memory accesses. Thus, general alignment checking circuitry 38 may be provided and independently selectively disabled in respect of any memory access.
Opening claim text (preview).
I claim: 1. Apparatus for processing data comprising: processing circuitry responsive to program instructions to perform data processing operations; a stack pointer register coupled to said processing circuitry and configured to store a stack pointer value indicative of an address within a memory of a stack data store; stack alignment checking circuitry coupled to said processing circuitry and to said stack pointer register and configured to respond to a program instruction specifying a memory access to said stack data store at an address specified by said stack pointer value to detect if said stack pointer value matches a predetermined stack alignment condition; alignment checking control circuitry coupled to said stack alignment checking circuitry and responsive to a stack configuration parameter to selectively disable said stack alignment checking circuitry independently of further alignment checking performed upon memory accesses. 2. Apparatus as claimed in claim 1 , wherein said further alignment checking comprises alignment checking for all memory accesses. 3. Apparatus as claimed in claim 1 , wherein said stack memory access is one of: (i) a stack push operation storing one or more data values to said stack memory starting at a top of stack address specified by said stack pointer value and updating said stack pointer value to indicate a new top of stack address; and (ii) a stack pop operation reading one or more data values from said stack memory starting at a top of stack address specified by said stack pointer value and updating said stack pointer value to indicate a new top of stack address. 4. Apparatus as claimed in claim 2 , comprising general purpose alignment checking circuitry coupled to said processing circuitry and configured to respond to a program instruction specifying a general purpose access to said memory at any memory address to detect if said address matches a predetermined general purpose alignment condition. 5. Apparatus as claimed in claim 4 , wherein said alignment checking control circuitry is coupled to said general purpose alignment checking circuitry and is responsive to a general configuration parameter to selectively disable said general purpose alignment checking circuitry independently of alignment checking performed by said stack alignment checking circuitry upon stack memory accesses using said stack pointer value. 6. Apparatus as claimed in claim 1 , wherein said predetermined stack alignment condition comprises said stack pointer value is one of: unconstrained; an integer multiple of 2 N , where N is a non-zero integer value. 7. Apparatus as claimed in claim 6 , wherein N is one of 3 and 4. 8. Apparatus as claimed in claim 4 , wherein N is set under user control. 9. Apparatus as claimed in claim 1 , comprising a plurality stack pointer registers each storing a respective stack pointer value and wherein said processing circuitry is configured to operate at a plurality exception levels each associated with a respective one of said plurality of stack pointer registers for use when said processing circuitry is operating at said exception level and having a respective stack configuration parameter for controlling whether or not stack alignment checking circuitry is disabled at that exception level. 10. Apparatus for processing data comprising: processing means for performing data processing operations in response to program instructions; stack pointer means for storing a stack pointer value, said stack pointer means being coupled to said processing means and said stack pointer value being indicative of an address within a memory of a stack data store; stack alignment checking means for checking alignment, said stack alignment checking means being coupled to said processing means and to said stack pointer means and configured to respond to a program instruction specifying a memory access to said stack data store at an address specified by said stack pointer value to detect if said stack pointer value matches a predetermined stack alignment condition; alignment checking control means for controlling alignment checking, said alignment checking control means being coupled to said stack alignment checking means and being responsive to a stack configuration parameter to selectively disable said stack alignment checking means independently of further alignment checking performed upon memory accesses. 11. A method of processing data comprising the steps of: performing data processing operations in response to program instructions; storing within a stack pointer register a stack pointer value indicative of an address within a memory of a stack data store; in response to a program instruction specifying a memory access to said stack data store at an address specified by said stack pointer value, detecting if said stack pointer value matches a predetermined stack alignment condition; in response to a stack configuration parameter, selectively omitting said detecting step independently of further alignment checking performed upon memory accesses. 12. A method as claimed in claim 11 , wherein said further alignment checking comprises alignment checking for all memory accesses. 13. A method as claimed in claim 11 , wherein said stack memory access is one of: (i) a stack push operation storing one or more data values to said stack memory starting at a top of stack address specified by said stack pointer value and updating said stack pointer value to indicate a new top of stack address; and (ii) a stack pop operation reading one or more data values from said stack memory starting at a top of stack address specified by said stack pointer value and updating said stack pointer value to indicate a new top of stack address. 14. A method as claimed in claim 11 , comprising the steps of general purpose alignment checking circuitry responsive to a program instruction specifying a general purpose access to said memory at any memory address to detect if said address matches a predetermined general purpose alignment condition. 15. A method as claimed in claim 14 , wherein in response to a general configuration parameter selectively disabling said general purpose alignment checking independently of alignment checking performed upon stack memory accesses using said stack pointer value. 16. A method as claimed in claim 11 , wherein said predetermined stack alignment condition comprises said stack pointer value is one of: unconstrained; an integer multiple of 2 N , where N is a non-zero integer value. 17. A method as claimed in claim 16 , wherein N is one of 3 and 4. 18. A method as claimed in claim 16 , wherein N is set under user control. 19. A method as claimed in claim 11 , comprising the steps of storing a plurality of stack pointer value in respective stack pointer registers and operating at a plurality exception levels each associated with a respective one of said plurality of stack pointer registers for use when said processing circuitry is operating at said exception level and having a respective stack configuration parameter for controlling whether or not stack alignment checking is performed at that exception level. 20. A virtual machine comprising a computer program stored on a non-transitory, computer-readable medium to control a computer to perform a method as claimed in claim 11 .
Operand accessing · CPC title
LOAD or STORE instructions; Clear instruction · CPC title
Register stacks; shift registers · CPC title
to perform operations on memory · CPC title
Addressing variable-length words or parts of words · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.