Patents by Inventor Olof Henrik Uhrenholt

Olof Henrik Uhrenholt has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20250131523
    Abstract: A tile-based graphics processor performs first and second processing passes to generate a render output. The first processing pass generates data that is used in the second processing pass to determine which primitives to process for which rendering tiles. The first processing pass is performed by a geometry processing control unit assembling primitives, and one or more programmable processing units transforming geometry data defining the primitives, and processing the transformed geometry data to generate the data.
    Type: Application
    Filed: October 17, 2024
    Publication date: April 24, 2025
    Applicant: Arm Limited
    Inventors: Frank Klaeboe Langtind, Olof Henrik Uhrenholt
  • Patent number: 12272105
    Abstract: A data processing system comprises a processor that generates data elements of an array of data and stores the data elements in the one or more local buffers. When a set of data elements that corresponds to less than an entire region of plural separate regions that the array of data is divided into is to be written from the one or more local buffers to memory, the processor may encode the set of data elements so as to produce an encoded block of data and store the encoded block of data in memory by: writing body data to one of a first body buffer and a second body buffer, wherein the set of data elements is encoded using a first encoding for which header information descriptive of the body data will be independent of the values of the data elements being encoded.
    Type: Grant
    Filed: December 16, 2022
    Date of Patent: April 8, 2025
    Assignee: Arm Limited
    Inventor: Olof Henrik Uhrenholt
  • Publication number: 20250111465
    Abstract: A method of managing write-after-read (WAR) hazards in a graphics processor. A host processor when preparing a graphics processor command stream can identify possible WAR hazards between rendering jobs for example by detecting layout transitions and insert a suitable barrier into the graphics processor command stream. The graphics processor when encountering such a barrier can then determine whether it is possible to ignore the barrier and allow rendering jobs to be processed concurrently.
    Type: Application
    Filed: September 29, 2023
    Publication date: April 3, 2025
    Applicant: Arm Limited
    Inventors: Olof Henrik Uhrenholt, Thomas Weber
  • Publication number: 20250111464
    Abstract: When performing a sequence of rendering jobs, rendering tasks for separate rendering jobs are permitted to overlap within the graphics processor's processing (shader) cores. A record is maintained of which rendering tasks are currently being processed by the graphics processor's processing (shader) cores which record can then be used to enforce any data (processing) dependencies between different rendering jobs.
    Type: Application
    Filed: September 29, 2023
    Publication date: April 3, 2025
    Applicant: Arm Limited
    Inventors: Mark Underwood, Wing-Tsi Henry Wong, Olof Henrik Uhrenholt, Philip Carlos Garcia, Daren Croxford
  • Publication number: 20250111463
    Abstract: When generating a sequence of render outputs using a graphics processor, the completion status of rendering tasks from different render outputs is tracked so that processing tasks for later render outputs in the sequence of outputs can be processed concurrently with processing tasks for earlier render outputs in the sequence of outputs whilst ensuring that any dependencies between the rendering tasks for the different render outputs are enforced.
    Type: Application
    Filed: September 29, 2023
    Publication date: April 3, 2025
    Applicant: Arm Limited
    Inventors: Olof Henrik Uhrenholt, Andreas Due Engh-Halstvedt, Philip Carlos Garcia, Wing-Tsi Henry Wong, Sandeep Kala, Joseph Michael Richardson
  • Publication number: 20250111462
    Abstract: When generating a sequence of render outputs using a graphics processor, the completion status of rendering tasks from different render outputs is tracked so that processing tasks for later render outputs in the sequence of outputs can be processed concurrently with processing tasks for earlier render outputs in the sequence of outputs whilst ensuring that any dependencies between the rendering tasks for the different render outputs are enforced. In particular, there is disclosed a mechanism for suspending the sequence of rendering jobs (so that it may subsequently be resumed).
    Type: Application
    Filed: September 29, 2023
    Publication date: April 3, 2025
    Applicant: Arm Limited
    Inventors: Olof Henrik Uhrenholt, Philip Carlos Garcia, Mark Underwood
  • Publication number: 20250111577
    Abstract: A method of operating a graphics processor when performing a certain sequence of rendering jobs that produces a series of progressively lower resolution versions of the same render output comprising issuing rendering tasks for different rendering jobs concurrently and controlling processing for a later rendering job using a respective ‘task completion status’ data structure associated with the earlier rendering job on which it depends, wherein the looking up of respective entries in the ‘task completion status’ data structure takes into account the change in resolution between the first, earlier rendering job and the second, later rendering job.
    Type: Application
    Filed: October 10, 2023
    Publication date: April 3, 2025
    Applicant: Arm Limited
    Inventors: Olof Henrik Uhrenholt, Jakob Axel Fries
  • Publication number: 20250111467
    Abstract: When generating a sequence of render outputs using a graphics processor, the completion status of rendering tasks for different render outputs is tracked so that processing tasks for later render outputs in the sequence of outputs can be processed concurrently with processing tasks for earlier render outputs in the sequence of outputs whilst ensuring that any dependencies between the rendering tasks are enforced.
    Type: Application
    Filed: September 24, 2024
    Publication date: April 3, 2025
    Applicant: Arm Limited
    Inventors: Olof Henrik Uhrenholt, Mark Underwood, Daren Croxford, Joseph Michael Richardson
  • Publication number: 20250103681
    Abstract: A processing element is configured to approximate a transcendental function. The processing element comprises an input storage and a look-up storage. The processing element obtains floating-point input data from the input storage representing having an input exponent value and an input mantissa value. The processing element looks up approximation parameters and an output exponent value from the look-up storage, wherein each group of approximation parameters and output exponent value are stored in the look-up storage in association with a respective range of a plurality of ranges that are defined by the input exponent value and the input mantissa value. The ranges cover values of the input exponent value and input mantissa value such that the output exponent value associated with each range does not change by more than a predetermined number. An approximation function is evaluated that approximates the transcendental function based on the looked-up approximation parameters and output exponent.
    Type: Application
    Filed: September 19, 2024
    Publication date: March 27, 2025
    Applicant: Arm Limited
    Inventor: Olof Henrik Uhrenholt
  • Patent number: 12242856
    Abstract: A data processor comprising an execution engine 51 for executing programs for execution threads and one or more caches 48, 49 operable to store data values for use when executing program instructions to perform processing operations for execution threads. The data processor further comprises a thread throttling control unit 54 configured to monitor the operation of the caches 48, 49 during execution of programs for execution threads, and to control the issuing of instructions for execution threads to the execution engine for executing a program based on the monitoring of the operation of the caches during execution of the program.
    Type: Grant
    Filed: March 24, 2022
    Date of Patent: March 4, 2025
    Assignee: Arm Limited
    Inventors: Tord Kvestad Øygard, Olof Henrik Uhrenholt, Andreas Due Engh-Halstvedt
  • Publication number: 20250037228
    Abstract: When performing rendering in a tile-based graphics processor that comprises plural rendering processors, different regions of the render output are allocated to different ones of the rendering processors for processing. The processing of the render output is tracked to determine when a portion of the render output that is still to be allocated to the rendering processors for processing falls below a threshold, and when it is determined that a portion of the render output that is still to be allocated to the rendering processors for processing falls below the threshold, smaller regions of the render output are thereafter allocated to the rendering processors for processing.
    Type: Application
    Filed: July 26, 2024
    Publication date: January 30, 2025
    Applicant: Arm Limited
    Inventor: Olof Henrik Uhrenholt
  • Publication number: 20250021302
    Abstract: Disclosed is a method of evaluating trigonometric functions in floating point arithmetic. In particular, a range reduction operation is performed to reduce the input argument x into a desired reduced ranges of values within which the trigonometric function is to be evaluated. The range reduction involves a step of computing the product of the input argument x and R, wherein R is an approximation to m/pi (with m=2, for example). The value for R is obtained as a sum of terms R0+R1+ . . . and the value of the first term R0 is configured to ensure that the expression xR0 modulo 4 can be evaluated without floating point rounding error. This can then provide an improved graphics processor operation.
    Type: Application
    Filed: July 3, 2024
    Publication date: January 16, 2025
    Applicant: Arm Limited
    Inventor: Olof Henrik Uhrenholt
  • Patent number: 12164425
    Abstract: Address translation circuitry (20) converts virtual addresses into physical addresses with reference to intermediate level and final level page tables. Final level descriptors within final level page tables identify address translation data for an associated region of memory. Intermediate level descriptors within intermediate level page tables identify intermediate address translation data used to identify an associated page table at a next level of the page tables. Page table update circuitry (35) maintains state information within each final and intermediate level descriptor, and updates the state information from a clean state to a dirty state: in the final level descriptors to indicate that a modification of content of the associated memory region is permitted; in the intermediate level descriptors to indicate occurrence of an update from the clean state to the dirty state within the state information of any final level descriptors that are accessed via that intermediate level descriptor.
    Type: Grant
    Filed: December 8, 2021
    Date of Patent: December 10, 2024
    Assignee: Arm Limited
    Inventors: Andrew Brookfield Swaine, Olof Henrik Uhrenholt
  • Publication number: 20240378017
    Abstract: An apparatus, a computer-readable medium, a system, a chip-containing product and a method are provided relating to floating point arithmetic, wherein a combined arithmetic operation with respect to three input floating point values is performed. The combined arithmetic operation comprises a rounded first arithmetic operation on the first and second input floating point values generating a rounded first arithmetic result and a rounded second arithmetic operation on the rounded first arithmetic result and the third input floating point value to generate a final rounded result of the combined arithmetic operation. When a shift operation on a non-zero mantissa of the third input floating point value generates a zero-value shifted mantissa, the zero-value shifted mantissa is adjusted to become non-zero.
    Type: Application
    Filed: February 15, 2024
    Publication date: November 14, 2024
    Applicant: Arm Limited
    Inventor: Olof Henrik Uhrenholt
  • Patent number: 12135651
    Abstract: A method of operating a cache system is disclosed. Different entries in the same cache of the cache system are addressed using different address domains. The different address domains may be associated with different data types that are cached by the cache.
    Type: Grant
    Filed: December 9, 2022
    Date of Patent: November 5, 2024
    Assignee: Arm Limited
    Inventor: Olof Henrik Uhrenholt
  • Patent number: 12086454
    Abstract: A data processing system includes an external memory system, a processor and an internal memory system. The internal memory system includes an internal memory that stores data for use by the processor when performing data processing operations. The internal memory system also includes a data encoder associated with the internal memory. The data encoder reads data from the external memory system to the data encoder and returns the data to the external memory system from the data encoder, without storing the data in the internal memory.
    Type: Grant
    Filed: November 18, 2021
    Date of Patent: September 10, 2024
    Assignee: Arm Limited
    Inventors: Olof Henrik Uhrenholt, Andreas Due Engh-Halstvedt
  • Publication number: 20240211209
    Abstract: The present disclosure relates to a data processing apparatus comprising: instruction decode circuitry to decode instructions; processing circuitry to execute said instructions decoded by said instruction decode circuitry, said processing circuitry comprising fused-multiply-accumulate, FMA, circuitry to respond to a fused-multiply-accumulate, FMA, instruction decoded by said instruction decoder, said FMA instruction specifying a first floating-point operand (a), a second floating-point operand (b) and a third floating-point operand (c); and an operand storage module operable to store said first floating-point operand, said second floating-point operand, and said third floating-point operand, wherein, responsive to said FMA instruction, said FMA circuitry is configured to: perform denormal detection on said first floating-point operand, said second floating-point operand and said third floating-point operand to determine if one or more of said first floating-point operand, said second floating-point operand or
    Type: Application
    Filed: December 22, 2022
    Publication date: June 27, 2024
    Inventor: Olof Henrik Uhrenholt
  • Publication number: 20240169645
    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. Processing of one or more vertex attributes may be omitted during the first, pre-pass operation.
    Type: Application
    Filed: November 15, 2023
    Publication date: May 23, 2024
    Applicant: Arm Limited
    Inventors: Tord Kvestad Øygard, Olof Henrik Uhrenholt
  • Patent number: 11983792
    Abstract: A graphics processor comprising a rasteriser, a renderer, and a fragment dependency manager, and a method of operating a graphics processor. The fragment dependency manager is operable to maintain plural queues, where each queue corresponds to a respective set of plural sets of one or more sampling points that an array of sampling points is divided into, and wherein each queue entry is indicative of one or more fragments that when processed by the renderer will produce rendered fragment data for one or more of the sampling points of the set of one or more sampling points to which the queue corresponds.
    Type: Grant
    Filed: May 9, 2022
    Date of Patent: May 14, 2024
    Assignee: Arm Limited
    Inventors: Olof Henrik Uhrenholt, Toni Viki Brkic, Edward Hardy
  • Patent number: 11954038
    Abstract: A data processing system includes a memory system, a processor and a cache system. The cache system includes a cache and a data encoder associated with the cache. The data encoder encodes blocks of uncompressed data having a particular data size for storing in the memory system. The processor is configured, when an array of data has a data size equal to the particular data size or is able to be combined with one or more other arrays of data already written to the cache to provide a plurality of arrays of data having a data size that is equal to the particular data size, to output the array of data from the processor to the data encoder, bypassing the cache, for encoding as or as part of a block of data having the particular data size.
    Type: Grant
    Filed: July 19, 2021
    Date of Patent: April 9, 2024
    Assignee: Arm Limited
    Inventors: Olof Henrik Uhrenholt, Håkan Lars-Göran Persson, Jakob Axel Fries