Patents by Inventor Stephan Jourdan

Stephan Jourdan 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).

  • Publication number: 20050147036
    Abstract: A method and apparatus for enabling an adaptive replay loop in a processor. More particularly, the present invention relates to allowing instructions in the replay loop to change its relative position, thereby decreasing the latency for execution of instructions, resolving dynamic resource conflicts, and also increasing the overall efficiency of the processor.
    Type: Application
    Filed: December 30, 2003
    Publication date: July 7, 2005
    Inventors: Per Hammarlund, Stephan Jourdan
  • Publication number: 20050149680
    Abstract: Embodiments of the present invention provide a fast associativity collision array and cascaded priority select. An instruction fetch unit may receive an instruction and may search a primary data array and a collision data array for requested data. The instruction fetch unit may forward the requested data to a next pipeline stage. An instruction execution unit may perform a check to determine if the instruction is valid. If a conflict is detected at the primary data array, an array update unit may update the collision data array.
    Type: Application
    Filed: December 30, 2003
    Publication date: July 7, 2005
    Inventors: Stephan Jourdan, Mark Davis
  • Publication number: 20050149709
    Abstract: A system and method for compensating for branching instructions in trace caches is disclosed. A branch predictor uses the branching behavior of previous branching instructions to select between several traces beginning at the same linear instruction pointer (LIP) or instruction. The fetching mechanism of the processor selects the trace that most closely matches the previous branching behavior. In one embodiment, a new trace is generated only if a divergence occurs within a predetermined location. A divergence is a branch that is recorded as following one path (i.e. taken) and during execution follows a different path (i.e. not taken).
    Type: Application
    Filed: December 29, 2003
    Publication date: July 7, 2005
    Inventor: Stephan Jourdan
  • Publication number: 20050149696
    Abstract: Rather than steering one macroinstruction at a time to decode logic in a processor, multiple macroinstructions may be steered at any given time. In one embodiment, a pointer calculation unit generates a pointer that assists in determining a stream of one or more macroinstructions that may be steered to decode logic in the processor.
    Type: Application
    Filed: December 29, 2003
    Publication date: July 7, 2005
    Inventors: Robert Hinton, Stephan Jourdan, Alexandre Farcy
  • Publication number: 20050149912
    Abstract: A system and method for optimizing a series of traces to be executed by a processing core is disclosed. The lines of a trace are sent to an optimizer each time they are sent to a processing core to be executed. Runtime information may be collected on a line of a trace each time that trace is executed by a processing core. The runtime information may be used by the optimizer to better optimize the micro-operations of the lines of the trace. The optimizer optimizes a trace each time the trace is executed to improve the efficiency of future iterations of the trace. Most of the optimizations result in a reduction of the number of ?ops within the trace. The optimizer may optimize two or more lines at a time in order to find more opportunities to remove ?ops and shorten the trace. The two lines may be alternately offset so that each line has the maximum allowed number of micro-operations.
    Type: Application
    Filed: December 29, 2003
    Publication date: July 7, 2005
    Inventors: Alexandre Farcy, Stephan Jourdan, Avinash Sodani, Per Hammarlund
  • Publication number: 20050149689
    Abstract: A method and apparatus for enabling an adaptive replay loop in a processor. More particularly, the present invention relates to allowing instructions in the replay loop to change its relative position, thereby decreasing the latency for execution of instructions, resolving dynamic resource conflicts, and also increasing the overall efficiency of the processor.
    Type: Application
    Filed: December 30, 2003
    Publication date: July 7, 2005
    Inventors: Avinash Sodani, Per Hammarlund, Stephan Jourdan
  • Patent number: 6912648
    Abstract: A method for stick and spoke replay in a processor. The method of one embodiment comprises dispatching an instruction for execution. The instruction is speculatively executed. It is determined whether the instruction executed correctly. The instruction is routed to a replay mechanism if the instruction did not execute correctly. It is determined incorrect execution of the instruction is due to a long latency operation. The instruction is routed for immediate re-execution if the incorrect execution is not due to the long latency operation. The routing of the instruction for re-execution is delayed if the incorrect execution is due to the long latency operation. The instruction is re-executed if the instruction did not execute correctly. The instruction is retired if the instruction executed correctly.
    Type: Grant
    Filed: December 31, 2001
    Date of Patent: June 28, 2005
    Assignee: Intel Corporation
    Inventors: Per Hammarlund, Stephan Jourdan
  • Publication number: 20050138321
    Abstract: Systems and methods of processing addresses provide for receiving a full linear address of an instruction and reducing a size of the full linear address to obtain a reduced linear address. A data block can be retrieved from a data array if the reduced linear address corresponds to a tag in a tag array, where the tag array is associated with the data array. The reduced linear address enables the tag array to either be smaller in size or achieve enhanced performance. The data array may be a prediction array of a branch predictor or a cache array of a cache.
    Type: Application
    Filed: December 23, 2003
    Publication date: June 23, 2005
    Inventors: Stephan Jourdan, Chris Yunker, Pierre Michaud
  • Publication number: 20050138341
    Abstract: A method and apparatus for a loop predictor for predicting the end of a loop is disclosed. In one embodiment, the loop predictor may have a predict counter to hold a predict count representing the expected number of times that a predictor stew value will repeat during the execution of a given loop. The loop predictor may also have one or more running counters to hold a count of the times that the stew value has repeated during the execution of the present loop. When the counter values match the predictor may issue a prediction that the loop will end.
    Type: Application
    Filed: December 17, 2003
    Publication date: June 23, 2005
    Inventors: Subramaniam Maiyuran, Peter Smith, Stephan Jourdan
  • Publication number: 20050135178
    Abstract: Embodiments of the present invention provide a method and system for staging the data output from an addressable memory location as a plurality of fields. In embodiments, each field of a data item that is stored at an address may be output during a different clock cycle. In further embodiments, the most time critical field may be output first.
    Type: Application
    Filed: December 19, 2003
    Publication date: June 23, 2005
    Inventors: Stephan Jourdan, Boyd Phelps, Chris Yuker
  • Publication number: 20050138295
    Abstract: Embodiments of the present invention relate to a memory management scheme and apparatus that enables efficient cache memory management. The method includes writing an entry to a store buffer at execute time; determining if the entry's address is in a first-level cache associated with the store buffer before retirement; and setting a status bit associated with the entry in said store buffer, if the address is in the cache in either exclusive or modified state. The method further includes immediately writing the entry to the first-level cache at or after retirement when the status bit is set; and de-allocating the entry from said store buffer at retirement. The method further may comprise resetting the status bit if the cacheline is allocated over or is evicted from the cache before the store buffer entry attempts to write to the cache.
    Type: Application
    Filed: December 23, 2003
    Publication date: June 23, 2005
    Inventors: Per Hammarlund, Stephan Jourdan, Sebastien Hily, Aravindh Baktha, Hermann Gartler
  • Publication number: 20050138334
    Abstract: Embodiments of the present invention relate to a method and system for providing virtual identifiers corresponding to physical registers in a computer processor. According to the embodiments, the virtual identifiers may be used to represent the physical registers during operations in a pipeline of the processor.
    Type: Application
    Filed: December 23, 2003
    Publication date: June 23, 2005
    Inventors: Avinash Sodani, Per Hammarlund, Stephan Jourdan
  • Publication number: 20050138338
    Abstract: Embodiments of the present invention relate to a system and method for implementing functions of a register translation table of a computer processor, with reduced area requirements as compared to known arrangements.
    Type: Application
    Filed: December 18, 2003
    Publication date: June 23, 2005
    Inventors: Avinash Sodani, Stephan Jourdan, Samie Samaan
  • Publication number: 20050132174
    Abstract: Systems and methods of predicting instruction branches provide for independent checking predictions and dynamic next-line predictions. Next-line predictions may also have a latency that is a plurality of clock cycles, where the next line predictions include group predictions. Each group prediction includes a plurality of target addresses corresponding to their plurality of clock cycles. The plurality of target addresses can include a leaf target and one or more intermediate targets, where the leaf target defines a target address of the group prediction.
    Type: Application
    Filed: December 16, 2003
    Publication date: June 16, 2005
    Inventors: Stephan Jourdan, Boyd Phelps, Mark Davis
  • Publication number: 20050132138
    Abstract: A memory cache bank prediction unit is provided for use in a processor having a plurality of memory cache banks. The memory cache bank prediction unit has an input port that receives an instruction. The memory cache bank prediction unit also has an evaluation unit, coupled to the input port, that predicts which of the plurality of memory cache banks is associated with the instruction.
    Type: Application
    Filed: January 28, 2005
    Publication date: June 16, 2005
    Inventors: Adi Yoaz, Ronny Ronen, Lihu Rappoport, Mattan Erez, Stephan Jourdan, Bob Valentine
  • Publication number: 20050071518
    Abstract: According to an embodiment of the invention, a method and apparatus for flag value renaming. An embodiment of a method comprises setting a flag for a processor via a first instruction, the first instruction being either a direct update instruction or an indirect update instruction; if the setting of the flag is by a direct update instruction, executing a succeeding second instruction that reads the flag prior to completion of the first instruction; and if the setting of the flag is by an indirect update instruction, delaying the second instruction until after completion of the first instruction.
    Type: Application
    Filed: September 30, 2003
    Publication date: March 31, 2005
    Inventors: Nicholas Samra, Stephan Jourdan, Jonathan Combs, Avinash Sodani, Per Hammarlund, Michael Cornaby
  • Publication number: 20050071614
    Abstract: A method and system for multiple branch paths in a microprocessor is described. The method includes assigning an identification number (ID) to each of a plurality of micro-operations (uops) to identify a branch path to which the uop belongs, determining whether one or more branches are predicted correctly, determining which of the one or more branch paths are dependent on a mispredicted branch, and determining whether one or more of the plurality of uops belong to a branch path that is dependent on a mispredicted branch based on their assigned IDs.
    Type: Application
    Filed: September 30, 2003
    Publication date: March 31, 2005
    Inventors: Stephan Jourdan, Per Hammarlund, Avinash Sodani, James Allen, Francis McKeen, Pierre Michaud
  • Publication number: 20050027963
    Abstract: A system and method for reducing linear address aliasing is described. In one embodiment, a portion of a linear address is combined with a process identifier, e.g., a page directory base pointer to form an adjusted-linear address. The page directory base pointer is unique to a process and combining it with a portion of the linear address produces an adjusted-linear address that provides a high probability of no aliasing. A portion of the adjusted-linear address is used to search an adjusted-linear-addressed cache memory for a data block specified by the linear address. If the data block does not reside in the adjusted-linear-addressed cache memory, then a replacement policy selects one of the cache lines in the adjusted-linear-addressed cache memory and replaces the data block of the selected cache line with a data block located at a physical address produced from translating the linear address.
    Type: Application
    Filed: August 13, 2004
    Publication date: February 3, 2005
    Inventors: Herbert Hum, Stephan Jourdan, Per Hammarlund
  • Patent number: 6848031
    Abstract: A system and method of fetching processor instructions provides enhanced performance. The method and system provide for receiving a request for an instruction, and searching a cache system at a first level for the instruction. The cache system is searched at a second level for the instruction in parallel with the first level based on a prediction of whether the instruction will be found at the first level.
    Type: Grant
    Filed: January 2, 2002
    Date of Patent: January 25, 2005
    Assignee: Intel Corporation
    Inventor: Stephan Jourdan
  • Publication number: 20030126406
    Abstract: A method for stick and spoke replay in a processor. The method of one embodiment comprises dispatching an instruction for execution. The instruction is speculatively executed. It is determined whether the instruction executed correctly. The instruction is routed to a replay mechanism if the instruction did not execute correctly. It is determined incorrect execution of the instruction is due to a long latency operation. The instruction is routed for immediate re-execution if the incorrect execution is not due to the long latency operation. The routing of the instruction for re-execution is delayed if the incorrect execution is due to the long latency operation. The instruction is re-executed if the instruction did not execute correctly. The instruction is retired if the instruction executed correctly.
    Type: Application
    Filed: December 31, 2001
    Publication date: July 3, 2003
    Inventors: Per Hammarlund, Stephan Jourdan