Control Unit Design and Implementation for SIMD Programmable Unified Shader

SIMD 프로그래머블 통합 셰이더를 위한 제어 유닛 설계 및 구현

  • Received : 2011.03.01
  • Accepted : 2011.06.28
  • Published : 2011.07.25

Abstract

Real picture like high quality computer graphic is widely used in various fields and shader processor, a key part of a graphic processor, has been advanced to programmable unified shader. However, The existing graphic processors have been optimized to commercial algorithms, so development of an algorithm which is not based on it requires an independent shader processor. In this paper, we have designed and implemented a control unit to support high quality 3 dimensional computer graphic image on programmable integrated shader processor. We have done evaluation through functional level simulation of designed control unit. Hardware resource usage rate are measured by implementing directly on FPGA Virtex-4 and execution speed are verified by applying ASIC library. the result of an evaluation shows that the control unit has the commands more about 1.5 times compared to the other shader processors that is a behavior similar to the control unit and with a number of processing units used in a shader processor, compared with the other processors, overall performance of the control unit is improved about 3.1 GFLOPS.

그래픽 프로세서의 발달로 실사 수준의 고품질 컴퓨터 그래픽은 여러 분야에 다양한 용도로 사용되고 있으며, 그래픽 프로세서의 핵심 중 하나인 셰이더 프로세서는 프로그램 가능한 통합 셰이더로 발전하였다. 그러나 현재의 상용 그래픽 프로세서들은 특정한 알고리즘에 최적화되어 있어 다양한 알고리즘의 개발을 위해서는 독립적인 셰이더 프로세서가 필요하다. 본 논문에서는 프로그래머블 통합 셰이더 프로세서에서 DirectX 셰이더 어셈블리 명령어를 수행할 수 있는 고성능 3차원 컴퓨터 그래픽 영상을 지원하기 위한 제어 유닛을 설계하고 구현하였다. 설계한 제어 유닛은 기능적 레벨에서 시뮬레이션을 통하여 그 성능을 검증 하였으며, FPGA Virtex-4에 구현하여 하드웨어 리소스 사용율을 확인하고 ASIC 라이브러리를 적용하여 동작속도를 확인 하였다. 또한 비슷한 기능을 하는 셰이더 프로세서에 비해 약 1.5배 정도 많은 수의 명령어를 지원하며, 사용하는 연산 유닛 수에 비해 전체적인 성능은 약 3.1GFLOPS 향상된 결과를 보였다.

Keywords

References

  1. A. Watt, "3D Computer Graphics Third Edition", ADDISON WESLEY, 2000.
  2. W. K. Jeong, "A SIMD-DSP/FPU for High-Performance Embedded Microprocessors", Phd Thesis, Yonsei University, Dec. 2002.
  3. B. Atabek and A. Kimar, "Implementability of Shading Models for Current Game Engines", ICCES, pp. 427-432, 2008.
  4. K. Chung, C. Yu, D. Kim, and L. Kim, "Tessellation-Enabled Shader for a Bandwidth-Limited 3D Graphics Engine", IEEE CICC, pp. 367-370, 2008.
  5. Foley, van Dam. Feiner, Hughes, Computer Graphics Principle and Practice, Addison & Wesley, 1996.
  6. J. L. Hennessy and D. A. Patterson, "Computer Architecture, A Quantitative Approach, Fourth Edition", Elsevier, Sep. 2006.
  7. T. A. Moller and E. Haines, "Real-Time Rendering", A. K. Peters, 2002.
  8. B. Gooch and A. Gooch, "Non-Photorealistic Rendering", A. K. Peters, Natick, MA, 2001.
  9. J. Jeong, "A Proposal of 3D Graphics Rendering Hardware Using Parallel Processing", Master Thesis, Yonsei University, Dec. 2001.
  10. B. Khailany, "Imagine: Media Processing with Streams", IEEE Micro, vol. 21, no. 2, pp. 35-46, Mar. 2001. https://doi.org/10.1109/40.918001
  11. I. Buck, et al., "Brook for GPUs: Stream Computing on Graphics Hardware", in proceedings of ACM SIGGRAPH, 2004.
  12. V. Moya, C. Gonzalez, J. Roca, A. Fernandez, and R. Espasa, "Shader Performance Analysis On a Modern GPU Architecture," in proceedings of the 38th annual IEEE/ACM International Symposium on Microarchitecuture(MICRO`05), pp. 355-364, Nov. 2005.
  13. http://www.amd.com/us/products/Pages/graphics.aspx.
  14. Texas Instruments, "TMS320C6713, TMS320C6713 Floating-Point Digital Signal Processors," sprs186c-december 2001-revised march 2003, Mar. 2003.
  15. Microsoft MSDN, Vertex/Pixel Shader 3.0.