Patents Assigned to Imagination Technologies, Ltd.
  • Publication number: 20140333610
    Abstract: Systems and methods for producing an acceleration structure provide for subdividing a 3-D scene into a plurality of volumetric portions, which have different sizes, each being addressable using a multipart address indicating a location and a relative size of each volumetric portion. A stream of primitives is processed by characterizing each according to one or more criteria, selecting a relative size of volumetric portions for use in bounding the primitive, and finding a set of volumetric portions of that relative size which bound the primitive. A primitive ID is stored in each location of a cache associated with each volumetric portion of the set of volumetric portions. A cache location is selected for eviction, responsive to each cache eviction decision made during the processing. An element of an acceleration structure according to the contents of the evicted cache location is generated, responsive to the evicted cache location.
    Type: Application
    Filed: April 8, 2014
    Publication date: November 13, 2014
    Applicant: IMAGINATION TECHNOLOGIES, LTD.
    Inventors: James A McCombe, Aaron Dwyer, Luke T Peterson, Neils Nesse
  • Publication number: 20140325159
    Abstract: Methods and systems for improved control of traffic generated by a processor are described. In an embodiment, when a device generates a pre-fetch request for a piece of data or an instruction from a memory hierarchy, the device includes a pre-fetch identifier in the request. This identifier flags the request as a pre-fetch request rather than a non-pre-fetch request, such as a time-critical request. Based on this identifier, the memory hierarchy can then issue an abort response at times of high traffic which suppresses the pre-fetch traffic, as the pre-fetch traffic is not fulfilled by the memory hierarchy. On receipt of an abort response, the device deletes at least a part of any record of the pre-fetch request and if the data/instruction is later required, a new request is issued at a higher priority than the original pre-fetch request.
    Type: Application
    Filed: January 13, 2014
    Publication date: October 30, 2014
    Applicant: IMAGINATION TECHNOLOGIES, LTD.
    Inventor: Jason MEREDITH
  • Publication number: 20140306959
    Abstract: Aspects relate to tracing rays in 3-D scenes that comprise objects that are defined by or with implicit geometry. In an example, a trapping element defines a portion of 3-D space in which implicit geometry exist. When a ray is found to intersect a trapping element, a trapping element procedure is executed. The trapping element procedure may comprise marching a ray through a 3-D volume and evaluating a function that defines the implicit geometry for each current 3-D position of the ray. An intersection detected with the implicit geometry may be found concurrently with intersections for the same ray with explicitly-defined geometry, and data describing these intersections may be stored with the ray and resolved.
    Type: Application
    Filed: March 10, 2014
    Publication date: October 16, 2014
    Applicant: Imagination Technologies, Ltd.
    Inventors: Cuneyt OZDAS, Luke Tilman PETERSON, Steven BLACKMON, Steven John CLOHSET
  • Publication number: 20140294058
    Abstract: Methods of efficient calculation of initial equaliser coefficients are described. In a first stage, a channel matched filter is generated based on an estimate of CIR and then used to filter the CIR estimate. In a second stage, initial FFE coefficients are calculated from a portion of the match filtered CIR and then these initial FFE coefficients and the estimate of CIR may be used to generate initial DFE coefficients. In various embodiments, a window is applied to the CIR estimate before the matched filter is generated. In various embodiments, the second stage is iterated to minimise the pre-echoes following the FFE.
    Type: Application
    Filed: January 31, 2014
    Publication date: October 2, 2014
    Applicant: IMAGINATION TECHNOLOGIES, LTD.
    Inventor: Taku YAMAGATA
  • Publication number: 20140281441
    Abstract: Methods and indirect branch predictor logic units to predict the target addresses of indirect branch instructions. The method comprises storing in a table predicted target addresses for indirect branch instructions indexed by a combination of the indirect path history for previous indirect branch instructions and the taken/not-taken history for previous conditional branch instructions. When a new indirect branch instruction is received for prediction, the indirect path history and the taken/not-taken history are combined to generate an index for the indirect branch instruction. The generated index is then used to identify a predicted target address in the table. If the identified predicted target address is valid, then the target address of the indirect branch instruction is predicted to be the predicted target address.
    Type: Application
    Filed: January 31, 2014
    Publication date: September 18, 2014
    Applicant: IMAGINATION TECHNOLOGIES, LTD.
    Inventor: Manouk MANOUKIAN
  • Publication number: 20140258623
    Abstract: An improved mechanism for copying data in memory is described which uses aliasing. In an embodiment, data is accessed from a first location in a memory and stored in a cache line associated with a second, different location in the memory. In response to a subsequent request for data from the second location in the memory, the cache returns the data stored in the cache line associated with the second location in the memory. The method may be implemented using additional hardware logic in the cache which is arranged to receive an aliasing request from a processor which identifies both the first and second locations in memory and triggers the accessing of data from the first location for storing in a cache line associated with the second location.
    Type: Application
    Filed: January 31, 2014
    Publication date: September 11, 2014
    Applicant: IMAGINATION TECHNOLOGIES, LTD.
    Inventors: Jason MEREDITH, Hugh JACKSON
  • Publication number: 20140229718
    Abstract: A method and load and store buffer for issuing a load instruction to a data cache. The method includes determining whether there are any unresolved store instructions in the store buffer that are older than the load instruction. If there is at least one unresolved store instruction in the store buffer older than the load instruction, it is determined whether the oldest unresolved store instruction in the store buffer is within a speculation window for the load instruction. If the oldest unresolved store instruction is within the speculation window for the load instruction, the load instruction is speculatively issued to the data cache. Otherwise, the load instruction is stalled until any unresolved store instructions outside the speculation window are resolved. The speculation window is a short window that defines a number of instructions or store instructions that immediately precede the load instruction.
    Type: Application
    Filed: January 31, 2014
    Publication date: August 14, 2014
    Applicant: IMAGINATION TECHNOLOGIES, LTD.
    Inventors: Hugh JACKSON, Anand KHOT
  • Publication number: 20140223101
    Abstract: Register files for use in an out-of-order processor that have been divided into a plurality of sub-register files. The register files also have a plurality of buffers which are each associated with one of the sub-register files. Each buffer receives and stores write operations destined for the associated sub-register file which can be later issued to the sub-register file. Specifically, each clock cycle it is determined whether there is at least one write operation in the buffer that has not been issued to the associated sub-register file. If there is at least one write operation in the buffer that has not been issued to the associated sub-register file, one of the non-issued write operations is issued to the associated sub-register file.
    Type: Application
    Filed: January 17, 2014
    Publication date: August 7, 2014
    Applicant: IMAGINATION TECHNOLOGIES, LTD.
    Inventor: Hugh JACKSON
  • Publication number: 20140218222
    Abstract: Methods and circuits for controlling an automatic gain control (AGC) circuit wherein the AGC circuit is used to adjust the gain of a signal input to an analog to digital converter. The method includes obtaining a plurality of samples from the output of the analog to digital converter and determining whether the amplitude of each sample is greater than a threshold amplitude value. If the amplitude of a sample is greater than the threshold amplitude value then a counter value is incremented. The target average amplitude of the automatic gain control circuit is then periodically adjusted based on the counter value.
    Type: Application
    Filed: January 13, 2014
    Publication date: August 7, 2014
    Applicant: IMAGINATION TECHNOLOGIES, LTD.
    Inventors: Taku YAMAGATA, Adrian John ANDERSON
  • Publication number: 20140218224
    Abstract: Methods and circuits for controlling an automatic gain control (AGC) circuit wherein the AGC circuit is used to adjust the gain of a signal input to an analog to digital converter. The method includes obtaining a plurality of samples from the output of the analog to digital converter and determining whether the amplitude of each sample is greater than a threshold amplitude value. If the amplitude of a sample is greater than the threshold amplitude value then a counter value is incremented. The target average amplitude of the automatic gain control circuit is then periodically adjusted based on the counter value.
    Type: Application
    Filed: January 17, 2014
    Publication date: August 7, 2014
    Applicant: IMAGINATION TECHNOLOGIES, LTD.
    Inventors: Hugh Jackson, Paul Rowland
  • Publication number: 20140201452
    Abstract: Fill partitioning of a shared cache is described. In an embodiment, all threads running in a processor are able to access any data stored in the shared cache; however, in the event of a cache miss, a thread may be restricted such that it can only store data in a portion of the shared cache. The restrictions to storing data may be implemented for all cache miss events or for only a subset of those events. For example, the restrictions may be implemented only when the shared cache is full and/or only for particular threads. The restrictions may also be applied dynamically, for example, based on conditions associated with the cache. Different portions may be defined for different threads (e.g. in a multi-threaded processor) and these different portions may, for example, be separate and non-overlapping. Fill partitioning may be applied to any on-chip cache, for example, a L1 cache.
    Type: Application
    Filed: January 13, 2014
    Publication date: July 17, 2014
    Applicant: IMAGINATION TECHNOLOGIES, LTD.
    Inventor: Jason MEREDITH
  • Publication number: 20140201509
    Abstract: Methods and branch predictors for predicting a target location of a jump table switch statement in a program. The method includes continuously monitoring instructions at the branch predictor to determine if they write to registers used to store an input variable to a jump table switch statement. Any update to a monitored register is stored in a register table maintained by the branch predictor. Then when it comes time to make a prediction for a jump table switch statement instruction the branch predictor uses the register value stored in the table is used to predict where the jump table switch statement will branch to.
    Type: Application
    Filed: January 13, 2014
    Publication date: July 17, 2014
    Applicant: IMAGINATION TECHNOLOGIES, LTD.
    Inventor: Hugh JACKSON
  • Patent number: 8723860
    Abstract: There are provided methods and apparatus for generating a 3-dimensional computer image. The image includes a number of objects and is divided into separate areas. Control data to link to object data stored in a memory for each object is derived for two objects at a time. Two or more separate areas can be processed in parallel by deriving control data for the two separate areas at a time. To avoid fetching data for both areas, which is actually only applicable to one area, encoding is used in the control data. The object data can be stored on one or across two memory pages, and the control data includes one memory page address in the former case and two memory page addresses in the latter case. The object data can also be stored across two non-contiguous memory pages, by using a look-up table with contiguous portions allocated for each object's object data.
    Type: Grant
    Filed: November 21, 2007
    Date of Patent: May 13, 2014
    Assignee: Imagination Technologies, Ltd.
    Inventors: Jonathan Redshaw, Xile Yang
  • Patent number: 8717357
    Abstract: Systems and methods for producing an acceleration structure provide for subdividing a 3-D scene into a plurality of volumetric portions, which have different sizes, each being addressable using a multipart address indicating a location and a relative size of each volumetric portion. A stream of primitives is processed by characterizing each according to one or more criteria, selecting a relative size of volumetric portions for use in bounding the primitive, and finding a set of volumetric portions of that relative size which bound the primitive. A primitive ID is stored in each location of a cache associated with each volumetric portion of the set of volumetric portions. A cache location is selected for eviction, responsive to each cache eviction decision made during the processing. An element of an acceleration structure according to the contents of the evicted cache location is generated, responsive to the evicted cache location.
    Type: Grant
    Filed: August 4, 2012
    Date of Patent: May 6, 2014
    Assignee: Imagination Technologies, Ltd.
    Inventors: James Alexander McCombe, Aaron Dwyer, Luke Tilman Peterson, Neils Nesse
  • Patent number: 8707077
    Abstract: A wireless media distribution system is provided comprising an access point (6) for broadcasting media and a plurality of stations (2) for reception and playback of media. Each station is configured for receiving and decoding a timestamp in a beacon frame transmitted repeatedly from the access point. This is used to control the output signal of a station physical layer clock (12) which is then used as a clock source for an application layer time synchronization protocol. This application layer time synchronization protocol can then be used in the station to control an operating system clock (8) for regulating playback of media.
    Type: Grant
    Filed: September 20, 2012
    Date of Patent: April 22, 2014
    Assignee: Imagination Technologies, Ltd.
    Inventor: Ian R Knowles
  • Patent number: 8686998
    Abstract: An apparatus and a method for generating 3-dimensional computer graphic images. The image is first sub-divided into a plurality of rectangular areas. A display list memory is loaded with object data for each rectangular area. The image and shading data for each picture element of each rectangular area are derived from the object data in the image synthesis processor and a texturizing and shading processor. A depth range generator derives a depth range for each rectangular area from the object data as the imaging and shading data is derived. This is compared with the depth of each new object to be provided to the image synthesis processor and the object may be prevented from being provided to the image synthesis processor independence on the result of the comparison.
    Type: Grant
    Filed: December 4, 2007
    Date of Patent: April 1, 2014
    Assignee: Imagination Technologies, Ltd.
    Inventor: Stephen Morphet
  • Patent number: 8669987
    Abstract: Memory management system and method for use with systems for generating 3-dimensional computer generated images are provided.
    Type: Grant
    Filed: February 15, 2007
    Date of Patent: March 11, 2014
    Assignee: Imagination Technologies, Ltd.
    Inventors: Jonathan Redshaw, Steve Morphet
  • Patent number: 8670483
    Abstract: A method and apparatus are provided for motion estimation in a sequence of images. One or more motion vectors representing movement of a camera or viewer position or direction are determined between each pair of fields or frames in the sequence of images. A set of candidate motion vectors is then determined for deriving positions of objects in a field or frame from the positions of objects in a previous field or frame. This set of candidate motion vectors is adjusted using the motion vectors representing movement of the camera or viewer position and thus a set of motion vectors is derived for a sequence of images using the adjusted set of candidate motion vectors.
    Type: Grant
    Filed: February 24, 2011
    Date of Patent: March 11, 2014
    Assignee: Imagination Technologies, Ltd.
    Inventors: Stephen Morphet, Steven Fishwick
  • Patent number: 8656400
    Abstract: Method and apparatus are provided for a synchronizing execution of a plurality of threads on a multi-threaded processor. Each thread is provided with a number of synchronization points corresponding to points where it is advantageous or preferable that execution should be synchronized with another thread. Execution of a thread is paused when it reaches a synchronization point until at least one other thread with which it is intended to be synchronized reaches a corresponding synchronization point. Execution is subsequently resumed. Where an executing thread branches over a section of code which included a synchronization point then execution is paused at the end of the branch until the at least one other thread reaches the synchronization point of the end of the corresponding branch.
    Type: Grant
    Filed: May 30, 2012
    Date of Patent: February 18, 2014
    Assignee: Imagination Technologies, Ltd.
    Inventor: Yoong Chert Foo
  • Patent number: 8654146
    Abstract: A method and apparatus for rendering a computer generated image using a stencil buffer is described. The method divides an arbitrary closed polygonal contour into first and higher level primitives, where first level primitives correspond to contiguous vertices in the arbitrary closed polygonal contour and higher level primitives correspond to the end vertices of consecutive primitives of the immediately preceding primitive level. The method reduces the level of overdraw when rendering the arbitrary polygonal contour using a stencil buffer compared to other image space methods. A method of producing the primitives in an interleaved order, with second and higher level primitives being produced before the final first level primitives of the contour, is described which improves cache hit rate by reusing more vertices between primitives as they are produced.
    Type: Grant
    Filed: May 17, 2010
    Date of Patent: February 18, 2014
    Assignee: Imagination Technologies, Ltd.
    Inventor: Simon Fenney