Patents by Inventor Erik K. Norden

Erik K. Norden 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: 20090282220
    Abstract: A re-encoded instruction set architecture (ISA) provides smaller bit-width instructions or a combination of smaller and larger bit-width instructions to improve instruction execution efficiency and reduce code footprint. The ISA can be re-encoded from a legacy ISA having larger bit-width instructions and can be used to unify one or more ISA extensions such as application specific ASEs. The re-encoded ISA maintains assembly-level compatibility with the ISA from which it is derived. In addition, the re-encoded ISA can have new and different types of additional instructions.
    Type: Application
    Filed: May 8, 2009
    Publication date: November 12, 2009
    Applicant: MIPS Technologies, Inc.
    Inventor: Erik K. Norden
  • Patent number: 7360203
    Abstract: A multithreaded processor includes a thread ID for each set of fetched bits in an instruction fetch and issue unit. The thread ID attaches to the instructions and operands of the set of fetched bits. Pipeline stages in the multithreaded processor stores the thread ID associated with each operand or instruction in the pipeline stage. The thread ID are used to maintain data coherency and to generate program traces that include thread information for the instructions executed by the multithreaded processor.
    Type: Grant
    Filed: February 6, 2004
    Date of Patent: April 15, 2008
    Assignee: Infineon Technologies North America Corp.
    Inventors: Robert E. Ober, Daniel F. Martin, Roger D. Arnold, Erik K. Norden
  • Patent number: 7296134
    Abstract: A microprocessor system includes an address generator, an address selector, and memory system having multiple memory towers, which can be independently addressed. The address generator simultaneously generates a first memory address and a second memory address that is 1 row greater than the first memory address. The address selector determines whether the row portion of the first memory address or the second memory address is used for each memory tower. Because each tower can be addressed independently, a single memory access can be used to access data spanning multiple rows of the memory system.
    Type: Grant
    Filed: February 11, 2004
    Date of Patent: November 13, 2007
    Assignee: Infineon Technologies AG
    Inventors: Klaus J. Oberlaender, Erik K. Norden
  • Patent number: 7263599
    Abstract: A multithreaded processor includes a thread ID for each set of fetched bits in an instruction fetch and issue unit. The thread ID attaches to the instructions and operands of the set of fetched bits. Pipeline stages in the multithreaded processor stores the thread ID associated with each operand or instruction in the pipeline stage. The thread ID are used to maintain data coherency and to generate program traces that include thread information for the instructions executed by the multithreaded processor.
    Type: Grant
    Filed: February 6, 2004
    Date of Patent: August 28, 2007
    Assignee: Infineon Technologies
    Inventors: Erik K. Norden, Robert E. Ober, Roger D. Arnold, Daniel F. Martin
  • Patent number: 7260707
    Abstract: A variable length instruction pipeline includes optional expansion stages that can be included in the variable length instruction pipeline to avoid pipeline stalls. The expansion stages are removed from the variable length instruction pipeline when not needed to reduce the length of the pipeline, which reduces latency and other problems associated with long pipelines. For example, in one embodiment of the present invention, a variable length instruction pipeline includes a first pipeline stage, a first expansion stage, and a second pipeline stage. The second pipeline stage is configured to selectively receive instructions from the first pipeline stage or the first expansion stage if the first expansion stage holds an instruction.
    Type: Grant
    Filed: February 7, 2005
    Date of Patent: August 21, 2007
    Assignee: Infineon Technologies AG
    Inventors: Erik K. Norden, Roger D. Arnold, Robert E. Ober, Neil S. Hastie
  • Patent number: 7062606
    Abstract: A multi-threaded embedded processor that includes an on-chip deterministic (e.g., scratch or locked cache) memory that persistently stores all instructions associated with one or more pre-selected high-use threads. The processor executes general (non-selected) threads by reading instructions from an inexpensive external memory, e.g., by way of an on-chip standard cache memory, or using other potentially slow, non-deterministic operation such as direct execution from that external memory that can cause the processor to stall while waiting for instructions to arrive. When a cache miss or other blocking event occurs during execution of a general thread, the processor switches to the pre-selected thread, whose execution with zero or minimal delay is guaranteed by the deterministic memory, thereby utilizing otherwise wasted processor cycles until the blocking event is complete.
    Type: Grant
    Filed: May 7, 2003
    Date of Patent: June 13, 2006
    Assignee: Infineon Technologies AG
    Inventors: Robert E. Ober, Roger D. Arnold, Daniel Martin, Erik K. Norden
  • Patent number: 6859873
    Abstract: A variable length instruction pipeline includes optional expansion stages that can be included in the variable length instruction pipeline to avoid pipeline stalls. The expansion stages are removed from the variable length instruction pipeline when not needed to reduce the length of the pipeline, which reduces latency and other problems associated with long pipelines. For example, in one embodiment of the present invention, a variable length instruction pipeline includes a first pipeline stage, a first expansion stage, and a second pipeline stage. The second pipeline stage is configured to selectively receive instructions from the first pipeline stage or the first expansion stage if the first expansion stage holds an instruction.
    Type: Grant
    Filed: June 8, 2001
    Date of Patent: February 22, 2005
    Assignee: Infineon Technologies AG
    Inventors: Erik K. Norden, Roger D. Arnold, Robert E. Ober, Neil S. Hastie
  • Publication number: 20040088488
    Abstract: A multi-threaded embedded processor that includes an on-chip deterministic (e.g., scratch or locked cache) memory that persistently stores all instructions associated with one or more pre-selected high-use threads. The processor executes general (non-selected) threads by reading instructions from an inexpensive external memory, e.g., by way of an on-chip standard cache memory, or using other potentially slow, non-deterministic operation such as direct execution from that external memory that can cause the processor to stall while waiting for instructions to arrive. When a cache miss or other blocking event occurs during execution of a general thread, the processor switches to the pre-selected thread, whose execution with zero or minimal delay is guaranteed by the deterministic memory, thereby utilizing otherwise wasted processor cycles until the blocking event is complete.
    Type: Application
    Filed: May 7, 2003
    Publication date: May 6, 2004
    Applicant: Infineon Technologies North America Corp.
    Inventors: Robert E. Ober, Roger D. Arnold, Daniel Martin, Erik K. Norden
  • Publication number: 20020199085
    Abstract: A variable length instruction pipeline includes optional expansion stages that can be included in the variable length instruction pipeline to avoid pipeline stalls. The expansion stages are removed from the variable length instruction pipeline when not needed to reduce the length of the pipeline, which reduces latency and other problems associated with long pipelines. For example, in one embodiment of the present invention, a variable length instruction pipeline includes a first pipeline stage, a first expansion stage, and a second pipeline stage. The second pipeline stage is configured to selectively receive instructions from the first pipeline stage or the first expansion stage if the first expansion stage holds an instruction.
    Type: Application
    Filed: June 8, 2001
    Publication date: December 26, 2002
    Inventors: Erik K. Norden, Roger D. Arnold, Robert E. Ober, Neil S. Hastie
  • Publication number: 20020188817
    Abstract: A load/store pipeline uses a store buffer pipeline to avoid data dependency issues and resource conflicts. Store instructions are stored in the store buffer pipeline. During processing of a later store instruction, the stored instruction stores data into the memory system. Specifically the stored store instruction stores data during the same load/store pipeline stage that a load instruction would read data from the memory system. Thus, memory resource conflicts caused by a store instruction followed by a load instruction are avoided. Some embodiments of the present invention includes N store buffer stages so that a first store instruction is not carried out until the (N+1)th store instruction is processed. The delay provided by the store buffer pipeline can be used to process information regarding the store instruction such as cache hits or misses and store cancellation instructions.
    Type: Application
    Filed: June 8, 2001
    Publication date: December 12, 2002
    Inventors: Erik K. Norden, Klaus J. Oberlaender, Andrew Addison