Patents by Inventor Keith Diefendorff

Keith Diefendorff 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: 8976799
    Abstract: A high-speed I/O interface that allows a number of native I/O formats to be encapsulated into PCIe Vendor Defined Messages (“VDMs”) for transfer over a single physical medium, preferably optical, and is thus referred to as the converged I/O (“CIO”) interface. The devices can be designed to provide synchronization (time value, frequency, and phase) among a network of routers, with signal paths of several meters, thereby providing an accurate time base suitable for exacting audiovisual applications.
    Type: Grant
    Filed: September 27, 2008
    Date of Patent: March 10, 2015
    Assignee: Apple Inc.
    Inventors: Paul A. Baker, Michael W. Murphy, Eric Werner Anderson, Colin Whitby-Strevens, David Ferguson, Keith Diefendorff, Ron Hochsprung, William Cornelius
  • Patent number: 8463881
    Abstract: A high-speed optical interface for connecting computers to external I/O devices allows a number of native I/O formats to be encapsulated into PCIe Vendor Defined Messages (“VDMs”) for transfer over a single physical medium, preferably optical, and is thus referred to as the converged I/O (“CIO”) interface. Standard PCIe bridges are modified to support peer-to-peer communications, allowing greater exploitation of the capabilities of PCIe.
    Type: Grant
    Filed: September 27, 2008
    Date of Patent: June 11, 2013
    Assignee: Apple Inc.
    Inventors: Paul A. Baker, Michael W. Murphy, Eric Werner Anderson, Colin Whitby-Strevens, David Ferguson, Keith Diefendorff, Ron Hochsprung, William Cornelius
  • Publication number: 20070101104
    Abstract: A microprocessor has a data stream prefetch unit for processing a data stream prefetch instruction. The instruction specifies a data stream and a speculative stream hit policy indicator. If a load instruction hits in the data stream, then if the load is non-speculative the stream prefetch unit prefetches a portion of the data stream from system memory into cache memory; however, if the load is speculative the stream prefetch unit selectively prefetches a portion of the data stream from the system memory into the cache memory based on the value of the policy indicator. The load instruction is speculative if it is not guaranteed to complete execution, such as if it follows a predicted branch instruction whose outcome has not yet been finally determined to be correct. In one embodiment, the stream prefetch unit performs a similar function for store instructions that hit in the data stream.
    Type: Application
    Filed: October 13, 2006
    Publication date: May 3, 2007
    Applicant: MIPS TECHNOLOGIES, INC.
    Inventor: Keith Diefendorff
  • Publication number: 20070101105
    Abstract: A microprocessor has a plurality of stream prefetch engines for prefetching a respective data stream from the system memory into the microprocessor cache memory and an instruction decoder that decodes instructions of the microprocessor instruction set. The instruction set includes a stream prefetch instruction that returns an identifier uniquely associating a data stream specified by the instruction with one of the engines. The instruction set also includes an explicit prefetch-triggering load instruction that specifies a stream identifier returned by a previously executed stream prefetch instruction. When the decoder decodes a conventional load instruction it does not prefetch; however, when it decodes an explicit prefetch-triggering load instruction it commences prefetching the specified data stream. In one embodiment, an indicator of the load instruction may explicitly specify non-prefetch-triggering.
    Type: Application
    Filed: October 13, 2006
    Publication date: May 3, 2007
    Applicant: MIPS TECHNOLOGIES, INC.
    Inventor: Keith Diefendorff
  • Publication number: 20070055824
    Abstract: A microprocessor coupled to a system memory includes a load request signal that requests data be loaded from the system memory into the microprocessor in response to a load instruction. The load request signal includes a load virtual page address. The microprocessor also includes a prefetch request signal that requests a cache line be prefetched from the system memory into the microprocessor in response to a prefetch instruction. The prefetch request signal includes a prefetch virtual page address. The microprocessor also includes a memory subsystem including a first translation look-aside buffer (TLB) that translates the load virtual page address into a load physical page address, and a second TLB that translates the prefetch virtual page address into a prefetch physical page address.
    Type: Application
    Filed: August 11, 2006
    Publication date: March 8, 2007
    Applicant: MIPS TECHNOLOGIES, INC.
    Inventors: Keith Diefendorff, Thomas Petersen
  • Publication number: 20070043909
    Abstract: A microprocessor coupled to a system memory has a memory subsystem with a translation look-aside buffer (TLB) for storing TLB information. The microprocessor also includes an instruction decode unit that decodes an instruction that specifies a data stream in the system memory and an abnormal TLB access policy. The microprocessor also includes a stream prefetch unit that generates a prefetch request to the memory subsystem to prefetch a cache line of the data stream from the system memory into the memory subsystem. If a virtual page address of the prefetch request causes an abnormal TLB access, the memory subsystem selectively aborts the prefetch request based on the abnormal TLB access policy specified in the instruction.
    Type: Application
    Filed: August 11, 2006
    Publication date: February 22, 2007
    Applicant: MIPS Technologies, Inc.
    Inventor: Keith Diefendorff
  • Publication number: 20070043907
    Abstract: A microprocessor coupled to a system memory by a bus includes an instruction decode unit that decodes an instruction that specifies a data stream in the system memory and a stream prefetch priority. The microprocessor also includes a load/store unit that generates load/store requests to transfer data between the system memory and the microprocessor. The microprocessor also includes a stream prefetch unit that generates a plurality of prefetch requests to prefetch the data stream from the system memory into the microprocessor. The prefetch requests specify the stream prefetch priority. The microprocessor also includes a bus interface unit (BIU) that generates transaction requests on the bus to transfer data between the system memory and the microprocessor in response to the load/store requests and the prefetch requests. The BIU prioritizes the bus transaction requests for the prefetch requests relative to the bus transaction requests for the load/store requests based on the stream prefetch priority.
    Type: Application
    Filed: August 11, 2006
    Publication date: February 22, 2007
    Applicant: MIPS TECHNOLOGIES, INC.
    Inventor: Keith Diefendorff
  • Publication number: 20070043908
    Abstract: A microprocessor includes a hierarchical memory subsystem, an instruction decoder, and a stream prefetch unit. The decoder decodes an instruction that specifies a locality characteristic parameter. In one embodiment, the parameter specifies a relative urgency with which a data stream specified by the instruction is needed rather than specifying exactly which of the cache memories in the hierarchy to prefetch the data stream into. The prefetch unit selects one of the cache memory levels in the hierarchy for prefetching the data stream into based on the memory subsystem configuration and on the relative urgency. In another embodiment, the prefetch unit instructs the memory subsystem to mark the prefetched cache line for early, late, or normal eviction according to its cache line replacement policy based on the parameter value.
    Type: Application
    Filed: August 11, 2006
    Publication date: February 22, 2007
    Applicant: MIPS TECHNOLOGIES, INC.
    Inventor: Keith Diefendorff