Microprocessor Static Scheduling for Reduced Chip Area

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current superscalar microprocessors face challenges in efficiently extending instruction sets while minimizing power consumption and chip area, due to increased complexity and power dissipation from dynamic scheduling and additional functional units.

Innovation Solution

A processor with a time counter that statically dispatches instructions based on preset execution times, using a time-resource matrix to manage resource availability and reduce the number of read and write ports, thereby simplifying design and improving scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If dynamic scheduling of instructions is implemented in out-of-order superscalar microprocessors, then instruction execution performance is improved, but power consumption and device complexity increase dramatically

Engineering Contradiction:
Improveinstruction execution performanceVSAvoidscheduling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent inverts the conventional dynamic scheduling approach by implementing a static scheduling mechanism. Instead of dynamically selecting instructions for execution based on real-time conditions, the system pre-calculates and fixes the execution schedule based on instruction dependencies and resource availability. This inversion eliminates the complex dynamic arbitration logic while maintaining efficient instruction execution through predetermined scheduling.

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The patent applies preliminary action by pre-scheduling instruction execution before the actual execution occurs. The static scheduler analyzes instruction dependencies, resource requirements, and timing constraints in advance to determine the optimal execution sequence. This preliminary scheduling eliminates the need for complex real-time dynamic scheduling decisions, reducing both device complexity and power consumption while maintaining high productivity.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If extended instruction sets with additional functional units are added, then specialized application performance is improved, but chip area and device complexity increase

Engineering Contradiction:
Improveextended instruction set capabilityVSAvoidchip area
Core Design Contradiction:
Adaptability or versatilityVSArea of stationary object

Solution Approach 1:

The patent implements multi-functionality by designing functional units that can execute multiple types of instructions through a unified static scheduling architecture. Instead of dedicated hardware for each extended instruction type, the system uses a single set of functional units that can be assigned different functions based on the pre-calculated execution schedule. This universality enables extended instruction sets without proportionally increasing chip area.

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

Solution Approach 2:

The static scheduling system performs preliminary analysis of extended instruction requirements and pre-allocates resources accordingly. By analyzing instruction dependencies and resource needs in advance, the system can efficiently pack multiple functional units into a compact architecture, reducing the overall chip area while maintaining support for extended instruction sets and specialized applications.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If multiple read and write ports are added to the register file, then instruction execution throughput is improved, but chip area increases

Engineering Contradiction:
Improveinstruction execution throughputVSAvoidchip area
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The static scheduling system performs preliminary determination of register access patterns and pre-establishes the timing sequence for read and write operations. By analyzing dependency chains in advance, the system can optimize the schedule to minimize the number of simultaneous register ports needed. This preliminary planning enables high throughput with fewer physical ports by clever temporal multiplexing of register accesses.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces dynamic resource allocation within the static scheduling framework. While the overall execution schedule is fixed, the system dynamically assigns read and write port resources based on the specific timing requirements of each instruction. This dynamic allocation within a static framework allows the system to achieve high throughput by activating only the necessary ports at each time step, reducing the total chip area required compared to providing maximum ports for all operations simultaneously.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12106114B2Microprocessor with shared read and write buses and instruction issuance to multiple register sets in accordance with a time counter
Publication Date: 2024.10.01 SIMPLEX MICRO INC
  • US12106114B2 patent drawing
  • US12106114B2 patent drawing
  • US12106114B2 patent drawing

AI summary

A processor includes a time counter and a time-resource matrix and statically dispatches baseline and extended instructions. The processor includes a plurality of register sets of a register file and a plurality of sets of functional units which are coupled by sets of dedicated read and write buses to allow parallel execution of baseline and extended instructions.