DMAC Extended Read Write Commands for CPU Function Offloading

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The execution of 'copy' or 'move' operations in programming languages by a central processing unit (CPU) is inefficient due to repeated memory access, leading to long processing times and increased resource consumption, especially when using direct memory access controllers (DMAC).

Innovation Solution

A processing device and method that utilize extended read and write commands to assist the CPU in executing programming language functions, allowing for improved execution speed by transmitting and writing data directly through a bus or memory control device, reducing the need for complex programming codes and resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the CPU executes copy or move operations by repeatedly writing data into memory block, then the programming language function can be executed, but the processing time becomes long and CPU is consumed

Engineering Contradiction:
Improveexecution speed of programming language functionVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent introduces a direct memory access controller (DMAC) as an intermediary device between the CPU and memory blocks. The DMAC executes extended read and write commands to perform data copying operations directly between memory blocks without CPU intervention, thereby reducing CPU consumption and processing time while maintaining execution correctness

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system enables self-service by allowing the DMAC to autonomously execute copy operations using extended commands. The DMAC independently manages data transfer between memory blocks without requiring continuous CPU supervision, making the system self-sufficient for routine data manipulation tasks

Inventive Principle:
Principle #25Self-service

2Productivity

If the programming language is processed via direct memory access controller (DMAC), then execution speed may be improved, but more programming codes and complicated execution processes are required

Engineering Contradiction:
Improveexecution speedVSAvoidcomplexity of execution process
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extends the DMAC's functionality by introducing extended read and write commands that enable the DMAC to execute programming language functions directly. This multi-functional approach allows the DMAC to handle both traditional memory access and complex data manipulation operations, reducing the need for additional dedicated hardware while maintaining execution speed improvements

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

3Productivity

If the CPU repeatedly writes data into memory block to execute copy function, then the programming language function can be implemented, but resource consumption increases

Engineering Contradiction:
Improveexecution efficiency of CPUVSAvoidCPU resource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The DMAC serves as an intermediary that takes over data copying tasks from the CPU. By offloading these routine operations to the DMAC, the CPU conserves energy and computational resources while the DMAC efficiently handles data transfer between memory blocks using extended commands

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11714608B2Device and method for handling programming language function
Publication Date: 2023.08.01 REALTEK SEMICON CORP
  • US11714608B2 patent drawing
  • US11714608B2 patent drawing
  • US11714608B2 patent drawing

AI summary

A processing device used in a bus, for executing a programming language function of a central processing unit (CPU), comprises a receiving circuit, for receiving a joint command from the CPU, to assist the CPU to execute the programming language function, wherein the joint command comprises an extended read command and an extended write command; a transmitting circuit, coupled to the receiving circuit, for transmitting the extended read command to a slave device, to receive a first response message via the receiving circuit in response to the extended read command from the slave device, wherein the first response message comprises at least one data read by the slave device from a memory block; and a writing circuit, coupled to the receiving circuit and transmitting circuit, for writing the at least one data into a destination address corresponding to the programming language function according to the extended write command.