Instruction Cache Branch Handling in Semiconductor Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In microprocessor systems, the increase in clock frequency leads to higher power consumption and chip area, with memory access delays becoming a bottleneck, especially in systems with large capacity memory, where resetting the instruction queue for branch instructions results in unnecessary memory access and power consumption during short loop processing.

Innovation Solution

The semiconductor device reuses instruction codes stored in the instruction queue during short loop processing by fetching the branch destination instruction from the instruction cache instead of the memory, optimizing power consumption by reducing unnecessary memory access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the instruction queue is reset to fetch instructions from memory for branch instructions, then the CPU can execute branch instructions correctly, but unnecessary memory access occurs during short loop processing causing increased power consumption

Engineering Contradiction:
Improvebranch instruction execution correctnessVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system performs preliminary actions by pre-fetching instructions into the instruction queue before they are needed. When a branch instruction is encountered, the instruction queue already contains the necessary instructions, eliminating the need to reset and re-fetch from memory, thus reducing power consumption while maintaining correct execution

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The instruction queue acts as an intermediary buffer between memory and the CPU execution units. By maintaining instructions in this intermediary structure, the system avoids direct memory access for frequently executed branch instructions, reducing power consumption while ensuring correct branch handling

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the instruction queue is reset for branch instructions, then the CPU can fetch new instructions, but memory access delay increases during short loop processing

Engineering Contradiction:
Improveinstruction fetch efficiencyVSAvoidmemory access delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

Instructions are pre-fetched and stored in the instruction queue before the CPU needs to execute them. This preliminary action eliminates the need for time-consuming memory access during short loop processing, maintaining high productivity while reducing delay

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates a copy of instructions in the instruction queue rather than continuously accessing the original memory. This copying approach allows the CPU to execute instructions from the queue without repeated memory access, reducing time loss while maintaining fetch efficiency

Inventive Principle:
Principle #26Copying

3Ease of operation

If the instruction queue is reset to fetch branch destination instructions, then the CPU can execute the branch, but chip area and power consumption increase due to repeated memory access

Engineering Contradiction:
Improvebranch instruction handlingVSAvoidchip power consumption
Core Design Contradiction:
Ease of operationVSUse of energy by stationary object

Solution Approach 1:

The instruction queue is pre-filled with instructions before branch execution is needed. This preliminary action allows the CPU to handle branch instructions easily by simply reading from the queue rather than performing complex memory access operations, reducing both ease of operation difficulty and power consumption

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9575761B2System and method for updating an instruction cache following a branch instruction in a semiconductor device
Publication Date: 2017.02.21 RENESAS ELECTRONICS CORP
  • US9575761B2 patent drawing
  • US9575761B2 patent drawing
  • US9575761B2 patent drawing

AI summary

A semiconductor device includes a memory for storing a plurality of instructions therein, an instruction queue which temporarily stores the instructions fetched from the memory therein, a central processing unit which executes the instruction supplied from the instruction queue, an instruction cache which stores therein the instructions executed in the past by the central processing unit, and a control circuit which controls fetching of each instruction. When the central processing unit executes a branch instruction, and an instruction of a branch destination is being in the instruction cache and an instruction following the instruction of the branch destination is stored in the instruction queue, the control circuit causes the instruction queue to fetch the instruction of the branch destination from the instruction cache and causes the instruction queue not to fetch the instruction following the instruction of the branch destination.