Patents by Inventor Jeroen Leijten
Jeroen Leijten 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: 20240111444Abstract: Examples include techniques to reduce power consumption for a distributed computational model mapped onto a multi-processing node system. Examples are described of processing nodes relaying indicator information to enable clock gate circuitry to determine whether or not to gate a clock to stall consuming compute circuitry based on availability of data to consume. Examples are also described of processing nodes relaying indicator information to enable clock gate circuitry to determine whether or not to gate a clock to stall producing compute circuitry based on available buffer capacity at a consuming compute circuitry.Type: ApplicationFiled: September 30, 2022Publication date: April 4, 2024Inventors: Javier MARTIN LANGERWERF, Jeroen LEIJTEN, Gerard EGELMEERS, Venkata Sudhir KONJETI
-
Publication number: 20240104049Abstract: Techniques are disclosed for a programmable processor array architecture that enables synchronized broadcasting of operation results to register files with the operation results. The architecture advantageously enables writing of operation results of a given operation to multiple destination registers in a single clock cycle for processors with partitioned register files by using common data stationary instruction encoding. This combination brings improved performance by reducing the need for costly copy operations that would otherwise occupy issue slots and thus schedule space while at the same time minimizing code size overhead. The performance gains of broadcasting are especially emphasized in highly parallel and heavily partitioned register file architectures.Type: ApplicationFiled: December 5, 2023Publication date: March 28, 2024Inventors: Erik Rijshouwer, Jeroen Leijten, Bert Schellekens, Zoran Zivkovic
-
Publication number: 20220197641Abstract: Techniques are disclosed for reducing or eliminating loop overhead caused by function calls in processors that form part of a pipeline architecture. The processors in the pipeline process data blocks in an iterative fashion, with each processor in the pipeline completing one of several iterations associated with a processing loop for a commonly-executed function. The described techniques leverage the use of message passing for pipelined processors to enable an upstream processor to signal to a downstream processor when processing has been completed, and thus a data block is ready for further processing in accordance with the next loop processing iteration. The described techniques facilitate a zero loop overhead architecture, enable continuous data block processing, and allow the processing pipeline to function indefinitely within the main body of the processing loop associated with the commonly-executed function where efficiency is greatest.Type: ApplicationFiled: December 23, 2020Publication date: June 23, 2022Inventors: Kameran Azadet, Jeroen Leijten, Joseph Williams
-
Patent number: 11074213Abstract: Systems, methods, and apparatuses relating to vector processor architecture having an array of identical circuit blocks are described.Type: GrantFiled: June 29, 2019Date of Patent: July 27, 2021Assignee: Intel CorporationInventors: Joseph Williams, Jay O'Neill, Jeroen Leijten, Harm Peters, Eugene Scuteri
-
Publication number: 20200409903Abstract: Systems, methods, and apparatuses relating to vector processor architecture having an array of identical circuit blocks are described.Type: ApplicationFiled: June 29, 2019Publication date: December 31, 2020Inventors: Joseph Williams, Jay O'Neill, Jeroen Leijten, Harm Peters, Eugene Scuteri
-
Patent number: 9928066Abstract: A processor includes a memory and a decompressor. The memory is to store compressed instruction. The decompressor includes logic to receive a request for an instruction in the compressed instructions to be executed by the processor, determine a block in the memory including the requested instruction, and determine a start address of the block in the compressed instructions. The decompressor also includes logic decompress chunks of the block, a given chunk to include parts of a plurality of very-long instruction word (VLIW) instructions.Type: GrantFiled: June 25, 2015Date of Patent: March 27, 2018Assignee: Intel CorporationInventor: Jeroen Leijten
-
Patent number: 9852092Abstract: A memory controller performs DMA operations on arbitrary sized elements unbounded by the word size of the host memory or processor, which performs operations based on an element that represents an atomic data unit such as a pixel. In this manner, a corresponding coding effort is not concerned with computing and locating word boundaries and accommodating unused bits of data conventionally used for accommodating word boundaries on pixel data for video rendering, for example. An element in memory corresponds to a rendered atomic data item, such as a pixel. The controller determines an element precision indicative of a size of the element, and identifies a unit of memory based on a memory location and a packed representation of a plurality of the elements relative to the memory location. The unit has a height and width, defining elements arranged in a grid, and an element position is based on coordinates.Type: GrantFiled: March 28, 2014Date of Patent: December 26, 2017Assignee: Intel CorporationInventor: Jeroen Leijten
-
Publication number: 20160378481Abstract: A processor includes a memory and a decompressor. The memory is to store compressed instruction. The decompressor includes logic to receive a request for an instruction in the compressed instructions to be executed by the processor, determine a block in the memory including the requested instruction, and determine a start address of the block in the compressed instructions. The decompressor also includes logic decompress chunks of the block, a given chunk to include parts of a plurality of very-long instruction word (VLIW) instructions.Type: ApplicationFiled: June 25, 2015Publication date: December 29, 2016Inventor: Jeroen Leijten
-
Publication number: 20150278132Abstract: A memory controller performs DMA operations on arbitrary sized elements unbounded by the word size of the host memory or processor, which performs operations based on an element that represents an atomic data unit such as a pixel. In this manner, a corresponding coding effort is not concerned with computing and locating word boundaries and accommodating unused bits of data conventionally used for accommodating word boundaries on pixel data for video rendering, for example. An element in memory corresponds to a rendered atomic data item, such as a pixel. The controller determines an element precision indicative of a size of the element, and identifies a unit of memory based on a memory location and a packed representation of a plurality of the elements relative to the memory location. The unit has a height and width, defining elements arranged in a grid, and an element position is based on coordinates.Type: ApplicationFiled: March 28, 2014Publication date: October 1, 2015Inventor: Jeroen Leijten
-
Patent number: 7555576Abstract: A digital signal processing system comprises a programmable processor (PROC) and a peripheral device (PD, MEM) coupled to the programmable processor via a burst generation device (BG). The processor is arranged to communicate with the peripheral device using a read operation and a write operation, respectively, on a single data element. The burst generation device (BG) groups a plurality of read operations or a plurality of write operations in a single burst read operation or a single burst write operation, respectively.Type: GrantFiled: August 11, 2005Date of Patent: June 30, 2009Assignee: Silicon Hive B.V.Inventor: Jeroen A. Leijten
-
Publication number: 20080109572Abstract: A digital signal processing system comprises a programmable processor (PROC) and a peripheral device (PD, MEM) coupled to the programmable processor via a burst generation device (BG). The processor is arranged to communicate with the peripheral device using a read operation and a write operation, respectively, on a single data element. The burst generation device (BG) groups a plurality of read operations or a plurality of write operations in a single burst read operation or a single burst write operation, respectively.Type: ApplicationFiled: August 11, 2005Publication date: May 8, 2008Applicant: KONINKLIJKE PHILIPS ELECTRONICS, N.V.Inventor: Jeroen A. Leijten
-
Publication number: 20070174590Abstract: A processing apparatus is arranged to execute multiple-instruction words, a multiple-instruction word having a plurality of instructions. The processing apparatus comprises a plurality of issue slots (IS1, IS2) arranged for parallel execution of the plurality of instructions; a register file (RF1, RF2) accessible by the plurality of issue slots, and a communication network (CN) for coupling of the plurality of issue slots and the register file. The processing apparatus is further arranged to produce a first identifier (OV1) on the validity of first result data (RD1) produced by a first issue slot (IS1) and a second identifier (OV2) on the validity of second result data (RD2) produced by a second issue slot (IS2). The communication network comprises at least one selection circuit (SC1) arranged to dynamically control the transfer of either the first result data or the second result data to a register of the register file, in a single processor cycle, by using the first identifier and the second identifier.Type: ApplicationFiled: May 9, 2005Publication date: July 26, 2007Applicant: KONINKLIJKE PHILIPS ELECTRONICS, N.V.Inventors: Alexander Augusteijn, Jeroen Leijten
-
Publication number: 20070063745Abstract: In case of time-stationary encoding, every instruction that is part of the processor's instruction-set controls a complete set of operations that have to be executed in a single machine cycle. These operations may be processing several different data items traversing the data pipeline. Time-stationary encoding is often used in application-specific processors, since it saves the overhead of hardware necessary for delaying the control information present in the instructions, at the expense of larger code size. A disadvantage of time-stationary encoding is that is does not support conditional operations. The invention proposes to dynamically control the write back of result data to the register file of the timestationary processor, using control information obtained by the program. By controlling the write back of data at run-time, conditional operations can be implemented by a timestationary processor.Type: ApplicationFiled: April 9, 2004Publication date: March 22, 2007Applicant: KONINKLIJKE PHILIPS ELECTRONICS N.V.Inventor: Jeroen Leijten
-
Publication number: 20070055851Abstract: Programmable processors are used to transform input data into output data based on program information encoded in instructions. The value of the resulting output data depends, amongst others, on the momentary state of the processor at any given moment in time. This state is composed of temporary data values stored in registers, for example, as well as so-called flags. A disadvantage of the principle of flags, is that they cause side effects in the processor, especially in parallel processors. However, when removing the traditional concept of flags, the remaining problem is the implementation of branching. A processing system according to the invention comprises an execution unit (EX1, EX2), a first register file (RF1, RF2) for storing data, an instruction memory (PM) and a second register file (RF3) for storing a program counter. The execution unit conditionally executes dedicated instructions for writing a value of the program counter into the second register file.Type: ApplicationFiled: April 27, 2004Publication date: March 8, 2007Inventor: Jeroen Leijten
-
Publication number: 20060168424Abstract: Differences in encoding efficiency of instructions may arise if certain operations require very large immediate values as operands, as opposed to others requiring no immediate values or small immediate values. The present invention describes a processing apparatus, a compiler as well as a method for processing data, allowing the use of instructions that require large immediate data, while simultaneously maintaining an efficient encoding and decoding of instructions. The processing apparatus comprises a plurality of issue slots (UC0, UC1, UC2, UC3), wherein each issue slot comprises a plurality of functional units (FU20, FU21, FU22). The processing apparatus is arranged for processing data, based on control signals generated from a set of instructions being executed in parallel. The processing apparatus further comprises a dedicated issue slot (UC4) arranged for loading an immediate value (IMV1) in dependence upon a dedicated instruction (IMM).Type: ApplicationFiled: August 8, 2003Publication date: July 27, 2006Inventors: Jeroen Leijten, Willem Mallon
-
Publication number: 20050262389Abstract: A data processor comprises one or more functional units, one or more register files, a data memory, and a snapshot buffer which during the handling of an interrupt condition accommodates to save state informations of various processor state elements in respective snapshot buffer elements. In particular, the data processor being comprises controller means that are arranged for upon a subsequent interrupt condition that occurs during the handling of an actual interrupt condition saving the contents of said snapshot buffer elements in a data memory facility having a multibit access port facility.Type: ApplicationFiled: September 1, 2003Publication date: November 24, 2005Applicant: Koninklijke Philips Electronics N.V.Inventor: Jeroen Leijten
-
Publication number: 20050257027Abstract: Computer architectures consist of a fixed data path, which is controlled by a set of control words. Each control word controls part of the data path. Each set of instructions generates a new set of control words. In case of a VLIW processor, multiple instructions are packaged into one so-called VLIW instruction. A VLIW processor uses multiple, independent functional units to execute these multiple instructions in parallel. Application specific domain tuning of a VLIW processor requires that instructions having varying requirements with respect to the number of instruction bits they require can be encoded in a single VLIW instruction, such that an efficient encoding and encoding of instructions is maintained. The present invention describes a processing apparatus as well as a processing method for processing data, allowing the use of such an asymmetric instruction set.Type: ApplicationFiled: July 18, 2003Publication date: November 17, 2005Inventor: Jeroen Leijten
-
Publication number: 20050132170Abstract: A multi-issue processor comprises a plurality of issue slots (UC0, UC1, UC2 and UC3), each one of the plurality of issue slots having a plurality of functional units (FU0, FU1 and FU2) and a plurality of holdable registers (1-33 and 101-117). The plurality of issue slots comprises a first set of issue slots (UC1, UC2 and UC3) and a second set of issue slots (UC0), and the register file (RF0 and RF1) is accessible by the plurality of issue slots (UC0, UC1, UC2 and UC3). A location of at least a part of the plurality of holdable registers (1-33) in the first set of issue slots (UC1, UC2 and UC3) is different from a location of at least a corresponding part of the plurality of holdable registers (101-117) in the second set of issue slots (UC0). The holdable registers can prevent that the inputs of unused functional units change, which would result in unnecessary power dissipation. However, this increases the amount of state that has to be saved during interrupt handling.Type: ApplicationFiled: April 1, 2003Publication date: June 16, 2005Inventor: Jeroen Leijten