ARM Limited

United Kingdom

Back to Profile

1-100 of 906 for ARM Limited Sort by
Query
Patent
World - WIPO
Aggregations Reset Report
Date
New (last 4 weeks) 9
2024 August 9
2024 July 2
2024 June 3
2024 May 6
See more
IPC Class
G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode 190
G06F 9/38 - Concurrent instruction execution, e.g. pipeline, look ahead 123
G06F 12/14 - Protection against unauthorised use of memory 94
H01L 45/00 - Solid state devices specially adapted for rectifying, amplifying, oscillating, or switching without a potential-jump barrier or surface barrier, e.g. dielectric triodes; Ovshinsky-effect devices; Processes or apparatus specially adapted for the manufacture or treatment thereof or of parts thereof 39
G11C 13/00 - Digital stores characterised by the use of storage elements not covered by groups , , or 37
See more
Found results for  patents
  1     2     3     ...     10        Next Page

1.

ADDRESS-DEPENDENT CHECK

      
Application Number GB2024050061
Publication Number 2024/175871
Status In Force
Filing Date 2024-01-11
Publication Date 2024-08-29
Owner ARM LIMITED (United Kingdom)
Inventor
  • Vangireddy, Madhusudana Reddy
  • Horley, John Michael
  • Williams, Michael John

Abstract

A data processing apparatus comprises processing circuitry configured to perform data processing operations in response to instructions stored in a memory system. In response to determining that an execute-instruction-from-register condition is satisfied at a point in program flow corresponding to a program counter address, the processing circuitry determines, based on instruction-defining information associated with an instruction-storing register, an alternate operation to be performed in place of an original operation represented by an instruction stored in a location in the memory system corresponding to the program counter address. The apparatus also comprises checking circuitry configured to perform an address-dependent check based on the program counter address to determine whether the processing circuitry is permitted to perform the alternate operation in place of the original operation.

IPC Classes  ?

  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode
  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline, look ahead
  • G06F 9/32 - Address formation of the next instruction, e.g. by incrementing the instruction counter
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 21/00 - Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity

2.

DYNAMIC FLOATING-POINT PROCESSING

      
Application Number GB2024050090
Publication Number 2024/175873
Status In Force
Filing Date 2024-01-15
Publication Date 2024-08-29
Owner ARM LIMITED (United Kingdom)
Inventor
  • Stephens, Nigel John
  • Milanovic, Jelena
  • Sankaranarayanan, Jayasree

Abstract

A data processing apparatus includes mode circuitry for indicating a first format of a first floating- point parameter and separately indicating a second format of a second floating-point parameter. Floating-point circuitry performs a two-parameter floating-point operation using the first floating- point parameter in the first format and the second floating-point parameter in the second format. At least one of the first format and the second format is dynamically changeable at runtime.

IPC Classes  ?

  • G06F 7/483 - Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode

3.

APPARATUS, METHOD, AND COMPUTER PROGRAM FOR COLLECTING DIAGNOSTIC INFORMATION

      
Application Number GB2024050166
Publication Number 2024/175874
Status In Force
Filing Date 2024-01-22
Publication Date 2024-08-29
Owner ARM LIMITED (United Kingdom)
Inventor
  • Williams, Michael John
  • Stephens, Nigel John
  • Grant, Alasdair

Abstract

An apparatus has processing circuitry to perform single instruction, multiple data (SIMD) processing on an array with a plurality of data items and the processing circuitry supports the SIMD processing for a plurality of array sizes. The processing circuitry is able to select an array size with which to perform the SIMD processing based on SIMD processing configuration information. Diagnostic information collection circuitry is provided to collect diagnostic information about software executing on the processing circuitry and the diagnostic information collection circuitry filters collection of the diagnostic information based on the SIMD processing configuration information.

IPC Classes  ?

  • G06F 11/30 - Monitoring
  • G06F 11/34 - Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
  • G06F 15/80 - Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors

4.

PREDETERMINED LESS-SECURE MEMORY PROPERTY

      
Application Number GB2024050010
Publication Number 2024/175867
Status In Force
Filing Date 2024-01-04
Publication Date 2024-08-29
Owner ARM LIMITED (United Kingdom)
Inventor
  • Parker, Jason
  • Elad, Yuval
  • Garcia-Tobin, Carlos
  • Chadwick, Alexander Donald Charles

Abstract

A target virtual address of a memory access request is translated to a target physical address (PA). The memory access request is associated with one of a plurality of domains including at least a less secure domain associated with a less secure physical address space (PAS) and a more secure domain associated with a more secure PAS. PAS selection circuitry 16, 20 selects a selected PAS for the memory access request. The more secure PAS is prohibited from being selected for memory access requests associated with the less secure domain. Checking circuitry 20 determines whether to reject the memory access request based on protection information corresponding to the target PA. In at least one mode, when the protection information indicates a predetermined less-secure memory property, the less secure PAS (but not the more secure PAS) is allowed to provide access to the target PA, and memory access requests associated with the more secure domain are prohibited from accessing the target PA, even when the selected PAS is the less secure PAS.

IPC Classes  ?

  • G06F 12/14 - Protection against unauthorised use of memory

5.

PERFORMANCE MONITORING CIRCUITRY, METHOD AND COMPUTER PROGRAM

      
Application Number GB2024050023
Publication Number 2024/175868
Status In Force
Filing Date 2024-01-05
Publication Date 2024-08-29
Owner ARM LIMITED (United Kingdom)
Inventor Williams, Michael John

Abstract

Performance monitoring circuitry (40) has event counters (42) each to maintain a respective event count value based on monitoring of events during processing of the software by the processing circuitry. Control circuitry (44) configures the event counters based on counter configuration information. For at least a subset of the event counters, a given event counter (42) in the subset supports a chained-counter operation comprising incrementing a given event count value by an increment value determined based on a logical combination of a first event status indication indicative of status of a first event type assigned by the counter configuration information to be monitored by the given event counter and a second event status indication indicative of status of a second event type assigned by the counter configuration information to be monitored by a further event counter.

IPC Classes  ?

  • G06F 11/30 - Monitoring
  • G06F 11/34 - Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation
  • G06F 11/36 - Preventing errors by testing or debugging of software

6.

TAG PROTECTING INSTRUCTION

      
Application Number GB2024050029
Publication Number 2024/175869
Status In Force
Filing Date 2024-01-08
Publication Date 2024-08-29
Owner ARM LIMITED (United Kingdom)
Inventor Barnes, Graeme Peter

Abstract

Access control circuitry (15), responsive to a memory access request, compares a tag value determined based on a tag portion (40) of an address pointer (42) with an allocation tag (32) associated with the memory location identified by a memory address determined from the address pointer. In response to the comparison indicating a given result, a tag error response is performed. Processing circuitry (4), executing a tag protecting instruction, detects whether an operation involves an attempt to set a bit in an identified portion (74) of an output value to a value other than that in a corresponding bit in an input operand. The processing circuitry sets, when it detects said attempt, a given portion of the output value to an error-indicating value. The identified portion is a portion of the output value which would be used as the tag portion if the output operand was used as the address pointer for a memory access instruction.

IPC Classes  ?

  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline, look ahead
  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode

7.

DETERMINING WHETHER TO REJECT A MEMORY ACCESS REQUEST ISSUED BY A REQUESTER DEVICE

      
Application Number GB2024050056
Publication Number 2024/175870
Status In Force
Filing Date 2024-01-11
Publication Date 2024-08-29
Owner ARM LIMITED (United Kingdom)
Inventor
  • Parker, Jason
  • Elad, Yuval

Abstract

Apparatus comprising PAS selection circuitry (16) and access control circuitry (23). The PAS selection circuitry is responsive to a memory access request issued by a requester device, the memory access request specifying a memory address identifying a memory location, to select, based on a current domain of operation of the requester device, one of a plurality of physical address spaces, PASs, to be associated with the memory access request. The access control circuitry comprises PAS checking circuitry (20) to reject the memory access request in response to address-space permissions information, defined for the identified memory location, indicating that memory access requests associated with the selected PAS are prohibited from accessing the identified memory location, and device permissions checking circuitry (92) to reject the memory access request in response to device permissions information, defined for the requester device, indicating that memory access requests issued by the requester device are prohibited from accessing the selected PAS.

IPC Classes  ?

  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 12/14 - Protection against unauthorised use of memory

8.

CLOCK CIRCUITRY FOR MEMORY APPLICATIONS

      
Application Number GB2024050317
Publication Number 2024/175880
Status In Force
Filing Date 2024-02-06
Publication Date 2024-08-29
Owner ARM LIMITED (United Kingdom)
Inventor
  • Mathur, Rahul
  • Mangal, Sanjay
  • Chaya, Hemavathi
  • Kim, Kyung Woo
  • Satasia, Pratik Ghanshambhai
  • Mccombs, Edward Martin

Abstract

Various implementations described herein are related to a device with a first clock generator that provides a first pulse signal based on a clock signal, wherein the first clock generator has a first tracking circuit that provides a first reset signal based on the first pulse signal. The device may include a second clock generator that provides a second pulse signal based on the clock signal, wherein the second clock generator has a second tracking circuit that provides a first control signal based on the second pulse signal. Also, the device may include a third clock generator that provides a third pulse signal based on the first reset signal, wherein the third clock generator has a logic circuit that provides a second control signal based on the third pulse signal.

IPC Classes  ?

  • G11C 7/08 - Control thereof
  • G11C 8/18 - Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals
  • G11C 7/22 - Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management

9.

DATA PROCESSING NETWORK WITH SUPER HOME NODE

      
Application Number GB2024050293
Publication Number 2024/170868
Status In Force
Filing Date 2024-02-02
Publication Date 2024-08-22
Owner ARM LIMITED (United Kingdom)
Inventor
  • Zhang, Wenxuan
  • Jalal, Jamshed
  • Werkheiser, Mark David
  • Verma, Sakshi
  • Khanna, Ritukar
  • Yalamarthy, Devi Sravanthi
  • Ramagiri, Gurunath
  • Patel, Mukesh
  • Ringe, Tushar P

Abstract

A super home node of a first chip of a multi-chip data processing system manages coherence for both local and remote cache lines accessed by local caching agents and local cache lines accessed by caching agents of one or more second chips. Both local and remote cache lines are stored in a shared cache, and requests are stored in shared point-of-coherency queue. An entry in a snoop filter table of the super home node includes a presence vector that indicates the presence of a remote cache line at specific caching agents of the first chip or the presence of a local cache line at specific caching agents of the first chip and any caching agent of the second chip. All caching agents of the second chip are represented as a single caching agent in the presence vector.

IPC Classes  ?

  • G06F 12/0831 - Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means

10.

EFFICIENT DATA PROCESSING, ARBITRATION AND PRIORITIZATION

      
Application Number GB2024050075
Publication Number 2024/153908
Status In Force
Filing Date 2024-01-12
Publication Date 2024-07-25
Owner ARM LIMITED (United Kingdom)
Inventor
  • Holm, Rune
  • Smolens, Jared
  • Rosemarine, Elliot
  • Olson, Jens

Abstract

A memory unit configured for handling task data, the task data describing a task to be executed as a graph of operations, wherein each operation maps to a corresponding execution unit, and wherein each connection between operations in the graph maps to a corresponding storage element of the execution unit. The task data defines an operation space representing the dimensions of a multi-dimensional arrangement of the connected operations to be executed represented by the data blocks; the memory unit configured to receive a sequence of processing requests comprising the one or more data blocks with each data block assigned a priority value and comprising a block command. The memory unit is configured to arbitrate between the data blocks based upon the priority value and block command to prioritize the sequence of processing requests and wherein the processing requests include writing data to, or reading data from storage.

IPC Classes  ?

  • G06F 9/50 - Allocation of resources, e.g. of the central processing unit [CPU]
  • G06F 9/48 - Program initiating; Program switching, e.g. by interrupt
  • G06F 8/40 - Transformation of program code
  • G06F 9/54 - Interprogram communication
  • G06N 3/0464 - Convolutional networks [CNN, ConvNet]
  • G06N 3/063 - Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

11.

EFFICIENT DATA PROCESSING

      
Application Number GB2024050076
Publication Number 2024/153909
Status In Force
Filing Date 2024-01-12
Publication Date 2024-07-25
Owner ARM LIMITED (United Kingdom)
Inventor
  • Holm, Rune
  • Smolens, Jared
  • Rosemarine, Elliot
  • Olson, Jens

Abstract

A processor and method for handling data, by obtaining operations from storage, analyzing each of the operations to determine an associated operation space, and generating at least one operation set, wherein the operations of the operation set have substantially similar operation spaces. Receiving input data in the form of a tensor; and allocate the input data, as the input to a given operation of the operation set. The input data having the predetermined input characteristics associated with the given operation. Executing the given operations using the input to produces an output with the known output characteristics. Storing in a segment being associated with an operation of the operation set, the input data; and the output associated with the operation of the operation set.

IPC Classes  ?

  • G06F 9/48 - Program initiating; Program switching, e.g. by interrupt
  • G06F 8/40 - Transformation of program code
  • G06F 9/50 - Allocation of resources, e.g. of the central processing unit [CPU]
  • G06F 9/54 - Interprogram communication
  • G06N 3/0464 - Convolutional networks [CNN, ConvNet]
  • G06N 3/063 - Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

12.

APPARATUS, METHOD AND COMPUTER PROGRAM, FOR PERFORMING TRANSLATION TABLE ENTRY LOAD/STORE OPERATION

      
Application Number GB2023053026
Publication Number 2024/134133
Status In Force
Filing Date 2023-11-17
Publication Date 2024-06-27
Owner ARM LIMITED (United Kingdom)
Inventor
  • Chadwick, Alexander Donald Charles
  • Rutland, Mark Salling
  • Grisenthwaite, Richard Roy

Abstract

A translation table entry load/store operation is performed for at least one target translation table entry address selected depending on software-defined address information identifying a selected address in an input address space. Each target translation table entry address comprises an address of a leaf translation table entry providing address mapping information for translating the selected address from the input address space to an output address space or an address of a branch translation table entry traversed in a translation table walk operation for obtaining that leaf translation table entry. At least one variant of the translation table entry load/store operation supports, for a given target translation table entry of the at least one target translation table entry, clearing access tracking metadata of the given target translation table entry from a first state (indicating that at least one load/store access has occurred to a corresponding region of input address space) to a second state (indicating that no load/store accesses have occurred to the corresponding region).

IPC Classes  ?

  • G06F 12/1009 - Address translation using page tables, e.g. page table structures
  • G06F 12/1027 - Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]

13.

TRIGGERED-PRODUCER AND TRIGGERED-CONSUMER INSTRUCTIONS

      
Application Number GB2023052899
Publication Number 2024/126969
Status In Force
Filing Date 2023-11-07
Publication Date 2024-06-20
Owner ARM LIMITED (United Kingdom)
Inventor
  • Wang, Wei
  • Eyole, Mbou
  • Gabrielli, Giacomo

Abstract

Execution circuitry (14) executes processing operations in response to triggered instructions. Candidate instruction storage circuitry (11) stores triggered instructions, each specifying condition information (40) indicating at least one condition. Issue circuitry (12) issues, in response to determining/predicting that the condition indicated by a given triggered instruction is met, the given triggered instruction for execution. The execution circuitry is responsive to state update information (48) specified by the given triggered instruction to cause machine state (82) to be updated. When the given triggered instruction comprises a triggered-producer instruction, the execution circuitry is responsive to completion of execution of the triggered-producer instruction to cause dependency state (84) to be updated, indicating that a corresponding triggered-consumer instruction can be issued. The issue circuitry evaluates, when the given instruction comprises a triggered-consumer instruction, whether the condition is determined/predicted to be met in dependence on both the machine state and the dependency state.

IPC Classes  ?

  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode
  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline, look ahead

14.

BRAIN-COMPUTER INTERFACE DEVICE, SYSTEM AND OPERATING METHOD

      
Application Number GB2023053040
Publication Number 2024/121529
Status In Force
Filing Date 2023-11-21
Publication Date 2024-06-13
Owner ARM LIMITED (United Kingdom)
Inventor
  • Pottier, Remy
  • Vincent, Hugo John Martin
  • Eyole, Mbou
  • Kanellos, Michael James

Abstract

A method and apparatus to control operation of a brain-computer interface, comprising: capturing, at a sensor, a time series of brain activity in response to stimuli; passing data for the time series of brain activity to a history-based challenge generator; receiving, from the history-based challenge generator, a challenge comprising a generated stimulus with a predicted brain response derived from data for the time series of brain activity; issuing the challenge over the brain-computer interface; capturing, at the sensor, a brain response to the challenge; comparing, by an authenticator, the brain response to the challenge with the predicted brain response for the generated stimulus; and responsive to finding no match between the brain response to the challenge and the predicted brain response, preventing further activity over the brain-computer interface.

IPC Classes  ?

  • G06F 3/01 - Input arrangements or combined input and output arrangements for interaction between user and computer
  • G06F 21/32 - User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
  • G06N 3/0455 - Auto-encoder networks; Encoder-decoder networks

15.

RESOURCE USAGE TRANSITION HINTS

      
Application Number GB2023052795
Publication Number 2024/110738
Status In Force
Filing Date 2023-10-25
Publication Date 2024-05-30
Owner ARM LIMITED (United Kingdom)
Inventor
  • Logan, Angus William James
  • Brown, Dominic William
  • Severino, Christopher Vincent

Abstract

There is provided a control apparatus in which assertion circuitry asserts a request for usage devices to change their usage of a resource from an original usage. Receive circuitry receives a response to the request from the usage devices and hint circuitry asserts a hint to those of the plurality of usage devices for which the response has not been received, that a refusal in response to the request is preferred over an acceptance. There is also provided a usage device in which receive circuitry receives a request from a control apparatus to change the usage device's usage of a resource from an original usage, and receives a hint from the control apparatus that a refusal in response to the request is optional and preferred. Determination circuitry makes a determination of whether the request is to be met based on at least one of: the request and the hint and response circuitry provides a response to the request based on the determination.

IPC Classes  ?

  • G06F 9/48 - Program initiating; Program switching, e.g. by interrupt
  • G06Q 50/06 - Electricity, gas or water supply

16.

APPARATUS COMPRISING INTERRUPT TRACKING CIRCUITRY

      
Application Number GB2023052592
Publication Number 2024/105350
Status In Force
Filing Date 2023-10-06
Publication Date 2024-05-23
Owner ARM LIMITED (United Kingdom)
Inventor
  • Hay, Timothy Nicholas
  • Dall, Christoffer
  • Weidmann, Martin

Abstract

An apparatus (10) and a method are provided, wherein the apparatus comprises interrupt detection circuitry (40) which detects interrupts raised by at least one interrupt source (14), and interrupt tracking circuitry (44) which manages one or more hardware-managed linked list data structures to track pending interrupts detected by the interrupt detection circuitry. A computer program comprising computer-readable code for fabrication of the apparatus, and a computer- readable storage medium are also provided.

IPC Classes  ?

  • G06F 9/48 - Program initiating; Program switching, e.g. by interrupt
  • G06F 9/54 - Interprogram communication

17.

EXCEPTION SIGNALLING

      
Application Number GB2023052619
Publication Number 2024/105351
Status In Force
Filing Date 2023-10-10
Publication Date 2024-05-23
Owner ARM LIMITED (United Kingdom)
Inventor
  • Dall, Christoffer
  • Gupta, Achin
  • Garcia-Tobin, Carlos

Abstract

An apparatus has interrupt detection circuitry to detect a first interrupt to be handled by processing circuitry in a target execution environment. The apparatus also has exception signalling circuitry to signal exceptions to the processing circuitry in response to taken interrupts. When the first interrupt meets at least one criterion, including when the target execution environment is not an active execution environment of the processing circuitry, the exception signalling circuitry is configured to signal a first or second exception depending on an interrupt priority associated with the first interrupt. When the interrupt priority exceeds a threshold priority, the first exception is signalled to pre-emptively trigger a given action, wherein switching from the active execution environment to the target execution environment is dependent on the given action being performed, and when the interrupt priority does not exceed the threshold priority, a second exception is signalled without pre-emptively triggering the given action.

IPC Classes  ?

  • G06F 9/48 - Program initiating; Program switching, e.g. by interrupt

18.

GRAPHICS PROCESSORS

      
Application Number GB2023052995
Publication Number 2024/105396
Status In Force
Filing Date 2023-11-15
Publication Date 2024-05-23
Owner ARM LIMITED (United Kingdom)
Inventor
  • Øygard, Tord Kvestad
  • Kakarlapudi, Sandeep
  • Kjøll, Per Kristian
  • Ruud, Ole Magnus

Abstract

When performing tile-based rendering a first, pre-pass operation in which primitives in a sequence of primitives for a tile are processed to determine visibility information for the sequence of primitives, the visibility information being usable to determine whether or not fragments for a primitive in the sequence of primitives should subsequently be processed further for the render output, is performed. Thereafter a second, main pass operation is performed in which the further processing of fragments for primitives that were processed during the first, pre-pass operation is controlled based on the determined visibility information for the sequence of primitives, such that for fragments for which the visibility information indicates that the fragments should not be processed further for the render output some or all of the processing during the second, main pass is omitted.

IPC Classes  ?

  • G06T 15/00 - 3D [Three Dimensional] image rendering
  • G06T 1/20 - Processor architectures; Processor configuration, e.g. pipelining
  • G06T 15/40 - Hidden part removal
  • G09G 5/36 - Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of individual graphic patterns using a bit-mapped memory

19.

REGION IDENTIFIER BASED ON INSTRUCTION FETCH ADDRESS

      
Application Number GB2023052503
Publication Number 2024/094956
Status In Force
Filing Date 2023-09-27
Publication Date 2024-05-10
Owner ARM LIMITED (United Kingdom)
Inventor Chadwick, Alexander Donald Charles

Abstract

An apparatus (100) comprising instruction fetch circuitry (105) responsive to an instruction fetch address to fetch an instruction associated with the instruction fetch address, processing circuitry (125) responsive to the instruction to perform, when the instruction comprises a request specifying a target memory address and the request specifying the target memory address is permitted, an operation dependent on the target memory address, and memory security circuitry (135) to, when the instruction comprises the request specifying the target memory address: determine, based on a predetermined slice of the instruction fetch address, a current region identifier; identify, based on the current region identifier, permissions information for requests issued in response to instructions associated with the current region identifier; determine, based on the permissions information, whether the request is prohibited; and issue, in response to determining that the request is prohibited, a response to the processing circuitry indicating that the request is prohibited.

IPC Classes  ?

  • G06F 12/14 - Protection against unauthorised use of memory
  • G06F 12/1009 - Address translation using page tables, e.g. page table structures

20.

STACK POINTER SWITCH VALIDITY CHECKING

      
Application Number GB2023052441
Publication Number 2024/089383
Status In Force
Filing Date 2023-09-20
Publication Date 2024-05-02
Owner ARM LIMITED (United Kingdom)
Inventor
  • Horley, John Michael
  • Craske, Simon John

Abstract

Processing circuitry 16 performs a stack pointer switch validity checking operation associated with a switch of the stack pointer from an outgoing stack pointer value to an incoming stack pointer value. The validity checking operation comprises verifying whether an incoming data value obtained by memory access circuitry 26 in response to a memory access request specifying an address determined based on the incoming stack pointer value meets at least one stack cap value validity condition, including a condition that a predetermined portion of the incoming data value corresponds to a given page address indicative of a page of address space comprising the address determined based on the incoming stack pointer value. The at least one stack cap value validity condition is determined independent of whether a further portion of the incoming data value other than the predetermined portion corresponds to sub- page address bits of the address determined based on the incoming stack pointer value. An error handling response is triggered in response to determining that the incoming data value fails to meet the at least one stack cap value validity condition.

IPC Classes  ?

  • G06F 12/14 - Protection against unauthorised use of memory

21.

EXCEPTION CONTROL

      
Application Number GB2023052035
Publication Number 2024/069120
Status In Force
Filing Date 2023-08-01
Publication Date 2024-04-04
Owner ARM LIMITED (United Kingdom)
Inventor Williams, Michael John

Abstract

Exception control circuitry (40) controls taking of exceptions by processing circuitry (4), depending on control information stored in at least one register (14), the control information including masking control information settable to a masked state or unmasked state; and trap- masked-exception control information settable to an untrapped state or trapped state. In response to a given exception of a maskable class of exceptions, in at least one scenario when the masking control information is in the masked state and a current exception level is less privileged than a predetermined trap target exception level, the exception control circuitry controls whether to trap the given exception to the predetermined trap target exception level depending on whether the trap-masked-exception control information is in the trapped state. When the masking control information is in the unmasked state, a target exception level for handling the given exception is selected independent of the trap-masked-exception control information.

IPC Classes  ?

  • G06F 9/48 - Program initiating; Program switching, e.g. by interrupt

22.

MULTIPLE-OUTER-PRODUCT INSTRUCTION

      
Application Number GB2023051858
Publication Number 2024/056984
Status In Force
Filing Date 2023-07-14
Publication Date 2024-03-21
Owner ARM LIMITED (United Kingdom)
Inventor
  • Grasset, Arnaud Philippe Claude
  • Milanovic, Jelena

Abstract

A multiple-outer-product instruction specifies multiple first source vector operands, at least one second source vector operand and correlation information associated with the second source vector operand(s), each vector operand comprising multiple data elements and the correlation information indicating, for each data element of a given second source vector operand, a corresponding first source vector operand. In response to the multiple-outer-product instruction, instruction decoder circuitry (50) controls processing circuitry (60) to perform computations to implement outer product operations, the outer product operations comprising, for a given first source vector operand, performing an associated outer product of that first source vector operand with a subset of data elements of the second source vector operand(s). The processing circuitry selects, for each data element of the second source vector operand(s), a corresponding first source vector operand to be used when performing the associated outer product operation, in dependence on the correlation information.

IPC Classes  ?

  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode

23.

COMPUTATIONAL RESOURCE DISCOVERY FOR OFFLOADING PROCESSING UPON REQUEST

      
Application Number GB2023052301
Publication Number 2024/056993
Status In Force
Filing Date 2023-09-06
Publication Date 2024-03-21
Owner ARM LIMITED (United Kingdom)
Inventor
  • Van Hensbergen, Eric
  • Shamis, Pavel
  • Pena, Luis Emilio
  • Laganakos, Vasileios

Abstract

A method of operating a network-reachable initiator computing entity, comprising: determining a requirement, at the initiator computing entity, for offloading data processing; initiating a message, to be sent on a network to a destination, requesting a response from network-reachable recipient computing entities along the network, from the network-reachable initiator computing entity to the destination, indicating a capacity to perform offloaded data processing; and receiving a response from a first network-reachable recipient computing entity indicating a capacity to perform offloaded data processing.

IPC Classes  ?

  • H04L 67/289 - Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
  • G06F 9/50 - Allocation of resources, e.g. of the central processing unit [CPU]
  • H04L 67/51 - Discovery or management thereof, e.g. service location protocol [SLP] or web services
  • H04L 67/59 - Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
  • H04L 43/10 - Active monitoring, e.g. heartbeat, ping or trace-route

24.

AN APPARATUS, A METHOD OF OPERATING AN APPARATUS, AND A NON-TRANSITORY COMPUTER READABLE MEDIUM TO STORE COMPUTER-READABLE CODE FOR FABRICATION OF AN APPARATUS

      
Application Number GB2023051902
Publication Number 2024/052635
Status In Force
Filing Date 2023-07-19
Publication Date 2024-03-14
Owner ARM LIMITED (United Kingdom)
Inventor
  • Avanzi, Roberto
  • Sandberg, Andreas Lars
  • Schall, David Helmut
  • Mihalcea, Ionut Alexandru

Abstract

There is provided an apparatus provided with counter control circuitry to maintain counters associated with data items including: minor counters, middle counters, and a major counter. The apparatus is also provided with a memory protection unit configured, in response to a transfer of a data item from secure storage to off-chip storage, to modify a minor counter associated with the data item, and to encrypt the data item based on counters associated with the data item. The memory protection unit is also responsive to an overflowing minor counter, to perform a middle re-encryption process comprising modifying a middle counter associated with the data item and re-encrypting data items associated with the middle counter. The memory protection unit is also responsive to an overflowing middle counter, to perform a major re- encryption process comprising modifying the major counter, and re-encrypting each of the data items.

IPC Classes  ?

  • G06F 21/60 - Protecting data
  • G06F 12/14 - Protection against unauthorised use of memory
  • G06F 21/64 - Protecting data integrity, e.g. using checksums, certificates or signatures
  • G06F 21/79 - Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
  • H04L 9/08 - Key distribution

25.

METHODS AND APPARATUS FOR CONTROLLING PREDICTION UNITS

      
Application Number GB2023051890
Publication Number 2024/052634
Status In Force
Filing Date 2023-07-19
Publication Date 2024-03-14
Owner ARM LIMITED (United Kingdom)
Inventor
  • Eyole, Mbou
  • Piry, Frederic Claude Marie

Abstract

Aspects of the present disclosure relate to apparatus comprising prediction circuitry comprising a plurality of prediction units, said plurality comprising a plurality of types of prediction unit. Each prediction unit is configured to perform a corresponding type of prediction in respect of operations that are to be executed by the apparatus. Shared prediction resource circuitry comprises shared prediction resources configurable to perform said types of prediction. Resource allocation circuitry is configured to determine an allocation of said shared prediction resources to one or more of said plurality of prediction units, and allocate the shared prediction resources according to the determination.

IPC Classes  ?

  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline, look ahead

26.

SYNCHRONIZATION OF PREDETERMINED CLASS OF LOAD/STORE OPERATIONS

      
Application Number GB2023051833
Publication Number 2024/047322
Status In Force
Filing Date 2023-07-13
Publication Date 2024-03-07
Owner ARM LIMITED (United Kingdom)
Inventor
  • Hornung, Alexander Alfred
  • Caulfield, Ian Michael
  • Horley, John Michael
  • Vangireddy, Madhusudana Reddy

Abstract

For a predetermined class of load/store operations, load/store processing circuitry buffers store data of predetermined-class store operations in a predetermined-class store buffer, and controls store-to-load forwarding of store data from that buffer to predetermined- class load operations. A predetermined-class-load/store synchronization instruction controls the load/store processing circuitry to enforce that, for a hazarding younger non -predetermined-class load/store operation occurring after the predetermined-class-load/store synchronization instruction in program order and a hazarding older predetermined-class store operation occurring before the predetermined-class-load/store synchronization instruction in program order, for which address ranges overlap, the hazarding younger non-predetermined-class load/store operation observes a result of the hazarding older predetermined-class store operation. In absence of any intervening predetermined-class-load/store synchronization instruction between a given older predetermined-class store operation and a given younger non-predetermined-class load/store operation with overlapping address range, the given younger non-predetermined-class load/store operation is permitted to fail to observe a result of the given older predetermined-class store operation.

IPC Classes  ?

  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode
  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline, look ahead

27.

BEHAVIORAL SENSOR FOR CREATING CONSUMABLE EVENTS

      
Application Number GB2023051946
Publication Number 2024/038245
Status In Force
Filing Date 2023-07-24
Publication Date 2024-02-22
Owner ARM LIMITED (United Kingdom)
Inventor
  • Moran, Brendan James
  • Vincent, Hugo John Martin
  • Bartling, Michael

Abstract

A behavioral sensor for creating consumable events can include: a feature extractor coupled to receive an event stream of events performed by a circuit, wherein the feature extractor identifies features of a particular event of the event stream and associates the particular event with a time; and a classifier coupled to receive the features of the particular event from the feature extractor, wherein the classifier classifies the particular event into a classified event associated with the time using predefined categories based on the received features of the particular event; whereby the classified event and subsequent classified events extracted from the event stream within a time frame are appended in a time series forming the consumable events.

IPC Classes  ?

  • G06F 11/34 - Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation
  • G06F 9/54 - Interprogram communication

28.

MECHANISM FOR NEURAL NETWORK PROCESSING UNIT SKIPPING

      
Application Number GB2023052107
Publication Number 2024/033644
Status In Force
Filing Date 2023-08-09
Publication Date 2024-02-15
Owner ARM LIMITED (United Kingdom)
Inventor
  • Burgess, Neil
  • Ha, Sangwon
  • Maji, Partha Prasun

Abstract

A system and computer-implemented method to train and use a neural network is disclosed. For each group of elements of a feature map in a layer in the neural network, a record is accessed to determine if at least one element of the group is active. When at least one element of the group is active, a gradient is determined for each active element of the group, copied to a 5 group element position indicated by the entry for the group in record, and the group is sent to a dot product unit to update weights in the layer based on the group. When no element of the group is active, the dot product unit is signaled to prevent update of weights based on the group. The record is set during the forward path of the feature map through the network.

IPC Classes  ?

  • G06N 3/063 - Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
  • G06N 3/0464 - Convolutional networks [CNN, ConvNet]

29.

APPARATUS, METHOD OF OPERATING AN APPARATUS AND A COMPUTER PROGRAM

      
Application Number GB2023051490
Publication Number 2024/028562
Status In Force
Filing Date 2023-06-08
Publication Date 2024-02-08
Owner ARM LIMITED (United Kingdom)
Inventor
  • Moran, Brendan
  • Petri, Gustavo

Abstract

There is provided an apparatus, a method of operating the apparatus and a computer program for controlling a host data processing apparatus to provide an instruction execution environment equivalent to the apparatus. The apparatus comprises processing circuitry configured to execute a sequence of program instructions to process data items. The processing circuitry is configured to generate a signature indicative of executed instructions in the sequence of program instructions and indicative of the data items. The apparatus is also provided with validation circuitry configured to implement a validation procedure. The validation procedure comprises the steps of evaluating the signature against a predefined policy to verify that the processing circuitry has processed the data items using the sequence of program instructions and, in response to a match between the signature and the predefined policy, generating confirmation information to indicate the match.

IPC Classes  ?

  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 11/28 - Error detection; Error correction; Monitoring by checking the correct order of processing

30.

NO-OPERATION-COMPATIBLE INSTRUCTION

      
Application Number GB2023051674
Publication Number 2024/028565
Status In Force
Filing Date 2023-06-27
Publication Date 2024-02-08
Owner ARM LIMITED (United Kingdom)
Inventor
  • Horley, John Michael
  • Rutland, Mark Salling
  • Craske, Simon John
  • Vangireddy, Madhusudana Reddy

Abstract

An apparatus comprises an instruction decoder to decode instructions; processing circuitry to perform data processing in response to decoding of the instructions by the instruction decoder; and at least one control register to specify instruction-function-selecting information. In response to a no-operation-compatible instruction, the instruction decoder is configured to control the processing circuitry to: treat the no-operation-compatible instruction as a no-operation instruction, when the instruction-function-selecting information specified by the at least one control register is in a first state; perform both a first operation and a second operation, when the instruction-function-selecting information specified by the at least one control register is in a second state; and perform the first operation but not the second operation, when the instruction-function-selecting information specified by the at least one control register is in a third state.

IPC Classes  ?

  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode
  • G06F 21/00 - Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity

31.

IMPROVED SPIKING NEURAL NETWORK APPARATUS

      
Application Number GB2023051934
Publication Number 2024/018231
Status In Force
Filing Date 2023-07-21
Publication Date 2024-01-25
Owner ARM LIMITED (United Kingdom)
Inventor Mbou, Eyole

Abstract

A spiking neural network is described that comprises a plurality of neurons in a first layer connected to at least one neuron in a second layer, each neuron in the first layer being connected to the at least one neuron in the second layer via a respective variable delay path. The at least one neuron in the second layer comprises one or more logic components configured to generate an output signal in dependence upon signals received along the variable delay paths from the plurality of neurons in the first layer. A timing component is configured to determine a timing value in response to receiving the output signal from the one or more logic components, and an accumulate component is configured to accumulate a value based timing values from the timing component. A neuron fires in a case that a value accumulated at the accumulate component reaches a threshold value.

IPC Classes  ?

  • G06N 3/065 - Analogue means
  • G06N 3/049 - Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
  • G06N 3/09 - Supervised learning

32.

ERROR DETECTION IN CONVOLUTIONAL OPERATIONS

      
Application Number GB2023051861
Publication Number 2024/013519
Status In Force
Filing Date 2023-07-14
Publication Date 2024-01-18
Owner ARM LIMITED (United Kingdom)
Inventor
  • Haddon, Matthew David
  • Fedorov, Igor
  • Jeyapaul, Reiley
  • Whatmough, Paul
  • Liu, Zhi-Gang

Abstract

Methods and systems for detecting errors when performing a convolutional operation is provided. Predicted checksum data, corresponding to input checksum data and kernel checksum data, is obtained. The convolutional operation is performed to obtain an output feature map. Output checksum data is generated and the predicted checksum data and the output checksum data are compared, the comparing taking account of partial predicted checksum data configured to correct for a lack of padding when performing the convolution operation, wherein the partial predicted checksum data corresponds to input checksum data for a subset of the values in the input feature map and kernel checksum data for a subset of the values in the kernel.

IPC Classes  ?

  • G06N 3/0464 - Convolutional networks [CNN, ConvNet]
  • G06N 3/063 - Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

33.

MONITORING SENSOR DATA USING EXPIRING HASHES

      
Application Number GB2023051625
Publication Number 2024/009054
Status In Force
Filing Date 2023-06-21
Publication Date 2024-01-11
Owner ARM LIMITED (United Kingdom)
Inventor
  • Azevedo, Tiago Manuel Lourenço
  • Rodrigo, Javier Setoain
  • De Jong, Irenéus Johannes

Abstract

Apparatuses and methods for monitoring sensor data are provided. Sensor data is captured from an environment and a locality-sensitive hash is generated from the sensor data. Hashes which have been generated are stored in association with a significance value, which periodically decrease. A similarity metric is generated for the locality-sensitive hash with respect to the hashes stored in the hash storage and when it exceeds a similarity threshold the significance value stored in association with the similar hash is increased. When the significance value stored in association with the similar hash exceeds an alert threshold an alert signal is generated.

IPC Classes  ?

  • G06F 21/74 - Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
  • G06F 16/50 - Information retrieval; Database structures therefor; File system structures therefor of still image data
  • G06F 16/783 - Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
  • H04L 9/06 - Arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for blockwise coding, e.g. D.E.S. systems
  • H04L 9/08 - Key distribution
  • H04L 9/32 - Arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules

34.

METHODS AND APPARATUS FOR POINTER SECURITY

      
Application Number GB2023051364
Publication Number 2024/003518
Status In Force
Filing Date 2023-05-25
Publication Date 2024-01-04
Owner ARM LIMITED (United Kingdom)
Inventor
  • Kiss, Dániel Kristóf
  • Mujumdar, Alan Ashok

Abstract

Aspects of the present disclosure relate to interface circuitry to receive a pointer comprising a plurality of address bits, and pointer processing circuitry. The pointer processing circuitry is configured to extract and encrypt plurality of address bits from the pointer, to produce a plurality of encrypted address bits. The pointer processing circuitry determines, based at least in part on the plurality of address bits, a pointer authentication value. It then combines the pointer authentication value with the plurality of encrypted address bits, to produce a signed encrypted pointer.

IPC Classes  ?

  • G06F 21/12 - Protecting executable software
  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode
  • G06F 12/14 - Protection against unauthorised use of memory
  • G06F 21/44 - Program or device authentication
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 21/54 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure by adding security routines or objects to programs
  • G06F 21/56 - Computer malware detection or handling, e.g. anti-virus arrangements
  • G06F 21/64 - Protecting data integrity, e.g. using checksums, certificates or signatures

35.

METHODS AND APPARATUS FOR BRANCH INSTRUCTION SECURITY

      
Application Number GB2023051365
Publication Number 2024/003519
Status In Force
Filing Date 2023-05-25
Publication Date 2024-01-04
Owner ARM LIMITED (United Kingdom)
Inventor Kiss, Dániel Kristóf

Abstract

Aspects of the present disclosure relate to an apparatus. Instruction receiving circuitry receives, as part of a program flow, a branch instruction, said branch instruction identifying a function. Instruction authentication circuitry determines, based at least in part on the function, an instruction authentication value. The instruction authentication circuitry then combines the instruction authentication value with the branch instruction to produce an authenticatable branch instruction. Branch circuitry authenticates the authenticatable branch instruction based on a function authentication value. Responsive to a successful authentication of the authenticatable branch instruction, the branch circuitry executes a jump in the program flow to said function.

IPC Classes  ?

  • G06F 21/12 - Protecting executable software
  • G06F 21/44 - Program or device authentication
  • G06F 21/54 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure by adding security routines or objects to programs
  • G06F 21/64 - Protecting data integrity, e.g. using checksums, certificates or signatures
  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode
  • G06F 9/34 - Addressing or accessing the instruction operand or the result
  • G06F 12/14 - Protection against unauthorised use of memory

36.

INTEGRITY CHECKING

      
Application Number GB2023051451
Publication Number 2024/003522
Status In Force
Filing Date 2023-06-01
Publication Date 2024-01-04
Owner ARM LIMITED (United Kingdom)
Inventor
  • Venu, Balaji
  • Eyole, Mbou

Abstract

An apparatus has processing circuitry to execute instructions. The processing circuitry has calculation circuitry which is responsive to one or more instructions requiring a calculation to be performed to compute the result of the calculation and approximation circuitry which is responsive to said one or more instructions to calculate an approximate result of the calculation independently of the calculation circuitry. The processing circuitry also has integrity checking circuitry to perform an integrity check by comparing the result of the calculation performed by the calculation circuitry and the approximate result of the calculation performed by the approximation circuity. The integrity checking circuitry detects an error in the processing circuitry if it is determined that a difference between the result of the calculation and the approximate result of the calculation is greater than a deviation threshold.

IPC Classes  ?

  • G06F 21/54 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure by adding security routines or objects to programs
  • G06F 21/55 - Detecting local intrusion or implementing counter-measures
  • G06F 21/74 - Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware

37.

PROCESS SEGMENT AUGMENTATION

      
Application Number GB2023051626
Publication Number 2024/003529
Status In Force
Filing Date 2023-06-21
Publication Date 2024-01-04
Owner ARM LIMITED (United Kingdom)
Inventor
  • Pottier, Remy
  • Biles, Stuart David
  • Horsnell, Matthew James
  • Eyole, Mbou
  • Gabrielli, Giacomo

Abstract

A method of managing network-attachable computing entities comprising: training a machine-learning model to detect a bottleneck process segment in a process flow performed by a network-attachable computing entity; deploying a trained model to monitor a network-attachable computing entity in operation; responsive to detecting an instance of the bottleneck process segment, analyzing to determine a cause of the bottleneck; responsive to determining the cause of the bottleneck, generating an augmented functional unit to address the cause of the bottleneck; and deploying the augmented functional unit to at least one of the network-attached computing entities that has an instance of a process comprising the bottleneck process segment.

IPC Classes  ?

  • G06F 9/50 - Allocation of resources, e.g. of the central processing unit [CPU]
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 15/78 - Architectures of general purpose stored program computers comprising a single central processing unit
  • G06F 11/30 - Monitoring

38.

VECTOR EXTRACT AND MERGE INSTRUCTION

      
Application Number GB2023051544
Publication Number 2024/003526
Status In Force
Filing Date 2023-06-14
Publication Date 2024-01-04
Owner ARM LIMITED (United Kingdom)
Inventor Grocutt, Thomas Christopher

Abstract

There is provide an apparatus, method and medium. The apparatus comprises decoder circuitry to generate control signals in response to a vector extract and merge instruction specifying a control parameter, a first vector register, a second vector register, and a destination vector register. The apparatus comprises processing circuitry responsive to the control signals, to perform plural beats of processing, each beat comprising processing corresponding to a portion of at least the first vector register and the destination vector register. The processing, for a Kthbeat comprises: extracting bits, specified by the control parameter, from a Kthportion of the first vector register, concatenating the bits with further bits, and storing the result in the Kthportion of the destination register. The further bits are, for a first portion, extracted from a first portion of the second vector register and, otherwise, from a (K-1)th portion of the first vector register.

IPC Classes  ?

  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode

39.

METHODS AND APPARATUS FOR MANAGING TRUSTED DEVICES

      
Application Number GB2023051161
Publication Number 2023/247914
Status In Force
Filing Date 2023-05-02
Publication Date 2023-12-28
Owner ARM LIMITED (United Kingdom)
Inventor
  • Petri, Gustavo Federico
  • Mulligan, Dominic Phillip
  • Miller, Derek Del
  • Vincent, Hugo John Martin

Abstract

Aspects of the present disclosure relate to an apparatus comprising TEE circuitry configured to maintain a list of trusted devices, and interface circuitry to provide communication between the TEE of the apparatus and TEE circuitry of a device communicatively coupled to the apparatus. The TEE circuitry of the apparatus is configured to perform, with the TEE circuitry of the device, a remote attestation in respect of the TEE circuitry of the device. Responsive to a positive outcome of the remote attestation, the device is added to the list of trusted devices. The TEE of the apparatus receives, from the TEE circuitry of the device, an indication of one or more further devices which are trusted by the device, and adds said one or more further devices to the list of trusted devices.

IPC Classes  ?

  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • H04W 12/55 - Secure pairing of devices involving three or more devices, e.g. group pairing
  • H04W 12/69 - Identity-dependent

40.

DISTRIBUTED PROCESSING PROVISION

      
Application Number GB2023051628
Publication Number 2023/247954
Status In Force
Filing Date 2023-06-21
Publication Date 2023-12-28
Owner ARM LIMITED (United Kingdom)
Inventor
  • Laganakos, Vasileios
  • Cook, Nicholas John
  • Pottier, Remy
  • Soubra, Diya

Abstract

A device and method, comprising: determining a quantum of data storage and processing capability/capacity to be offered for distributed processing; retrieving a current trustworthiness rating; constructing a features vector comprising quantum and rating; and entering a pool of candidates for selection by initiator by externalising the features vector. An initiator and method, comprising: determining a minimum quantum of storage and processing capability/capacity and minimum trustworthiness rating required for the processing task; constructing a requirement vector comprising quantum and rating; querying a network for a pool of candidates to perform the task; retrieving a features vector from a candidate; comparing features vector and requirement vector to determine which candidates meet the minimum quantum and rating required for the task; responsive to finding that a candidate meets the minima, selecting the candidate and dispatching task for processing at the candidate and rating the candidate on completion/non-completion/non-completion to standard required.

IPC Classes  ?

  • G06F 9/50 - Allocation of resources, e.g. of the central processing unit [CPU]

41.

TECHNIQUE FOR PERFORMING OUTER PRODUCT OPERATIONS

      
Application Number GB2023051347
Publication Number 2023/242531
Status In Force
Filing Date 2023-05-23
Publication Date 2023-12-21
Owner ARM LIMITED (United Kingdom)
Inventor
  • Savage, Joe
  • Martinez Vicente, Alejandro

Abstract

An apparatus has processing circuitry to perform vector operations, an instruction decoder to decode instructions to control the processing circuitry to perform associated vector operations, and array storage comprising storage elements to store data elements, the array storage storing at least one two dimensional array of data elements. The set of instructions includes a multiple outer product instruction identifying a first source vector operand, a second source vector operand, and a given two dimensional array of data elements within the array storage forming a destination operand. At least the first source vector operand identifies at least one vector of data elements to be treated as comprising a plurality of sub-vectors and at least the second source vector operand identifies a plurality of vectors of data elements. In response to the multiple outer product instruction, the instruction decoder controls the processing circuitry to perform an outer product operation for each sub-vector identified by the first source vector operand. Each outer product operation comprises multiplying each data element of an associated sub-vector identified by the first source vector operand by each data element of a group of data elements selected from the second source vector operand in order to generate a plurality of outer product results, and using each outer product result to update a value held in an associated storage element within the given two dimensional array of storage elements. Selection circuitry controls selection of the data elements processed by each outer product operation so as to switch between vectors of the second source vector operand when switching between different sub-vectors within a given vector of the first source vector operand.

IPC Classes  ?

  • G06F 17/16 - Matrix or vector computation
  • G06N 3/00 - Computing arrangements based on biological models

42.

PARTIAL-ADDRESS-TRANSLATION-INVALIDATION REQUEST

      
Application Number GB2023051371
Publication Number 2023/237852
Status In Force
Filing Date 2023-05-25
Publication Date 2023-12-14
Owner ARM LIMITED (United Kingdom)
Inventor Sandberg, Andreas Lars

Abstract

Partial-address-translation-invalidation request to cause cache control circuitry to: identify whether a given cache entry of the address translation cache is a target cache entry to be invalidated, wherein the target cache entry comprises a cache entry for which the address translation data comprises partial address translation data indicative of an address of the next level page table specified by a table address of a target page table entry when used as the branch page table entry; and trigger an invalidation of the given cache entry when the given cache entry is identified to be the target cache entry. The given cache entry is permitted to be retained when the given cache entry provides full address translation data indicative of an address of a corresponding region of address space corresponding to an output address specified by the target page table entry when used as the leaf page table entry.

IPC Classes  ?

  • G06F 12/1009 - Address translation using page tables, e.g. page table structures
  • G06F 12/1027 - Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]

43.

CIRCUITRY AND METHOD

      
Application Number GB2023051119
Publication Number 2023/233121
Status In Force
Filing Date 2023-04-27
Publication Date 2023-12-07
Owner ARM LIMITED (United Kingdom)
Inventor Mansell, David

Abstract

Circuitry comprises instruction decoder circuitry to decode instructions for execution; processing circuitry to execute instructions decoded by the instruction decoder circuitry; interface circuitry defining an interface for data communication with data compression circuitry; in which the processing circuitry is responsive to one or more instructions of an instruction set defined for the processing circuitry to provide to the interface: input data to be processed by the data compression circuitry; and identification data identifying a compression system for use by the data compression circuitry to process the input data; and in which the processing circuitry is configured to receive from the interface: status data indicating whether data compression circuitry connected to the interface can process data using the compression system identified by the identification data; and, when the status data indicates that the data compression circuitry can process data using the compression system identified by the identification data, output data which has been processed from the input data by the data compression circuitry using the compression system identified by the identification data.

IPC Classes  ?

  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode

44.

DOORBELL PHYSICAL INTERRUPT CONTROL

      
Application Number GB2023050532
Publication Number 2023/233120
Status In Force
Filing Date 2023-03-07
Publication Date 2023-12-07
Owner ARM LIMITED (United Kingdom)
Inventor Dall, Christoffer

Abstract

Doorbell physical interrupt control circuitry (20) comprises interrupt detection circuitry (22) to detect an incoming interrupt to be raised as a given virtual interrupt (having a given priority) for a given virtual interrupt handling context, and doorbell physical interrupt generation circuitry (24) responsive to detection of the incoming interrupt by the interrupt detection circuitry, to determine whether the given priority of the given virtual interrupt is indicated, by doorbell- enabled-priority configuration data (28), as enabled for doorbell physical interrupt generation, and if so, to generate a doorbell physical interrupt to be processed in a given physical interrupt handling context. The doorbell physical interrupt indicates to a physical processor handling interrupts for the given physical interrupt handling context that the given virtual interrupt is pending for the given virtual interrupt handling context.

IPC Classes  ?

  • G06F 9/48 - Program initiating; Program switching, e.g. by interrupt
  • G06F 9/50 - Allocation of resources, e.g. of the central processing unit [CPU]

45.

RUN-TIME MODIFICATION OF A FIELD PROGRAMMABLE GATE ARRAY OR A COARSE GRAINED RECONFIGURABLE ARRAY TO DUPLICATE THE MOST VULNERABLE FUNCTIONAL CIRCUITS BEHAVIOUR

      
Application Number GB2023050504
Publication Number 2023/218158
Status In Force
Filing Date 2023-03-03
Publication Date 2023-11-16
Owner ARM LIMITED (United Kingdom)
Inventor
  • Eyole, Mbou
  • Venu, Balaji
  • Piry, Frederic Claude Marie

Abstract

A data processing apparatus is provided. Determination circuitry performs a determination of a vulnerability of each of a plurality of functional circuits in a processing circuit and modification circuitry modifies a behaviour of a reprogrammable circuit to match an architectural behaviour of a vulnerable functional circuit in the functional circuits in response to the determination.

IPC Classes  ?

  • G06F 11/00 - Error detection; Error correction; Monitoring
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06F 21/76 - Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]

46.

CHECKPOINT SAVING

      
Application Number GB2023050376
Publication Number 2023/218157
Status In Force
Filing Date 2023-02-20
Publication Date 2023-11-16
Owner ARM LIMITED (United Kingdom)
Inventor
  • Jeyapaul, Reiley
  • Rusitoru, Roxana
  • Beard, Jonathan Curtis
  • Wong, Kar-Lik Kasim

Abstract

An apparatus comprises at least one processor to execute software processes, a memory system to store data for access by the at least one processor, and checkpointing circuitry to trigger saving, to the memory system, of checkpoints of context state associated with at least one software process executed by the at least one processor. The saving of checkpoints is a background process performed by the checkpointing circuitry in the background of execution of the software processes by the at least one processor.

IPC Classes  ?

  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware

47.

VECTORIZED OPERATIONS FOR SPARSE KERNELS

      
Application Number GB2023051021
Publication Number 2023/218162
Status In Force
Filing Date 2023-04-18
Publication Date 2023-11-16
Owner ARM LIMITED (United Kingdom)
Inventor
  • Randall, Joshua
  • Beu, Jesse Garrett
  • Nathella, Krishnendra
  • Ta, Tuan Quang

Abstract

A data processing method and processor instructions are provided that leverage scatter operations to efficiently merge vector and matrix indices, as compared to standard matrix and vector operations, as well as merge other arithmetic results, lists of numbers, etc.

IPC Classes  ?

  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode

48.

INTERRUPT CONTROLLER, APPARATUS, INTERRUPT CONTROL METHOD AND COMPUTER-READABLE MEDIUM

      
Application Number GB2023050800
Publication Number 2023/214143
Status In Force
Filing Date 2023-03-28
Publication Date 2023-11-09
Owner ARM LIMITED (United Kingdom)
Inventor
  • Dall, Christopher
  • Zyngier, Marc

Abstract

An interrupt controller controls signalling of a given interrupt having a given interrupt identifier to a target interrupt handling context, by controlling one or more memory write requests to be issued in accordance with a coherency protocol supported by a cache coherent interconnect, to maintain a set of memory-based interrupt tracking structures corresponding to the target interrupt handling context, including: a selected interrupt queue structure selected from among a plurality of interrupt queue structures based on the given interrupt identifier, to queue the given interrupt for processing by the target interrupt handling context; and a queue status summary structure to indicate which of the plurality of interrupt queue structures hold pending interrupts awaiting processing by the target interrupt handling context.

IPC Classes  ?

  • G06F 9/48 - Program initiating; Program switching, e.g. by interrupt
  • G06F 9/54 - Interprogram communication

49.

MAINTENANCE OPERATIONS ACROSS SUBDIVIDED MEMORY DOMAINS

      
Application Number GB2023051055
Publication Number 2023/209341
Status In Force
Filing Date 2023-04-21
Publication Date 2023-11-02
Owner ARM LIMITED (United Kingdom)
Inventor
  • Parker, Jason
  • Elad, Yuval
  • Chadwick, Alexander
  • Swaine, Andrew

Abstract

An apparatus is provided in which processing circuitry performs processing in one of a fixed number of at least two domains. One of the domains is subdivided into a variable number of execution environments one of which is a management execution environment configured to manage the execution environments. Memory protection circuitry defines a point of encryption after at least one unencrypted storage circuit of a memory hierarchy and before at least one encrypted storage circuit of the memory hierarchy. The at least one encrypted storage circuitry uses a key input to perform encryption or decryption on the data of a memory access request issued from within a current one of the domains. The key input is different for each of the domains and for each of the execution environments and the management execution environment is configured to inhibit issuing a maintenance operation to the at least one encrypted storage circuit of the memory hierarchy.

IPC Classes  ?

  • G06F 12/14 - Protection against unauthorised use of memory
  • G06F 12/0897 - Caches characterised by their organisation or structure with two or more cache hierarchy levels
  • G06F 12/0808 - Multiuser, multiprocessor or multiprocessing cache systems with cache invalidating means

50.

PROTECTING EXECUTION ENVIRONMENTS WITHIN DOMAINS

      
Application Number GB2023050615
Publication Number 2023/209320
Status In Force
Filing Date 2023-03-16
Publication Date 2023-11-02
Owner ARM LIMITED (United Kingdom)
Inventor
  • Parker, Jason
  • Elad, Yuval
  • Chadwick, Alexander Donald Charles

Abstract

There is provided an apparatus that includes processing circuitry for performing processing in one of a fixed number of at least two domains. One of those domains is subdivided into a variable number of execution environments and memory protection circuitry uses a key input to perform encryption or decryption on the data of a memory access request issued to a memory address from within a current one of the domains. The key input is different for each of the domains and for each of the execution environments, the key input for each of the domains is fixed at boot time of the apparatus, and the key input for each of the execution environments is dynamic.

IPC Classes  ?

  • G06F 12/1009 - Address translation using page tables, e.g. page table structures
  • G06F 12/14 - Protection against unauthorised use of memory

51.

EXECUTION ENVIRONMENT MISMATCH

      
Application Number GB2023050616
Publication Number 2023/209321
Status In Force
Filing Date 2023-03-16
Publication Date 2023-11-02
Owner ARM LIMITED (United Kingdom)
Inventor
  • Parker, Jason
  • Elad, Yuval
  • Chadwick, Alexander Donald Charles
  • Swaine, Andrew Brookfield

Abstract

There is provided an apparatus in which processing circuitry performs processing in one of a fixed number of at least two domains, one of the domains being subdivided into a variable number of execution environments. Memory translation circuitry, in response to a memory access request to a given memory address, determines a given encryption environment identifier associated with the one of the execution environments and forwards the memory access request together with the given encryption environment identifier. Storage circuitry stores a plurality of entries, each associated with an associated encryption environment identifier and an associated memory address. The storage circuitry includes determination circuitry that determines, in at least one enabled mode of operation, whether the given encryption environment identifier differs from the associated encryption environment identifier associated with one of the entries associated with the given memory address.

IPC Classes  ?

  • G06F 12/1009 - Address translation using page tables, e.g. page table structures
  • G06F 12/14 - Protection against unauthorised use of memory

52.

EXCEPTION RETURN STATE LOCK PARAMETER

      
Application Number GB2023050653
Publication Number 2023/209323
Status In Force
Filing Date 2023-03-17
Publication Date 2023-11-02
Owner ARM LIMITED (United Kingdom)
Inventor
  • Craske, Simon John
  • Horley, John Michael

Abstract

An apparatus comprises exception return state register storage, and processing circuitry. In response to a guarded control stack (GCS) exception return state push instruction, the processing circuitry obtains exception return state information from the exception return state register storage and push the state information to a GCS data structure. In response to a GCS exception return state pop instruction, the processing circuitry obtains GCS-protected exception return state information from the GCS data structure. In at least one operating state, the processing circuitry detects, in response to an attempt to modify the exception return state information stored in the exception return state register storage, whether an exception return state lock parameter is in a locked state or an unlocked state, and signals a fault when it is in the locked state.

IPC Classes  ?

  • G06F 12/14 - Protection against unauthorised use of memory
  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode
  • G06F 12/1009 - Address translation using page tables, e.g. page table structures
  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline, look ahead

53.

MEMORY MANAGEMENT

      
Application Number GB2023050658
Publication Number 2023/209324
Status In Force
Filing Date 2023-03-17
Publication Date 2023-11-02
Owner ARM LIMITED (United Kingdom)
Inventor
  • Vangireddy, Madhusudana Reddy
  • Horley, John Michael

Abstract

A target virtual address is translated to a target physical address for a memory access request. At least for write requests, the memory access request is rejected when a target stage-1 translation table entry specifies that a target memory region corresponding to the target virtual address is a guarded control stack (GCS) region for storing a GCS data structure for protecting return state information, and the memory access request is not a GCS memory access request triggered by one of a restricted subset of GCS-accessing instruction types. When an anti-aliasing property is specified for the target memory region and the target stage-1 translation table entry or another stage-1 translation table entry used to locate the target stage-1 translation table entry is an unhardened entry unprotected by a translation hardening mechanism, the memory access request is rejected. In at least one operating state, a GCS memory access request is rejected when the anti-aliasing property is not specified for the target memory region.

IPC Classes  ?

  • G06F 12/1009 - Address translation using page tables, e.g. page table structures
  • G06F 12/14 - Protection against unauthorised use of memory

54.

APPARATUS AND METHOD FOR MANAGING CAPABILITIES

      
Application Number GB2023050609
Publication Number 2023/203307
Status In Force
Filing Date 2023-03-15
Publication Date 2023-10-26
Owner ARM LIMITED (United Kingdom)
Inventor
  • Botman, François Christopher Jacques
  • Grocutt, Thomas Christopher
  • Vincent, Hugo John Martin
  • Reed, Christopher Alan

Abstract

An apparatus is described having processing circuitry for performing operations during which access requests to memory are generated. The processing circuitry generates memory addresses for the access requests using capabilities, where each capability indicates a pointer value and constraining information used to constrain access to memory using memory addresses derived from the pointer value. A marker indication field is stored in association with each capability to provide a marker value used to distinguish between static capabilities used to access statically allocated memory and dynamic capabilities used to access dynamically allocated memory. Capability tracking circuitry maintains a tracking structure providing a tracking field for each of a plurality of memory regions, and the capability tracking circuitry sets the tracking field for a given memory region amongst the plurality of memory regions when at least one capability whose associated marker indication field has a specified marker value is written to the given memory region. The specified marker value indicates that writing of the associated capability to memory is to be tracked by the capability tracking circuitry to facilitate subsequent revocation of that associated capability.

IPC Classes  ?

  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 12/14 - Protection against unauthorised use of memory

55.

TECHNIQUE FOR HANDLING DATA ELEMENTS STORED IN AN ARRAY STORAGE

      
Application Number GB2023050584
Publication Number 2023/199014
Status In Force
Filing Date 2023-03-13
Publication Date 2023-10-19
Owner ARM LIMITED (United Kingdom)
Inventor
  • Grasset, Arnaud Philippe Claude
  • Milanovic, Jelena

Abstract

An apparatus is provided comprising processing circuitry to perform operations, instruction decoder circuitry to decode instructions to control the processing circuitry to perform the operations specified by the instructions, and array storage comprising storage elements to store data elements. The array storage is arranged to store at least one two dimensional array of data elements accessible to the processing circuitry when performing the operations, each two dimensional array of data elements comprising a plurality of vectors of data elements, where each vector is one dimensional. The instruction decoder circuitry is arranged, in response to a move and zero instruction that identifies one or more vectors of data elements of a given two dimensional array of data elements within the array storage, to control the processing circuitry to move the data elements of the one or more identified vectors from the array storage to a destination storage and to set to a logic zero value the storage elements of the array storage that were used to store the data elements of the one or more identified vectors.

IPC Classes  ?

  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode

56.

TECHNIQUE FOR HANDLING DATA ELEMENTS STORED IN AN ARRAY STORAGE

      
Application Number GB2023050587
Publication Number 2023/199015
Status In Force
Filing Date 2023-03-13
Publication Date 2023-10-19
Owner ARM LIMITED (United Kingdom)
Inventor
  • Milanovic, Jelena
  • Martino, Claudio
  • Stephens, Nigel John
  • Grasset, Arnaud Philippe Claude
  • Sankaranarayanan, Jayasree

Abstract

An apparatus is provided comprising processing circuitry to perform operations, instruction decoder circuitry to decode instructions to control the processing circuitry to perform the operations specified by the instructions, and array storage comprising storage elements to store data elements. The array storage is arranged to store at least one two dimensional array of data elements accessible to the processing circuitry when performing the operations, each two dimensional array of data elements comprising a plurality of vectors of data elements, where each vector is one dimensional. The instruction decoder circuitry is arranged, in response to decoding a zero vectors instruction that identifies multiple vectors of data elements of a given two dimensional array of data elements within the array storage, to also decode a subsequent accumulate instruction arranged to operate on the identified multiple vectors of data elements, and to control the processing circuitry to perform a non-accumulating variant of an accumulate operation specified by the accumulate instruction to produce result data elements for storing in the identified multiple vectors within the array storage.

IPC Classes  ?

  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode

57.

TECHNIQUE FOR HANDLING ORDERING CONSTRAINED ACCESS OPERATIONS

      
Application Number GB2023050589
Publication Number 2023/194702
Status In Force
Filing Date 2023-03-13
Publication Date 2023-10-12
Owner ARM LIMITED (United Kingdom)
Inventor
  • Craske, Simon John
  • Eapen, Jacob

Abstract

Processing circuitry is provided to perform operations, along with instruction decoder circuitry to decode instructions to control the processing circuitry to perform the operations specified by the instructions. A set of registers is used to hold data values for access by the processing circuitry. The instruction decoder circuitry is responsive to an ordering constrained access instruction used to access multiple data values, and providing register indication information and memory address information, to control the processing circuitry to perform a sequence of access operations, where each access operation causes a data value from amongst the multiple data values to be moved between an associated register determined from the register indication information and an associated memory address determined from the memory address information. Further, an ordering indication is derived from the ordering constrained access instruction and used to determine an order in which the multiple data values are to be accessed when performing the sequence of access operations, to thereby ensure that observability conditions required when implementing the ordering constrained access instruction are met.

IPC Classes  ?

  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode
  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline, look ahead

58.

PROFILING

      
Application Number GB2022053370
Publication Number 2023/187304
Status In Force
Filing Date 2022-12-22
Publication Date 2023-10-05
Owner ARM LIMITED (United Kingdom)
Inventor Bartling, Michael

Abstract

A data processing apparatus is provided that includes storage circuitry to store a plurality of interconnected instructions. Analysis circuitry analyses the instructions to determine a degree of uniqueness of profile measurements of a control flow path fragments within the instructions.

IPC Classes  ?

  • G06F 21/54 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure by adding security routines or objects to programs
  • G06F 11/34 - Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 21/56 - Computer malware detection or handling, e.g. anti-virus arrangements

59.

DEVICE PERMISSIONS TABLE DEFINING PERMISSIONS INFORMATION FOR A TRANSLATED ACCESS REQUEST

      
Application Number GB2022053315
Publication Number 2023/187303
Status In Force
Filing Date 2022-12-20
Publication Date 2023-10-05
Owner ARM LIMITED (United Kingdom)
Inventor
  • Chadwick, Alexander Donald Charles
  • Elad, Yuval

Abstract

Apparatus, method and code for fabrication of an apparatus. The apparatus comprises address translation circuitry (116) to translate virtual addresses to physical addresses in response to advance address translation requests issued by devices (105) on behalf of software contexts (125). The apparatus also comprises translated access control circuitry (117) to control access to memory (110) in response to translated access requests issued by the devices (105) on behalf of the software contexts (125), based on permissions information defined in a device permission table (220), wherein the corresponding access permissions provide information for checking whether translated access requests from a plurality of software contexts are prohibited.

IPC Classes  ?

  • G06F 12/14 - Protection against unauthorised use of memory

60.

NEURAL NETWORK PROCESSING

      
Application Number GB2023050808
Publication Number 2023/187365
Status In Force
Filing Date 2023-03-29
Publication Date 2023-10-05
Owner ARM LIMITED (United Kingdom)
Inventor
  • Tailor, Shyam
  • Azevedo, Tiago, Manuel, Lourenço
  • Maji, Partha, Prasun

Abstract

For a set of data points which are desired to be processed according to neural network processing, each data point corresponding to a position in space, data point information indicative of one or more properties of the data points is received (500), and connectivity information indicative of connections between the data points is determined (503). An order for the data points is then determined (504) based on the positions in space of the data points, and updated connectivity information (505) is generated based on the initial connectivity information and the determined order for the set of data points. The updated connectivity information and data point information are provided for further processing (507) to be performed by a processor operable to execute neural network processing.

IPC Classes  ?

  • G06N 3/04 - Architecture, e.g. interconnection topology

61.

APPARATUS AND METHOD FOR DETECTING ERRORS IN A MEMORY DEVICE

      
Application Number GB2022053357
Publication Number 2023/180676
Status In Force
Filing Date 2022-12-22
Publication Date 2023-09-28
Owner ARM LIMITED (United Kingdom)
Inventor
  • Gupta, Siddharth
  • Dray, Cyrille Nicolas
  • Palau, Luc Olivier
  • Gulyani, Sachin
  • Penton, Antony John

Abstract

An apparatus is provided having a memory device and associated access control circuitry, and an additional memory device and associated additional access control circuitry. Redundant data generation circuitry generates, for a given block of data having an associated given memory address, an associated block of redundant data for use in an error detection process. The access control circuitry is arranged to store, at a location in the memory device determined from the given memory address, at least a portion of the given block of data and a first copy of the associated block of redundant data, and the additional access control circuitry is arranged to store, at a location in the additional memory device determined from the given memory address, any remaining portion of the given block of data not stored in the memory device and a second copy of the associated block of redundant data. Error detection circuitry performs the error detection process on the stored given block of data using one copy of the associated block of redundant data, and generates an output signal indicating a result of the error detection process. Comparison circuitry compares the first and second copies of the associated block of redundant data, and generates a comparison result signal to supplement the output signal from the error detection circuitry.

IPC Classes  ?

  • G06F 11/10 - Adding special bits or symbols to the coded information, e.g. parity check, casting out nines or elevens
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G11C 11/4097 - Bit-line organisation, e.g. bit-line layout, folded bit lines
  • G11C 29/52 - Protection of memory contents; Detection of errors in memory contents
  • G11C 29/00 - Checking stores for correct operation; Testing stores during standby or offline operation

62.

READ-AS-X PROPERTY FOR PAGE OF MEMORY ADDRESS SPACE

      
Application Number GB2022053304
Publication Number 2023/175289
Status In Force
Filing Date 2022-12-20
Publication Date 2023-09-21
Owner ARM LIMITED (United Kingdom)
Inventor
  • Barnes, Graeme Peter
  • Craske, Simon John

Abstract

Processing circuitry (4) performs data processing in response to instructions. Memory management circuitry (28) controls access to memory based on page table information capable of associating a given page of memory address space with a read-as-X property indicative that reads to an address in the given page of memory address space should be treated as returning a specified value X. In response to determining, for a read request issued to read a read target value for a read target block of memory address space, that at least part of the read target block corresponds to a page associated with the read-as-X property, the memory management circuitry (28) controls the specified value X to be returned to the processing circuitry (4) as at least part of the read target value. This enables large regions of memory address space to be treated as storing a specified value without needing to commit physical memory for those regions.

IPC Classes  ?

  • G06F 12/1009 - Address translation using page tables, e.g. page table structures
  • G06F 12/1027 - Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]

63.

SUB-VECTOR-SUPPORTING INSTRUCTION FOR SCALABLE VECTOR INSTRUCTION SET ARCHITECTURE

      
Application Number GB2022053244
Publication Number 2023/170373
Status In Force
Filing Date 2022-12-15
Publication Date 2023-09-14
Owner ARM LIMITED (United Kingdom)
Inventor
  • Martinez Vicente, Alejandro
  • Sun, Peng

Abstract

An apparatus has processing circuitry (16) to perform data processing, and instruction decoding circuitry (10) to control the processing circuitry to perform the data processing in response to decoding of program instructions defined according to a scalable vector instruction set architecture supporting vector instructions operating on vectors of scalable vector length to enable the same instruction sequence to be executed on apparatuses with hardware supporting different maximum vector lengths. The instruction decoding circuitry and the processing circuitry support a sub-vector-supporting instruction which treats a given vector as comprising a plurality of sub-vectors with each sub-vector comprising a plurality of vector elements. In response to the sub-vector-supporting instruction, the instruction decoding circuitry controls the processing circuitry to perform an operation for the given vector at sub-vector granularity. Each sub-vector has an equal sub-vector length.

IPC Classes  ?

  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode
  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline, look ahead

64.

PERIPHERAL COMPONENT HANDLING OF MEMORY READ REQUESTS

      
Application Number GB2022053262
Publication Number 2023/161598
Status In Force
Filing Date 2022-12-16
Publication Date 2023-08-31
Owner ARM LIMITED (United Kingdom)
Inventor
  • Joseph, Jacob
  • Thomas, Tessil
  • Laughton, Arthur Brian
  • Kona, Anitha
  • Jalal, Jamshed

Abstract

Peripheral components, data processing systems and methods of operating such peripheral components and data processing systems are disclosed. The systems comprise an interconnect comprising a system cache, a peripheral component coupled to the interconnect, and a memory coupled to the interconnect. The peripheral component has a memory access request queue for queuing memory access requests in a receipt order. Memory access requests are issued to the interconnect in the receipt order. A memory read request is not issued to the interconnect until a completion response for all older memory write requests has been received from the interconnect. The peripheral component is responsive to receipt of a memory read request to issue a memory read prefetch request comprising a physical address to the interconnect and the interconnect is responsive to the memory read prefetch request to cause data associated with the physical address in the memory to be cached in the system cache.

IPC Classes  ?

  • G06F 12/0817 - Cache consistency protocols using directory methods
  • G06F 12/0862 - Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
  • G06F 12/1072 - Decentralised address translation, e.g. in distributed shared memory systems
  • G06F 12/126 - Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
  • G06F 13/16 - Handling requests for interconnection or transfer for access to memory bus
  • G06F 12/084 - Multiuser, multiprocessor or multiprocessing cache systems with a shared cache

65.

TECHNIQUE FOR PERFORMING MEMORY ACCESS OPERATIONS

      
Application Number GB2022053313
Publication Number 2023/148467
Status In Force
Filing Date 2022-12-20
Publication Date 2023-08-10
Owner ARM LIMITED (United Kingdom)
Inventor
  • Botman, François Christopher Jacques
  • Grocutt, Thomas Christopher

Abstract

An apparatus is described having processing circuitry to perform vector processing operations, a set of vector registers, and an instruction decoder to decode vector instructions to control the processing circuitry to perform the required operations. The instruction decoder is responsive to a given vector memory access instruction specifying a plurality of memory access operations, where each memory access operation is to be performed to access an associated data element, to determine, from a data vector indication field of the given vector memory access instruction, at least one vector register in the set of vector registers associated with a plurality of data elements, and to determine, from at least one capability vector indication field of the given vector memory access instruction, a plurality of vector registers in the set of vector registers containing a plurality of capabilities. Each capability is associated with one of the data elements in the plurality of data elements and provides an address indication and constraining information constraining use of that address indication when accessing memory. The number of vector registers determined from the at least one capability vector indication field is greater than the number of vector registers determined from the data vector indication field. The instruction decoder controls the processing circuitry: to determine, for each given data element in the plurality of data elements, a memory address based on the address indication provided by the associated capability, and to determine whether the memory access operation to be used to access the given data element is allowed in respect of that determined memory address having regard to the constraining information of the associated capability; and to enable performance of the memory access operation for each data element for which the memory access operation is allowed.

IPC Classes  ?

  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode

66.

DATA PROCESSING

      
Application Number GB2022053215
Publication Number 2023/139344
Status In Force
Filing Date 2022-12-14
Publication Date 2023-07-27
Owner ARM LIMITED (United Kingdom)
Inventor
  • Biscondi, Eric
  • Martinot, Didier
  • Savage, Joe

Abstract

Data processing apparatus comprises vector processing circuitry to access an array register having at least n x n storage locations, where n is an integer greater than one, the vector processing circuitry comprising: instruction decoder circuitry to decode program instructions; and instruction processing circuitry to execute instructions decoded by the instruction decoder circuitry. The instruction decoder circuitry is responsive to an array access instruction, to control the instruction processing circuitry to access, for a vector of n vector elements, a set of n storage locations each having a respective array location in the array register. The array location accessed for a given vector element of the vector is defined by one or more coordinates associated with the given vector element by one or more parameters of the array access instruction.

IPC Classes  ?

  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode

67.

DATA ELISION

      
Application Number GB2022053098
Publication Number 2023/139342
Status In Force
Filing Date 2022-12-06
Publication Date 2023-07-27
Owner ARM LIMITED (United Kingdom)
Inventor
  • Bruce, Klas Magnus
  • Jalal, Jamshed
  • Persson, Håkan Lars-Göran
  • Mannava, Phanindra Kumar

Abstract

In response to determining circuitry determining that a portion of data to be sent to a recipient over an interconnect has a predetermined value, data sending circuitry performs data elision to: omit sending at least one data FLIT corresponding to the portion of data having the predetermined value; and send a data-elision-specifying FLIT specifying data-elision information indicating to the recipient that sending of the at least one data FLIT has been omitted and that the recipient can proceed assuming the portion of data has the predetermined value. The data- elision-specifying FLIT is a FLIT other than a write request FLIT for initiating a memory write transaction sequence. This helps to conserve data FLIT bandwidth for other data not having the predetermined value.

IPC Classes  ?

  • G06F 13/42 - Bus transfer protocol, e.g. handshake; Synchronisation

68.

TWO-STAGE ADDRESS TRANSLATION

      
Application Number GB2022051073
Publication Number 2023/099860
Status In Force
Filing Date 2022-04-28
Publication Date 2023-06-08
Owner ARM LIMITED (United Kingdom)
Inventor Grisenthwaite, Richard Roy

Abstract

Memory management circuitry (28) supports two-stage address translation based on a stage-1 and stage-2 translation table structures. Stage-2 access permission information specified by a stage-2 translation table entry has an encoding specifying whether a corresponding memory region has a partially-read-only permission indicating that write requests to the memory region corresponding to the target intermediate address, issued when processing circuitry (4) is in a predetermined execution state, are permitted for a restricted subset of write request types (including metadata-updating write requests for updating access tracking metadata in translation table entries) but prohibited for other write request types. The memory management circuitry (28) rejects a memory access request when the stage-2 access permission information of a corresponding stage-2 translation table entry specifies the partially-read-only permission and the memory access request is a write request, other than the restricted subset of write request types, issued in the predetermined execution state.

IPC Classes  ?

  • G06F 12/109 - Address translation for multiple virtual address spaces, e.g. segmentation
  • G06F 12/14 - Protection against unauthorised use of memory
  • G06F 21/00 - Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
  • G06F 9/455 - Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

69.

TECHNIQUES FOR CONTROLLING VECTOR PROCESSING OPERATIONS

      
Application Number GB2022052649
Publication Number 2023/094789
Status In Force
Filing Date 2022-10-18
Publication Date 2023-06-01
Owner ARM LIMITED (United Kingdom)
Inventor
  • Eyole, Mbou
  • Kennedy, Michael Alexander
  • Gabrielli, Giacomo

Abstract

There is provided a processing apparatus comprising decoder circuitry. The decoder circuitry is configured to generate control signals in response to an instruction. The processing apparatus further comprises processing circuitry which comprising a plurality of processing lanes. The processing circuitry is configured, in response to the control signals, to perform a vector processing operation in each processing lane of the plurality of processing lanes for which a per-lane mask indicates that processing for that processing lane is enabled. The processing apparatus further comprises control circuitry to monitor each processing lane of the plurality of processing lanes for each instruction of a plurality of instructions performed in the plurality of processing lanes and to modify the per-lane mask for a processing lane of the plurality of processing lanes in response to a processing state of the processing lane meeting one or more predetermined conditions.

IPC Classes  ?

  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode
  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline, look ahead

70.

CACHE ARRANGEMENTS IN DATA PROCESSING SYSTEMS

      
Application Number GB2022052999
Publication Number 2023/094829
Status In Force
Filing Date 2022-11-25
Publication Date 2023-06-01
Owner ARM LIMITED (United Kingdom)
Inventor
  • Harris, Peter William
  • Fielding, Edvard

Abstract

Disclosed is a data processing system comprising a data processor and a cache that is operable to transfer data from memory to the data processor. The data processor is operable to use data of a type that when transferred to the cache can comprise multiple component values. The data processor is however operable to store within a cache line of the cache a subset of less than all of the component values for a multicomponent data element. The cache is configured to further store in association with each cache line an indication of which data element component values are stored in the cache line so that cache lookups can be performed using the indications of which data element component values are stored in which cache lines.

IPC Classes  ?

  • G06T 1/60 - Memory management
  • G06F 12/0875 - Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack

71.

APPARATUS AND METHOD FOR MANAGING PREFETCH TRANSACTIONS

      
Application Number GB2022052550
Publication Number 2023/089292
Status In Force
Filing Date 2022-10-07
Publication Date 2023-05-25
Owner ARM LIMITED (United Kingdom)
Inventor
  • Randall, Joshua
  • Shulyak, Alexander Cole
  • Joao, Jose Alberto

Abstract

An apparatus and method are provided for managing prefetch transactions. The apparatus has an interconnect for providing communication paths between elements coupled to the interconnect. The elements coupled to the interconnect comprise at least a requester element to initiate transactions, and a plurality of completer elements each of which is arranged to respond to a transaction received by that completer element. Congestion tracking circuitry maintains, in association with the requester element, a congestion indication for each of a plurality of routes through the interconnect used to propagate transactions initiated by that requester element. Each route comprises one or more communication paths, and the route employed to propagate a given transaction is dependent on a target completer element for that transaction. Prefetch throttling circuitry then identifies, in response to an indication of a given prefetch transaction that the requester element wishes to initiate, the target completer element amongst the plurality of completer elements to which that given prefetch transaction would be issued. It then determines whether to issue the given prefetch transaction in dependence on the congestion indication for the route that has been determined.

IPC Classes  ?

  • G06F 12/0862 - Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch

72.

METHODS AND APPARATUS FOR TRAINING A CLASSIFICATION DEVICE

      
Application Number GB2022052721
Publication Number 2023/089294
Status In Force
Filing Date 2022-10-26
Publication Date 2023-05-25
Owner ARM LIMITED (United Kingdom)
Inventor
  • Pottier, Remy
  • Yuan, Wei
  • Myers, James Edward
  • Dunn, Andrew William
  • Hurley, Noel Francis

Abstract

A method for training a classification device, the method comprising: receiving classification device constraints at an intermediary device; receiving training data at the intermediary device; matching the training data to the classification device 5 constraints to provide constrained training data; mapping the constrained training data to classification device functionality to provide a command model; and transmitting the command model to the classification device.

IPC Classes  ?

  • G10L 15/22 - Procedures used during a speech recognition process, e.g. man-machine dialog
  • G06F 3/01 - Input arrangements or combined input and output arrangements for interaction between user and computer
  • G06F 3/16 - Sound input; Sound output

73.

DETERMINING WHETHER A GIVEN TASK IS ALLOCATED TO A GIVEN ONE OF A PLURALITY OF LOGICALLY HOMOGENEOUS PROCESSOR CORES

      
Application Number GB2022052445
Publication Number 2023/084181
Status In Force
Filing Date 2022-09-28
Publication Date 2023-05-19
Owner ARM LIMITED (United Kingdom)
Inventor
  • Das, Shidhartha
  • Myers, James Edward
  • O'Connor, Mark John

Abstract

A system on chip (102) comprising a plurality of logically homogeneous processor cores (104), each processor core comprising processing circuitry (210) to execute tasks allocated to that processor core, and task scheduling circuitry (202) configured to allocate tasks to the plurality of processor cores. The task scheduling circuitry is configured, for a given task to be allocated, to determine, based on at least one physical circuit implementation property associated with a given processor core, whether the given task is allocated to the given processor core.

IPC Classes  ?

  • G06F 9/50 - Allocation of resources, e.g. of the central processing unit [CPU]

74.

APPARATUS AND METHOD USING HINT CAPABILITY FOR CONTROLLING MICRO-ARCHITECTURAL CONTROL FUNCTION

      
Application Number GB2022052270
Publication Number 2023/073337
Status In Force
Filing Date 2022-09-07
Publication Date 2023-05-04
Owner ARM LIMITED (United Kingdom)
Inventor
  • Kiss, Dániel Kristóf
  • Ayrapetyan, Ruben Borisovich

Abstract

Capability storage circuitry 30, 32, 60, 34 stores at least one capability specifying a capability value and capability metadata indicative of constraints on valid use of the capability value. Capability checking circuitry 44 determines whether a capability-controlled operation to be performed by the processing circuitry with reference to a target capability is allowed, based on whether the capability-controlled operation satisfies the constraints indicated by the capability metadata of the target capability, and triggers an error handling response when the constraints are not satisfied. Micro-architectural control circuitry 40, 42, 23 controls a micro- architectural control function, other than determining whether the capability -controlled operation is allowed, depending on the capability metadata specified by a hint capability used to provide a hint to the micro-architectural control function.

IPC Classes  ?

  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode

75.

TECHNIQUE FOR HANDLING SEALED CAPABILITIES

      
Application Number GB2022052321
Publication Number 2023/067295
Status In Force
Filing Date 2022-09-14
Publication Date 2023-04-27
Owner ARM LIMITED (United Kingdom)
Inventor
  • Botman, François Christopher Jacques
  • Grocutt, Thomas Christopher

Abstract

An apparatus and method are described for handling sealed capabilities. The apparatus has processing circuitry to perform processing operations during which access requests to memory are generated, wherein the processing circuitry is arranged to generate memory addresses for the access requests using capabilities that identify constraining information. Checking circuitry then determines whether a given access request whose memory address is generated using a given capability is permitted based on the constraining information identified by that given capability, and based on a level of trust associated with the given access request. Each capability has a capability level of trust associated therewith, and the level of trust associated with the given access request is dependent on both a current mode level of trust associated with a current mode of operation of the processing circuitry, and the capability level of trust of the given capability. At least one of the capabilities is settable as a sealed capability, and the apparatus further comprises sealed capability handling circuitry to prevent the processing circuitry performing at least one processing operation using a given sealed capability when the current mode level of trust is a lower level of trust than the capability level of trust of the given sealed capability.

IPC Classes  ?

  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode

76.

ADDRESS TRANSLATION CIRCUITRY AND METHODS FOR PERFORMING ADDRESS TRANSLATION

      
Application Number GB2022052221
Publication Number 2023/062332
Status In Force
Filing Date 2022-08-31
Publication Date 2023-04-20
Owner ARM LIMITED (United Kingdom)
Inventor
  • Dall, Christoffer
  • Rutland, Mark Salling
  • Stockwell, Gareth Rhys

Abstract

There is provided address translation circuitry and a method for performing address translation. The address translation circuitry is responsive to receipt of a first address and an identifier to perform an address translation from the first address to a second address by performing a translation table walk comprising one or more translation lookups in a plurality of translation tables that are indexed based on a corresponding portion of the first address. The address translation circuitry is further configured to perform a metadata table walk to determine metadata specific to the identifier and associated with the address translation. The metadata table walk comprises one or more metadata lookups in a plurality of metadata lookup tables, each of the one or more metadata lookups corresponds to one of the one or more translation lookups and is indexed based on a same portion of the first address as that translation.

IPC Classes  ?

  • G06F 12/1009 - Address translation using page tables, e.g. page table structures
  • G06F 12/14 - Protection against unauthorised use of memory
  • G06F 12/1036 - Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation

77.

ENABLING BRANCH RECORDING WHEN BRANCH RECORDING CONFIGURATION VALUES SATISFY A PREDETERMINED CONDITION

      
Application Number GB2022052096
Publication Number 2023/057733
Status In Force
Filing Date 2022-08-11
Publication Date 2023-04-13
Owner ARM LIMITED (United Kingdom)
Inventor Williams, Michael John

Abstract

An apparatus comprises reset circuitry to perform a cold reset and to perform a warm reset by resetting a subset of state that is reset the cold reset, and branch recording circuitry to perform branch recording to store, in branch record storage circuitry, information about processed branch instructions. The branch recording circuitry determines whether warm and cold branch recording configuration values held in at least one register satisfy a predetermined condition; and when the warm and cold branch recording configuration values fail to satisfy the predetermined condition, branch recording is disabled. The branch record storage circuitry is configured to make the information about the processed branch instruction available for diagnostic analysis. The cold reset comprises resetting both of the warm and cold branch recording configuration values, and the warm reset comprises resetting the warm branch recording configuration value and leaving the cold branch recording configuration value unchanged.

IPC Classes  ?

  • G06F 11/34 - Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation
  • G06F 11/30 - Monitoring
  • G06F 11/36 - Preventing errors by testing or debugging of software

78.

TRANSLATION HINTS

      
Application Number GB2022052387
Publication Number 2023/047102
Status In Force
Filing Date 2022-09-22
Publication Date 2023-03-30
Owner ARM LIMITED (United Kingdom)
Inventor
  • Beard, Jonathan Curtis
  • Pena, Luis Emilio

Abstract

A hinter data processing apparatus is provided with processing circuitry that determines that an execution context to be executed on a hintee data processing apparatus will require a virtual-to-physical address translation. Hint circuitry transmits a hint to a hintee data processing apparatus to prefetch a virtual-to-physical address translation in respect of an execution context of the further data processing apparatus. A hintee data processing apparatus is also provided with receiving circuitry that receives a hint from a hinter data processing apparatus to prefetch a virtual-to-physical address translation in respect of an execution context of the further data processing apparatus. Processing circuitry determines whether to follow the hint and, in response to determining that the hint is to be followed, causes the virtual-to-physical address translation to be prefetched for the execution context of the data processing apparatus. In both cases, the hint comprises an identifier of the execution context.

IPC Classes  ?

  • G06F 12/1009 - Address translation using page tables, e.g. page table structures
  • G06F 12/1027 - Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
  • G06F 12/084 - Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
  • G06F 12/1036 - Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
  • G06F 12/1081 - Address translation for peripheral access to main memory, e.g. direct memory access [DMA]

79.

MEMORY ACCESS ANALYSIS

      
Application Number GB2022052067
Publication Number 2023/047077
Status In Force
Filing Date 2022-08-09
Publication Date 2023-03-30
Owner ARM LIMITED (United Kingdom)
Inventor Di Gregorio, Lorenzo

Abstract

There is provided a data processing apparatus comprising: memory access circuitry configured to issue access requests to a memory system; estimation circuitry configured to estimate a statistical cardinality count on memory row addresses accessed by the access requests; and decay circuitry configured to apply an exponential time-based decay during estimation of the statistical cardinality count.

IPC Classes  ?

  • G06F 21/79 - Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories

80.

NIBBLE BLOCK FORMAT

      
Application Number GB2022052164
Publication Number 2023/037093
Status In Force
Filing Date 2022-08-22
Publication Date 2023-03-16
Owner ARM LIMITED (United Kingdom)
Inventor
  • Whatmough, Paul Nicholas
  • Liu, Zhi-Gang
  • Mattina, Matthew

Abstract

A matrix multiplication system and method are provided. The system includes a memory that stores one or more weight tensors, a processor and a matrix multiply accelerator (MMA). The processor converts each weight tensor into an encoded block set that is stored in the memory. Each encoded block set includes a number of encoded blocks, and each encoded block includes a data field and an index field. The MMA converts each encoded block set into a reconstructed weight tensor, and convolves each reconstructed weight tensor and an input data tensor to generate an output data matrix.

IPC Classes  ?

81.

ADDRESS TRANSLATION CIRCUITRY AND METHOD FOR PERFORMING ADDRESS TRANSLATIONS

      
Application Number EP2022070494
Publication Number 2023/016770
Status In Force
Filing Date 2022-07-21
Publication Date 2023-02-16
Owner ARM LIMITED (United Kingdom)
Inventor
  • Sandberg, Andreas Lars
  • Vougioukas, Ilias

Abstract

There is provided address translation circuitry and a method for performing address translation. The address translation circuitry is responsive to receipt of a first address to perform an address translation between the first address and a second address by performing a predetermined maximum number of sequential lookups. The address translation circuitry is configured to support regular page tables comprising 2N entries and large page tables comprising 2N*M entries. The address translation circuitry is configured to: perform an intermediate lookup to retrieve information indicative of a sequentially next lookup address and page table size information and, when the page table size information indicates that the sequentially next lookup corresponds to one of the large page table and performing the sequentially next lookup would exceed the predetermined maximum number of sequential lookups, suppress subsequent lookups and generate the second address based on the information indicative of the sequentially next lookup address.

IPC Classes  ?

  • G06F 12/1009 - Address translation using page tables, e.g. page table structures

82.

A SIGNAL CLEANER

      
Application Number GB2022052081
Publication Number 2023/017261
Status In Force
Filing Date 2022-08-10
Publication Date 2023-02-16
Owner ARM LIMITED (United Kingdom)
Inventor
  • De Jong, Irenéus Johannes
  • Maji, Partha Prasun

Abstract

A method for filtering adversarial noise from an input signal is provided. The method comprises receiving an input signal which has an unknown level of adversarial noise. The input signal is filtered with a neural network to remove noise from the received input signal, thereby producing a filtered signal. A confidence value is calculated, the confidence value being associated with the filtered signal, and indicative of a level of trust relating to the filtered signal. The filtered signal and the confidence value may then be output.

IPC Classes  ?

  • G06N 3/04 - Architecture, e.g. interconnection topology

83.

MULTI-DIMENSIONAL ROUTING ARCHITECTURE

      
Application Number GB2022051926
Publication Number 2023/012454
Status In Force
Filing Date 2022-07-22
Publication Date 2023-02-09
Owner ARM LIMITED (United Kingdom)
Inventor
  • Carro, Alejandro Rico
  • Sinha, Saurabh Pijuskumar
  • Joseph, Douglas James
  • Muck, Tiago Rogerio

Abstract

Various implementations described herein refer to a device having a multi- layered logic structure with multiple layers including a first layer and a second layer arranged vertically in a stacked configuration. The device may have a first network that links nodes together in the first layer. The device may have a second network that links the nodes in the first layer together by way of the second layer so as to reduce latency related to data transfer between the nodes.

IPC Classes  ?

  • H04L 47/10 - Flow control; Congestion control
  • H04L 49/109 - Integrated on microchip, e.g. switch-on-chip
  • G06F 15/78 - Architectures of general purpose stored program computers comprising a single central processing unit

84.

A DATA PROCESSING APPARATUS AND METHOD FOR TRANSMITTING TRIGGERED INSTRUCTIONS BETWEEN PROCESSING ELEMENTS

      
Application Number GB2022051589
Publication Number 2023/007114
Status In Force
Filing Date 2022-06-22
Publication Date 2023-02-02
Owner ARM LIMITED (United Kingdom)
Inventor
  • Venu, Balaji
  • Eyole, Mbou
  • Gabrielli, Giacomo

Abstract

There is provided a data processing apparatus and a method of operating a data processing apparatus. The data processing apparatus comprises a plurality of processing elements connected via a network on a single chip arranged to form a triggered spatial architecture. Each processing element comprises front end circuitry configured to generate triggered instructions which are passed to decode circuitry to cause the processing element to perform processing operations. Some processing elements are configured to operate in a producing mode in which the processing element transmits the triggered instructions as consumer instructions to be executed by each of a set of processing elements when operating in a consuming mode. Some processing elements are configured to operate in the consuming mode in which the processing elements retrieve consumer instructions transmitted from a processing element operating in a producing mode, and pass the consumer instructions to the decode circuitry.

IPC Classes  ?

  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode
  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline, look ahead

85.

A PROCESSING APPARATUS, METHOD AND COMPUTER PROGRAM FOR A VECTOR COMBINING INSTRUCTION

      
Application Number GB2022051584
Publication Number 2023/002145
Status In Force
Filing Date 2022-06-22
Publication Date 2023-01-26
Owner ARM LIMITED (United Kingdom)
Inventor
  • Mansell, David Hennah
  • Biscondi, Eric

Abstract

There is provided a processing apparatus, method and computer program. The apparatus comprising: decode circuitry to decode instructions; and processing circuitry to apply vector processing operations specified by the instructions. The decode circuitry is configured to, in response to a vector combining instruction specifying a plurality of source vector registers each comprising source data elements in a plurality of data element positions, one or more further source vector registers, and one or more destination registers, cause the processing circuitry to, for each data element position: extract first source data elements from the data element position of each source vector register; extract second source data elements from the one or more further source vector registers; generate a result data element by combining each element of the first source data elements and the second source data elements; and store the result data element to the data element position of the one or more destination registers.

IPC Classes  ?

  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode

86.

PREDICATION TECHNIQUES

      
Application Number GB2022051586
Publication Number 2023/002147
Status In Force
Filing Date 2022-06-22
Publication Date 2023-01-26
Owner ARM LIMITED (United Kingdom)
Inventor
  • Martinez Vicente, Alejandro
  • Stephens, Nigel John
  • Milanovic, Jelena

Abstract

Apparatuses, methods and programs are disclosed relating to the predication of multiple vectors in vector processing. An encoding of predicate information is disclosed which comprises an element size and an element count, wherein the predicate information comprises a multiplicity of consecutive identical predication indicators given by the element count, each predication indicator corresponding to the element size.

IPC Classes  ?

  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode

87.

PAGE ACCESS FREQUENCY TRACKING

      
Application Number GB2022051454
Publication Number 2023/285774
Status In Force
Filing Date 2022-06-10
Publication Date 2023-01-19
Owner ARM LIMITED (United Kingdom)
Inventor
  • Evans, Matthew Lucien
  • Dimond, Robert Gwilym
  • Chadwick, Alexander Donald Charles

Abstract

An apparatus comprises: memory access circuitry (11) to process memory access requests requesting access to a memory system (10, 32); and access frequency tracking circuitry (40). In response to a given memory access request requesting access to a given page of a memory address space, the access frequency tracking circuitry (40) determines an outcome of a chance-dependent test, where the outcome of the chance-dependent test is dependent on chance. When the outcome of the chance-dependent test is a first outcome, an access frequency tracking indicator corresponding to the given page is updated within an access frequency tracking structure. When the chance-dependent test has an outcome other than the first outcome, the access frequency tracking circuitry 40 omits updating of the access frequency tracking indicator corresponding to the given page.

IPC Classes  ?

  • G06F 12/1009 - Address translation using page tables, e.g. page table structures

88.

APPARATUS AND METHOD FOR POINTER AUTHENTICATION

      
Application Number GB2022051754
Publication Number 2023/285785
Status In Force
Filing Date 2022-07-07
Publication Date 2023-01-19
Owner ARM LIMITED (United Kingdom)
Inventor
  • Hornung, Alexander Alfred
  • Caulfield, Ian Michael

Abstract

An apparatus has processing circuitry to execute instructions and address prediction storage circuitry to store address prediction information for use in predicting upcoming instructions to be executed by the processing circuitry. The processing circuitry is responsive to an instruction to generate a pointer signature for a pointer to generate the pointer signature for the pointer based on an address of the pointer and a cryptographic key. The address prediction storage circuitry is also configured to store address prediction information for the pointer, the address prediction information including the pointer. The processing circuitry is responsive to an instruction to authenticate a given pointer to obtain, based on the address prediction information for the given pointer, a predicted pointer signature; compare the predicted pointer signature with a pointer signature identified by the instruction to authenticate; and responsive to the comparing detecting a match, determine that the given pointer is valid.

IPC Classes  ?

  • G06F 21/54 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure by adding security routines or objects to programs
  • G06F 12/14 - Protection against unauthorised use of memory
  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline, look ahead

89.

DIVIDE/SQUARE-ROOT PIPELINE AND METHOD

      
Application Number GB2022051339
Publication Number 2023/275504
Status In Force
Filing Date 2022-05-26
Publication Date 2023-01-05
Owner ARM LIMITED (United Kingdom)
Inventor Bruguera, Javier Diaz

Abstract

An apparatus comprises a divide/square-root pipeline comprising: a plurality of divide/square-root iteration pipeline stages each to perform a respective iteration of a digit- recurrence divide or square root operation; and signal paths to supply outputs generated by one divide/square root iteration pipeline stage in one iteration as inputs to a subsequent divide/square root iteration pipeline stage of the divide/square-root pipeline for performing a subsequent iteration of the digit-recurrence divide or square root operation. The divide/square- root pipeline is capable of performing the digit-recurrence divide or square root operation on a floating-point operand to generate a floating-point result.

IPC Classes  ?

  • G06F 7/537 - Reduction of the number of iteration steps or stages, e.g. using the Sweeny-Robertson-Tocher [SRT] algorithm
  • G06F 7/552 - Powers or roots

90.

A DATA PROCESSING APPARATUS AND METHOD FOR HANDLING STALLED DATA

      
Application Number GB2022051577
Publication Number 2023/275514
Status In Force
Filing Date 2022-06-21
Publication Date 2023-01-05
Owner ARM LIMITED (United Kingdom)
Inventor
  • Eyole, Mbou
  • Gabrielli, Giacomo
  • Venu, Balaji

Abstract

There is provided a data processing apparatus and method. The data processing apparatus comprises a plurality of processing elements connected via a network arranged on a single chip to form a spatial architecture. Each processing element comprising processing circuitry to perform processing operations and memory control circuitry to perform data transfer operations and to issue data transfer requests for requested data to the network. The memory control circuitry is configured to monitor the network to retrieve the requested data from the network. Each processing element is further provided with local storage circuitry comprising a plurality of local storage sectors to store data associated with the processing operations, and auxiliary memory control circuitry to monitor the network to detect stalled data (S60). The auxiliary memory control circuitry is configured to transfer the stalled data from the network to an auxiliary storage buffer (S66) dynamically selected from amongst the plurality of local storage sectors (S64).

IPC Classes  ?

  • G06F 13/16 - Handling requests for interconnection or transfer for access to memory bus
  • G06F 13/40 - Bus structure
  • H04L 49/9057 - Arrangements for supporting packet reassembly or resequencing
  • G06F 12/0813 - Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
  • G11C 7/10 - Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
  • H04L 47/62 - Queue scheduling characterised by scheduling criteria

91.

RANGE PREFETCH INSTRUCTION

      
Application Number GB2022051246
Publication Number 2022/269220
Status In Force
Filing Date 2022-05-18
Publication Date 2022-12-29
Owner ARM LIMITED (United Kingdom)
Inventor
  • Nathella, Krishnendra
  • Mansell, David Hennah
  • Rico Carro, Alejandro
  • Mundy, Andrew

Abstract

In response to an instruction decoder decoding a range prefetch instruction specifying first and second address-range-specifying parameters and a stride parameter, prefetch circuitry controls, depending on the first and second address-range-specifying parameters and the stride parameter, prefetching of data from a plurality of specified ranges of addresses into the at least one cache. A start address and size of each specified range is dependent on the first and second address-range-specifying parameters. The stride parameter specifies an offset between start addresses of successive specified ranges. Use of the range prefetch instruction helps to improve programmability and improve the balance between prefetch coverage and circuit area of the prefetch circuitry.

IPC Classes  ?

  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode
  • G06F 9/345 - Addressing or accessing the instruction operand or the result of multiple operands or results
  • G06F 12/0862 - Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch

92.

SYSTEM, DEVICES AND/OR PROCESSES FOR AUGMENTING ARTIFICIAL INTELLIGENCE AGENT AND COMPUTING DEVICES

      
Application Number EP2022025249
Publication Number 2022/253463
Status In Force
Filing Date 2022-05-27
Publication Date 2022-12-08
Owner ARM LIMITED (United Kingdom)
Inventor
  • Pottier, Remy
  • Croxford, Daren
  • Carpenter, Gary, Dale

Abstract

Briefly, example methods, apparatuses, and/or articles of manufacture are disclosed that may be implemented, in whole or in part, using one or more computing devices to enhance capabilities of peer devices. In an implementation, at least one agent to: identify one or more learnable capabilities enabled by one or more parameters that are accessible via receipt of one or more message at the one or more communication devices from one or more other computing devices; and determine a utility of augmenting at least one of the one or more learning engines with at least one of the one or more learnable capabilities.

IPC Classes  ?

  • G06N 3/04 - Architecture, e.g. interconnection topology
  • G06N 3/08 - Learning methods
  • G06N 5/00 - Computing arrangements using knowledge-based models
  • G06N 7/00 - Computing arrangements based on specific mathematical models
  • G06N 20/10 - Machine learning using kernel methods, e.g. support vector machines [SVM]
  • G06N 20/20 - Ensemble learning
  • G06N 5/04 - Inference or reasoning models

93.

TECHNIQUE FOR HANDLING REQUEST TRANSFERS FROM A PERIPHERAL DEVICE IN A COMMUNICATION NETWORK

      
Application Number GB2022050738
Publication Number 2022/238670
Status In Force
Filing Date 2022-03-24
Publication Date 2022-11-17
Owner ARM LIMITED (United Kingdom)
Inventor
  • Evans, Matthew Lucien
  • Dimond, Robert Gwilym

Abstract

A host device (10) provides a plurality of virtual machines (54) executing one or more processes (60, 62, 64, 66). A peripheral device (30) performs tasks on behalf of the host and is coupled to it via a communication network (20). The peripheral provides a plurality of virtual peripheral devices (34), each allocated to one of the virtual machines. Address translation circuitry (75) in the host performs two- stage address translation. When accessing a memory (40) via the host, the peripheral requests a transfer with a specified address and associated metadata providing a source identifier field, a first address translation control field and a second address translation control field. The first address translation control field controls any first stage address translation and depends on the process. The second address translation control field controls any second stage address translation required and depends on the virtual machine associated with the specified address.

IPC Classes  ?

  • G06F 12/1081 - Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
  • G06F 12/109 - Address translation for multiple virtual address spaces, e.g. segmentation
  • G06F 9/455 - Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

94.

TECHNIQUE FOR CONSTRAINING ACCESS TO MEMORY USING CAPABILITIES

      
Application Number GB2022050430
Publication Number 2022/234243
Status In Force
Filing Date 2022-02-17
Publication Date 2022-11-10
Owner ARM LIMITED (United Kingdom)
Inventor
  • Botman, François Christopher Jacques
  • Grocutt, Thomas Christopher
  • Smith, Bradley John

Abstract

There is provided an apparatus, method and computer program for constraining memory accesses. The apparatus comprises processing circuitry to perform operations during which access requests to memory are generated. The processing circuitry is arranged to generate memory addresses for the access requests using capabilities that identify constraining information. The apparatus further comprises capability checking circuitry to perform a capability check operation to determine whether a given access request whose memory address is generated using a given capability is permitted based on given constraining information identified by the given capability. The capability check operation includes performing a range check based on range constraining information provided by the given constraining information, and when a determined condition is met, to perform the range check in dependence on both the range constraining information and an item of state information of the apparatus which varies dynamically during performance of the operations of the processing circuitry.

IPC Classes  ?

  • G06F 12/14 - Protection against unauthorised use of memory
  • G06F 12/1036 - Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
  • G06F 12/02 - Addressing or allocation; Relocation

95.

TECHNIQUE FOR CONSTRAINING ACCESS TO MEMORY USING CAPABILITIES

      
Application Number GB2022050429
Publication Number 2022/229590
Status In Force
Filing Date 2022-02-17
Publication Date 2022-11-03
Owner ARM LIMITED (United Kingdom)
Inventor
  • Botman, François Christopher Jacques
  • Grocutt, Thomas Christopher
  • Smith, Bradley John

Abstract

A technique is provided for constraining access to memory using capabilities. An apparatus is provided that has processing circuitry for performing operations during which access request to memory are generated, wherein the processing circuitry is arranged to generate memory addresses for the access requests using capabilities that provide a pointer value and associated constraining information. The apparatus also provides capability generation circuitry, that is responsive to the processing circuitry executing a capability generating instruction that identifies a location in a literal pool of the memory, to retrieve a literal value from the location in the literal pool, and to produce a generated capability in which the pointer value of the generated capability is determined from the literal value. The constraining information of the generated capability is selected from a limited set of options in dependence on information specified by the capability generating instruction. It has been found that such an approach provides a robust mechanism for generating capabilities, whilst reducing code size.

IPC Classes  ?

  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode
  • G06F 9/35 - Indirect addressing

96.

DATA PROCESSING APPARATUS AND METHOD FOR PERFORMING ADDRESS TRANSLATION

      
Application Number GB2022050675
Publication Number 2022/229592
Status In Force
Filing Date 2022-03-17
Publication Date 2022-11-03
Owner ARM LIMITED (United Kingdom)
Inventor
  • Giefer, Charles Andrew
  • Chadwick, Alexander Donald Charles

Abstract

A data processing apparatus comprises storage circuitry to store a hierarchy of page tables comprising an intermediate level page table (22). Each entry of the intermediate level page table comprises base address information of a next level page table (24) and control information indicating whether an addressing function (26) has been applied to reorder physical storage locations of entries of the next level page table. Address translation circuitry is provided to perform address translations in response to receipt of a virtual address by performing a lookup in a next level page table dependent on the base address information and a page table index from the virtual address. When the control information indicates that the addressing function has been applied, the lookup is performed at a modified storage location generated by applying the addressing function to the page table index.

IPC Classes  ?

  • G06F 12/1009 - Address translation using page tables, e.g. page table structures

97.

SYSTEMS HAVING A PLURALITY OF NEURAL NETWORKS

      
Application Number GB2022051066
Publication Number 2022/229632
Status In Force
Filing Date 2022-04-27
Publication Date 2022-11-03
Owner ARM LIMITED (United Kingdom)
Inventor
  • O'Connor, Mark John
  • Whatmough, Paul Nicholas

Abstract

A method of operating a system having a plurality of neural networks includes receiving sequential input data events and processing each sequential input data event using a corresponding subset of the plurality of neural networks to obtain a plurality of sequential outputs. Each sequential output is indicative of a predictive determination of an aspect of the corresponding input data event. The method includes processing the plurality of sequential outputs to determine an uncertainty value associated with the plurality of sequential outputs, and operating the system based on the determined uncertainty value.

IPC Classes  ?

98.

APPARATUS AND METHOD FOR GENERATING DEBUG INFORMATION

      
Application Number GB2022050365
Publication Number 2022/219297
Status In Force
Filing Date 2022-02-10
Publication Date 2022-10-20
Owner ARM LIMITED (United Kingdom)
Inventor
  • Savanth, Parameshwarappa Anand Kumar
  • Gamage, Sahan Sajeewa Hiniduma Udugama
  • Wang, Wei
  • Sandberg, Andreas Lars

Abstract

An apparatus and method are described for generating debug information. The apparatus has processing circuitry for executing a sequence of instructions that includes a plurality of debug information triggering instructions, and debug information generating circuitry for coupling to a debug port. On executing a given debug information triggering instruction, the processing circuitry is arranged to trigger the debug information generating circuitry to generate a debug information signal whose form is dependent on a control parameter specified by the given debug information triggering instruction. The generated debug information signal is output from the debug port for reference by a debugger. The control parameter is such that the form of the debug information signal enables the debugger to determine a state of the processing circuitry when the given debug information triggering instruction was executed.

IPC Classes  ?

  • G06F 11/36 - Preventing errors by testing or debugging of software

99.

APPARATUS AND METHOD FOR HANDLING STASHING TRANSACTIONS

      
Application Number GB2022050386
Publication Number 2022/214776
Status In Force
Filing Date 2022-02-14
Publication Date 2022-10-13
Owner ARM LIMITED (United Kingdom)
Inventor
  • Thomas, Tessil
  • Elad, Yuval
  • Rangarajan, Thanunathan
  • Garcia-Tobin, Carlos

Abstract

An apparatus and method are provided, the apparatus comprising: interconnect circuitry to couple a device to one or more processing elements, each processing element operating in a trusted execution environment; and secure stashing decision circuitry to receive stashing transactions from the device and to redirect permitted stashing transactions to a given storage structure accessible to at least one of the one or more processing elements. The secure stashing decision circuitry is configured, in response to receiving a given stashing transaction, to determine whether the given stashing transaction comprises a trusted execution environment identifier associated with a given trusted execution environment, and to treat the given stashing transaction as a permitted stashing transaction when redirection requirements, dependent on the trusted execution environment identifier, are met.

IPC Classes  ?

  • G06F 21/53 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure by executing in a restricted environment, e.g. sandbox or secure virtual machine
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 12/0806 - Multiuser, multiprocessor or multiprocessing cache systems

100.

MESSAGE PASSING CIRCUITRY AND METHOD

      
Application Number GB2022050388
Publication Number 2022/214777
Status In Force
Filing Date 2022-02-14
Publication Date 2022-10-13
Owner ARM LIMITED (United Kingdom)
Inventor
  • Beard, Jonathan Curtis
  • Dunham, Curtis Glenn
  • Sandberg, Andreas Lars
  • Rusitoru, Roxana

Abstract

Message passing circuitry comprises lookup circuitry responsive to a producer request indicating message data provided on a target message channel by a producer node of a system-on-chip, to obtain, from a channel consumer information structure, selected channel consumer information associated with a given consumer node subscribing to the target message channel. Control circuitry writes the message data to a location associated with an address in a consumer- defined region of address space determined based on the selected channel consumer information. When an event notification condition is satisfied for the target message channel and the given consumer node, and an event notification channel is to be used, event notification data is written to a location associated with an address in a consumer-defined region of address space determined based on event notification channel consumer information associated with the event notification channel.

IPC Classes  ?

  • G06F 15/17 - Interprocessor communication using an input/output type connection, e.g. channel, I/O port
  • G06F 15/78 - Architectures of general purpose stored program computers comprising a single central processing unit
  1     2     3     ...     10        Next Page