Processor Accelerator Memory Mode Switching for Cache Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processors face challenges in efficiently handling neural network computations due to limitations in cache management and data processing, which affect performance and efficiency in deep learning applications.

Innovation Solution

A processor architecture with a neural network unit (NNU) that includes a processing core, a data storage system with a tag directory and mode indicator, and control logic to manage cache lines and accelerator data, allowing for dynamic operation modes to optimize cache eviction and memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the accelerator data storage is used as victim cache to store evicted cache lines, then cache management efficiency is improved, but the accelerator cannot process data stored in this memory

Engineering Contradiction:
Improvecache management efficiencyVSAvoidaccelerator data processing capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The accelerator data storage is configured to dynamically switch between two operational modes: victim cache mode for storing evicted cache lines and accelerator data storage mode for holding accelerator data. This dynamic reconfiguration allows the same memory resource to serve different functions based on operational needs, resolving the contradiction between cache management efficiency and accelerator data processing capability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The accelerator data storage is designed with multi-functionality, serving both as a victim cache for cache management and as a storage for accelerator data processing. By implementing mode switching between victim cache mode and accelerator data storage mode, the system achieves universal usage of the memory resource, eliminating the need for separate dedicated storage structures.

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

2Adaptability or versatility

If the processor architecture includes dynamic mode switching between victim cache and accelerator data storage, then adaptability is improved, but device complexity increases

Engineering Contradiction:
Improveoperational mode flexibilityVSAvoidcache management system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

A single accelerator data storage structure is designed to perform multiple functions through mode switching, eliminating the need for separate dedicated victim cache and accelerator data storage structures. This multi-functional design achieves operational mode flexibility while minimizing the addition of separate hardware components.

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

Solution Approach 2:

The victim cache functionality and accelerator data storage functionality are merged into a single memory structure that can be dynamically reconfigured. This consolidation reduces the overall device complexity by combining what could have been separate memory subsystems into one unified resource with flexible operational modes.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10725934B2Processor with selective data storage (of accelerator) operable as either victim cache data storage or accelerator memory and having victim cache tags in lower level cache wherein evicted cache line is stored in said data storage when said data storage is in a first mode and said cache line is stored in system memory rather then said data store when said data storage is in a second mode
Publication Date: 2020.07.28 VIA ALLIANCE SEMICON CO LTD
  • US10725934B2 patent drawing
  • US10725934B2 patent drawing
  • US10725934B2 patent drawing

AI summary

A first data storage holds cache lines, an accelerator has a second data storage that selectively holds accelerator data and cache lines evicted from the first data storage, a tag directory holds tags for cache lines stored in the first and second data storages, and a mode indicator indicates whether the second data storage is operating in a first or second mode in which it respectively holds cache lines evicted from the first data storage or accelerator data. In response to a request to evict a cache line from the first data storage, in the first mode the control logic writes the cache line to the second data storage and updates a tag in the tag directory to indicate the cache line is present in the second data storage, and in the second mode the control logic instead writes the cache line to a system memory.