Patents by Inventor Michael I. Catherwood

Michael I. Catherwood 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: 9858083
    Abstract: A central processing unit with dual boot capabilities is disclosed comprising an instruction memory further comprising a first and second memory area which are configured to be individually programmable, wherein first and second memory area can be assigned to an active memory from which instructions are executed and an inactive memory, respectively. The instruction set for the central processing unit comprises a dedicated instruction that allows to perform a swap from the an active memory area to an inactive memory area, wherein the swap is performed by executing the dedicated instruction in the active memory followed by a program flow change instruction in the active memory, whereupon the inactive memory becomes the new active memory and the active memory becomes the new inactive memory and execution of instructions continues in the new active memory.
    Type: Grant
    Filed: March 11, 2014
    Date of Patent: January 2, 2018
    Assignee: MICROCHIP TECHNOLOGY INCORPORATED
    Inventors: Michael I. Catherwood, Brant Ivey, Igor Wojewoda, David Mickey, Joseph Kanellopoulos
  • Patent number: 9619231
    Abstract: A central processing unit (CPU) having an interrupt unit for interrupting execution of instructions, a plurality context defining register sets, wherein each set of registers having the same number of CPU registers, a switching unit for coupling a selected register set within the CPU, wherein the switching unit switches to a predetermined register set of the plurality of context defining register sets upon occurrence of an exception, and a control register configured to control selection of a register set of the plurality of context defining register initiated by an instruction and further operable to indicate a currently used context.
    Type: Grant
    Filed: March 7, 2014
    Date of Patent: April 11, 2017
    Assignee: MICROCHIP TECHNOLOGY INCORPORATED
    Inventors: Michael I. Catherwood, Bryan Kris, David Mickey, Joseph Kanellopoulos
  • Patent number: 8984198
    Abstract: A digital processor has a default bus master having a highest priority in a default mode, a plurality of secondary bus masters having associated priorities, wherein the plurality of secondary bus masters have a predetermined priority relationship to each other, and a data space arbiter. The data space arbiter is programmable in a non-default mode to raise a priority of any of the secondary bus masters to have a priority higher than the priority of the default bus master while maintaining the predetermined priority relationship to only those secondary bus masters for which the priority level also has been raised above the priority of the default bus master.
    Type: Grant
    Filed: June 18, 2010
    Date of Patent: March 17, 2015
    Assignee: Microchip Technology Incorporated
    Inventors: Michael I. Catherwood, Ashish Desai
  • Publication number: 20150019847
    Abstract: A central processing unit (CPU) having an interrupt unit for interrupting execution of instructions, a plurality context defining register sets, wherein each set of registers having the same number of CPU registers, a switching unit for coupling a selected register set within the CPU, wherein the switching unit switches to a predetermined register set of the plurality of context defining register sets upon occurrence of an exception, and a control register configured to control selection of a register set of the plurality of context defining register initiated by an instruction and further operable to indicate a currently used context.
    Type: Application
    Filed: March 7, 2014
    Publication date: January 15, 2015
    Inventors: Michael I. Catherwood, Bryan Kris, David Mickey, Joseph Kanellopoulos
  • Publication number: 20140281465
    Abstract: A central processing unit with dual boot capabilities is disclosed comprising an instruction memory further comprising a first and second memory area which are configured to be individually programmable, wherein first and second memory area can be assigned to an active memory from which instructions are executed and an inactive memory, respectively. The instruction set for the central processing unit comprises a dedicated instruction that allows to perform a swap from the an active memory area to an inactive memory area, wherein the swap is performed by executing the dedicated instruction in the active memory followed by a program flow change instruction in the active memory, whereupon the inactive memory becomes the new active memory and the active memory becomes the new inactive memory and execution of instructions continues in the new active memory.
    Type: Application
    Filed: March 11, 2014
    Publication date: September 18, 2014
    Inventors: Michael I. Catherwood, Brant Ivey, Igor Wojewoda, David Mickey, Joseph Kanellopoulos
  • Patent number: 8688964
    Abstract: A digital processor with programmable exception processing latency, may have a central processing unit (CPU) of a digital processor, an exception controller coupled with the CPU, and a control register coupled with the CPU, wherein the control register is operable to set the operation mode of the CPU in at least one of two modes, wherein in the first mode the CPU has a fixed exception processing latency time, and in a second mode the CPU has a variable exception processing latency time.
    Type: Grant
    Filed: May 10, 2010
    Date of Patent: April 1, 2014
    Assignee: Microchip Technology Incorporated
    Inventors: Michael I. Catherwood, David Mickey
  • Patent number: 8495125
    Abstract: A processor may have at least one multiplier unit which can be controlled to operate in a signed, an unsigned, or a mixed sign mode; a multiplier unit mode decoder coupled with the multiplier unit which receives location information of a first and second operands, wherein the multiplier mode decoder controls the multiplier unit when in the mixed sign mode depending on the location information to operate in a signed mode, an unsigned mode, or a combined signed/unsigned mode.
    Type: Grant
    Filed: May 7, 2010
    Date of Patent: July 23, 2013
    Assignee: Microchip Technology Incorporated
    Inventors: Michael I. Catherwood, Settu Duraisamy
  • Patent number: 7966480
    Abstract: Trap flags and a pointer trap are associated with registers in a processor. Each trap flag indicates whether a corresponding register has been written with valid data. If not, the trap flag is set to indicate that the register corresponding to the trap flag contains invalid data. During instruction processing, the pointer trap receives control signals from instruction fetch/decode logic on the processor indicating an instruction being processed calls for a register to be used as a pointer. If the specified pointer register has its corresponding trap flag set, then the pointer trap indicates that a processing exception has occurred. The interrupt logic/exception processing logic then causes a trap interrupt service routine (ISR) to be executed in response to the exception. The ISR prevents errors from being introduced in the instruction processing due to invalid pointer values.
    Type: Grant
    Filed: December 20, 2004
    Date of Patent: June 21, 2011
    Assignee: Microchip Technology Incorporated
    Inventor: Michael I. Catherwood
  • Publication number: 20110022756
    Abstract: A digital processor has a default bus master having a highest priority in a default mode, a plurality of secondary bus masters having associated priorities, wherein the plurality of secondary bus masters have a predetermined priority relationship to each other, and a data space arbiter. The data space arbiter is programmable in a non-default mode to raise a priority of any of the secondary bus masters to have a priority higher than the priority of the default bus master while maintaining the predetermined priority relationship to only those secondary bus masters for which the priority level also has been raised above the priority of the default bus master.
    Type: Application
    Filed: June 18, 2010
    Publication date: January 27, 2011
    Inventors: Michael I. Catherwood, Ashish Desai
  • Publication number: 20110016295
    Abstract: A digital processor with programmable exception processing latency, may have a central processing unit (CPU) of a digital processor, an exception controller coupled with said CPU, and a control register coupled with said CPU, wherein the control register is operable to set the operation mode of said CPU in at least one of two modes, wherein in the first mode the CPU has a fixed exception processing latency time, and in a second mode the CPU has a variable exception processing latency time.
    Type: Application
    Filed: May 10, 2010
    Publication date: January 20, 2011
    Inventors: Michael I. Catherwood, David Mickey
  • Publication number: 20100306292
    Abstract: A processor may have at least one multiplier unit which can be controlled to operate in a signed, an unsigned, or a mixed sign mode; a multiplier unit mode decoder coupled with the multiplier unit which receives location information of a first and second operands, wherein the multiplier mode decoder controls the multiplier unit when in the mixed sign mode depending on the location information to operate in a signed mode, an unsigned mode, or a combined signed/unsigned mode.
    Type: Application
    Filed: May 7, 2010
    Publication date: December 2, 2010
    Inventors: Michael I. Catherwood, Settu Duraisamy
  • Patent number: 7467178
    Abstract: A system and method for overflow and saturation processing during accumulator operations that reduces the error in a saturation operation. Upon overflow, additional guard bits used in conjunction with an accumulator allow a user to continue processing without any error in the values used in computations following the overflow. A saturation condition can be detected following the overflow the appropriate maximum value stored in the accumulator upon detecting saturation.
    Type: Grant
    Filed: June 1, 2001
    Date of Patent: December 16, 2008
    Assignee: Microchip Technology Incorporated
    Inventor: Michael I. Catherwood
  • Patent number: 7020788
    Abstract: A method and a processor for processing a power mode instruction are provided. The power mode instruction itself includes up to five different sleep modes and one run mode, each for initiating a clock source change or inhibit. This instruction may be executed in one processor cycle and with one power mode instruction employing clock transition logic within the processor to initiate a switch to the clock source configuration specified by a literal, such as a 3-bit literal. Operand may be written the register of clock transition logic to define an exit state for a sleep mode.
    Type: Grant
    Filed: June 1, 2001
    Date of Patent: March 28, 2006
    Assignee: Microchip Technology Incorporated
    Inventor: Michael I. Catherwood
  • Patent number: 6952711
    Abstract: A method and processor for multiplying two maximally negative fractional numbers to produce a 32-bit result are provided. Operands are fetched from a source location for operation of a multiplication operation. Result outputs corresponding to a maximally negative result are detected. The detection of a maximally negative result indicates that the operands are two maximally negative fractional numbers. Maximally negative results are corrected to produce a maximally positive result. Result output are fractionally aligned and sign extended for accumulation in an accumulator.
    Type: Grant
    Filed: June 1, 2001
    Date of Patent: October 4, 2005
    Assignee: Microchip Technology Incorporated
    Inventor: Michael I. Catherwood
  • Patent number: 6934728
    Abstract: A method and processor for multiplication operation instruction processing are provided. Multiplication operation instructions are executed on source operands in data memory locations. The multiplication operation instructions are provided to perform complex multiplication operations. The multiplication operation instructions may generate the square of a multiplication source operand and generate the difference of a subtrahend source operand and a minuend source operand simultaneously. The square is output to a target accumulator specified in the multiplication operation instruction. The difference is output to a difference register specified in the multiplication operation instruction. In the alternative, the multiplication operation instructions may generate the sum of the square of multiplication source operand and an addition operand as well as generate the difference of a subtrahend source operand and a minuend source operand simultaneously.
    Type: Grant
    Filed: June 1, 2001
    Date of Patent: August 23, 2005
    Assignee: Microchip Technology Incorporated
    Inventor: Michael I. Catherwood
  • Patent number: 6604169
    Abstract: A hardware based modulo addressing scheme is described that is fast and makes efficient use of logic. The scheme uses a subtractor, multiplexers and AND/OR logic to produce modulo addresses to address, for example, a circular buffer in a memory. The buffer is defined by the user based on start and end addresses and an offset value. The offset may be positive or negative and may be greater than one.
    Type: Grant
    Filed: June 1, 2001
    Date of Patent: August 5, 2003
    Assignee: Microchip Technology Incorporated
    Inventor: Michael I. Catherwood
  • Publication number: 20030126484
    Abstract: A method and a processor for processing a power mode instruction are provided. The power mode instruction itself includes up to five different sleep modes and one run mode, each for initiating a clock source change or inhibit. This instruction may be executed in one processor cycle and with one power mode instruction employing clock transition logic within the processor to initiate a switch to the clock source configuration specified by a literal, such as a 3-bit literal. Operand may be written the register of clock transition logic to define an exit state for a sleep mode.
    Type: Application
    Filed: June 1, 2001
    Publication date: July 3, 2003
    Inventor: Michael I. Catherwood
  • Publication number: 20030061464
    Abstract: An instruction set is provided that features ninety four instructions and various address modes to deliver a mixture of flexible micro-controller like instructions and specialized digital signal processor (DSP) instructions that execute from a single instruction stream.
    Type: Application
    Filed: June 1, 2001
    Publication date: March 27, 2003
    Inventors: Michael I. Catherwood, Brian Boles, Stephen A. Bowling, Joshua M. Conner, Rodney Drake, John Elliot, Brian Neil Fall, James H. Grosbach, Tracy Ann Kuhrt, Guy McCarthy, Manuel Muro, Michael Pyska, Joseph W. Triece
  • Publication number: 20030005254
    Abstract: A processor has a native word width of multiples of a byte width. The processor may, nonetheless, process, store and retrieve data in word or byte widths depending on the mode of an instruction directing the processing. Instructions may assume either a word or a byte mode. In the word mode, the instruction causes the processor to read, store and operate on word width data. In the byte mode, the instruction causes the processor to read, store and operate on byte data where the byte is specified based on upper/lower byte bits in the instruction. This architecture permits a new generation of processor having word widths of more than one byte to be backward compatible with software written for byte width processors.
    Type: Application
    Filed: June 1, 2001
    Publication date: January 2, 2003
    Inventors: Joseph W. Triece, Michael Pyska, Stephen A. Bowling, Michael I. Catherwood
  • Publication number: 20030005269
    Abstract: A processor configuration for processing multi-precision shift instructions is provided. The multi-precision shift instructions are executed following a previous shift instruction of the same increment, such as a logical or arithmetic left or right shift operation. The first shift instruction shifts a first memory word by the shift increment and stores this shifted value into memory. The second, and any subsequent, multi-precision shift instruction shifts the next memory word by the shift increment and concatenates the bits shifted out of the previously shifted memory word into bit positions of the memory word presently being shifted. This concatenated value is then stored back to memory and forms another part of the multi-precision shifted value.
    Type: Application
    Filed: June 1, 2001
    Publication date: January 2, 2003
    Inventors: Joshua M. Conner, John Elliot, Michael I. Catherwood, Brian Neil Fall, Brian Boles