Microprocessor Static Scheduling for Reduced Chip Area
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Productivity
If multiple read and write ports are added to the register file, then instruction execution throughput is improved, but chip area increases
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.
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.
Data Source
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.


