Patents by Inventor Gregory Goodhue

Gregory Goodhue 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: 8392641
    Abstract: Aspects of the disclosure are directed to a system having a particularly-configured microcontroller. In one embodiment, the microcontroller includes the following: a processor; a processor data bus connected to the processor; a set of peripherals; a peripheral data bus connected to the peripherals; a peripheral bus bridge providing an interface between the processor data bus and the peripheral data base and including a plurality of special function register bank blocks that are internal to the microcontroller, each register bank block having a respective output; and a register bank block decoder circuit for decoding interrupts to provide a selection output for activation of one of the plurality of register bank blocks.
    Type: Grant
    Filed: May 24, 2010
    Date of Patent: March 5, 2013
    Assignee: NXP B.V.
    Inventors: Pankaj Shrivastava, Gregory Goodhue, Ata Khan, Zhimin Ding, Craig MacKenna
  • Patent number: 8341382
    Abstract: A microcontroller using an optimized buffer replacement strategy comprises a memory configured to store instructions, a processor configured to execute said program instructions, and a memory accelerator operatively coupled between the processor and the memory. The memory accelerator is configured to receive an information request and overwrite the buffer from which the prefetch was initiated with the requested information when the request is fulfilled by a previously initiated prefetch operation.
    Type: Grant
    Filed: September 30, 2010
    Date of Patent: December 25, 2012
    Assignee: NXP B.V.
    Inventors: Craig MacKenna, Rick Varney, Gregory Goodhue
  • Publication number: 20100299471
    Abstract: Aspects of the disclosure are directed to a system having a particularly-configured microcontroller. In one embodiment, the microcontroller includes the following: a processor; a processor data bus connected to the processor; a set of peripherals; a peripheral data bus connected to the peripherals; a peripheral bus bridge providing an interface between the processor data bus and the peripheral data base and including a plurality of special function register bank blocks that are internal to the microcontroller, each register bank block having a respective output; and a register bank block decoder circuit for decoding interrupts to provide a selection output for activation of one of the plurality of register bank blocks.
    Type: Application
    Filed: May 24, 2010
    Publication date: November 25, 2010
    Inventors: Pankaj Shrivastava, Gregory Goodhue, Ata khan, Zhimin Ding, Craig Mackenna
  • Patent number: 7305543
    Abstract: All pointer-based accesses require first that the value contained in a pointer register to be read and then that value be used as an address to the appropriate region in random access memory (RAM). As implemented today, this requires two memory read access cycles, each of which takes at least one clock cycle and therefore this implementation does not allow single cycle operation. In accordance with an embodiment of the invention, when an access is performed to pointer memory to read the contents of a pointer, it is the shadow memory that is actually read and that returns the pointer value. Since the shadow memory is made up of pointer registers, a read access involves multiplexing out of appropriate data for the pointer address from these pointer registers to form a target pointer address.
    Type: Grant
    Filed: July 27, 2004
    Date of Patent: December 4, 2007
    Assignee: NXP B.V.
    Inventors: Gregory Goodhue, Ata Khan, Zhimin Ding
  • Publication number: 20060206646
    Abstract: Typically, for processing systems it must be guaranteed that all interrupted program stream parameters are restored before the execution of the first program stream resumes. If during this transfer an interrupt occurs, then all data may not be stored or restored. If the error free storage of the program register contents and other critical first program stream data does not occur, the processor (180) has no way of knowing whether the first program stream data restored to the registers has become corrupt or not. Thus, a novel register architecture (120, 121, 122, 123, 124, 125) is provided that facilitate processing of interrupting program streams without storing and restoring interrupted program stream critical data.
    Type: Application
    Filed: July 29, 2004
    Publication date: September 14, 2006
    Applicant: Koninklijke Philips Electronics N.V.
    Inventors: Pankaj Shrivastava, Gregory Goodhue, Ata Khan, Zhimin Ding, Craig Mackenna
  • Publication number: 20060206691
    Abstract: All Pointer-based accesses require first that the value contained in a pointer register (200a, 200b, 200c, 200d) to be read and then that value be used as an address to the appropriate region in random access memory (RAM) (104). As implemented today, this requires two memory read access cycles, each of which takes at least one clock cycle and therefore this implementation does not allow single cycle operation. In accordance with an embodiment of the invention, when an access is performed to pointer memory (103a, 103b, 103c, 103d) to read the contents of a pointer, it is the shadow memory that is actually read and that returns the pointer value. Since the shadow memory is made up of pointer registers (200a, 200b, 200c, 200d), a read access involves mutliplexing out of appropriate data for the pointer address from these pointer registers (200a, 200b, 200c, 200d) to form a target pointer address.
    Type: Application
    Filed: July 27, 2004
    Publication date: September 14, 2006
    Inventors: Gregory Goodhue, Ata Khan, Zhimin Ding
  • Publication number: 20050021928
    Abstract: A memory accelerator module buffers program instructions and/or data for high speed access using a deterministic access protocol. The program memory is logically partitioned into ‘stripes’, or ‘cyclically sequential’ partitions, and the memory accelerator module includes a latch that is associated with each partition. When a particular partition is accessed, it is loaded into its corresponding latch, and the instructions in the next sequential partition are automatically pre-fetched into their corresponding latch. In this manner, the performance of a sequential-access process will have a known response, because the pre-fetched instructions from the next partition will be in the latch when the program sequences to these instructions. Previously accessed blocks remain in their corresponding latches until the pre-fetch process ‘cycles around’ and overwrites the contents of each sequentially-accessed latch.
    Type: Application
    Filed: August 20, 2004
    Publication date: January 27, 2005
    Inventors: Gregory Goodhue, Ata Khan, John Wharton, Robert Kallal