DOI QR코드

DOI QR Code

Division-by-Convergence 방식을 사용하는 24-비트 부동소수점 제산기에 대한 OpenGL 정확도의 대수적 검증

Algebraic Accuracy Verification for Division-by-Convergence based 24-bit Floating-point Divider Complying with OpenGL

  • Yoo, Sehoon (Dept. of Electrical and Computer Engineering, University of Seoul) ;
  • Lee, Jungwoo (Dept. of Electrical and Computer Engineering, University of Seoul) ;
  • Kim, Kichul (Dept. of Electrical and Computer Engineering, University of Seoul)
  • 투고 : 2013.08.30
  • 심사 : 2013.09.16
  • 발행 : 2013.09.30

초록

모바일 시스템에서는 비용 및 전력 효율이 중요하기 때문에 부동소수점 연산기 개발 시 32-비트 데이터 형식대신 24-비트 데이터 형식을 사용하는 것이 좋다. 하지만 24-비트 데이터 형식을 사용할 경우 32-비트 데이터 형식에 비해 연산기의 정확도가 낮아질 수 있다. 3D 그래픽과 같이 연속적인 부동소수점 연산 처리가 많이 요구될 경우 연산기의 정확도에 대한 논의와 검증이 중요하다. 나눗셈은 3D 그래픽에 사용되는 연산 중 OpenGL에서 규정한 정확도를 만족하기 가장 어려운 연산 중 하나이다. 현재까지 OpenGL에서 규정한 정확도를 만족하는 것이 대수적으로 검증된 24-비트 부동소수점 제산기는 알려진 바가 없다. 본 논문에서는 24-비트 부동소수점 제산기를 분석하고, OpenGL ES 3.0에서 규정한 $10^{-5}$의 정확도를 만족함을 대수적으로 검증한다.

Low-cost and low-power are important requirements in mobile systems. Thus, when a floating-point arithmetic unit is needed, 24-bit floating-point format can be more useful than 32-bit floating-point format. However, a 24-bit floating-point arithmetic unit can be risky because it usually has lower accuracy than a 32-bit floating-point arithmetic unit. Consecutive floating-point operations are performed in 3D graphic processors. In this case, the verification of the floating-point operation accuracy is important. Among 3D graphic arithmetic operations, the floating-point division is one of the most difficult operations to satisfy the accuracy of $10^{-5}$ which is the required accuracy in OpenGL ES 3.0. No 24-bit floating-point divider, whose accuracy is algebraically verified, has been reported. In this paper, a 24-bit floating-point divider is analyzed and it is algebraically verified that its accuracy satisfies the OpenGL requirement.

키워드

참고문헌

  1. B. Lipchak, "OpenGL ES Version 3.0," Khronos Group Inc., Aug. 2012
  2. K. Y. Lee, "A design of a floating point unit with 3 stages for a 3D graphics shader engine," Journal of IKEEE, vol. 11, no. 4, pp. 358-363, Dec. 2007.
  3. J. S. Ha, H. G. Jeong, S. Y. Kim, and K. Y. Lee, "Design of a 3D graphics geometry accelerator using the programmable vertex shader," Journal of IEEK SD, vol. 43, no. 9, pp. 53-58, Sep. 2006.
  4. C. Lee, "Design of square root and inverse square root arithmetic units for mobile 3D graphic processing," Journal of IEEK SD, vol. 46, no. 3, pp. 20-25, March 2009.
  5. Y. Kweon and K. Kim, "A floating-point divider for mobile 3D graphics processors," International SoC Conference (ISOCC), pp. 545-548, Oct. 2006.
  6. F. Sheikh, S. K. Mathew, M. A. Anders, H. Kaul, S. K. Hsu, A. Agarwal, R. K. Krishnamurthy, and S. Borkar, "A 2.05 GVertices/s 151 mW lighting accelerator for 3D graphics vertex and pixel shading in 32 nm CMOS," IEEE Journal of Solid-State Circuits, vol. 48, no. 1, pp. 128-139, Jan. 2013. https://doi.org/10.1109/JSSC.2012.2222813
  7. S. Hsiao, P. Wu, C. Wen, and L. Chen, "Design of a programmable vertex processor in OpenGL ES 2.0 mobile graphics processing units," International Symposium on VLSI Design, Automation, and Test (VLSI-DAT), pp. 1-4, April 2013.
  8. I. Koren, Computer Arithmetic Algorithms 2nd ed., A K Peters, Massachusetts, Nov. 2001.
  9. N. Louvet, J. M. Muller, and A. Panhaleux, "Newton-Raphson algorithms for floating-point division using an FMA," IEEE International Conferfence on Application-specific Systems Architectures and Processors (ASAP), pp. 200-207, July 2010.
  10. D. M. Russinoff, "Computation and formal verification of SRT quotient and square root digit selection tables," IEEE Transactions on Computers, vol. 62, no. 5, pp. 900-913, May 2013. https://doi.org/10.1109/TC.2012.40
  11. ANSI/IEEE std 7544-1985, "IEEE Standard for Binary Floating-Point Arithmetic," 1985.