Microprocessor Instruction Decoding with Packed Operand Lookup

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In microprocessors, executing computer instructions with complex arithmetic operations, such as those involving packed operands, is inefficient due to the need for out-of-order execution of multiple micro-operations, which prolongs the completion time.

Innovation Solution

A method and apparatus that decode computer instructions into micro-instructions with packed operands, generating addresses to read approximations from a lookup table, optimizing the execution process by reducing the number of stages required to complete operations, specifically using a Decoding Unit, ROM, ROM controller, address generator, and controller to direct the generation of addresses for reciprocal approximations of SPFP or DPFP values.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a computer instruction with packed operand is decoded into multiple micro-operations for out-of-order execution, then the microprocessor can execute instructions in parallel, but the execution time is prolonged due to excessive number of micro-operations

Engineering Contradiction:
Improveinstruction execution throughputVSAvoidinstruction completion time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent combines multiple micro-operations into a single micro-operation that processes all packed operands simultaneously. Instead of generating separate micro-operations for each operand, the invention creates one unified micro-operation that handles all n input parameters in parallel, reducing the total number of micro-operations and enabling faster instruction completion while maintaining out-of-order execution capability

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces a new dimension of parallelism by processing multiple operands within a single micro-operation through vectorized operations. The execution unit is designed to handle n input parameters simultaneously using a single instruction, effectively adding a dimension of operand-level parallelism without increasing the number of micro-operations

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Ease of operation

If multiple micro-operations are generated for complex arithmetic operations, then the operations can be broken down into basic steps, but the number of execution stages increases from five to seven stages

Engineering Contradiction:
Improveoperation decomposabilityVSAvoidexecution pipeline stages
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent merges multiple decomposition steps into a single unified micro-operation that performs complex arithmetic operations on all packed operands simultaneously. The execution unit integrates multiple functional capabilities (arithmetic operations, logical operations, data transfer) into one cohesive operation, reducing the pipeline stage count from seven to five while maintaining operational decomposability

Inventive Principle:
Principle #5Merging (Combining)

3Speed

If a lookup table is used to store approximations for all possible input values, then the execution speed is improved, but the memory size and device complexity increase

Engineering Contradiction:
Improveapproximation lookup speedVSAvoidlookup table size
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent segments the lookup table into multiple smaller tables, each handling a specific range or type of input values. This segmentation allows the system to maintain fast lookup performance while reducing the size of individual tables and enabling selective access based on input characteristics, thereby lowering overall device complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent optimizes the lookup table structure by organizing data in a multi-dimensional format that allows efficient access patterns. By changing the organization dimension of the lookup table, the system achieves fast retrieval performance with reduced memory requirements through compact storage layouts

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS10275252B2Methods for executing a computer instruction and apparatuses using the same
Publication Date: 2019.04.30 VIA ALLIANCE SEMICON CO LTD
  • US10275252B2 patent drawing
  • US10275252B2 patent drawing
  • US10275252B2 patent drawing

AI summary

The invention introduces a method for executing a computer instruction, which contains at least the following steps: decoding the computer instruction to generate a micro-instruction at least containing an opcode (operation code) and a packed operand, where the packed operand contains all n input parameters corresponding to the computer instruction; generating n addresses of the n input parameters according to the opcode and the packed operand; and reading n approximations corresponding to the n addresses from a lookup table.