Hierarchical Multi-Core Processor for High-Speed Data Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing multi-core processor designs struggle to balance speed, adaptability, and flexibility, making them impractical for real-time high-speed and low-power applications, as they often require specific architecture and software optimization for each purpose, limiting their versatility and ability to adapt to new requirements and applications.

Innovation Solution

A multi-core processor with a tree-like structure featuring hierarchical computing planes, each containing compute, interconnect, and storage elements, allowing for hierarchical decomposition and mapping of application functions, and a programming method that optimizes load balancing and execution throughput by allocating resources and configuring interconnects based on data flow and control mechanisms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a single general purpose processor is used, then adaptability and flexibility are maintained, but processing speed cannot meet real-time computing requirements

Engineering Contradiction:
Improveprocessing speedVSAvoidadaptability
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The processor is divided into multiple independent computing cores (first core and second core) that can operate in parallel. Each core can execute different instructions simultaneously, enabling the system to achieve higher processing speeds while maintaining the ability to handle diverse applications through flexible task distribution across cores.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical memory structure with multiple levels (first level memory, second level memory) and multiple memory controllers. This adds a dimensional aspect to data access by enabling parallel memory operations at different hierarchical levels, thereby increasing processing speed without sacrificing adaptability.

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

2Speed

If specialized cores are used to achieve high speed, then processing speed is improved, but flexibility and adaptability are reduced

Engineering Contradiction:
Improveprocessing speedVSAvoidflexibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The computing cores are designed with universal instruction set architecture that allows them to execute various types of instructions for different applications. The cores can be configured to handle both specialized high-speed computations and general-purpose tasks, achieving multi-functionality that balances speed and flexibility.

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

Solution Approach 2:

The processor includes dynamic task scheduling mechanisms that can allocate different computing cores to different applications based on real-time requirements. This dynamic configuration allows the system to optimize performance for specific workloads while maintaining the ability to adapt to changing application needs.

Inventive Principle:
Principle #15Dynamics

3Productivity

If architecture is designed specifically for intended purpose, then optimal device speed is achieved, but design costs cannot be amortized over multiple applications

Engineering Contradiction:
Improvedevice speedVSAvoidprogrammability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The processor architecture is segmented into modular components including multiple independent cores, hierarchical memory subsystems, and separate memory controllers. This modularity allows the design to be optimized for high-speed performance in specific domains while maintaining the flexibility to reconfigure and amortize costs across multiple applications through software programming.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system enables parameter changes in memory access patterns and data processing configurations through software control. By dynamically adjusting memory hierarchy utilization and data processing parameters, the processor can optimize performance for different applications without requiring hardware redesign, thereby amortizing design costs.

Inventive Principle:
Principle #35Parameter changes

4Productivity

If hierarchical computing planes are implemented, then resource allocation and load balancing are optimized, but device complexity increases

Engineering Contradiction:
Improveexecution throughputVSAvoidarchitecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The computing architecture is segmented into hierarchical levels with multiple computing planes, each handling specific computational tasks. This segmentation enables optimized resource allocation and load balancing by distributing work across different hierarchical levels, improving execution throughput while managing complexity through structured organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Memory controllers act as intermediary components between the hierarchical memory levels and the computing cores. These intermediaries manage data transfer and coordination between different hierarchical planes, enabling optimized resource allocation and load balancing while abstracting the complexity of the hierarchical structure from the computing cores.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9075768B2Hierarchical multi-core processor and method of programming for efficient data processing
Publication Date: 2015.07.07 AXIS SEMICONDUCTOR INC
  • US9075768B2 patent drawing
  • US9075768B2 patent drawing
  • US9075768B2 patent drawing

AI summary

A multi-core processor includes a tree-like structure having a plurality of computing cores arranged in hierarchical levels, the cores all having the same logical architecture. Each core can include computing, interconnecting, and/or storage elements. The functionality of an individual element can be supplied by an entire core in a lower level. A method for programming the processor includes hierarchically decomposing an application into interconnected sub-functions, mapping the sub-functions onto groups of cores at appropriate levels of the processor, and interconnecting the mapped sub-functions so as to hierarchically compose the complete application. Sub-functions can be sequential, concurrent, and/or pipelined. Interconnections can be static or dynamically switchable under program control. Interconnect elements can also be used to implement flow control as needed in pipelined operations to maintain data coherency. The decomposing and mapping process can be iterated on sub-functions so as to optimize load balancing, software performance, and hardware efficiency.