Patents by Inventor Øyvind Strøm

Øyvind Strøm 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: 8555041
    Abstract: Various embodiments include methods and related media for performing operations including a return operation. One such method includes testing a content of a return value register and setting status flags. Testing the content of the return value register and setting the status flags are performed in response to a single instruction.
    Type: Grant
    Filed: June 7, 2010
    Date of Patent: October 8, 2013
    Assignee: Atmel Corporation
    Inventors: Erik K. Renno, Oyvind Strom, Morten W. Lund
  • Patent number: 8533433
    Abstract: A microprocessor architecture for executing byte compiled Java programs directly in hardware. The microprocessor targets the lower end of the embedded systems domain and features two orthogonal programming models, a Java model and a RISC model. The entities share a common data path and operate independently, although not in parallel. The microprocessor includes a combined register file in which the Java module sees the elements in the register file as a circular operand stack and the RISC module sees the elements as a conventional register file. The integrated microprocessor architecture facilitates access to hardware-near instructions and provides powerful interrupt and instruction trapping capabilities.
    Type: Grant
    Filed: April 23, 2012
    Date of Patent: September 10, 2013
    Assignee: Atmel Corporation
    Inventor: Oyvind Strom
  • Publication number: 20120204017
    Abstract: A microprocessor architecture for executing byte compiled Java programs directly in hardware. The microprocessor targets the lower end of the embedded systems domain and features two orthogonal programming models, a Java model and a RISC model. The entities share a common data path and operate independently, although not in parallel. The microprocessor includes a combined register file in which the Java module sees the elements in the register file as a circular operand stack and the RISC module sees the elements as a conventional register file. The integrated microprocessor architecture facilitates access to hardware-near instructions and provides powerful interrupt and instruction trapping capabilities.
    Type: Application
    Filed: April 23, 2012
    Publication date: August 9, 2012
    Applicant: ATMEL CORPORATION
    Inventor: Oyvind Strom
  • Patent number: 8224883
    Abstract: A packed half-word addition and subtraction operation is performed by a microprocessor in parallel upon half-word operands obtained from designated top or bottom half-word locations of designated source registers of a register file and the sum and difference results of such operation are packed into respective top and bottom half-word locations of a designated destination register. The microprocessor includes an arithmetic-logic unit (ALU) with adder circuitry that can be selectively split into separate half-word adders that are independently selectable to perform either an addition operation or subtraction operation upon the selected half-word operands. The half-word adders of the ALU access the operands from source registers via a set of multiplexers that select among the top and bottom half-word locations. Operations with halving and saturation modifications to the sum and difference results may also be provided.
    Type: Grant
    Filed: June 29, 2009
    Date of Patent: July 17, 2012
    Assignee: Atmel Corporation
    Inventors: Ronny Pedersen, Erik K. Renno, Oyvind Strom
  • Patent number: 8166280
    Abstract: A microprocessor architecture for executing byte compiled Java programs directly in hardware. The microprocessor targets the lower end of the embedded systems domain and features two orthogonal programming models, a Java model and a RISC model. The entities share a common data path and operate independently, although not in parallel. The microprocessor includes a combined register file in which the Java module sees the elements in the register file as a circular operand stack and the RISC module sees the elements as a conventional register file. The integrated microprocessor architecture facilitates access to hardware-near instructions and provides powerful interrupt and instruction trapping capabilities.
    Type: Grant
    Filed: February 18, 2011
    Date of Patent: April 24, 2012
    Assignee: Atmel Corporation
    Inventor: Oyvind Strom
  • Patent number: 8015229
    Abstract: An apparatus for performing multiply-accumulate operations in a microprocessor comprising operand input registers for receiving data to be operated on an adder and a multiplier for performing operations on the data, a result output port for presenting results to the microprocessor, a multiplexer for storing results, an accumulator cache for storing an accumulator value internal to the apparatus, and control circuitry for controlling the operation of the apparatus.
    Type: Grant
    Filed: June 1, 2005
    Date of Patent: September 6, 2011
    Assignee: Atmel Corporation
    Inventors: Øyvind Strøm, Erik Knutsen Renno
  • Patent number: 7996659
    Abstract: An apparatus comprises register means for storing a return context upon initiation of a supervisor call instruction and restoring means to restore a privilege level and status register upon execution of a supervisor return instruction. The supervisor call instruction can be called from all contexts.
    Type: Grant
    Filed: June 6, 2005
    Date of Patent: August 9, 2011
    Assignee: Atmel Corporation
    Inventors: Erik K. Renno, Oyvind Strom, Andreas Engh-Halstvedt, Havard Skinnemoen
  • Publication number: 20110145548
    Abstract: A microprocessor architecture for executing byte compiled Java programs directly in hardware. The microprocessor targets the lower end of the embedded systems domain and features two orthogonal programming models, a Java model and a RISC model. The entities share a common data path and operate independently, although not in parallel. The microprocessor includes a combined register file in which the Java module sees the elements in the register file as a circular operand stack and the RISC module sees the elements as a conventional register file. The integrated microprocessor architecture facilitates access to hardware-near instructions and provides powerful interrupt and instruction trapping capabilities.
    Type: Application
    Filed: February 18, 2011
    Publication date: June 16, 2011
    Applicant: Atmel Corporation
    Inventor: Oyvind Strom
  • Patent number: 7917732
    Abstract: A microprocessor architecture for executing byte compiled Java programs directly in hardware. The microprocessor targets the lower end of the embedded systems domain and features two orthogonal programming models, a Java model and a RISC model. The entities share a common data path and operate independently, although not in parallel. The microprocessor includes a combined register file in which the Java module sees the elements in the register file as a circular operand stack and the RISC module sees the elements as a conventional register file. The integrated microprocessor architecture facilitates access to hardware-near instructions and provides powerful interrupt and instruction trapping capabilities.
    Type: Grant
    Filed: January 4, 2007
    Date of Patent: March 29, 2011
    Assignee: Atmel Corporation
    Inventor: Oyvind Strom
  • Patent number: 7817719
    Abstract: An adaptation of the sum-of-absolute-differences (SAD) calculation is implemented by modifying existing circuitry in a microprocessor. The adaptation yields a reduction of over 30% for a current SAD calculation. The adaptation includes a first and second operand register, each storing respectively a first and second set of 2's complement binary data, an arithmetic logic unit (ALU), and a destination register. An add/subtract enable input on the ALU receives a most significant bit (MSB) of the second set of binary data. The ALU adds the first and second data sets if the MSB is a “0” and subtracts the second data set from the first data set if the MSB is a “1.” The add/subtract enable input has the effect of taking the absolute value of the second data set without having to first perform an absolute value determination, thus eliminating processing steps.
    Type: Grant
    Filed: May 31, 2005
    Date of Patent: October 19, 2010
    Assignee: Atmel Corporation
    Inventors: Ronny Pedersen, Erik K. Renno, Oyvind Strom
  • Publication number: 20100250904
    Abstract: Various embodiments include methods and related media for performing operations including a return operation. One such method includes testing a content of a return value register and setting status flags. Testing the content of the return value register and setting the status flags are performed in response to a single instruction.
    Type: Application
    Filed: June 7, 2010
    Publication date: September 30, 2010
    Applicant: Atmel Corporation
    Inventors: Erik K. Renno, Oyvind Strom, Morten W. Lund
  • Patent number: 7689640
    Abstract: An apparatus for scaling numbers comprises register means for storing an operand to be scaled, bit shifting means for performing a right shift operation on the operand, rounding means, and decision means to test for the existence of at least one of an overflow and an underflow condition.
    Type: Grant
    Filed: June 6, 2005
    Date of Patent: March 30, 2010
    Assignee: Atmel Corporation
    Inventors: Erik K. Renno, Ronny Pedersen, Oyvind Strom
  • Publication number: 20090265410
    Abstract: A packed half-word addition and subtraction operation is performed by a microprocessor in parallel upon half-word operands obtained from designated top or bottom half-word locations of designated source registers of a register file and the sum and difference results of such operation are packed into respective top and bottom half-word locations of a designated destination register. The microprocessor includes an arithmetic-logic unit (ALU) with adder circuitry that can be selectively split into separate half-word adders that are independently selectable to perform either an addition operation or subtraction operation upon the selected half-word operands. The half-word adders of the ALU access the operands from source registers via a set of multiplexers that select among the top and bottom half-word locations. Operations with halving and saturation modifications to the sum and difference results may also be provided.
    Type: Application
    Filed: June 29, 2009
    Publication date: October 22, 2009
    Inventors: Ronny Pedersen, Erik K. Renno, Oyvind Strom
  • Patent number: 7555514
    Abstract: A packed half-word addition and subtraction operation is performed by a microprocessor in parallel upon half-word operands obtained from designated top or bottom half-word locations of designated source registers of a register file and the sum and difference results of such operation are packed into respective top and bottom half-word locations of a designated destination register. The microprocessor includes an arithmetic-logic unit (ALU) with adder circuitry that can be selectively split into separate half-word adders that are independently selectable to perform either an addition operation or subtraction operation upon the selected half-word operands. The half-word adders of the ALU access the operands from source registers via a set of multiplexers that select among the top and bottom half-word locations. Operations with halving and saturation modifications to the sum and difference results may also be provided.
    Type: Grant
    Filed: February 13, 2006
    Date of Patent: June 30, 2009
    Assignee: Atmel Corportation
    Inventors: Ronny Pedersen, Erik K. Renno, Oyvind Strom
  • Patent number: 7478224
    Abstract: A combined native (RISC or CISC) microprocessor and stack (Java™) machine are constructed so that Java™ VM instructions can be executed in hardware. Most Java™ instructions are executed directly, while more complex Java™ instructions, such as those manipulating Java™ objects, are executed as native microcode. In order for native microcode instructions to access the Java™ operand stack, a Java™ operand stack pointer points to the register file location that is the current top of the stack, while a remap bit in the status register indicates that registers specified in native instructions are remapped as the maximum Java™ operand stack pointer value minus the present value of the Java™ operand stack pointer.
    Type: Grant
    Filed: April 15, 2005
    Date of Patent: January 13, 2009
    Assignee: Atmel Corporation
    Inventors: Oyvind Strom, Erik K. Renno, Kristian Monsen
  • Publication number: 20070192396
    Abstract: A packed half-word addition and subtraction operation is performed by a microprocessor in parallel upon half-word operands obtained from designated top or bottom half-word locations of designated source registers of a register file and the sum and difference results of such operation are packed into respective top and bottom half-word locations of a designated destination register. The microprocessor includes an arithmetic-logic unit (ALU) with adder circuitry that can be selectively split into separate half-word adders that are independently selectable to perform either an addition operation or subtraction operation upon the selected half-word operands. The half-word adders of the ALU access the operands from source registers via a set of multiplexers that select among the top and bottom half-word locations. Operations with halving and saturation modifications to the sum and difference results may also be provided.
    Type: Application
    Filed: February 13, 2006
    Publication date: August 16, 2007
    Inventors: Ronny Pedersen, Erik Renno, Oyvind Strom
  • Publication number: 20070168954
    Abstract: A microprocessor architecture for executing byte compiled Java programs directly in hardware. The microprocessor targets the lower end of the embedded systems domain and features two orthogonal programming models, a Java model and a RISC model. The entities share a common data path and operate independently, although not in parallel. The microprocessor includes a combined register file in which the Java module sees the elements in the register file as a circular operand stack and the RISC module sees the elements as a conventional register file. The integrated microprocessor architecture facilitates access to hardware-near instructions and provides powerful interrupt and instruction trapping capabilities.
    Type: Application
    Filed: January 4, 2007
    Publication date: July 19, 2007
    Applicant: ATMEL CORPORATION
    Inventor: Oyvind Strom
  • Patent number: 7243210
    Abstract: A microprocessor circuit useful for indexed addressing of byte-addressable memories includes word-length index, base address, and destination registers designated by an instruction. The instruction also specifies one byte packed within the index register, which is to be extracted. A multiplexer has a word-wide input end accessing all of the bytes of the index register, and responsive to byte selection control passes the specified byte to its output. The extracted byte is provided directly at specific bit positions of a zero-extended address offset word. The offset word is added to the base address, the sum being used to address memory contents that are loaded into the destination register.
    Type: Grant
    Filed: May 31, 2005
    Date of Patent: July 10, 2007
    Assignee: Atmel Corporation
    Inventors: Ronny Pedersen, Erik K. Renno, Oyvind Strom
  • Publication number: 20070006200
    Abstract: An apparatus comprises register means for storing a return context upon initiation of a supervisor call instruction and restoring means to restore a privilege level and status register upon execution of a supervisor return instruction. The supervisor call instruction can be called from all contexts.
    Type: Application
    Filed: June 6, 2005
    Publication date: January 4, 2007
    Inventors: Erik Renno, Oyvind Strom, Andreas Engh-Halstvedt, Havard Skinnemoen
  • Publication number: 20060285593
    Abstract: An adaptation of the sum-of-absolute-differences (SAD) calculation is implemented by modifying existing circuitry in a microprocessor. The adaptation yields a reduction of over 30% for a current SAD calculation. The adaptation includes a first and second operand register, each storing respectively a first and second set of 2's complement binary data, an arithmetic logic unit (ALU), and a destination register. An add/subtract enable input on the ALU receives a most significant bit (MSB) of the second set of binary data. The ALU adds the first and second data sets if the MSB is a “0” and subtracts the second data set from the first data set if the MSB is a “1.” The add/subtract enable input has the effect of taking the absolute value of the second data set without having to first perform an absolute value determination, thus eliminating processing steps.
    Type: Application
    Filed: May 31, 2005
    Publication date: December 21, 2006
    Inventors: Ronny Pedersen, Erik Renno, Oyvind Strom