Patents by Inventor Roger D. Arnold

Roger D. Arnold 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: 7774585
    Abstract: A real-time, multi-threaded embedded system includes rules for handling traps and interrupts to avoid problems such as priority inversion and re-entrancy. By defining a global interrupt priority value for all active threads and only accepting interrupts having a priority higher than the interrupt priority value, priority inversion can be avoided. Switching to the same thread before any interrupt servicing, and disabling interrupts and thread switching during interrupt servicing can simplify the interrupt handling logic. By storing trap background data for traps and servicing traps only in their originating threads, trap traceability can be preserved. By disabling interrupts and thread switching during trap servicing, unintended trap re-entrancy and servicing disruption can be prevented.
    Type: Grant
    Filed: November 12, 2003
    Date of Patent: August 10, 2010
    Assignee: Infineon Technologies AG
    Inventors: Robert E. Ober, Roger D. Arnold, Daniel F. Martin, Erik K. Norden
  • Patent number: 7546442
    Abstract: A method and system for fixed-length memory-to-memory processing of fixed-length instructions. Further, the present invention is a method and system for implementing a memory operand width independent of the ALU width. The arithmetic and register data are 32 bits, but the memory operand is variable in size. The size of the memory operand is specified by the instruction. Instructions in accordance with the present invention allow for multiple memory operands in a single fixed-length instruction. The instruction set is small and simple, so the implementation is lower cost than traditional processors. More addressing modes are provided for, thus creating a more efficient code. Semaphores are implemented using a single bit. Shift-and-merge instructions are used to access data across word boundaries.
    Type: Grant
    Filed: April 10, 2006
    Date of Patent: June 9, 2009
    Assignee: Ubicom, Inc.
    Inventors: David A Fotland, Roger D Arnold, Tibet Mimaroglu
  • 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: 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: 7159103
    Abstract: A loop instruction, at least one target instruction, and an associated trigger address are cached during loop entry. During each loop iteration, the processor predicts whether the loop will be taken or not-taken in a subsequent iteration. When pre-fetch of the cached loop instruction is subsequently detected (i.e., by comparing the trigger address with the current program counter value), the loop taken/not-taken prediction is used to fetch either loop body instructions (when predicted taken) or fall-through instructions (when predicted not-taken). The cached loop instruction is then executed and the loop taken/not-taken prediction is verified using a dedicated loop execution circuit while a penultimate loop body instruction is executed in the processor execution stage (pipeline). When a previous loop taken prediction is verified, the cached target instruction is executed, and then the fetched loop body instructions are executed.
    Type: Grant
    Filed: March 24, 2003
    Date of Patent: January 2, 2007
    Assignee: Infineon Technologies AG
    Inventors: Sagheer Ahmad, Matthias Knoth, Roger D. Arnold
  • 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: 7047396
    Abstract: A method and system for fixed-length memory-to-memory processing of fixed-length instructions. Further, the present invention is a method and system for implementing a memory operand width independent of the ALU width. The arithmetic and register data are 32 bits, but the memory operand is variable in size. The size of the memory operand is specified by the instruction. Instructions in accordance with the present invention allow for multiple memory operands in a single fixed-length instruction. The instruction set is small and simple, so the implementation is lower cost than traditional processors. More addressing modes are provided for, thus creating a more efficient code. Semaphores are implemented using a single bit. Shift-and-merge instructions are used to access data across word boundaries.
    Type: Grant
    Filed: June 22, 2001
    Date of Patent: May 16, 2006
    Assignee: Ubicom, Inc.
    Inventors: David A. Fotland, Roger D. Arnold, Tibet Mimaroglu
  • 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: 20040193858
    Abstract: A loop instruction, at least one target instruction, and an associated trigger address are cached during loop entry. During each loop iteration, the processor predicts whether the loop will be taken or not-taken in a subsequent iteration. When pre-fetch of the cached loop instruction is subsequently detected (i.e., by comparing the trigger address with the current program counter value), the loop taken/not-taken prediction is used to fetch either loop body instructions (when predicted taken) or fall-through instructions (when predicted not-taken). The cached loop instruction is then executed and the loop taken/not-taken prediction is verified using a dedicated loop execution circuit while a penultimate loop body instruction is executed in the processor execution stage (pipeline). When a previous loop taken prediction is verified, the cached target instruction is executed, and then the fetched loop body instructions are executed.
    Type: Application
    Filed: March 24, 2003
    Publication date: September 30, 2004
    Applicant: Infineon Technologies North America Corp.
    Inventors: Sagheer Ahmad, Matthias Knoth, Roger D. Arnold
  • 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
  • Patent number: 6434689
    Abstract: An apparatus is described that comprises a data processing unit and at least one coprocessor. The data processing unit comprises a register file having registers, a memory, a plurality of execution units, a coprocessor interface for coupling the at least one coprocessor with the data processing unit, and a pipeline configuration for processing instructions having a fetch stage for fetching an instruction from the memory, a decode stage for decoding an operational code from the instruction, an execution stage for activating one of the execution units, and a write-back stage for God writing back from the execution unit. The data processing unit comprises read-and write-lines coupling the register file with the coprocessor for exchanging operands, at least one control line indicating that the coprocessor is busy, and a plurality of control lines from the decode stage for controlling the coprocessor which are operated upon detection of a coprocessor instruction.
    Type: Grant
    Filed: November 9, 1998
    Date of Patent: August 13, 2002
    Assignee: Infineon Technologies North America Corp.
    Inventors: Rod G. Fleck, Roger D. Arnold, Bruce Holmer, Danielle G. Lemay
  • Patent number: 6378065
    Abstract: The present invention relates to a data processing unit, comprising at least one register having at least one read port and one write port. The register has at least two memory cells each having a write line and a read line, a first switch having inputs and one output for coupling said read line of one of said memory cells with said read port, second switch for coupling said write line of one of said memory cells with said write port.
    Type: Grant
    Filed: April 27, 1998
    Date of Patent: April 23, 2002
    Assignee: Infineon Technologies North America Corp.
    Inventors: Roger D. Arnold, Alfred Eder
  • Publication number: 20010042193
    Abstract: A data processing unit is described comprising a register file, a memory, a plurality of execution units, a pipeline configuration for processing instructions having a fetch stage for fetching an instruction from said memory, a decode stage for decoding an operational code from said instruction, an execution stage for activating one of said execution units, and a write-back stage for writing back from said execution unit, a coprocessor interface for coupling at least one coprocessor. The data processing unit has read- and write-lines coupling said register file with said coprocessor for exchanging operands, at least one control line indicating that said coprocessor is busy, a plurality of control lines from said decode stage for controlling said coprocessor which are operated upon detection of a coprocessor instruction, whereby said coprocessor is using said registers from said register file during execution of a coprocessor instruction.
    Type: Application
    Filed: November 9, 1998
    Publication date: November 15, 2001
    Inventors: ROD G. FLECK, ROGER D. ARNOLD, BRUCE HOLMER, DANIELLE G. LEMAY
  • Patent number: 6292845
    Abstract: An instruction fetching unit is described for loading instructions from a memory processed by a data processing device. The instruction code can be of at least two different lengths, and each instruction contains at least a single bit indicating said instruction sizes. An instruction buffer coupled with an instruction size evaluation unit for determining the instruction size upon said at least single bit of said instruction is provided.
    Type: Grant
    Filed: August 26, 1998
    Date of Patent: September 18, 2001
    Assignee: Infineon Technologies North America Corp.
    Inventors: Rod G. Fleck, Bruce Holmer, Ole H. Møller, Roger D. Arnold, Balraj Singh
  • Patent number: 6175913
    Abstract: A data processing unit is described which comprises a central processing unit, a bus coupled with the central processing unit to access a device via address and data lines coupled with the bus. A debug unit is coupled to the bus, a protection unit is coupled with the bus and with the debug unit for protecting access on the bus. The protection unit is programmable to operate in a protecting mode in which the bus can be protected and in a debug mode in which a signal is sent to the debug unit, whereupon the debug unit generates a debug signal.
    Type: Grant
    Filed: September 12, 1997
    Date of Patent: January 16, 2001
    Assignee: Siemens AG
    Inventors: Eric Chesters, Roger D. Arnold, Rod G. Fleck
  • Patent number: 6128641
    Abstract: The present invention relates to a method of context switching from a first task to a second task in a data processing unit having a register file with a plurality of general purpose registers and a context switch register, a memory comprising a previous context save area and an unused context save area. The memory is coupled with the register file and an instruction control unit with a program counter register and a program status word register coupled with the memory and the register file. The method comprises the steps of acquiring a new save area from said unused save area, storing the context of the first task in said new area, linking the new area with said previous context save area.
    Type: Grant
    Filed: September 12, 1997
    Date of Patent: October 3, 2000
    Assignee: Siemens Aktiengesellschaft
    Inventors: Rod G. Fleck, Roger D. Arnold, Bruce Holmer, Vojin G. Oklobdzija, Eric Chesters
  • Patent number: 6041387
    Abstract: A data processing unit has a set of data registers and a set of address registers. Each register has a width of n bits. Furthermore, there are provided address load and store buffers associated with the address registers, data load and store buffers associated with the data registers and a bus having a plurality of bus lines being connected to the store buffers. A data memory unit is connected to the bus. The data registers are arranged in such a way that at least n data registers are connected in parallel to respective bus lines, n being greater than 1, and the address registers are arranged in such a way, that at least m address registers are coupled in parallel to respective bus lines, m being greater than 1. Thus, at least four registers can be accessed in parallel.
    Type: Grant
    Filed: September 12, 1997
    Date of Patent: March 21, 2000
    Assignee: Siemens Aktiengesellschaft
    Inventors: Rod G. Fleck, Roger D. Arnold
  • Patent number: 4583725
    Abstract: A patient support frame for use on an operating table during posterior lumbar laminectomy surgery comprises a frame for attachment to said table and a pair of iliac crest supports slidably mounted on said frame. The iliac crest supports are adjustable to engage the iliacs, or hipbones, of the patient whereby the prone patient is supported so that the abdomen does not touch the table and is substantially without pressure thereon.
    Type: Grant
    Filed: March 5, 1985
    Date of Patent: April 22, 1986
    Inventor: Roger D. Arnold