Event Address Register History Buffer for Cache Miss Prediction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processor performance is limited by cache misses, particularly for complex memory reference patterns, as existing hardware and software prefetching methods are ineffective and require significant storage or are not cost-effective.

Innovation Solution

A computer processor and method that utilize an event address register history buffer to analyze cache miss patterns and modify the program dynamically to eliminate or mitigate cache misses by inserting prefetch instructions based on detected relationships and correlations, such as runtime stride, sequential locality, and temporal relationships.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If Markov prefetching is used to learn miss correlations and yield more effective prefetching, then prefetching effectiveness is improved, but the amount of on-chip storage required increases significantly

Engineering Contradiction:
Improveprefetching effectivenessVSAvoidon-chip storage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential information from cache miss events (instruction address, data address, stride, timing) and stores it in a compact history buffer, rather than storing complete event traces or using complex data structures. This extraction reduces storage requirements while preserving the information needed for correlation analysis and prefetching optimization.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the cache miss history into discrete, manageable entries in the event address register history buffer, where each entry represents a single miss event with key attributes. This segmentation allows the system to track correlations without requiring large continuous storage spaces, enabling efficient correlation-based prefetching with reduced on-chip storage.

Inventive Principle:
Principle #1Segmentation

2Reliability

If software prefetching is performed by the compiler based on cache miss profiles, then cache prefetching effectiveness is improved, but device complexity increases

Engineering Contradiction:
Improvecache prefetching effectivenessVSAvoidcompiler optimization complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system uses hardware-based event address registers and history buffers to automatically collect and store cache miss information, eliminating the need for complex software profiling tools or manual analysis. The hardware infrastructure self-services the data collection function, simplifying the overall system while enabling effective compiler-based prefetching optimization.

Inventive Principle:
Principle #25Self-service

3Measurement precision

If event address register history buffer is implemented to track cache miss patterns, then cache miss prediction accuracy is improved, but processor architecture complexity increases

Engineering Contradiction:
Improvecache miss prediction accuracyVSAvoidprocessor architecture complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The event address register history buffer serves multiple functions: it tracks cache miss events, stores event information for correlation analysis, provides data for prefetching decisions, and enables performance monitoring. By making this single structure multi-functional, the patent improves prediction accuracy without proportionally increasing architecture complexity, as the same hardware infrastructure supports multiple optimization needs.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS7984265B2Event address register history buffers for supporting profile-guided and dynamic optimizations
Publication Date: 2011.07.19 ORACLE AMERICAN INC
  • US7984265B2 patent drawing
  • US7984265B2 patent drawing
  • US7984265B2 patent drawing

AI summary

A computer processor and a method of using the computer processor take advantage of information in the event address register of the computer processor by saving information from the event address register to an event address register history buffer. Thus, the event address register history buffer includes a cluster of events associated with execution of a computer program. The cluster of events is analyzed and the computer program modified, either statically or dynamically, to eliminate or at least ameliorate the effects of such events in further execution of the computer program.