-
公开(公告)号:US10528490B2
公开(公告)日:2020-01-07
申请号:US15771107
申请日:2016-10-19
Applicant: ARM LIMITED
Inventor: Graeme Peter Barnes
Abstract: An apparatus and method are provided for managing bounded pointers. The apparatus has processing circuitry to execute a sequence of instructions, and a plurality of storage elements accessible to the processing circuitry, for storage of bounded pointers and non-bounded pointers. Each bounded pointer has explicit range information associated therewith indicative of an allowable range of memory addresses when using the bounded pointer. A current range check storage element is then used to store a current range check state for the processing circuitry. When the current range check state indicates a default state, the processing circuitry is responsive to execution of a memory access instruction identifying a pointer to be used to identify a memory address, to perform a range check operation to determine whether access to that memory address is permitted. In particular, when the memory access instruction identifies as the pointer one of the bounded pointers, the range check operation is performed with reference to the explicit range information associated with that bounded pointer. If instead the memory access instruction identifies a non-bounded pointer, the range check operation is performed with reference to default range information defined for the processing circuitry. On detection of at least one event, the current range check state is set to an executive state. When in the executive state, the processing circuitry is responsive to execution of a memory access instruction to disable the range check operation when the identified pointer is a non-bounded pointer. This provides an efficient, but controlled, mechanism for enabling the set of bounded pointers available to the processing circuitry to be altered.
-
公开(公告)号:US10416963B2
公开(公告)日:2019-09-17
申请号:US15626454
申请日:2017-06-19
Applicant: ARM Limited
Inventor: Daniel Arulraj , Graeme Peter Barnes , Lee Eisen , Gary Gorman
Abstract: A data processing apparatus is provided, for performing a determination of whether a value falls within a boundary defined by a lower limit between 0 and 2m and an upper limit between 0 and 2m. The apparatus includes storage circuitry that stores each of the lower limit and the upper limit in a compressed form as a mantissa of q
-