Programmable Microcode Unit for Multi-Stream Instruction Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional microcode units are limited in size and scope, making it difficult to support a large number of instructions and are often specialized for specific applications, limiting design reuse and requiring different units for different processor designs, with no way to correct faults in manufactured chips.

Innovation Solution

A programmable microcode unit that can be programmed via software to modify instruction sequences in response to microcode instructions, allowing customization for specific applications and hardware configurations, and enabling updates to correct faults.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional microcode units are specialized for specific applications, then they can be optimized for particular tasks, but they cannot support multiple applications and require different units for different processor designs

Engineering Contradiction:
Improveoptimization for particular tasksVSAvoidsupport for multiple applications
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The microcode unit employs dynamic reconfigurability where the instruction sequence storage and microcode instruction mapping are changeable through software programming. This allows the same hardware unit to be reconfigured for different applications and processor designs without physical hardware changes, resolving the contradiction between task optimization and multi-application support

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameters of the microcode unit by allowing software-based reconfiguration of instruction sequences and mappings. This enables the unit to adapt its functionality for different applications while maintaining the same hardware architecture, achieving both specialization optimization and versatility

Inventive Principle:
Principle #35Parameter changes

2Reliability

If conventional microcode units are specialized for specific applications, then they can be optimized for particular tasks, but they cannot be updated to correct faults in manufactured chips

Engineering Contradiction:
Improveoptimization for particular tasksVSAvoidability to correct faults
Core Design Contradiction:
ReliabilityVSEase of repair

Solution Approach 1:

The microcode unit allows dynamic updates through software programming even after chip manufacture. Faults can be corrected by reprogramming the instruction sequence storage and mapping structures, enabling post-manufacturing repairs without requiring hardware changes or chip recalls

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent uses software-based copying of corrected instruction sequences into the microcode unit's storage. This allows fault correction by overwriting erroneous microcode with corrected versions, similar to how software updates fix bugs without physical hardware changes

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If the microcode unit is made programmable to support multiple applications, then adaptability improves, but device complexity increases

Engineering Contradiction:
Improvesupport for multiple applicationsVSAvoidprogrammability mechanisms
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal microcode unit architecture that can handle multiple applications through a single programmable structure. The same hardware resources (instruction sequence storage, mapping logic, execution units) serve all applications by being reconfigured through software, avoiding the need for separate dedicated units for each application

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

Solution Approach 2:

The patent introduces software as an intermediary layer between the hardware and application requirements. This software-based configuration layer manages the complexity of reconfiguration by providing user-friendly programming interfaces while abstracting the underlying hardware complexity, allowing easy adaptation without exposing system complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9122465B2Programmable microcode unit for mapping plural instances of an instruction in plural concurrently executed instruction streams to plural microcode sequences in plural memory partitions
Publication Date: 2015.09.01 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9122465B2 patent drawing
  • US9122465B2 patent drawing
  • US9122465B2 patent drawing

AI summary

A method and circuit arrangement utilize a programmable microcode unit that is capable of being programmed via software to modify the instruction sequences output by the microcode unit in response to microcode instructions issued to the microcode unit. Multiple instruction sequences may be stored in different partitions defined in one or more rewriteable memories such that different instruction sequences may be output for different instances of a microcode instruction executing in different, concurrently-executing instruction streams.