Patents by Inventor Jeffrey Bridges

Jeffrey Bridges 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: 7987819
    Abstract: A portable animal washing system having a means of dispensing a pressurized liquid cleaning agent, a means of dispensing a pressurized liquid rinsing agent, a means of extracting said liquid cleaning and rinsing agents as well as any dislodged dirt, debris, parasites, or foreign matter from the animal's coat, and a means of drying the animal's coat. The device is designed in such a way that both the cleaning and the rinsing agents may be directed into and under the animal's coat and then be immediately extracted along with any dislodged dirt, debris, parasites or other foreign material. The device is also design in such a way as to direct a stream of heated forced air into and under the coat of the animal so as to dry the animal.
    Type: Grant
    Filed: April 16, 2008
    Date of Patent: August 2, 2011
    Inventor: Jeffrey A. Bridges
  • Publication number: 20070180199
    Abstract: A Block Normal Cache Allocation (BNCA) mode is defined for a processor. In BNCA mode, cache entries may only be allocated by predetermined instructions. Normal memory access instructions (for example, as part of interrupt code) may execute and will retrieve data from main memory in the event of a cache miss; however, these instructions are not allowed to allocate entries in the cache. Only the predetermined instructions (for example, those used to establish locked cache entries) may allocate entries in the cache. When the locked entries are established, the processor exits BNCA mode, and any memory access instruction may allocate cache entries. BNCA mode may be indicated by setting a bit in a configuration register.
    Type: Application
    Filed: January 31, 2006
    Publication date: August 2, 2007
    Inventors: Victor Augsburg, James Dieffenderfer, Jeffrey Bridges, Thomas Sartorius
  • Publication number: 20070174584
    Abstract: A processor having a multistage pipeline includes a TLB and a TLB controller. In response to a TLB miss signal, the TLB controller initiates a TLB reload, requesting address translation information from either a memory or a higher-level TLB, and placing that information into the TLB. The processor flushes the instruction having the missing virtual address, and refetches the instruction, resulting in re-insertion of the instruction at an initial stage of the pipeline above the TLB access point. The initiation of the TLB reload, and the flush/refetch of the instruction, are performed substantially in parallel, and without immediately stalling the pipeline. The refetched instruction is held at a point in the pipeline above the TLB access point until the TLB reload is complete, so that the refetched instruction generates a “hit” in the TLB upon its next access.
    Type: Application
    Filed: January 20, 2006
    Publication date: July 26, 2007
    Inventors: Brian Kopec, Victor Augsburg, James Dieffenderfer, Jeffrey Bridges, Thomas Sartorius
  • Publication number: 20070174592
    Abstract: Delays due to waiting for operands that will not be used by a select operand instruction, are alleviated based on an early recognition that such operand data is not required in order to complete the processing of the select operand instruction. At appropriate points prior to execution, determinations are made regarding a selection criterion or criteria specified by the select operand instruction, conditions that affect the selection criteria, and the availability of operands. A hold circuit uses the determinations to control the activation and release of a hold signal that controls processor pipeline stalls. A stall required to wait for operand data is skipped or a stall is terminated early, if the selected operand is available even though the other operand, that will not be used, is not available. A stall due to waiting for operands is maintained until the selection criteria is met and the selected operand is fetched and made available.
    Type: Application
    Filed: January 20, 2006
    Publication date: July 26, 2007
    Inventors: James Dieffenderfer, Jeffrey Bridges, Michael McIlvaine, Thomas Sartorius
  • Publication number: 20070097722
    Abstract: A CAM bank is functionally divided into two or more sub-banks, without replication CAM driver circuits, by disabling all match line discharge circuits in the bank, and selectively enabling the discharge circuits in comprising sub-banks. At least one selectively actuated switching circuit is interposed between the virtual ground node of each discharging comparator in the discharge circuit of a sub-bank and circuit ground. When the switching circuit is in a non-conductive state, the virtual ground node is maintained at a voltage level sufficiently above circuit ground to preclude discharging a connected match line within the CAM access time. When the switching circuit is placed in a conductive state, the virtual ground node is pulled to circuit ground and the connected match line may be discharged by a miscompare. Control signals, which may be decode from address bits, are distributed to the switching circuits to defined the CAM sub-banks.
    Type: Application
    Filed: October 28, 2005
    Publication date: May 3, 2007
    Inventors: Michael Phan, Chiaming Chai, Jeffrey Bridges, Jeffrey Fischer
  • Publication number: 20070094476
    Abstract: An apparatus includes a memory configured to store data, a lower level TLB, an upper level TLB, and a TLB controller. The lower level TLB and the upper level TLB are configured to store a plurality of entries, each of the entries containing an address translation information that allows a virtual address to be translated into a corresponding physical address. The TLB controller retrieves from a page table in the memory an address translation information for a desired virtual address, if the desired virtual address generates a TLB miss from the lower level TLB and from the upper level TLB, Using a single TLB write instruction, the TLB controller updates both the lower level TLB and the upper level TLB by writing the address translation information, retrieved from the page table, into the lower level TLB as well as into the upper level TLB.
    Type: Application
    Filed: October 20, 2005
    Publication date: April 26, 2007
    Inventors: Victor Augsburg, Thomas Sartorius, James Dieffenderfer, Jeffrey Bridges
  • Publication number: 20070094475
    Abstract: A processing system may include a memory configured to store data in a plurality of pages, a TLB, and a memory cache including a plurality of cache lines. Each page in the memory may include a plurality of lines of memory. The memory cache may permit, when a virtual address is presented to the cache, a matching cache line to be identified from the plurality of cache lines, the matching cache line having a matching address that matches the virtual address. The memory cache may be configured to permit one or more page attributes of a page located at the matching address to be retrieved from the memory cache and not from the TLB, by further storing in each one of the cache lines a page attribute of the line of data stored in the cache line.
    Type: Application
    Filed: October 20, 2005
    Publication date: April 26, 2007
    Inventors: Jeffrey Bridges, James Dieffenderfer, Thomas Sartorius, Brian Stempel, Rodney Smith
  • Publication number: 20070067574
    Abstract: A method of managing cache partitions provides a first pointer for higher priority writes and a second pointer for lower priority writes, and uses the first pointer to delimit the lower priority writes. For example, locked writes have greater priority than unlocked writes, and a first pointer may be used for locked writes, and a second pointer may be used for unlocked writes. The first pointer is advanced responsive to making locked writes, and its advancement thus defines a locked region and an unlocked region. The second pointer is advanced responsive to making unlocked writes. The second pointer also is advanced (or retreated) as needed to prevent it from pointing to locations already traversed by the first pointer. Thus, the pointer delimits the unlocked region and allows the locked region to grow at the expense of the unlocked region.
    Type: Application
    Filed: September 21, 2005
    Publication date: March 22, 2007
    Inventors: Brian Stempel, James Dieffenderfer, Jeffrey Bridges, Thomas Sartorius, Rodney Smith, Robert Clancy, Victor Augsburg
  • Publication number: 20070050594
    Abstract: A processor includes a hierarchical Translation Lookaside Buffer (TLB) comprising a Level-1 TLB and a small, high-speed Level-0 TLB. Entries in the L0 TLB replicate entries in the L1 TLB. The processor first accesses the L0 TLB in an address translation, and access the L1 TLB if a virtual address misses in the L0 TLB. When the virtual address hits in the L1 TLB, the virtual address, physical address, and page attributes are written to the L0 TLB, replacing an existing entry if the L0 TLB is full. The entry may be locked against replacement in the L0 TLB in response to an L0 Lock (L0L) indicator in the L1 TLB entry. Similarly, in a hardware-managed L1 TLB, entries may be locked against replacement in response to an L1 Lock (L1L) indicator in the corresponding page table entry.
    Type: Application
    Filed: August 23, 2005
    Publication date: March 1, 2007
    Inventors: Victor Augsburg, James Dieffenderfer, Jeffrey Bridges, Thomas Sartorius
  • Publication number: 20070038826
    Abstract: A register file is disclosed. The register file includes a plurality of registers and a decoder. The decoder may be configured to receive an address for any one of the registers, and disable a read operation to the addressed register if data in the addressed register is invalid.
    Type: Application
    Filed: August 10, 2005
    Publication date: February 15, 2007
    Inventors: James Dieffenderfer, Thomas Sartorius, Jeffrey Bridges, Michael McIlvaine, Gregory Burda
  • Publication number: 20070033303
    Abstract: A method and system for messaging between processors and co-processors connected through a bus. The method permits a multi-thread system processor to request the services of a processor or co-processor located on the bus. Message control blocks are stored in a memory which identify the physical address of the target processor, as well as a memory location in the memory dedicated to the thread requesting the service. When the system processor requests service of a processor or co-processor, a DCR command is created pointing to the message control block. A message is built from information contained in the message control block or transferred to the processor or co-processor. The return address for the processor or co-processor message is concatenated with the thread number, so that the processor or co-processor can create a return message specifically identifying memory space dedicated to the requesting thread for storage of the response message.
    Type: Application
    Filed: August 5, 2005
    Publication date: February 8, 2007
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jeffrey Bridges, Gordon Davis, Thomas Sartorius, Michael Siegel
  • Publication number: 20070028050
    Abstract: A fixed number of variable-length instructions are stored in each line of an instruction cache. The variable-length instructions are aligned along predetermined boundaries. Since the length of each instruction in the line, and hence the span of memory the instructions occupy, is not known, the address of the next following instruction is calculated and stored with the cache line. Ascertaining the instruction boundaries, aligning the instructions, and calculating the next fetch address are performed in a predecoder prior to placing the instructions in the cache.
    Type: Application
    Filed: July 29, 2005
    Publication date: February 1, 2007
    Inventors: Jeffrey Bridges, James Dieffenderfer, Rodney Smith, Thomas Sartorius
  • Publication number: 20070005933
    Abstract: A processor includes a memory configured to store data in a plurality of pages, a TLB, and a TLB controller. The TLB is configured to search, when accessed by an instruction having a virtual address, for address translation information that allows the virtual address to be translated into a physical address of one of the plurality of pages, and to provide the address translation information if the address translation information is found within the TLB. The TLB controller is configured to determine whether a current instruction and a subsequent instruction seek access to a same page within the plurality of pages, and if so, to prevent TLB access by the subsequent instruction, and to utilize the results of the TLB access of a previous instruction for the current instruction.
    Type: Application
    Filed: June 29, 2005
    Publication date: January 4, 2007
    Inventors: Brian Kopec, Victor Augsburg, James Dieffenderfer, Jeffrey Bridges, Thomas Sartorius
  • Publication number: 20060277397
    Abstract: A microprocessor includes two branch history tables, and is configured to use a first one of the branch history tables for predicting branch instructions that are hits in a branch target cache, and to use a second one of the branch history tables for predicting branch instructions that are misses in the branch target cache. As such, the first branch history table is configured to have an access speed matched to that of the branch target cache, so that its prediction information is timely available relative to branch target cache hit detection, which may happen early in the microprocessor's instruction pipeline. The second branch history table thus need only be as fast as is required for providing timely prediction information in association with recognizing branch target cache misses as branch instructions, such as at the instruction decode stage(s) of the instruction pipeline.
    Type: Application
    Filed: June 2, 2005
    Publication date: December 7, 2006
    Inventors: Thomas Sartorius, Brian Stempel, Jeffrey Bridges, James Dieffenderfer, Rodney Smith
  • Publication number: 20060265572
    Abstract: A fetch section of a processor comprises an instruction cache and a pipeline of several stages for obtaining instructions. Instructions may cross cache line boundaries. The pipeline stages process two addresses to recover a complete boundary crossing instruction. During such processing, if the second piece of the instruction is not in the cache, the fetch with regard to the first line is invalidated and recycled. On this first pass, processing of the address for the second part of the instruction is treated as a pre-fetch request to load instruction data to the cache from higher level memory, without passing any of that data to the later stages of the processor. When the first line address passes through the fetch stages again, the second line address follows in the normal order, and both pieces of the instruction are can be fetched from the cache and combined in the normal manner.
    Type: Application
    Filed: May 18, 2005
    Publication date: November 23, 2006
    Inventors: Brian Stempel, Jeffrey Bridges, Rodney Smith, Thomas Sartorius
  • Publication number: 20060236078
    Abstract: A conditional instruction architected to receive one or more operands as inputs, to output to a target the result of an operation performed on the operands if a condition is satisfied, and to not provide an output if the condition is not satisfied, is executed so that it unconditionally provides an output to the target. The conditional instruction obtains the prior value of the target (that is, the value produced by the most recent instruction preceding the conditional instruction that updated that target). The condition is evaluated. If the condition is satisfied, an operation is performed and the result of the operation output to the target. If the condition is not satisfied, the prior value is output to the target. Subsequent instructions may rely on the target as an operand source (whether written to a register or forwarded to the instruction), prior to the condition evaluation.
    Type: Application
    Filed: April 14, 2005
    Publication date: October 19, 2006
    Inventors: Thomas Sartorius, James Dieffenderfer, Jeffrey Bridges, Kenneth Dockser, Michael McIlvaine, Rodney Smith
  • Publication number: 20060218385
    Abstract: A Branch Target Address Cache (BTAC) stores at least two branch target addresses in each cache line. The BTAC is indexed by a truncated branch instruction address. An offset obtained from a branch prediction offset table determines which of the branch target addresses is taken as the predicted branch target address. The offset table may be indexed in several ways, including by a branch history, by a hash of a branch history and part of the branch instruction address, by a gshare value, randomly, in a round-robin order, or other methods.
    Type: Application
    Filed: March 23, 2005
    Publication date: September 28, 2006
    Inventors: Rodney Smith, James Dieffenderfer, Jeffrey Bridges, Thomas Sartorius
  • Publication number: 20060212675
    Abstract: A system for optimizing translation lookaside buffer entries is provided. The system includes a translation lookaside buffer configured to store a number of entries, each entry having a size attribute, each entry referencing a corresponding page, and control logic configured to modify the size attribute of an existing entry in the translation lookaside buffer if a new page is contiguous with an existing page referenced by the existing entry. The existing entry after having had its size attribute modified references a consolidated page comprising the existing page and the new page.
    Type: Application
    Filed: March 17, 2005
    Publication date: September 21, 2006
    Inventors: Thomas Sartorius, Jeffrey Bridges, James Dieffenderfer, Victor Augsburg
  • Publication number: 20060206688
    Abstract: A renaming register file complex for saving power is described. A mapping unit transforms an instruction register number (IRN) to a logical register number (LRN). The renaming register file maps an LRN to a physical register number (PRN), there being a greater number of physical registers than addressable by direct use of the IRN. The renaming register file uses a content addressable memory (CAM) to provide the mapping function. The renaming register file CAM further uses current processor state information to selectively enable tag comparators to minimize power in accessing registers. When a tag comparator is not enabled it remains in a low power state. A processor using a renaming register file with low power features is also described.
    Type: Application
    Filed: March 3, 2005
    Publication date: September 14, 2006
    Inventors: Jeffrey Bridges, James Dieffenderfer, Michael McIlvaine, Thomas Sartorius
  • Publication number: 20060200655
    Abstract: A pipelined processor comprises an instruction cache (iCache), a branch target address cache (BTAC), and processing stages, including a stage to fetch from the iCache and the BTAC. To compensate for the number of cycles needed to fetch a branch target address from the BTAC, the fetch from the BTAC leads the fetch of a branch instruction from the iCache by an amount related to the cycles needed to fetch from the BTAC. Disclosed examples either decrement a write address of the BTAC or increment a fetch address of the BTAC, by an amount essentially corresponding to one less than the cycles needed for a BTAC fetch.
    Type: Application
    Filed: March 4, 2005
    Publication date: September 7, 2006
    Inventors: Rodney Smith, Brian Stempel, James Dieffenderfer, Jeffrey Bridges, Thomas Sartorius