VLSI Wiki
Contents:
  1. ARM Mali GPU
    1. 1. Definition: What is ARM Mali GPU?
    2. 2. Components and Operating Principles
      1. 2.1 (Optional) Subsections
    3. 3. Related Technologies and Comparison
    4. 4. References
    5. 5. One-line Summary

ARM Mali GPU

1. Definition: What is ARM Mali GPU?

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๊ฐ€ ํ˜„๋Œ€์˜ ๋ชจ๋ฐ”์ผ ๋ฐ ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ์—์„œ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ์ด์œ ๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

2. Components and Operating Principles

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์„ ์กฐ์ ˆํ•˜์—ฌ ์ „์ฒด ์‹œ์Šคํ…œ์˜ ํšจ์œจ์„ฑ์„ ๋†’์ž…๋‹ˆ๋‹ค.

2.1 (Optional) Subsections

2.1.1 Shader Cores

Shader Cores๋Š” ARM Mali GPU์˜ ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ๋กœ, ๊ฐ๊ฐ์˜ ์ฝ”์–ด๋Š” ํŠน์ • ๊ทธ๋ž˜ํ”ฝ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๋“ค์€ SIMD(Single Instruction, Multiple Data) ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜์—ฌ, ๋™์ผํ•œ ๋ช…๋ น์„ ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ์— ๋™์‹œ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๊ทธ๋ž˜ํ”ฝ ์ฒ˜๋ฆฌ์˜ ํšจ์œจ์„ฑ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

2.1.2 Memory Management

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๋Š” ๊ฒŒ์ž„ ์ฝ˜์†”๊ณผ ๊ฐ™์€ ๊ณ ์„ฑ๋Šฅ ๋””๋ฐ”์ด์Šค์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ, ๋ณต์žกํ•œ ๊ทธ๋ž˜ํ”ฝ ์—ฐ์‚ฐ์„ ํ•„์š”๋กœ ํ•˜๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๊ทธ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•ฉ๋‹ˆ๋‹ค.

4. References

  • ARM Holdings
  • Khronos Group
  • Samsung Electronics
  • Qualcomm
  • NVIDIA

5. One-line Summary

ARM Mali GPU๋Š” ๋ชจ๋ฐ”์ผ ๋ฐ ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ์—์„œ ๊ณ ์„ฑ๋Šฅ ๊ทธ๋ž˜ํ”ฝ๊ณผ ์ปดํ“จํŒ…์„ ์ œ๊ณตํ•˜๋Š” ํšจ์œจ์ ์ธ ๊ทธ๋ž˜ํ”ฝ ์ฒ˜๋ฆฌ ์žฅ์น˜์ž…๋‹ˆ๋‹ค.