The real time 3D graphics becomes the most attractive application for mobile terminals, in which the battery lifetime and small computing power, however, limit the system resources and memory bandwidth for graphics processing. Besides, since users watch graphics images on a small screen very closely to their eyes, recent mobile 3D graphics are introducing the programmability in both hardware and software for more advanced functionality while achieving low power consumption. In this research, I designed and implemented a programmable graphics processor with fixed-point vertex shader for mobile applications. The proposed architecture has four major features: separation of data transfer flow, full hardware accelerations with stream processing, two level extensions of instruction set architectures, and fixed-point single-instruction-multiple-data (SIMD) processing. The graphics processor contains an ARM10 compatible 32-bit RISC processor, a 128-bit programmable fixed-point SIMD vertex shader, a low power rendering engine with 26kB dedicated graphics cache, and a programmable frequency synthesizer (PFS). Different from conventional graphics hardware, the proposed graphics processor implements ARM10 coprocessor architecture with dual operations so that user-programmable vertex shading is possible for advanced graphics algorithms and various streaming multimedia processing in mobile applications. The circuits and architecture of the graphics processor are optimized for fixed-point operations and achieve the low power consumption with help of instruction-level power management of the vertex shader and pixel-level clock gating of the rendering engine. The PFS with a fully balanced voltage-controlled oscillator (VCO) controls the clock frequency from 8MHz to 200MHz continuously and adaptively for low power modes by software. The 36㎟ chip shows 50Mvertices/s and 200Mtexels/s peak graphics performance, dissipating 155mW in 0.18㎛ 6-metal standard CMOS logic process. For more enhancement of stream processing, model of 3D graphics computing is analyzed and SIMD computing elements with hierarchical memory system is revised into the architecture of graphics processor. The implemented graphics processor was successfully demonstrated on the evaluation platform and verified real-time 3D graphics in mobile applications.
실시간 3차원 그래픽스는 휴대용 터미널에서 가장 흥미 있는 응용분야가 되고 있다. 그렇지만, 휴대용 단말기에서는 한정된 전지 사용시간과 계산 성능이 그래픽스 처리를 위한 시스템 자원과 메모리 대역폭을 제한하고 있다. 게다가, 사용자들은 PC 그래픽스와는 상대적으로 작은 화면에서 그래픽스 이미지를 매우 가까이서 사용하고 있기 때문에, 최근의 휴대용 3차원 그래픽스는 하드웨어와 소프트웨어에서 적은 소비전력으로 더욱 향상된 기능을 제공하기 위해 프로그램 처리 능력을 제공하고 있다. 본 연구에서는 휴대용 응용분야를 위해 고정 소수점 vertex shader를 이용한 프로그래머블 그래픽스 프로세서를 설계하고 구현하였다. 제안된 구조는 데이터 흐름의 분리, 스트림 처리를 고려한 완전한 하드웨어 가속, 두 단계의 명령어 구조 확장 그리고 저전력 소비를 위한 고정 소수점 SIMD 연산구조의 네 가지 특징을 가지고 있다. 설계된 그래픽스 프로세서는 32 비트 ARM10 호환의 RISC 프로세서, 128 비트의 고정소수점 SIMD vertex shader, 26kB의 별도 그래픽스 캐쉬를 장착한 저전력 rendering engine, 그리고 프로그래머블 주파수 합성기를 포함하고 있다. 일반적인 그래픽스 하드웨어와는 달리, 제안된 그래픽스 프로세서는 ARM10 보조 프로세서 인터페이스를 사용하여 집적하였고, \이중 동작\"기능을 구현하여 진보된 그래픽스 알고리즘과 다양한 스트리밍 멀티미디어 응용을 실현하기 위한 프로그래머블 vertex shading을 가능하게 하였다. 저전력 소비를 위해 그래픽스 프로세서의 회로와 내부 구조는 고정 소수점 연산에 최적화하여 설계되었다. 또한 vertex shader의 명령어 단위 전력 제어 기술과 rendering engine의 픽셀 단위 clock gating 기술을 사용하여 전력 소비 효율을 더욱 향상시켰다. 완전 균형 전압조정발진기를 내장한 프로그래머블 주파수 합성기는 소프트웨어의 제어에 따라 전체 칩의 동작 주파수를 8MHz부터 200MHz까지 연속적이고 적응성 있게 조절한다. 이 칩은 최고 155mW의 전력을 소비하면서 최대 50Mvertices/s and 200Mtexels/s의 그래픽스 성능을 나타낸다. 0.18㎛ 6-metal 표준 CMOS 공정으로 사용하여 칩을 제작하였고 36㎟ 면적을 차지하였다. 더 향상된 스트림 처리 성능을 위해, 설게된 그래픽스 프로세서를 계층적 메모리 구조를 가지는 SIMD 연산장치로 새로이 확장하였다. 구현된 그래픽스 프로세는 평가보드를 통해 성공적으로 시연되었고, 휴대용 응용분야에서 실시간 3차원 그래픽스의 구현을 입증하였다."