Arithmetic Processing Device Logarithmic Function Computation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for computing logarithmic functions in arithmetic processing devices reduce processing performance due to the need for multiple instructions and complex operations, such as data transfer, bit computation, and shift operations, when using Taylor series decomposition.

Innovation Solution

An arithmetic processing device with dedicated memory units for storing coefficients and a selector to directly access these coefficients based on operand data, allowing for the computation of logarithmic functions using series operations with reduced instruction execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If Taylor series operation is used to compute logarithmic function, then computation can be performed with finite degree and predetermined precision, but processing performance is reduced due to multiple instructions required for coefficient calculation

Engineering Contradiction:
Improvecomputation precisionVSAvoidprocessing performance
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent pre-calculates and stores coefficient values in a lookup table before execution. Instead of computing coefficients during runtime using multiple instructions, the system performs the computation in advance and stores the results for direct retrieval, thereby resolving the contradiction between precision and processing performance

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent divides the logarithmic function computation into separate components: the Taylor series operation term and the coefficient term. By segmenting the computation and storing pre-calculated coefficients in a lookup table, the system achieves both predetermined precision through finite degree truncation and high processing performance through direct table access

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If conventional methods with multiple instructions are used for coefficient calculation, then computation can be performed, but the number of instructions increases and processing performance decreases

Engineering Contradiction:
Improvecomputation capabilityVSAvoidinstruction complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent performs coefficient calculation in advance and stores results in a lookup table, eliminating the need for multiple computation instructions during actual execution. This reduces instruction complexity while maintaining full computation capability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a copy of pre-calculated coefficient values in a lookup table that can be directly accessed. Instead of repeatedly executing complex computation instructions, the system copies and retrieves stored coefficient values, thereby reducing instruction complexity while preserving computation capability

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10037188B2Arithmetic processing device and method of controlling arithmetic processing device
Publication Date: 2018.07.31 FUJITSU LTD
  • US10037188B2 patent drawing
  • US10037188B2 patent drawing
  • US10037188B2 patent drawing

AI summary

An arithmetic processing device includes: a first memory configured to store values of a first coefficient of a logarithmic function, where the logarithmic function is decomposed into a series operation term and the coefficient term, depending on respective values of a first bit group included in operand data of a first instruction to calculate the value of the first coefficient; a second memory configured to store values of a second coefficient included in the series operation term depending on the respective values of the first bit group included in operand data of a second instruction to calculate the value of the second coefficient; and a selector configured to select the value of the first coefficient read from the first memory based on the execution of the first instruction and select the value of the second coefficient read from the second memory based on the execution of the second instruction.