Vector Cache Line Write Back Instructions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processor architectures face challenges in efficiently managing cache coherency and persistency of data across multiple cores and memory types, particularly in ensuring that data is correctly and persistently written back from caches to memory, especially in systems using persistent memory.

Innovation Solution

The introduction of vector cache line write back instructions that allow for the simultaneous writing back of multiple cache lines to memory, utilizing a source packed memory indices operand to specify memory addresses and optionally incorporating a data operation mask for selective operations, thereby simplifying cache management and reducing the need for scalar instructions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If scalar instructions are used for cache line write backs, then individual cache lines can be written back, but the instruction overhead increases and processing efficiency decreases

Engineering Contradiction:
Improvecache line write back efficiencyVSAvoidinstruction overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent combines multiple scalar cache line write back operations into a single vector instruction that can process multiple cache lines simultaneously. The vector cache line write back instruction takes a vector operand containing multiple cache line identifiers and writes back all specified cache lines in one operation, thereby reducing instruction overhead and improving processing efficiency.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent transitions from scalar (one-dimensional) cache line write back operations to vector (multi-dimensional) operations. By introducing vector registers and vector instructions, the system can handle multiple cache line identifiers and perform multiple write back operations in parallel, effectively adding a dimension to the operation capability.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Ease of operation

If multiple scalar instructions are used to write back multiple cache lines, then each cache line can be addressed individually, but the programming complexity increases

Engineering Contradiction:
Improvecache management simplicityVSAvoidprogramming complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent merges multiple individual cache line write back instructions into a single vector instruction. Instead of requiring separate instructions for each cache line, the vector instruction accepts a vector operand containing multiple cache line identifiers and processes them all in one operation, significantly simplifying the programming model.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If traditional cache coherency mechanisms are used, then data consistency can be maintained, but the performance overhead increases especially in systems with persistent memory

Engineering Contradiction:
Improvedata coherencyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent enables preliminary identification of cache lines that need to be written back using vector operands before the actual write back operation. By pre-specifying multiple cache line identifiers in a vector register, the system can prepare the write back operation in advance and execute it efficiently in a single step, reducing performance overhead while maintaining data coherency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10782969B2Vector cache line write back processors, methods, systems, and instructions
Publication Date: 2020.09.22 INTEL CORP
  • US10782969B2 patent drawing
  • US10782969B2 patent drawing
  • US10782969B2 patent drawing

AI summary

A processor of an aspect includes a plurality of packed data registers, and a decode unit to decode a vector cache line write back instruction. The vector cache line write back instruction is to indicate a source packed memory indices operand that is to include a plurality of memory indices. The processor also includes a cache coherency system coupled with the packed data registers and the decode unit. The cache coherency system, in response to the vector cache line write back instruction, to cause, any dirty cache lines, in any caches in a coherency domain, which are to have stored therein data for any of a plurality of memory addresses that are to be indicated by any of the memory indices of the source packed memory indices operand, to be written back toward one or more memories. Other processors, methods, and systems are also disclosed.