Patents by Inventor Stephan J. Jourdan

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

  • Patent number: 7502912
    Abstract: A method and apparatus for rescheduling operations in a processor. More particularly, the present invention relates to optimally using a scheduler resource in a processor by analyzing, predicting, and sorting the write order of instructions into the scheduler so that the duration the instructions sit idle in the scheduler is minimized. The analyses, prediction, and sorting may be done between an instruction queue and a scheduler by using delay units. The prediction can be based on history (latency, dependency, and resource) or on a general prediction scheme.
    Type: Grant
    Filed: December 30, 2003
    Date of Patent: March 10, 2009
    Assignee: Intel Corporation
    Inventors: Avinash Sodani, Per H. Hammarlund, Stephan J. Jourdan
  • Patent number: 7475225
    Abstract: Microarchitecture policies and structures partition execution resource clusters. In disclosed microarchitecture embodiments, micro-operations representing a sequential instruction ordering are partitioned into a two sets. To one set of micro-operations execution resources are allocated from a cluster of execution resources that can perform memory access operations but not branching operations. To the other set of micro-operations execution resources are allocated from a cluster of execution resources that can perform branching operations but not memory access operations. The first and second sets of micro-operations may be executed out of sequential order but are retired to represent their sequential instruction ordering.
    Type: Grant
    Filed: December 30, 2005
    Date of Patent: January 6, 2009
    Assignee: Intel Corporation
    Inventors: Stephan J. Jourdan, Avinash Sodani, Alexandre J. Farcy, Per Hammarlund, Sebastien Hily, Mark C. Davis
  • Patent number: 7444457
    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: Grant
    Filed: December 23, 2003
    Date of Patent: October 28, 2008
    Assignee: Intel Corporation
    Inventors: Stephan J. Jourdan, Chris E. Yunker, Pierre Michaud
  • Patent number: 7428627
    Abstract: A multi-mode predictor for a processor having a plurality of prediction modes is disclosed. The prediction modes are used to predict non-binary values. The predictor is a multi-mode predictor comprising a per-IP (“PIP”) table and a next value table. The PIP table includes a plurality of PIP information fields and the next value table includes a plurality of fields. The multi-mode predictor also includes a plurality of prediction modes. The processor includes a set of instructions that index the PIP table to provide a valid signal. The processor also includes a set of predicted values for the set of instructions. The set of predicted values is stored in the PIP table and the next value table. According to the valid signal a hit/miss condition in the next value table, a predicted value is selected from the PIP table or the next value table.
    Type: Grant
    Filed: December 29, 2000
    Date of Patent: September 23, 2008
    Assignee: Intel Corporation
    Inventors: Stephan J. Jourdan, Michael Bekerman, Ronny Ronen, Lihu Rappoport
  • Patent number: 7398372
    Abstract: Fusing a load micro-operation (uop) together with an arithmetic uop. Intra-instruction fusing can increase cache memory storage efficiency and computer instruction processing bandwidth within a microprocessor without incurring significant computer system cost. Uops are fused, stored in a cache memory, un-fused, executed in parallel, and retired in order to optimized cost and performance.
    Type: Grant
    Filed: June 25, 2002
    Date of Patent: July 8, 2008
    Assignee: Intel Corporation
    Inventors: Nicholas G. Samra, Stephan J. Jourdan, David J. Sager, Glenn J. Hinton
  • Patent number: 7349284
    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: Grant
    Filed: December 23, 2005
    Date of Patent: March 25, 2008
    Assignee: Intel Corporation
    Inventors: Stephan J. Jourdan, Boyd S. Phelps, Chris E. Yuker
  • Patent number: 7284116
    Abstract: The present invention is directed to an apparatus and method for data collapsing based on control-flow speculation (conditional branch predictions). Because conditional branch outcomes are resolved based on actual data values, the conditional branch prediction provides potentially valuable insight into data values. Upon encountering a branch if equal instruction and this instruction is predicted as taken or a branch if not equal instruction and this instruction is predicted as not taken, this invention assumes that the two operands used to determine the conditional branch are equal. The data predictions are safe because a data misprediction means a conditional branch misprediction which results in a pipeline flush of the instructions following the conditional branch instruction including the data mispredictions.
    Type: Grant
    Filed: December 2, 2002
    Date of Patent: October 16, 2007
    Assignee: Intel Corporation
    Inventors: Stephan J. Jourdan, Freddy Gabbay, Ronny Ronen, Adi Yoaz
  • Patent number: 7260704
    Abstract: A content prefetcher having a prefetch chain reinforcement mechanism. In response to a prefetch hit at a cache line within a prefetch chain, a request depth of the hit cache line is promoted and the hit cache line is scanned for candidate virtual addresses in order to reinforce the prefetch chain.
    Type: Grant
    Filed: June 5, 2002
    Date of Patent: August 21, 2007
    Assignee: Intel Corporation
    Inventors: Robert N. Cooksey, Stephan J. Jourdan
  • Patent number: 7243219
    Abstract: Systems and methods of processing branch instructions provide for a bimodal predictor and a plurality of global predictors. The bimodal predictor is coupled to a prediction selector, where the bimodal predictor generates a bimodal prediction for branch instructions. The plurality of global predictors is coupled to the prediction selector, where each global predictor generates a corresponding global prediction for a branch instruction using different history or stew lengths. The prediction selector selects branch predictions from the bimodal prediction and the global predictions in order to arbitrate between predictors. The arbitration, update, and allocation schemes are designed to choose the most accurate predictor for each branch. Lower level predictors are used as filters to increase effective predictor capacity. Allocate and update schemes minimize aliasing between predictors.
    Type: Grant
    Filed: December 24, 2003
    Date of Patent: July 10, 2007
    Assignee: Intel Corporation
    Inventors: Stephan J. Jourdan, Mark C. Davis, Pierre Michaud
  • Patent number: 7203825
    Abstract: A hybrid branch predictor is disclosed. The predictor includes prediction aiding information, a plurality of branch predictors to provide a plurality of branch predictions, a plurality of storage elements to hold less than full extent of the branch predictions, but sharing information among said plurality of storage elements enables extraction of said full extent of the prediction. The predictor also includes a selection mechanism to select a prediction from the plurality of branch predictions.
    Type: Grant
    Filed: October 3, 2001
    Date of Patent: April 10, 2007
    Assignee: Intel Corporation
    Inventors: Herbert H. J. Hum, Stephan J. Jourdan
  • Patent number: 7181598
    Abstract: In a processing core, a newly received load instruction may be dependent upon a previously received store instruction. The core may include a predictor to predict such dependencies and provide an identification of a colliding store instruction. The load instruction may be stored in a scheduler with a dependency marker. Thereafter, the load instruction may be prevented from executing until after execution of the colliding store. Upon execution of the load, the accuracy of the prediction is confirmed. Upon retirement of the load instruction, new prediction results may be provided to the predictor.
    Type: Grant
    Filed: May 17, 2002
    Date of Patent: February 20, 2007
    Assignee: Intel Corporation
    Inventors: Stephan J. Jourdan, Darrell D. Boggs, John Alan Miller, Ronak Singhal
  • Patent number: 7155599
    Abstract: A processor having a register renaming structure and method is disclosed to recover a free list. The processor includes a physical register file including physical registers. The processor also includes a decoder to decode an instruction to indicate a destination logical register. The processor also includes a register allocation table to map the destination logical register to an allocated physical register. The processor also includes an active list that includes an old field and a new field. The old field includes at least one evicted physical register from the register alias table. The new field includes the allocated physical register. The processor also includes the free list of unallocated physical registers reclaimed from the active list.
    Type: Grant
    Filed: December 29, 2000
    Date of Patent: December 26, 2006
    Assignee: Intel Corporation
    Inventors: Stephan J. Jourdan, Michael Bekerman, Ronny Ronen
  • Patent number: 7143273
    Abstract: Toggling between accessing an entry in a global history with a stew created from branch predictions implied by the ordering of instructions within a trace of a trace cache when a trace is read out of a trace cache, and accessing an entry in a global history with repeatable variations of a stew when there is more than branch instruction within a trace within the trace cache and at least a second branch instruction is read out.
    Type: Grant
    Filed: March 31, 2003
    Date of Patent: November 28, 2006
    Assignee: Intel Corporation
    Inventors: John Alan Miller, Slade A. Morgan, Stephan J. Jourdan
  • Patent number: 7093077
    Abstract: A method and apparatus for issuing one or more next-line prefetch requests from a predicted memory address. The first issued next-line prefetch request corresponds to a cache line having a memory address contiguous with the predicted memory address. Any subsequent next-line prefetch request corresponds to a cache line having a memory address contiguous with a memory address associated with a preceding next-line prefetch request.
    Type: Grant
    Filed: June 5, 2002
    Date of Patent: August 15, 2006
    Assignee: Intel Corporation
    Inventors: Robert N. Cooksey, Stephan J. Jourdan
  • Patent number: 7080236
    Abstract: A stack pointer update technique in which the stack pointer is updated without executing micro-operations to add or subtract a stack pointer value. The stack pointer update technique is also described to reset the stack pointer to a predetermined value without executing micro-operations to add or subtract stack a stack pointer value.
    Type: Grant
    Filed: September 30, 2002
    Date of Patent: July 18, 2006
    Assignee: Intel Corporation
    Inventors: Stephan J. Jourdan, Alan B. Kyker, Nicholas G. Samra
  • Patent number: 7062640
    Abstract: A filtering system for instruction segments determines whether a new instruction segment satisfies a predetermined filtering condition prior to storage. If the instruction segment fails the filtering condition, the new instruction segment is not stored. Various filtering conditions are available; but all filtering conditions test to determine whether it is more likely than not that a new instruction segment will be reused by the execution unit in the future.
    Type: Grant
    Filed: December 14, 2000
    Date of Patent: June 13, 2006
    Assignee: Intel Corporation
    Inventors: Stephan J. Jourdan, Alan Miller, Glenn Hinton
  • Patent number: 7017026
    Abstract: Apparatus and methods to track a register value. A microprocessor can include a first register, a control circuit, and an adder. The first register can store a tracked register value. The control circuit can include an instruction input to receive at least a portion of an instruction and a first output to output an arithmetic operation indication. The adder can include a control input to receive the arithmetic operation indication, a first input to receive an immediate operand of an instruction, and a second input to receive the tracked register value.
    Type: Grant
    Filed: May 18, 2004
    Date of Patent: March 21, 2006
    Assignee: SAE Magnetics (H.K.) Ltd.
    Inventors: Adi Yoaz, Ronny Ronen, Stephan J. Jourdan, Michael Bekerman
  • Patent number: 7002873
    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: Grant
    Filed: December 19, 2003
    Date of Patent: February 21, 2006
    Assignee: Intel Corporation
    Inventors: Stephan J. Jourdan, Boyd S. Phelps, Chris E. Yuker
  • Patent number: 6990551
    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: Grant
    Filed: August 13, 2004
    Date of Patent: January 24, 2006
    Assignee: Intel Corporation
    Inventors: Herbert H. J. Hum, Stephan J. Jourdan, Per H. Hammarlund
  • Patent number: 6954840
    Abstract: A content prefetcher including a virtual address predictor. The virtual address predictor identifies candidate virtual addresses in a cache line without reference to an external address source.
    Type: Grant
    Filed: November 30, 2001
    Date of Patent: October 11, 2005
    Assignee: Intel Corporation
    Inventors: Robert N. Cooksey, Stephan J. Jourdan