ARM Mali GPU๋ ARM Holdings์ ์ํด ์ค๊ณ๋ ๊ทธ๋ํฝ ์ฒ๋ฆฌ ์ฅ์น(GPU)๋ก, ๋ชจ๋ฐ์ผ ๋ฐ ์๋ฒ ๋๋ ์์คํ ์์ ๊ณ ์ฑ๋ฅ ๊ทธ๋ํฝ๊ณผ ์ปดํจํ ์ ์ ๊ณตํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. ์ด GPU๋ ํนํ ์ค๋งํธํฐ, ํ๋ธ๋ฆฟ, ์ค๋งํธ TV์ ๊ฐ์ ๋ค์ํ ๋๋ฐ์ด์ค์์ ์ฌ์ฉ๋๋ฉฐ, ๊ณ ํด์๋ ๋น๋์ค ์ฌ์, 3D ๊ทธ๋ํฝ ๋ ๋๋ง, ๋จธ์ ๋ฌ๋ ๋ฑ ๋ค์ํ ์์ฉ ํ๋ก๊ทธ๋จ์์ ํ์์ ์ ๋๋ค. ARM Mali GPU๋ OpenGL ES, Vulkan, OpenCL๊ณผ ๊ฐ์ ํ์ค ๊ทธ๋ํฝ API๋ฅผ ์ง์ํ์ฌ ๊ฐ๋ฐ์๋ค์ด ํจ์จ์ ์ผ๋ก ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ ์ ์๋๋ก ํฉ๋๋ค.
ARM Mali GPU์ ๊ธฐ์ ์ ํน์ง ์ค ํ๋๋ ๋ณ๋ ฌ ์ฒ๋ฆฌ ๋ฅ๋ ฅ์ ๋๋ค. ์ด๋ ๋ค์์ ์ฝ์ด๋ฅผ ํตํด ๋์์ ์ฌ๋ฌ ์์ ์ ์ํํ ์ ์๋ ๋ฅ๋ ฅ์ ์๋ฏธํ๋ฉฐ, ์ด๋ ๊ณ ํด์๋ ๊ทธ๋ํฝ ์ฒ๋ฆฌ ๋ฐ ๋ณต์กํ ๊ณ์ฐ์ ์ํํ๋ ๋ฐ ํ์์ ์ ๋๋ค. ARM Mali GPU๋ ๋ํ ์ ๋ ฅ ํจ์จ์ฑ์ด ๋์ ๋ฐฐํฐ๋ฆฌ ์๋ช ์ด ์ค์ํ ๋ชจ๋ฐ์ผ ๋๋ฐ์ด์ค์์ ํนํ ์ ๋ฆฌํฉ๋๋ค. ์ด GPU๋ ๋ค์ํ ์ํคํ ์ฒ๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ๊ฐ ์ํคํ ์ฒ๋ ํน์ ์ฉ๋์ ์ฑ๋ฅ ์๊ตฌ๋ฅผ ์ถฉ์กฑํ๋๋ก ์ค๊ณ๋์์ต๋๋ค.
ARM Mali GPU๋ ํตํฉํ ์ํคํ ์ฒ๋ฅผ ํตํด CPU์์ ๊ธด๋ฐํ ์ํธ์์ฉ์ ๊ฐ๋ฅํ๊ฒ ํ๋ฉฐ, ์ด๋ ๋ฐ์ดํฐ ์ ์ก ์๋๋ฅผ ์ต์ ํํ๊ณ ์ง์ฐ ์๊ฐ์ ์ต์ํํ๋ ๋ฐ ๊ธฐ์ฌํฉ๋๋ค. ๋ํ, ARM Mali GPU๋ ๋ค์ํ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ๋ฉ๋ชจ๋ฆฌ ๋์ญํญ์ ์ต์ ํํ๊ณ , ์ด๋ ์ ์ฒด ์์คํ ์ฑ๋ฅ ํฅ์์ ๊ธฐ์ฌํฉ๋๋ค. ์ด๋ฌํ ํน์ฑ๋ค์ ARM Mali GPU๊ฐ ํ๋์ ๋ชจ๋ฐ์ผ ๋ฐ ์๋ฒ ๋๋ ์์คํ ์์ ๋๋ฆฌ ์ฌ์ฉ๋๋ ์ด์ ๋ฅผ ์ค๋ช ํฉ๋๋ค.
ARM Mali GPU๋ ์ฌ๋ฌ ๊ตฌ์ฑ ์์์ ์ด์ ์๋ฆฌ๋ฅผ ํตํด ์๋ํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก, ARM Mali GPU๋ ๊ทธ๋ํฝ ์ฒ๋ฆฌ์ ๊ด๋ จ๋ ์ฌ๋ฌ ๊ธฐ๋ฅ์ ์ํํ๋ ๋ค์ํ ์ฝ์ด๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ์ด๋ฌํ ์ฝ์ด๋ ์ผ๋ฐ์ ์ผ๋ก Vertex Shader, Fragment Shader, Compute Shader์ ๊ฐ์ ๊ธฐ๋ฅ์ ์ํํ๋ฉฐ, ๊ฐ ์ฝ์ด๋ ํน์ ์์ ์ ๋ด๋นํฉ๋๋ค.
ARM Mali GPU์ ์ฃผ์ ๊ตฌ์ฑ ์์ ์ค ํ๋๋ Shader Core์ ๋๋ค. ์ด ์ฝ์ด๋ ๊ทธ๋ํฝ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ณ , ๋ ๋๋ง ํ์ดํ๋ผ์ธ์ ์ฌ๋ฌ ๋จ๊ณ๋ฅผ ์ํํฉ๋๋ค. ๊ฐ Shader Core๋ ๋ณ๋ ฌ ์ฒ๋ฆฌ ๋ฅ๋ ฅ์ ๊ฐ์ง๊ณ ์์ด, ๋ค์์ ๊ทธ๋ํฝ ์ฐ์ฐ์ ๋์์ ์ํํ ์ ์์ต๋๋ค. ์ด๋ก ์ธํด ARM Mali GPU๋ ๋์ ํ๋ ์ ์๋์ ๋ถ๋๋ฌ์ด ๊ทธ๋ํฝ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
๋ํ, ARM Mali GPU๋ Texture Memory์ Frame Buffer๋ฅผ ํฌํจํ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. Texture Memory๋ ํ ์ค์ฒ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ , Frame Buffer๋ ์ต์ข ๋ ๋๋ง ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ฌํ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ GPU์ ์ฑ๋ฅ์ ํฐ ์ํฅ์ ๋ฏธ์น๋ฉฐ, ๋ฉ๋ชจ๋ฆฌ ๋์ญํญ๊ณผ ์ ๊ทผ ์๋๊ฐ ์ค์ํ ์์๋ก ์์ฉํฉ๋๋ค.
ARM Mali GPU๋ Pipeline Architecture๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๋ํฉ๋๋ค. ์ด ์ํคํ ์ฒ๋ ๊ทธ๋ํฝ ์ฒ๋ฆฌ์ ๊ฐ ๋จ๊ณ๋ฅผ ๋ถ๋ฆฌํ์ฌ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๋๋ก ์ค๊ณ๋์์ต๋๋ค. ์๋ฅผ ๋ค์ด, Vertex Processing, Rasterization, Pixel Processing์ ๋จ๊ณ๋ฅผ ํตํด ๊ฐ ๋จ๊ณ์์ ๋ฐ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ค์ ๋จ๊ณ๋ก ์ ๋ฌํฉ๋๋ค. ์ด ๊ณผ์ ์์ ARM Mali GPU๋ Dynamic Simulation์ ํตํด ๊ฐ ๋จ๊ณ์ ์ฑ๋ฅ์ ์ต์ ํํ๊ณ , Timing์ ์กฐ์ ํ์ฌ ์ ์ฒด ์์คํ ์ ํจ์จ์ฑ์ ๋์ ๋๋ค.
Shader Cores๋ ARM Mali GPU์ ํต์ฌ ๊ตฌ์ฑ ์์๋ก, ๊ฐ๊ฐ์ ์ฝ์ด๋ ํน์ ๊ทธ๋ํฝ ์ฐ์ฐ์ ์ํํฉ๋๋ค. ์ด๋ค์ SIMD(Single Instruction, Multiple Data) ์ํคํ ์ฒ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ฌ, ๋์ผํ ๋ช ๋ น์ ์ฌ๋ฌ ๋ฐ์ดํฐ์ ๋์์ ์ ์ฉํ ์ ์์ต๋๋ค. ์ด๋ ๊ทธ๋ํฝ ์ฒ๋ฆฌ์ ํจ์จ์ฑ์ ํฌ๊ฒ ํฅ์์ํต๋๋ค.
ARM Mali GPU๋ ๋ค์ํ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ๋ฉ๋ชจ๋ฆฌ ๋์ญํญ์ ์ต์ ํํฉ๋๋ค. ์๋ฅผ ๋ค์ด, Memory Compression ๊ธฐ์ ์ ํตํด ํ ์ค์ฒ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๋ฅผ ์ค์ด๊ณ , ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ์๋๋ฅผ ํฅ์์ํต๋๋ค. ์ด๋ก ์ธํด ARM Mali GPU๋ ๋ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ์ ์์ผ๋ฉฐ, ์ด๋ ์ ์ฒด ์ฑ๋ฅ ํฅ์์ ๊ธฐ์ฌํฉ๋๋ค.
ARM Mali GPU๋ ์ฌ๋ฌ ์ ์ฌ ๊ธฐ์ ๊ณผ ๋น๊ตํ ์ ์์ผ๋ฉฐ, ์ด๋ฌํ ๋น๊ต๋ ๊ฐ ๊ธฐ์ ์ ํน์ง๊ณผ ์ฅ๋จ์ ์ ์ดํดํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, NVIDIA์ Tegra์ Qualcomm์ Adreno GPU๋ ARM Mali GPU์ ์ ์ฌํ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง๋ง, ๊ฐ๊ธฐ ๋ค๋ฅธ ์ํคํ ์ฒ์ ์ต์ ํ ๋ฐฉ๋ฒ์ ์ฌ์ฉํฉ๋๋ค.
ARM Mali GPU๋ ์ ๋ ฅ ํจ์จ์ฑ์์ ๋๋๋ฌ์ง ์ฅ์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ํนํ ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ์์ ๋ฐฐํฐ๋ฆฌ ์๋ช ์ด ์ค์ํ ์์์ธ ๊ฒฝ์ฐ, ARM Mali GPU๋ ๋ฎ์ ์ ๋ ฅ ์๋น๋ฅผ ํตํด ์ฅ์๊ฐ ์ฌ์ฉ์ด ๊ฐ๋ฅํฉ๋๋ค. ๋ฐ๋ฉด, NVIDIA Tegra๋ ๋ ๋์ ์ฑ๋ฅ์ ์ ๊ณตํ์ง๋ง ์ ๋ ฅ ์๋น๊ฐ ์๋์ ์ผ๋ก ๋ ๋์ ์ ์์ต๋๋ค.
๋ํ, ARM Mali GPU๋ ๋ค์ํ API ์ง์ ์ธก๋ฉด์์๋ ๊ฐ์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. OpenGL ES์ Vulkan์ ์ง์ํ์ฌ ๊ฐ๋ฐ์๋ค์ด ๋ค์ํ ํ๋ซํผ์์ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ฝ๊ฒ ๊ฐ๋ฐํ ์ ์๋๋ก ํฉ๋๋ค. ๋ฐ๋ฉด, Adreno GPU๋ ํน์ ํ๋ซํผ์์ ์ต์ ํ๋ ์ฑ๋ฅ์ ์ ๊ณตํ์ง๋ง, API ์ง์ ์ธก๋ฉด์์๋ ARM Mali GPU๋ณด๋ค ์ ํ์ ์ผ ์ ์์ต๋๋ค.
์ค์ ์ฌ๋ก๋ก, ARM Mali GPU๋ ์ผ์ฑ์ Galaxy ์๋ฆฌ์ฆ ์ค๋งํธํฐ์์ ๋๋ฆฌ ์ฌ์ฉ๋๋ฉฐ, ์ด๋ก ์ธํด ๊ณ ํด์๋ ๊ฒ์๊ณผ ๋น๋์ค ์ฌ์์์ ๋ฐ์ด๋ ์ฑ๋ฅ์ ๋ฐํํฉ๋๋ค. ๋ฐ๋ฉด, NVIDIA Tegra๋ ๊ฒ์ ์ฝ์๊ณผ ๊ฐ์ ๊ณ ์ฑ๋ฅ ๋๋ฐ์ด์ค์์ ์ฃผ๋ก ์ฌ์ฉ๋๋ฉฐ, ๋ณต์กํ ๊ทธ๋ํฝ ์ฐ์ฐ์ ํ์๋ก ํ๋ ์์ฉ ํ๋ก๊ทธ๋จ์์ ๊ทธ ์ฑ๋ฅ์ ๋ฐํํฉ๋๋ค.
ARM Mali GPU๋ ๋ชจ๋ฐ์ผ ๋ฐ ์๋ฒ ๋๋ ์์คํ ์์ ๊ณ ์ฑ๋ฅ ๊ทธ๋ํฝ๊ณผ ์ปดํจํ ์ ์ ๊ณตํ๋ ํจ์จ์ ์ธ ๊ทธ๋ํฝ ์ฒ๋ฆฌ ์ฅ์น์ ๋๋ค.