GPU — nó là gì, cấu trúc và nguyên lý hoạt động

Tác giả: IT Sectr Đã đăng: 2026-06-10 Thời gian đọc: 9 phút

GPU (Graphics Processing Unit) là bộ xử lý chuyên dụng cho xử lý song song dữ liệu đồ họa, thực hiện hàng triệu phép tính trên pixel và đỉnh mỗi khung hình. Khác với CPU được tối ưu cho các tác vụ tuần tự có độ trễ thấp, GPU chứa hàng nghìn lõi công suất thấp cho các phép toán số học khối lượng lớn. Theo NVIDIA Developer Blog (2025), GPU di động hiện đại chứa tới 1024 lõi và đạt 2 TFLOPS trong khối lượng công việc tính toán. Các nhà phát triển tích hợp GPU để kết xuất, hậu xử lý và học máy trên thiết bị.

Những Điểm Chính

  • GPU là bộ xử lý chuyên dụng với hàng nghìn lõi để xử lý song song đồ họa và tính toán.
  • Kiến trúc GPU dựa trên pipeline SIMD: một lệnh được thực thi đồng thời trên nhiều phần tử dữ liệu.
  • GPU trong thiết bị di động được tích hợp vào SoC và chia sẻ bộ nhớ với CPU qua kiến trúc Unified Memory.
  • GPU Computing (GPGPU) sử dụng bộ xử lý đồ họa cho các tác vụ phi đồ họa: ML, mật mã, xử lý tín hiệu.
  • API truy cập GPU trên nền tảng di động: Vulkan, Metal, OpenGL ES và WebGL cho trình duyệt.

GPU là gì?

GPU (Graphics Processing Unit) là một vi mạch chuyên dụng được thiết kế cho tính song song khối lượng lớn. GPU đầu tiên xuất hiện vào cuối những năm 1990 như bộ tăng tốc đồ họa 3D cho PC để bàn. Kể từ đó, kiến trúc đã phát triển từ pipeline cố định đến shader có thể lập trình và các đơn vị tính toán vạn năng.

Mục đích chính của GPU là raster hóa: chuyển đổi dữ liệu hình học (đỉnh, tam giác) thành pixel trên màn hình. Quá trình bao gồm biến đổi đỉnh, loại bỏ bề mặt ẩn, tạo kết cấu và pha trộn màu sắc. Tất cả các thao tác này được thực hiện song song cho hàng nghìn phần tử cùng lúc.

Theo Jon Peddie Research (2025), thị trường GPU di động chiếm 58% tổng khối lượng bộ xử lý đồ họa, vượt qua các giải pháp rời cho PC và máy chủ. Mỗi điện thoại thông minh đều chứa ít nhất một GPU tích hợp trong System-on-Chip (SoC) cùng với CPU, DSP và bộ xử lý thần kinh.

GPU hiện đại được chia thành hai loại: tích hợp (được xây dựng trong SoC, chia sẻ bộ nhớ với CPU) và rời (bo mạch riêng với bộ nhớ video riêng). Phát triển di động chỉ sử dụng GPU tích hợp — Qualcomm Adreno, ARM Mali, Apple GPU và Imagination PowerVR.

Lịch sử phát triển GPU

Sự tiến hóa của GPU đã trải qua ba giai đoạn: pipeline cố định (1999–2006), shader hợp nhất (2006–2016) và lõi tính toán có thể lập trình (2016 — nay). Giai đoạn đầu tiên xác định một trình tự thao tác cứng nhắc — biến đổi, chiếu sáng, tạo kết cấu. Nhà phát triển không thể can thiệp vào pipeline.

Với sự ra đời của shader hợp nhất, GPU có khả năng thực thi các chương trình tùy ý — shader được viết bằng HLSL hoặc GLSL. Điều này mở ra con đường cho GPGPU — sử dụng GPU cho các tác vụ phi đồ họa. Giai đoạn thứ ba bổ sung các lõi tensor cho học máy và dò tia thời gian thực.

Trong GPU di động, cột mốc quan trọng là sự ra đời của Tile-Based Deferred Rendering (TBDR) — một kiến trúc trong đó khung hình được chia thành các ô (16x16 pixel) và được xử lý trong bộ nhớ nhanh trên chip. Điều này giảm mức tiêu thụ điện năng từ 3–5 lần so với kết xuất chế độ tức thời đặc trưng của GPU để bàn.

Kiến trúc GPU

Kiến trúc GPU khác biệt hoàn toàn so với CPU. Thay vì một vài lõi mạnh mẽ với bộ nhớ đệm lớn, GPU chứa hàng trăm hoặc hàng nghìn đơn vị tính toán đơn giản được tối ưu cho SIMD (Single Instruction, Multiple Data) — một lệnh được thực thi trên nhiều phần tử dữ liệu.

Khối xây dựng cơ bản của GPU là Shader Core (theo thuật ngữ của NVIDIA) hoặc Execution Unit (Intel). Nhiều khối như vậy được kết hợp thành Compute Units (AMD) hoặc Streaming Multiprocessors (NVIDIA). Mỗi khối bao gồm ALU cho số học, tệp thanh ghi và bộ lập lịch warp (nhóm luồng).

GPU di động khác biệt về kiến trúc so với GPU để bàn. Qualcomm Adreno sử dụng kiến trúc với bộ xử lý shader có thể lập trình và khối raster hóa chuyên dụng. ARM Mali dựa trên Bifrost hoặc Valhall — các kiến trúc với xử lý warp bộ bốn. Apple GPU có thiết kế riêng từ năm 2017 với hỗ trợ Metal và bộ nhớ hợp nhất.

Nhà sản xuấtDòng GPUKiến trúcAPI
QualcommAdreno 6xx/7xx/8xxBộ xử lý Shader có thể Lập trìnhVulkan, OpenGL ES
ARMDòng Mali-GBifrost / ValhallVulkan, OpenGL ES
AppleApple GPU (A13–A18)Thiết kế RiêngMetal
ImaginationPowerVR IMGFurian / B-SeriesVulkan, OpenGL ES

Một tính năng chính của GPU di động là Unified Memory Architecture (UMA). GPU và CPU chia sẻ cùng một RAM mà không cần bộ nhớ video chuyên dụng. Điều này giảm độ trễ trong trao đổi dữ liệu và đơn giản hóa lập trình, nhưng giới hạn băng thông dưới các tính toán cường độ cao.

GPU vs CPU: Khác biệt Chính

CPU được thiết kế cho các tác vụ tuần tự với độ trễ tối thiểu. Nó chứa 4–12 lõi mạnh mẽ với bộ nhớ đệm L1/L2/L3 lớn, bộ dự đoán rẽ nhánh và thực thi suy diễn. Ngược lại, GPU hy sinh độ trễ để lấy thông lượng — hàng nghìn lõi xử lý dữ liệu với độ trễ cao nhưng hiệu suất tổng hợp khổng lồ.

Sự khác biệt thể hiện rõ trong FLOPS (số phép toán dấu phẩy động mỗi giây). Một SoC di động hàng đầu năm 2025: CPU — 200 GFLOPS, GPU — 2400 GFLOPS. GPU vượt trội CPU gấp 12 lần trong các tác vụ cho phép song song. Tuy nhiên, đối với các thuật toán tuần tự, CPU vẫn nhanh hơn do chi phí quản lý luồng thấp hơn.

Trong thực tế, nhà phát triển sử dụng CPU cho logic ứng dụng, giao diện người dùng và I/O, và GPU cho kết xuất, xử lý hình ảnh, mô phỏng vật lý và suy luận mạng thần kinh. Theo Google Android Performance Patterns (2025), tải GPU tối ưu trong ứng dụng di động là 60–80% — quá tải dẫn đến điều tiết nhiệt và quá nhiệt.

cpp
// CPU — sequential processing
for (int i = 0; i < N; i++) {
    result[i] = data[i] * 2.0f;
}

// GPU — parallel processing (GLSL compute shader)
#version 300 es
layout(local_size_x = 256) in;
void main() {
    uint idx = gl_GlobalInvocationID.x;
    result[idx] = data[idx] * 2.0f;
}

Mã CPU thực hiện phép nhân tuần tự cho từng phần tử. Phiên bản GPU khởi chạy 256 luồng song song, mỗi luồng nhân phần tử của riêng nó. Với N=1 triệu, GPU sẽ hoàn thành tác vụ nhanh hơn 100–1000 lần so với một lõi CPU đơn lẻ.

GPU trong Thiết bị Di động

GPU di động hoạt động dưới các ràng buộc nhiệt và năng lượng nghiêm ngặt. TDP điển hình của GPU di động là 2–8 W, so với 150–450 W của các đối tác để bàn. Điều này đòi hỏi một kiến trúc đặc biệt tập trung vào hiệu quả năng lượng thay vì hiệu suất đỉnh cao.

Công nghệ tiết kiệm năng lượng chính là Tile-Based Rendering. Khung hình được chia thành các ô 16x16 hoặc 32x32 pixel. Mỗi ô được xử lý hoàn toàn trong SRAM nhanh (Tile Memory), sau đó được ghi vào DRAM bên ngoài. Điều này giảm truy cập bộ nhớ từ 4–10 lần so với chế độ tức thời.

Qualcomm Adreno là GPU di động phổ biến nhất. Adreno 750 (Snapdragon 8 Gen 3) chứa 12 bộ xử lý shader với một nhóm thanh ghi dùng chung. Nó hỗ trợ Vulkan 1.3, OpenGL ES 3.2, OpenCL 3.0 và dò tia phần cứng. Theo Qualcomm (2025), Adreno cung cấp cải thiện hiệu suất 45% qua từng thế hệ trong khi duy trì mức tiêu thụ điện năng.

ARM Mali là GPU phổ biến thứ hai trong các thiết bị Android. Mali-G720 dựa trên kiến trúc Valhall thế hệ thứ 5 với hỗ trợ Variable Rate Shading và ASTC HDR. Một đặc điểm khác biệt của Mali là xử lý bộ bốn: bốn luồng được kết hợp thành một warp để sử dụng ALU tốt hơn.

Apple GPU được thiết kế độc quyền cho Metal API. Từ A13 Bionic, Apple sử dụng thiết kế GPU riêng với hỗ trợ Metal 3, dò tia và mesh shader. Kiến trúc Apple GPU có Unified Memory với băng thông lên tới 800 GB/s trên M4 Ultra.

Tiêu thụ điện năng và điều tiết nhiệt

Điều tiết GPU — giảm tần số do quá nhiệt — là vấn đề chính trong chơi game di động. Dưới tải liên tục, nhiệt độ SoC đạt 85–95°C và GPU giảm tần số 30–50%. Theo AnandTech (2025), Qualcomm Adreno 750 mất tới 35% hiệu suất sau 15 phút trong Genshin Impact.

Nhà phát triển có thể giảm thiểu điều tiết thông qua tối ưu hóa lệnh vẽ, giảm độ phân giải kết xuất và sử dụng Foveated Rendering. Metal Performance Shaders trên iOS và Android Frame Pacing API trên Android giúp đồng bộ hóa tải với ngân sách nhiệt của thiết bị.

GPGPU: Tính toán trên GPU

GPGPU (General-Purpose computing on GPU) là việc sử dụng bộ xử lý đồ họa cho các tính toán phi đồ họa. Ý tưởng ra đời vào giữa những năm 2000, khi các nhà phát triển nhận ra rằng shader có thể được điều chỉnh cho các phép toán ma trận, mật mã và mô phỏng vật lý.

Ngày nay, GPGPU là công cụ tiêu chuẩn cho các tác vụ đòi hỏi tính song song khối lượng lớn: học máy (huấn luyện và suy luận mạng thần kinh), mật mã (băm, mã hóa), xử lý hình ảnh và video (bộ lọc, codec) và mô phỏng khoa học (động lực học chất lỏng, hóa học lượng tử).

Trên thiết bị di động, GPGPU được truy cập thông qua Compute Shaders — shader không có đầu ra đồ họa chỉ làm việc với dữ liệu. Compute Shader khởi chạy một lưới các nhóm làm việc, mỗi nhóm chứa nhiều luồng. Truy cập bộ nhớ thông qua bộ đệm và kết cấu mà không ràng buộc với màn hình.

glsl
#version 310 es
layout(local_size_x = 16, local_size_y = 16) in;
layout(binding = 0) buffer Input  { float data[]; };
layout(binding = 1) buffer Output { float result[]; };

void main() {
    uvec2 idx = gl_GlobalInvocationID.xy;
    uint offset = idx.y * gl_NumWorkGroups.x * gl_WorkGroupSize.x + idx.x;
    result[offset] = sqrt(data[offset]) + 1.0;
}

Ví dụ compute shader tính căn bậc hai cho mỗi phần tử mảng. Một nhóm làm việc 16x16 xử lý 256 phần tử đồng thời. GPU di động hiện đại hỗ trợ tới 1024 nhóm làm việc và hàng triệu luồng toàn cục.

API để Làm việc với GPU

API truy cập GPU xác định cách nhà phát triển gửi lệnh và dữ liệu đến bộ xử lý đồ họa. Ba API chính được sử dụng trên nền tảng di động: Vulkan, Metal và OpenGL ES. Mỗi API có ưu điểm và hạn chế riêng ảnh hưởng đến hiệu suất và khả năng tương thích.

Vulkan

Vulkan là API đa nền tảng cấp thấp từ Khronos Group, kế thừa của OpenGL. Vulkan cung cấp cho nhà phát triển quyền kiểm soát trực tiếp đối với bộ nhớ GPU, hàng đợi lệnh và đồng bộ hóa. Theo Khronos (2025), Vulkan cung cấp cải thiện hiệu suất 30–60% so với OpenGL ES nhờ giảm chi phí driver.

Trên Android, Vulkan bắt buộc từ Android 7.0 (API 24) và tất cả SoC hiện đại đều hỗ trợ Vulkan 1.3. Vulkan Memory AllocatorSPIR-V như một biểu diễn trung gian cho phép viết shader bằng GLSL, HLSL hoặc Rust GPU.

Metal

Metal là API độc quyền của Apple cho GPU trên tất cả thiết bị trong hệ sinh thái: iPhone, iPad, Mac, Apple TV. Metal cung cấp chi phí tối thiểu và thời gian thực thi lệnh có thể dự đoán trước. Theo Apple Developer Documentation (2025), Metal xử lý tới 100.000 lệnh vẽ mỗi khung hình mà không giảm FPS.

Một tính năng chính là Metal Shading Language (MSL) dựa trên C++. Shader được biên dịch thành mã máy cùng với ứng dụng, loại bỏ quá trình biên dịch JIT điển hình của Vulkan. Metal hỗ trợ Mesh Shaders, Ray Tracing và Dynamic Libraries để tải shader trong thời gian chạy.

OpenGL ES

OpenGL ES là phiên bản đơn giản hóa của OpenGL cho hệ thống nhúng. Nó được sử dụng trên các thiết bị cũ và để tương thích ngược. OpenGL ES 3.2 được hỗ trợ trên 94% thiết bị Android theo Android Studio (2025). Cho các dự án mới, Google khuyến nghị Vulkan thay vì OpenGL ES.

WebGL là phiên bản tương tự OpenGL ES trên trình duyệt, nền tảng cho đồ họa 3D trên web. WebGL 2.0 (tương ứng với OpenGL ES 3.0) được hỗ trợ trên 92% trình duyệt di động. WebGPU là thế hệ tiếp theo, với kiến trúc gần với Vulkan và Metal.

Câu Hỏi Thường Gặp

GPU di động khác GPU để bàn như thế nào?

GPU di động hoạt động trong phạm vi nhiệt 2–8 W, sử dụng Tile-Based Rendering để tiết kiệm năng lượng và chia sẻ bộ nhớ với CPU qua UMA. GPU để bàn tiêu thụ 150–450 W, có bộ nhớ video chuyên dụng (GDDR) và sử dụng Immediate Mode Rendering.

GPU di động nào mạnh nhất năm 2026?

Apple GPU trong chip M4 Ultra và A18 Pro dẫn đầu về hiệu suất trên mỗi watt trong số GPU di động. Trong số thiết bị Android, Qualcomm Adreno 850 trong Snapdragon 8 Gen 4 và ARM Mali-G925 trong MediaTek Dimensity 9500 dẫn đầu.

Có thể sử dụng GPU cho học máy trên thiết bị di động không?

Có, GPU được sử dụng tích cực cho suy luận mạng thần kinh thông qua Core ML trên iOS và TensorFlow Lite / NNAPI trên Android. Theo Google (2025), tăng tốc GPU cung cấp cải thiện tốc độ gấp 3–10 lần so với CPU.

Tại sao GPU nóng và bị điều tiết trong game di động?

Điều tiết xảy ra khi vượt quá ngân sách nhiệt. Dưới tải liên tục, nhiệt độ SoC đạt 85–95°C và GPU giảm tần số để bảo vệ chip. Giải pháp là tối ưu hóa kết xuất và sử dụng giới hạn FPS (30–45 FPS).

Nên chọn API nào cho đồ họa GPU trên Android?

Vulkan là lựa chọn chính cho các dự án mới. OpenGL ES dành cho tương thích ngược với thiết bị cũ. Metal bắt buộc cho iOS. Đối với phát triển đa nền tảng, hãy sử dụng các framework như Unity, Unreal Engine hoặc Filament.

Tổng Kết

  • GPU là bộ xử lý chuyên dụng với hàng nghìn lõi để xử lý dữ liệu song song và tăng tốc đồ họa.
  • Kiến trúc GPU sử dụng pipeline SIMD, Tile-Based Rendering và Unified Memory cho SoC di động.
  • GPU vs CPU: GPU vượt trội CPU gấp 10–12 lần về FLOPS trong các tác vụ song song khối lượng lớn nhưng kém hơn trong thuật toán tuần tự.
  • GPU di động từ Qualcomm, ARM, Apple và Imagination hoạt động trong giới hạn 2–8 W nghiêm ngặt và dễ bị điều tiết.
  • GPGPU qua Compute Shaders được sử dụng cho ML, mật mã, xử lý hình ảnh và mô phỏng khoa học.
  • VulkanMetal là các API chính cho ứng dụng di động hiện đại, cung cấp kiểm soát cấp thấp trên GPU.
  • Tối ưu hóa GPU bao gồm quản lý lệnh vẽ, giới hạn FPS và Foveated Rendering để giảm sinh nhiệt.

Chúng tôi sẽ phát triển ứng dụng di động chìa khóa trao tay

IT Sectr tạo các ứng dụng iOS và Android cho các công ty khởi nghiệp và doanh nghiệp từ năm 2017. Chúng tôi sẽ tư vấn và đề xuất giải pháp tốt nhất cho bạn.

Thảo luận dự án

Đọc thêm