XiangShan Vector Floating-Point Unit Design

https://news.ycombinator.com/rss Hits: 15
Summary

VFPU Version: V2R2 Status: OK Date: 2025/01/20 commit:xxx Glossary of Terms Abbreviation Full name Descrption VFPU Vector Floating-Point Unit Vector Floating-Point Functional Unit IQ Issue Queue Issue Queue Design specifications Support Vector Floating-Point Mul Calculation Support vector floating-point FMA computation Support Vector Floating-Point Div Calculation Support for vector floating-point Sqrt computation Supports fp32, fp64, fp16 computation Supports computation of RV-V1.0 version vector floating-point instructions Function The VFPU module receives uop information issued from the Issue Queue and performs vector floating-point instruction calculations based on fuType and fuOpType information. It mainly consists of four modules: VFAlu, VFMA, VFDivSqrt, and VFCvt. VFAlu is primarily responsible for fadd-related instructions and some other simple instructions, such as comparison instructions and sign injection instructions. Notably, the reduction sum instruction is also computed in this module by splitting into micro-operations (uops). VFMA is primarily responsible for multiplication and multiply-add related instructions. VFDivSqrt is primarily responsible for instructions related to division and square root. VFCvt is primarily responsible for format conversion and reciprocal estimation-related instructions. Algorithm design The challenge of the vector floating-point unit lies in supporting multiple single-precision format calculations (where the floating-point formats of operands and results are the same) and mixed-precision calculations (where the floating-point formats of operands and results differ). Taking common formats such as half-precision (\(f16\)), single-precision (\(f32\)), and double-precision (\(f64\)) as examples, the differences between scalar and vector floating-point units are compared. Taking a typical floating-point addition as an example, for a scalar floating-point unit, it only needs to support calculations in three single-precision for...

First seen: 2025-10-04 23:59

Last seen: 2025-10-05 14:01