Patents by Inventor Jan Hoogerbrugge
Jan Hoogerbrugge 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: 7779205Abstract: A multi processor system 1 comprises a plurality of processors 21 to 25, a system bus 30 and a main system memory 40. Each processor 21 to 25 is connected to a respective cache memory 41 to 45, with each cache memory 41 to 45 in turn being connected to the system bus 30. The cache memories 41 to 45 store copies of data or instructions that are used frequently by the respective processors 21 to 25, thereby eliminating the need for the processors 21 to 25 to access the main system memory 40 during each read or write operation. Processor 25 is connected to a local memory 50 having a plurality of data blocks (not shown). According to the invention, the local memory 50 has a first port 51 for connection to its respective processor 25. In addition, the local memory 50 has a second port 52 connected to the system bus 30, thereby allowing one or more of the other processors 21 to 24 to access the local memory 50.Type: GrantFiled: November 8, 2005Date of Patent: August 17, 2010Assignee: Koninklijke Philips Electronics N.V.Inventor: Jan Hoogerbrugge
-
Patent number: 7577827Abstract: A data processor that addresses instructions as groups of commands which may contain more than one branch command, such as VLIW instructions that contain several commands for parallel execution. The processor selects an expected taken branch command from the branch commands in a group. The processor also selects a tentative target for the expected taken branch command and tentatively redirects control flow to a further group of commands identified by the tentative target. The processor contains an associative target memory for storing targets of previously executed branch commands. Targets are retrieved with an associative address that identifies a command in the group, the tentative target being selected on the basis of a match between the associative address associated with the tentative target and an indication of the expected taken command.Type: GrantFiled: February 28, 2001Date of Patent: August 18, 2009Assignee: NXP B.V.Inventor: Jan Hoogerbrugge
-
Patent number: 7577823Abstract: The present invention relates to a multi-processor computer system comprising at least two processors for parallel execution of processes, at least two cache memory units, each being associated with and connected to a separate processor, a connection bus connecting said processors and said cache memory units, and a process list unit connected to said connection line for storing a process list of processes to be available for execution by said processors.Type: GrantFiled: June 23, 2003Date of Patent: August 18, 2009Assignee: NXP B.V.Inventor: Jan Hoogerbrugge
-
Patent number: 7568082Abstract: The invention provides a controller for a memory having at least one memory cell, that involves a higher cost for writing than for reading. The memory cell is allocated to a first address information and adapted to store memory data. The memory controller of the invention comprises a register. A write controller connected with said register and said memory is adapted to receive a write request comprising said first address information and first write data allocated thereto, ascertain whether said first address information is stored in said register. If yes, the write controller compares said first write data with second write data of an earlier write request in said register allocated to said first address information. If no, it compares said first write data with said memory data allocated to the first address information.Type: GrantFiled: November 26, 2003Date of Patent: July 28, 2009Inventor: Jan Hoogerbrugge
-
Publication number: 20090150619Abstract: A multi processor system 1 comprises a plurality of processors 21 to 25, a system bus 30 and a main system memory 40. Each processor 21 to 25 is connected to a respective cache memory 41 to 45, with each cache memory 41 to 45 in turn being connected to the system bus 30. The cache memories 41 to 45 store copies of data or instructions that are used frequently by the respective processors 21 to 25, thereby eliminating the need for the processors 21 to 25 to access the main system memory 40 during each read or write operation. Processor 25 is connected to a local memory 50 having a plurality of data blocks (not shown). According to the invention, the local memory 50 has a first port 51 for connection to its respective processor 25. In addition, the local memory 50 has a second port 52 connected to the system bus 30, thereby allowing one or more of the other processors 21 to 24 to access the local memory 50.Type: ApplicationFiled: November 8, 2005Publication date: June 11, 2009Applicant: KONINKLIJKE PHILIPS ELECTRONICS, N.V.Inventor: Jan Hoogerbrugge
-
Publication number: 20080195851Abstract: A multi-threaded processor comprises a processing unit (PU) for concurrently processing multiple threads. A register file means (RF) is provided having a plurality of registers, wherein a first register (LI) is used for storing loop invariant values and N second registers (LVI-LVN) are each used for storing loop variant values. Furthermore N program counters (PCI-PCN) are provided each being associated to one of the multiple threads, wherein N being the number of threads being processed.Type: ApplicationFiled: January 17, 2006Publication date: August 14, 2008Applicant: NXP B.V.Inventor: Jan Hoogerbrugge
-
Publication number: 20080028189Abstract: Therefore, a microprocessor for processing instructions is provided. Said microprocessor comprises a cache for caching instructions and/or data to be processed, which are arranged in cache words, and an alignment unit for aligning instructions to predetermined positions with regard to cache word boundaries of said cache by introducing padding bytes (padd1, padd2). At least one of said padding bytes (padd1, padd2) include static data, which are required within the processing of one of said instructions. Accordingly, the padding bytes which are required for the alignment of the instructions, can be utilized for data which is needed during the processing of the instruction such that these bytes are not wasted and the available storage capacity is efficiently used.Type: ApplicationFiled: May 18, 2005Publication date: January 31, 2008Inventor: Jan Hoogerbrugge
-
Patent number: 7194734Abstract: A threaded interpreter executes a program having a series of program instructions stored in a memory. For the execution of a program instruction the threaded interpreter includes a preparatory unit for executing a plurality of preparatory steps making th program instruction available in the threaded interpreter, and an execution unit with one or more machine instructions emulating the program instruction. The threaded interpreter is designed such that during the execution on an instruction-level parallel processor of the series of program instructions. Machine instructions implement a first one of the preparatory steps for execution in parallel with machine instructions implementing a second one of the preparatory steps for respective ones of the series of program instructions.Type: GrantFiled: February 13, 2003Date of Patent: March 20, 2007Assignee: Koninklijke Philips Electronics N.V.Inventors: Jan Hoogerbrugge, Alexander Augusteijn
-
Patent number: 7082518Abstract: The present invention relates to a digital signal processing apparatus comprising a plurality of available hardware resource means and a first instruction set means having access to said available hardware resource means, so that at least a part of said hardware resource means execute operations under control of said first instruction set means, and further comprising a second instruction set means having access to only a predetermined limited subset of said plurality of available hardware resource means, so that at least a part of said predetermined limited subset of said hardware resource means execute operations under control of said second instruction set means.Type: GrantFiled: October 16, 2001Date of Patent: July 25, 2006Assignee: Koninklijke Philips Electronics N.V.Inventors: Jeroen Anton Johan Leijten, Marco Jan Gerrit Bekooij, Adrianus Josephus Bink, Johan Sebastiaan Henri Van Gageldonk, Jan Hoogerbrugge, Bart Mesman
-
Patent number: 7051136Abstract: The invention is based on the idea that for a large data structure with N entries, memory space for the locks corresponding to the entries can be saved by performing a hashing function on a value that represents an entry into a hashed value 1 to M. This hashed value is used to index the table of M locks. The value of M is typically much smaller than the value of N thereby reducing memory space requirements. If M is chosen large enough and a good hashing function is selected, problems with collisions will be very small. Additionally, problems relating to deadlock occurring, when the hashed value of a second entry equals the hashed value of a first entry, are being addressed by swapping the hashed values of the first and second entries, when the hashed value of the second entry is smaller than the hashed value of the first entry.Type: GrantFiled: October 28, 2002Date of Patent: May 23, 2006Assignee: Koninklijke Philips Electronics, N.V.Inventors: Jan HoogerBrugge, Paul Stravers
-
Publication number: 20060106969Abstract: The invention provides a controller for a memory having at least one memory cell, that involves a higher cost for writing than for reading. The memory cell is allocated to a first address information and adapted to store memory data. The memory controller of the invention comprises a register. A write controller connected with said register and said memory is adapted to receive a write request comprising said first address information and first write data allocated thereto, ascertain whether said first address information is stored in said register. If yes, the write controller compares said first write data with second write data of an earlier write request in said register allocated to said first address information. If no, it compares said first write data with said memory data allocated to the first address information.Type: ApplicationFiled: November 26, 2003Publication date: May 18, 2006Applicant: KONINKLIJKE PHILIPS ELECTRONICS N.V.Inventor: Jan Hoogerbrugge
-
Patent number: 7032102Abstract: A signal processing device and method of supplying a signal processing result to a plurality of registers arranged in different register files. A plurality of different register files are selected based on a corresponding indication in said instruction word and the register address is supplied to said selected register files. Result values can be broadcasted to multiple registers in a single processor cycle while a copy operation between different register files is eliminated. Broadcasting is thus implemented via overlapping register address spaces, since physical registers having the same logical register address are provided in different register files.Type: GrantFiled: December 10, 2001Date of Patent: April 18, 2006Assignee: Koninklijke Philips Electronics N.V.Inventors: Jeroen Anton Johan Leijten, Marco Jan Gerrit Bekooij, Adrianus Josephus Bink, Johan Sebastiaan Henri Van Gageldonk, Jan Hoogerbrugge, Bart Mesman, Cornelis Arnoldus Josephus Van Eijk
-
Publication number: 20060069738Abstract: The present invention relates to a multi-processor computer system comprising at least two processors for parallel execution of processes, at least two cache memory units, each being associated with and connected to a separate processor, a connection bus connecting said processors and said cache memory units, and a process list unit connected to said connection line for storing a process list of processes to be available for execution by said processors.Type: ApplicationFiled: June 23, 2003Publication date: March 30, 2006Inventor: Jan Hoogerbrugge
-
Publication number: 20060059311Abstract: Data prefetching is used to reduce an average latency of memory references for retrieval of data therefrom. The prefetching process is typically based on anticipation of future processor data references. In example embodiment, there is a method of data retrieval that comprises providing a first memory circuit (610), a stride prediction (611) table (SPT) and a cache memory circuit (612). Instructions for accessing data (613) within the first memory are executed. A cache miss (614) is detected. Only when a cache miss is detected is the SPT accessed and updated (615). A feature of this embodiment includes using a stream buffer as the cache memory circuit. Another feature includes using random access cache memory as the cache memory circuit.Type: ApplicationFiled: November 11, 2003Publication date: March 16, 2006Inventors: Jan-Willem Van De Waerdt, Jan Hoogerbrugge
-
Patent number: 6948158Abstract: The present invention relates to a compiling method and system for generating a sequence of program instructions for use in a processing architecture with architecture resources executing instructions from a corresponding instruction set. A retargetable compiler is used to generate a code using at least two instruction sets in the same processing architecture. One instruction set for a compact code and one for a parallel high performance code. The compact instruction set (Compact Instruction Format) covers a subset (RF11, ALU1, L/S1, BU1) of the architecture, whereas the complete instruction set covers the entire architecture (RF1, UC1, UC2, RF2, UC3, UC4, RF3, UC5, UC6, RF4, UC7). By using the at least two instruction sets of different sizes, the compiler is able to reduce the processed average code length, since fewer bits are needed in the compact code to encode operations and registers.Type: GrantFiled: October 2, 2001Date of Patent: September 20, 2005Assignee: Koninklijke Philips Electronics N.V.Inventors: Johan Sebastiaan Henri Van Gageldonk, Marco Jan Gerrit Bekooij, Adrianus Josephus Bink, Jan Hoogerbrugge, Jeroen Anton Johan Leijten, Bart Mesman
-
Publication number: 20050177659Abstract: The invention is based on the idea to maintain two counters for an input or output port of a FIFO. A device for writing data elements from a coprocessor into a FIFO memory is provided. Said device is embedded in a multiprocessing environment comprising at least one coprocessor, a FIFO memory and a controller. Said device comprises a first counter for counting the available room in said FIFO memory, and a second counter for counting the number of data elements written into said FIFO memory. Said device further comprises a control means for checking said first counter for available room in said FIFO memory, and for checking said second counter whethera predetermined number N of data elements have been written into said FIFO memory. Said control means decrements the count of said first counter and increments the count of said second counter, after a data element has been written into said FIFO memory. Said device finally comprises an output means for outputting data elements to said FIFO memory.Type: ApplicationFiled: May 21, 2003Publication date: August 11, 2005Inventors: Jan Hoogerbrugge, Paul Stravers
-
Publication number: 20040267745Abstract: The invention is based on the idea that for a large data structure with N entries, memory space for the locks corresponding to said entries can be saved by performing a hashing function on a value that represents an entry into a hashed value 1 to M. This hashed value is used to index the table of M locks. The value of M is typically much smaller than the value of N thereby reducing memory space requirements. If M is chosen large enough and a good hashing function is selected problems with collisions will be very small. Additionally, problems relating to deadlock occurring, when the hashed value of a second entry equals the hashed value of the a first entry, are being addressed by swapping said hashed values of said first and second entry, when the hashed value of the second entry is smaller than the hashed value of the first entry.Type: ApplicationFiled: May 7, 2004Publication date: December 30, 2004Inventors: Jan HoogerBrugge, Paul Stravers
-
Publication number: 20040260888Abstract: The invention relates to a method and a device for reading/writing data elements from/into a shared FIFO buffer, wherein the signalling that a data element or a storage space for a data element is available in a FIFO buffer, i.e. performing a V-operation, is not performed atomically as soon as a data element or a storage space for a data element becomes available in said FIFO buffer but to wait until L data elements or L storage spaces for L data elements have become available in said FIFO buffer before performing one signalling of the availability of the L data elements or L storage spaces for L data elements. In a sense, the signalling of the availability of the data elements or the storage spaces for data elements, i.e. performing a V-operation, is buffered until a certain amount of V-operations is collected before outputting of the signalling of the availability.Type: ApplicationFiled: May 12, 2004Publication date: December 23, 2004Inventors: Jan Hoogerbrugge, Paul Stravers
-
Publication number: 20040260890Abstract: A V-operation not performed atomically for each data element or storage space that becomes available in a FIFO or a P-operation is not performed atomically for each request for a data element or a storage space in the FIFO but rather one V-operation is performed after m data elements or m storage spaces have become available in the FIFO or one P-operation is performed after m requests for data elements or m requests for storage spaces have been received. Upon using these P-operations, i.e. performing said request operations in bursts rather than atomically, cases may occur where less data elements or storage spaces are available in said FIFO buffer than needed or requested by a consumer process, e.g. a reading or a writing process. A P-operation is performed by requesting m data elements or m storage spaces for m data elements. The P-operation will only be blocked completely, if no data elements or storage spaces are available in the FIFO buffer, i.e. the semaphore counter being zero.Type: ApplicationFiled: May 12, 2004Publication date: December 23, 2004Inventors: Jan Hoogerbrugge, Paul Stravers
-
Publication number: 20040172524Abstract: The present invention relates to a method, processor and compiler for predicting a branch target of a program. A hint operation is provided in the program to hint the branch prediction about upcoming indirect branches. A table of branch targets of indirect branches can be used to improve prediction accuracy of indirect branches. The branch target is determined on the basis of a key information derived from the hint operation.Type: ApplicationFiled: December 23, 2003Publication date: September 2, 2004Inventor: Jan Hoogerbrugge