Electrical computers and digital processing systems: processing – Instruction fetching – Prefetching
Reexamination Certificate
2003-12-03
2011-11-29
Fennema, Robert (Department: 2183)
Electrical computers and digital processing systems: processing
Instruction fetching
Prefetching
Reexamination Certificate
active
08069336
ABSTRACT:
Various embodiments of methods and systems for implementing a microprocessor that includes a trace cache and attempts to transition fetching from instruction cache to trace cache only on label boundaries are disclosed. In one embodiment, a microprocessor may include an instruction cache, a branch prediction unit, and a trace cache. The prefetch unit may fetch instructions from the instruction cache until the branch prediction unit outputs a predicted target address for a branch instruction. When the branch prediction unit outputs a predicted target address, the prefetch unit may check for an entry matching the predicted target address in the trace cache. If a match is found, the prefetch unit may fetch one or more traces from the trace cache in lieu of fetching instructions from the instruction cache.
REFERENCES:
patent: 3896419 (1975-07-01), Lange et al.
patent: 5210843 (1993-05-01), Ayers
patent: 5381533 (1995-01-01), Peleg et al.
patent: 5881261 (1999-03-01), Favor et al.
patent: 5896528 (1999-04-01), Katsuno et al.
patent: 5930497 (1999-07-01), Cherian et al.
patent: 6014742 (2000-01-01), Krick et al.
patent: 6167536 (2000-12-01), Moann
patent: 6185675 (2001-02-01), Kranich et al.
patent: 6195744 (2001-02-01), Favor et al.
patent: 6216206 (2001-04-01), Peled et al.
patent: 6233678 (2001-05-01), Bala
patent: 6247121 (2001-06-01), Akkary et al.
patent: 6256727 (2001-07-01), McDonald
patent: 6256728 (2001-07-01), Witt et al.
patent: 6339822 (2002-01-01), Miller
patent: 6345295 (2002-02-01), Beardsley et al.
patent: 6357016 (2002-03-01), Rodgers et al.
patent: 6449714 (2002-09-01), Sinharoy
patent: 6493821 (2002-12-01), D'Sa et al.
patent: 6578128 (2003-06-01), Arsenault et al.
patent: 6823428 (2004-11-01), Rodriguez et al.
patent: 6973543 (2005-12-01), Hughes
patent: 7003629 (2006-02-01), Alsup
patent: 2002/0095553 (2002-07-01), Mendelson et al.
patent: 2002/0144101 (2002-10-01), Wang et al.
patent: 2003/0023835 (2003-01-01), Kalafatis et al.
patent: 2004/0083352 (2004-04-01), Lee
patent: 2004/0143721 (2004-07-01), Pickett et al.
patent: 2004/0193857 (2004-09-01), Miller et al.
patent: 2004/0216091 (2004-10-01), Groeschel
patent: 2005/0076180 (2005-04-01), Smaus et al.
patent: 2005/0125613 (2005-06-01), Kim et al.
patent: 2005/0125632 (2005-06-01), Alsup et al.
patent: 0 957 428 (1999-11-01), None
patent: 2 381 101 (2003-04-01), None
patent: 2005/041024 (2006-05-01), None
Rotenberg et al. “Trace Cache: A Low Latency Approach to High Bandwidth Instruction Fetching”. Published in the Proceedings of the 29th Annual International Symposium on Microarchitecture, Dec. 2-4, 1996. pp. 24-35.
Braught, Grant. “Class #21—Assemblers, Labels & Pseudo Instructions”. Nov. 16, 2000.
Patterson, David. Hennessy, John. “Computer Architecture: A Quantitative Approach”. Morgan Kaufmann Publishers, Inc, 2nd Edition, 1996. pp. 271-278.
Xia, Huaxia. “Using Trace Cache in SMT”. Jun. 10, 2001.
International Search Report and Written Opinion for PCT/US2004/039269, mailed Dec. 12, 2005, 11 pages.
Yuan Chou, et al., “Instruction Path Coprocessors,” Mar. 2000, pp. 1-24.
Friendly, et al., “Putting the Fill Unit to Work: Dynamic Organizations for Trace Cache Microprocessors,” Dept. of Electrical Engineering and Computer Sciences, The Univ. of Michigan, Dec. 1998, 9 pages.
Bryan Black, et al., “Turboscalar: A High Frequency High IPC Microarchitecture,” Dept. of Electrical and Computer Engineering, Carnegie Mellon Univ., Jun. 2000, pp. 1.
Merten, et al., “An Architectural Framework for Run-Time Optimization,” Jun. 2001, pp. 1-43.
Jourdan, et al., “Increasing the Instruction-Level Parallelism through Data-Flow Manipulation,” Intel, 11 pages.
Hinton, G., et al., “A 0.18-MUM CMOS IA-32 Processor with a 4-GHZ Integer Execution Unit,” IEEE Journal of Solid-State Circuits, vol. 36, No. 11, Nov. 2001, pp. 1617-1627.
Sanjay J. Patel, et al., “replay: A Hardware Framework for Dynamic Optimization,” IEEE, vol. 50, No. 6, Jun. 2001, pp. 590-608.
Jacobson, et al., “Instruction Pre-Processing in Trace Processors,” IEEE Xplore, Jan. 1999, 6 pages.
Bryan Black, et al., “The Block-Based Trace Cache,” IEEE, 1999, pp. 196-207.
Palmer, et al., “Fido: A Cache That Learns to Fetch,” Proceedings of the 17thInternational Conference on Very Large Data Bases, Barcelona, Sep. 1991, pp. 255-264.
Chen et al., “Eviction Based Cache Placement for Storage Caches,” USENIX 2003 Annual Technical Conference, (13 pages).
Examination Report for UK 0611775.8, mailed Nov. 30, 2006, 5 pages.
Lai, et al., “Dead-Block Prediction & Dead-Block Correlating Prefetchers,” 2001 IEEE, 11 pages.
Slechta, et al., “Dynamic Optimization of Micro-Operations,” 2002 IEEE, 12 pages.
Jacobson, “High-Performance Frontends for Trace Processors,” University of Wisconson-Madison, 1999, pp. 19, 20, 36, 37, 104-122.
U.S. Appl. No. 10/822,468, filed Apr. 12, 2004, Alsup, et al.
Alsup Mitchell
Smaus Gregory William
Fennema Robert
Globalfoundries Inc.
Kowert Robert C.
Meyertons Hood Kivlin Kowert & Goetzel P.C.
LandOfFree
Transitioning from instruction cache to trace cache on label... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Transitioning from instruction cache to trace cache on label..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Transitioning from instruction cache to trace cache on label... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-4297068