Patents by Inventor Kenneth Edvard OSTBY

Kenneth Edvard OSTBY 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).

  • Patent number: 10877545
    Abstract: A graphics processing unit is operable to execute graphics processing programs comprising sequences of instructions to perform graphics processing operations. The graphics processing unit includes execution processing circuitry operable to execute instructions to perform graphics processing operations and instruction issuing circuitry operable to issue instructions to be executed to the execution processing circuitry. The graphics processing unit also includes energy management circuitry operable to monitor the energy usage by the execution processing circuitry when executing instructions, determine, based on the monitoring of the energy usage, a permitted energy usage range for the execution processing circuitry when executing instructions for a future time period, and control the issuing of instructions to the execution processing circuitry by the instruction issuing circuitry during the future time period based on the permitted energy usage range determined for the future time period.
    Type: Grant
    Filed: September 20, 2018
    Date of Patent: December 29, 2020
    Assignee: Arm Limited
    Inventors: Kenneth Edvard Ostby, Andrew Burdass
  • Patent number: 10789768
    Abstract: A graphics processing apparatus comprises fragment generating circuitry to generate graphics fragments corresponding to graphics primitives, thread processing circuitry to perform threads of processing corresponding to the fragments, and forward kill circuitry to trigger a forward kill operation to prevent further processing of a target thread of processing corresponding to an earlier graphics fragment when the forward kill operation is enabled for the target thread and the earlier graphics fragment is determined to be obscured by one or more later graphics fragments. The thread processing circuitry supports enabling of the forward kill operation for a thread including at least one forward kill blocking instruction having a property indicative that the forward kill operation should be disabled for the given thread, when the thread processing circuitry has not yet reached a portion of the thread including the at least one forward kill blocking instruction.
    Type: Grant
    Filed: September 12, 2018
    Date of Patent: September 29, 2020
    Assignee: ARM Limited
    Inventors: Stephane Forey, Jørn Nystad, Reimar Gisbert Döffinger, Kenneth Edvard Østby, Toni Viki Brkic
  • Patent number: 10606595
    Abstract: A data processor in which execution threads may be grouped together into thread groups in which the plural threads of a thread group can each execute a set of instructions in lockstep, one instruction at a time. The data processor comprises a plurality of execution lanes for executing respective execution threads of a thread group. For each thread group in a pool 51 of thread groups available to be issued to the execution lanes, an indication 54 of the active threads of the thread group is stored, and sets of at least one thread group from the pool 51 of available thread groups to issue 73 to the execution lanes for execution are selected 72 based on the indications of the active threads for the thread groups in the thread group pool.
    Type: Grant
    Filed: March 23, 2018
    Date of Patent: March 31, 2020
    Assignee: Arm Limited
    Inventor: Kenneth Edvard Ostby
  • Publication number: 20200097061
    Abstract: A graphics processing unit is operable to execute graphics processing programs comprising sequences of instructions to perform graphics processing operations. The graphics processing unit includes execution processing circuitry operable to execute instructions to perform graphics processing operations and instruction issuing circuitry operable to issue instructions to be executed to the execution processing circuitry. The graphics processing unit also includes energy management circuitry operable to monitor the energy usage by the execution processing circuitry when executing instructions, determine, based on the monitoring of the energy usage, a permitted energy usage range for the execution processing circuitry when executing instructions for a future time period, and control the issuing of instructions to the execution processing circuitry by the instruction issuing circuitry during the future time period based on the permitted energy usage range determined for the future time period.
    Type: Application
    Filed: September 20, 2018
    Publication date: March 26, 2020
    Applicant: Arm Limited
    Inventors: Kenneth Edvard Ostby, Andrew Burdass
  • Publication number: 20190294439
    Abstract: A data processor in which execution threads may be grouped together into thread groups in which the plural threads of a thread group can each execute a set of instructions in lockstep, one instruction at a time. The data processor comprises a plurality of execution lanes for executing respective execution threads of a thread group. For each thread group in a pool 51 of thread groups available to be issued to the execution lanes, an indication 54 of the active threads of the thread group is stored, and sets of at least one thread group from the pool 51 of available thread groups to issue 73 to the execution lanes for execution are selected 72 based on the indications of the active threads for the thread groups in the thread group pool.
    Type: Application
    Filed: March 23, 2018
    Publication date: September 26, 2019
    Applicant: Arm Limited
    Inventor: Kenneth Edvard Ostby
  • Patent number: 10310856
    Abstract: A program is analyzed to identify instructions that will load external data and to determine whether such instructions are followed by a sequence of instructions that will produce the same result for each thread in a thread group if the data loaded by the load instruction is the same for each thread in the thread group. Each time there is an external load instruction, it is determined whether the data loaded by the external load instruction is the same for all threads of the thread group, and whether the external load instruction was indicated as being followed by a sequence of instructions that produce the same result if the external load instruction loads the same data value for each thread of a thread group. The subsequent instructions are then executed for only a single thread of the thread group, or for all the threads of the thread group.
    Type: Grant
    Filed: November 9, 2016
    Date of Patent: June 4, 2019
    Assignee: Arm Limited
    Inventor: Kenneth Edvard Østby
  • Publication number: 20190088009
    Abstract: A graphics processing apparatus comprises fragment generating circuitry to generate graphics fragments corresponding to graphics primitives, thread processing circuitry to perform threads of processing corresponding to the fragments, and forward kill circuitry to trigger a forward kill operation to prevent further processing of a target thread of processing corresponding to an earlier graphics fragment when the forward kill operation is enabled for the target thread and the earlier graphics fragment is determined to be obscured by one or more later graphics fragments. The thread processing circuitry supports enabling of the forward kill operation for a thread including at least one forward kill blocking instruction having a property indicative that the forward kill operation should be disabled for the given thread, when the thread processing circuitry has not yet reached a portion of the thread including the at least one forward kill blocking instruction.
    Type: Application
    Filed: September 12, 2018
    Publication date: March 21, 2019
    Inventors: Stephane FOREY, Jørn NYSTAD, Reimar Gisbert DÖFFINGER, Kenneth Edvard ØSTBY, Toni Viki BRKIC
  • Patent number: 10127626
    Abstract: In a data processing system, a program to be executed by a programmable processing unit of the data processing system is analyzed to identify a sequence of instructions that would produce the same result for plural execution threads were those plural execution threads each to execute the sequence of instructions using the same input data. Then, when the program is being executed, when an execution thread is to execute the identified sequence of instructions, it is determined whether a result produced by an earlier execution thread executing the sequence of instructions, and that used the same input data, is stored in memory or not. The current thread then either executes the sequence of instructions, or retrieves the stored result produced by the earlier execution of the sequence of instructions and skips execution of the sequence of instructions for which the result is stored, accordingly.
    Type: Grant
    Filed: July 21, 2017
    Date of Patent: November 13, 2018
    Assignee: Arm Limited
    Inventor: Kenneth Edvard Ostby
  • Patent number: 10089709
    Abstract: A graphics processing unit 3 includes a rasterizer 25, a thread spawner 40, a programmable execution unit 41, a varying interpolator 42, a texture mapper 43, and a blender 29. The programmable execution unit 41 is able to communicate with the varying interpolator 42, the texture mapper 43 and the blender 29 to request processing operations by those graphic specific accelerators. In addition to this, these graphics-specific accelerators are also able to communicate directly with each other and with the thread spawner 40, independently of the programmable execution unit 41. This allows for certain graphics processing operations to be performed using direct communication between the graphics-specific accelerators of the graphics processing unit, instead of executing instructions in the programmable execution unit to trigger the performance of those operations by the graphics-specific accelerators.
    Type: Grant
    Filed: July 12, 2016
    Date of Patent: October 2, 2018
    Assignee: Arm Limited
    Inventors: Andreas Due Engh-Halstvedt, David James Bermingham, Amir Kleen, Jørn Nystad, Kenneth Edvard Østby
  • Publication number: 20180129499
    Abstract: A program is analysed to identify instructions that will load external data and to determine whether such instructions are followed by a sequence of instructions that will produce the same result for each thread in a thread group if the data loaded by the load instruction is the same for each thread in the thread group. Each time there is an external load instruction, it is determined whether the data loaded by the external load instruction is the same for all threads of the thread group, and whether the external load instruction was indicated as being followed by a sequence of instructions that produce the same result if the external load instruction loads the same data value for each thread of a thread group. The subsequent instructions are then executed for only a single thread of the thread group, or for all the threads of the thread group.
    Type: Application
    Filed: November 9, 2016
    Publication date: May 10, 2018
    Applicant: ARM Limited
    Inventor: Kenneth Edvard Østby
  • Publication number: 20170024847
    Abstract: A graphics processing unit 3 includes a rasteriser 25, a thread spawner 40, a programmable execution unit 41, a varying interpolator 42, a texture mapper 43, and a blender 29. The programmable execution unit 41 is able to communicate with the varying interpolator 42, the texture mapper 43 and the blender 29 to request processing operations by those graphic specific accelerators. In addition to this, these graphics-specific accelerators are also able to communicate directly with each other and with the thread spawner 40, independently of the programmable execution unit 41. This allows for certain graphics processing operations to be performed using direct communication between the graphics-specific accelerators of the graphics processing unit, instead of executing instructions in the programmable execution unit to trigger the performance of those operations by the graphics-specific accelerators.
    Type: Application
    Filed: July 12, 2016
    Publication date: January 26, 2017
    Applicant: ARM Limited
    Inventors: Andreas Due Engh-Halstvedt, David James Bermingham, Amir Kleen, Jørn Nystad, Kenneth Edvard Østby
  • Patent number: 9286714
    Abstract: A method and apparatus includes primitive setup circuitry for determining a plurality of functions for an input graphics primitive, including an edge function associated with each edge of the input graphics primitive and a depth function associated with the input graphics primitive. Rasterization circuitry performs a rasterization operation in order to calculate position data for a plurality of graphics fragments to be used to represent the input graphics primitive. In a default mode of operation, depth bound clipping circuitry performs a depth bound clipping operation by determining, for each graphics fragment in said plurality of graphics fragments, a depth value for said graphics fragment using the depth function, and determining whether said depth value resides within a valid depth range of a view frustum, the graphics fragment being discarded from further processing if its depth value does not reside within said valid depth range.
    Type: Grant
    Filed: June 20, 2013
    Date of Patent: March 15, 2016
    Assignee: ARM Limited
    Inventors: Frode Heggelund, Kenneth Edvard Ostby
  • Publication number: 20140375637
    Abstract: A method and apparatus includes primitive setup circuitry for determining a plurality of functions for an input graphics primitive, including an edge function associated with each edge of the input graphics primitive and a depth function associated with the input graphics primitive. Rasterization circuitry performs a rasterization operation in order to calculate position data for a plurality of graphics fragments to be used to represent the input graphics primitive. In a default mode of operation, depth bound clipping circuitry performs a depth bound clipping operation by determining, for each graphics fragment in said plurality of graphics fragments, a depth value for said graphics fragment using the depth function, and determining whether said depth value resides within a valid depth range of a view frustum, the graphics fragment being discarded from further processing if its depth value does not reside within said valid depth range.
    Type: Application
    Filed: June 20, 2013
    Publication date: December 25, 2014
    Inventors: Frode HEGGELUND, Kenneth Edvard OSTBY