모바일 3차원 그래픽 연산을 위한 제곱근 및 역제곱근 연산기 구조 및 설계

Design of Square Root and Inverse Square Root Arithmetic Units for Mobile 3D Graphic Processing

  • 이찬호 (숭실대학교 정보통신전자공학부)
  • Lee, Chan-Ho (School of Electronic Engr., Soongsil University)
  • 발행 : 2009.03.25

초록

본 논문에서는 모바일 환경 기반의 3차원 그래픽 연산을 위한 조명처리 엔진 및 쉐이더 프로세서에 사용 가능한 제곱근과 역제곱근 연산기의 구조를 제안한다. 제안하는 구조는 Taylor 전개식을 기반으로 하여 참조 테이블 및 보정 유닛으로 구성되어 있어 참조 테이블의 크기를 줄였다. 연산 결과는 IEEE-754 표준의 단정도 32 bit 부동소수점 형식과 모바일 환경을 위하여 이를 축소한 24 bit 부동소수점 형식에 대해 OpenGL 1.x ES 에서 요구하는 $10^{-5}$의 정확도를 거의 만족한다. 제안된 구조에 따라 설계된 제곱근 및 역제곱근 연산기는 Verilog-HDL을 사용하여 설계되었으며 파라미터 변경을 통하여 24 bit와 32 bit 연산이 가능하도록 합성이 가능하고 1사이클의 잠복기를 갖는다. 설계된 연산기들의 동작은 FPGA를 이용한 검증시스템을 통하여 검증하였다.

We propose hardware architecture of floating-point square root and inverse square root arithmetic units using lookup tables. They are used for lighting engines and shader processor for 3D graphic processing. The architecture is based on Taylor series expansion and consists of lookup tables and correction units so that the size of look-up tables are reduced. It can be applied to 32 bit floating point formats of IEEE-754 and reduced 24 bit floating point formats. The square root and inverse square root arithmetic units for 32 bit and 24 bit floating format number are designed as the proposed architecture. They can operation in a single cycle, and satisfy the precision of $10^{-5}$ required by OpenGL 1.x ES. They are designed using Verilog-HDL and the RTL codes are verified using an FPGA.

키워드

참고문헌

  1. "OpenGL ES Common/Common-Lite Profile Specification Version 1.1.10 (Full Specification)", Khronos Group Inc., April 4, 2007
  2. T. Akenine-Moller, E. Haines, "REAL-TIME RENDERING", A K PETERS, pp .27-30, p.83, 2002
  3. J-h. Sohn, R. Woo and H.-J Yoo, "Optimization of Portable System Architecture for Real-Time 3D Graphics", ISCAS, Vol 1, pp. 769-772, 2002 https://doi.org/10.1109/ISCAS.2002.1009954
  4. M. J Schulte, K. E. Wires, "High-speed inverse square roots", 14th IEEE Symposium on Computer Arithmetics, pp. 124-131, April 14-16 1999 https://doi.org/10.1109/ARITH.1999.762837
  5. W. Chu, Y. Lim, "Cost/performance tradeoff of n-select square root implementations", Computer Architecture Conference, pp. 9 -16, Feb 2000 https://doi.org/10.1109/ACAC.2000.824317
  6. X, Wang, B. E. Nelson, "Tradeoffs of Designing Flooting-Point Division and Square Root on Virtex FPGAs", 11th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, pp.195-203, 2003
  7. IEEE754-1985, IEEE Standard for Binary Blooting Point Arithmetic, IEEE, 1995
  8. H. Kwan, R. L. Nelson, and E. E. Swartzlander, Jr.,"Cascaded Implementation of an Iterative Inverse Square Root Algorithm with Overflow Lookahead", in Proceedings of the 12th Symposium on Computer Arithmetic, pp. 114-123, 1995 https://doi.org/10.1109/ARITH.1995.465369
  9. Y. Li, w. Chu, "Implementation of Single Precision Flooting Point Square Root on FPGAs", IEEE Symposium on FPGAs for Custom Computing Machines, pp, 226-232, 1997
  10. Y. Li and W. Chu, "Parallel-Array Implementations o A Non-Restoring Square Root Algorithm", International Conference on Computer Design, pp, 690-695, 1997 https://doi.org/10.1109/ICCD.1997.628940
  11. "Floating Point Pipelined Square Root Unit ver 2.07," Digital Core Design, 2003
  12. "Flooting Point Inverse Square Root (ALTFP jNV_SQRT): Megafunction User Guide," Altera, Dec, 2008
  13. 김정훈, 김기철, "2-Stage Pipeline 구조를 이용한 역제곱근 연산기의 설계," 한국정보과학회 가을 학술발표논문집, vol.34, No.2(B), pp.198-201, 2007.10