Extract Cache Attribute Instruction for Register Resource Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computer systems face challenges in efficiently utilizing architecture resources, particularly general registers, which hinders the performance and functionality of software implementations.

Innovation Solution

The introduction of an extract cache attribute instruction that allows for the extraction and saving of cache attributes, such as topology, size, and set-associativity level, enabling improved resource management and performance optimization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If general registers are used for resource management, then software functionality is maintained, but performance and resource utilization efficiency deteriorate

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidarchitecture resource consumption
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts cache attribute information (topology, size, set-associativity level) from the cache system and makes it accessible through a new instruction. This extraction allows software to obtain necessary cache information without consuming general registers for internal cache management, thereby improving resource utilization efficiency while maintaining software functionality.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a specialized cache attribute extraction mechanism that acts as an intermediary between the cache system and software. This intermediary provides detailed cache information through a dedicated instruction, eliminating the need for software to use general registers for cache management queries, thus resolving the contradiction between functionality and efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If detailed cache information is made accessible, then software performance improves, but architecture complexity increases

Engineering Contradiction:
Improvesoftware performanceVSAvoidinstruction set complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the cache information retrieval function from general-purpose instructions by creating a specialized extract cache attribute instruction. This segmentation provides detailed cache information (topology, size, set-associativity) through a dedicated mechanism, improving software performance without significantly increasing overall architecture complexity as the instruction handles specific cache attributes rather than general computation.

Inventive Principle:
Principle #1Segmentation

3Productivity

If cache attributes are extracted and saved, then resource allocation optimization improves, but instruction execution time increases

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidinstruction execution time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent enables preliminary extraction of cache attributes that software can cache and reuse for multiple resource allocation decisions. By extracting cache topology, size, and set-associativity information once and storing it for subsequent operations, the system optimizes resource allocation efficiency while minimizing the time penalty of attribute extraction, as the attributes are extracted beforehand and reused.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10963391B2Extract target cache attribute facility and instruction therefor
Publication Date: 2021.03.30 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10963391B2 patent drawing
  • US10963391B2 patent drawing
  • US10963391B2 patent drawing

AI summary

A facility and cache machine instruction of a computer architecture for specifying a target cache cache-level and a target cache attribute of interest for obtaining a cache attribute of one or more target caches. The requested cache attribute of the target cache(s) is saved in a register.