Trace cache for efficient self-modifying code processing

Electrical computers and digital processing systems: memory – Storage accessing and control – Hierarchical memories

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S125000, C711S135000

Reexamination Certificate

active

07606975

ABSTRACT:
A trace cache for efficient self-modifying code processing enables selective invalidation of entries of the trace cache, advantageously retaining some of the entries in the trace cache even during self-modifying code events. Instructions underlying trace cache entries are monitored for modification in groups, enabling advantageously reduced hardware. Associated with trace cache entries are one or more translation ages, determined when the entry is built by sampling current ages of memory blocks underlying the entry. When the entry is accessed and micro-operations therein are processed, each of the translation ages of the accessed entry are compared with the current ages of the memory blocks underlying the accessed entry. If any of the age comparisons fail, then the micro-operations are aborted and the entry is invalidated. When any portion of a memory block is modified, the current age of the modified memory block is incremented.

REFERENCES:
patent: 4912707 (1990-03-01), Kogge et al.
patent: 5381533 (1995-01-01), Peleg et al.
patent: 5568380 (1996-10-01), Brodnax et al.
patent: 5632023 (1997-05-01), White et al.
patent: 5649136 (1997-07-01), Shen et al.
patent: 6014742 (2000-01-01), Krick et al.
patent: 6018786 (2000-01-01), Krick et al.
patent: 6031992 (2000-02-01), Cmelik et al.
patent: 6185675 (2001-02-01), Kranich et al.
patent: 6449714 (2002-09-01), Sinharoy
patent: 6604060 (2003-08-01), Ryan et al.
patent: 6671766 (2003-12-01), Vandenbergh et al.
patent: 6895460 (2005-05-01), Desoli et al.
patent: 2002/0144101 (2002-10-01), Wang et al.
patent: 2005/0289529 (2005-12-01), Almog et al.
patent: 2006/0179346 (2006-08-01), Bishop et al.
Almog, Y. et al., Specialized Dynamic Optimizations for High-Performance Energy-Efficient Microarchitecture, Proceedings of the International Symposium on Code Generation and Optimization, 2004 (12 pages).
Chaparro, P. et al., Distributing the Fronted for Temperature Reduction, Proceedings of the 11th Symposium on High-Performace Computer Architecture, Feb. 12-16, 2005 (10 pages).
Colwell, R. P. et al., A VLIW Architecture for a Trace Scheduling Compiler, 1987, pp. 180-192 (13 pages).
Fisher, J. A., Trace Scheduling: A Technique for Global Microcode Compaction, IEEE Transactions on Computers, vol. C-30, No. 7, Jul. 1981, pp. 478-490 (13 pages).
Friendly, D. et al, Putting the Fill Unit to Work: Dynamic Optimizations for Trace Cache Microprocessors, Proceedings of the 31st Annual ACM/IEEE International Symposium on Microarchitecture, Nov. 30-Dec. 2, 1998, pp. 173-181 (9 pages).
Grunwald, D. and Ghiasi, S., Microarchitectural Denial of Service : Insuring Microarchitectural Fairness, Proceedings of the 35th Annual IEEE/ACM International Symposium on Microarchitecture, Nov. 18-22, 2002 (10 pages).
Hinton, G. et al., The Microarchitecture of the Pentium 4 Processor, Intel Technology Journal Q1, 2001 (12 pages).
IBM Technical Disclosure Bulletin, Grouping of Instructions, v. 38, n. 8, Aug. 1, 1995, pp. 531-534 (4 pages).
Katevenis, E. G., Reduced Instruction Set Computer Architectures for VLSI, Berkley, California 1983, pp. 67-68 and 190 (7 pages).
Rotenberg, E., Bennett, S., and Smith, J. E., Trace Cache: a Low Latency Approach to High Bandwidth Instruction Fetching, In Proceedings of the 29th Annual International Symposium on Microarchitecture, Dec. 2-4, 1996, Paris, France (11 pages).
Slechta, B. et al, Dynamic Optimization of Micro-Operations, Proceedings of The 9th International Symposium on High-Performance Computer Architecture, Feb. 8-12, 2003 (12 pages).
Smith, J. E. and Pleszkun, A. R., Implementation of Precise Interrupts in Pipelined Processors, Proc. Computer Architecture, 1985 (15 pages).
Tremblay, M., High-Performance Fault-Tolerant VLSI Systems Using Micro Rollback, Los Angeles, California, Sep. 1991, pp. 72-74, 81, 89-90, 102-104 and 246 (14 pages).
Vijaykumar, T. N., et al., Speculative Versioning Cache, IEEE Transaction on Parallel and Distributed Systems, vol. 12, No. 12, Dec. 2001, pp. 1305-1317 (13 pages).
Patel, S., Lumetta, S., “rePlay: A Hardware Framework for Dynamic Optimization”, IEEE Transactions on Computers, vol. 50, No. 6, Jun. 2001 (19 pages).
Tanenbaum, A.S., “Structured Computer Organization”, Prentice-Hall, 2nd Edition, 1984, (20 pages).

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Trace cache for efficient self-modifying code processing does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Trace cache for efficient self-modifying code processing, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Trace cache for efficient self-modifying code processing will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-4072062

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.