← Về danh sách
Phần cứng & Bán dẫn
#PIM#메모리장벽#HBM-PIM#데이터중심컴퓨팅#AI반도체
Cập nhật lần cuối · 2026-09-06

Xử lý trong bộ nhớ (PIM, Processing-in-Memory)

1. Tổng quan

A. Định nghĩa

Xử lý trong bộ nhớ (PIM) là kiến trúc bán dẫn tích hợp đơn vị tính toán (ALU đơn giản, bộ nhân-cộng dồn, v.v.) vào bên trong bộ nhớ (DRAM, v.v.) vốn chỉ dùng để lưu dữ liệu, giúp thực hiện tính toán trực tiếp ngay tại nơi đặt bộ nhớ mà không phải chuyển dữ liệu tới bộ xử lý. Với ý tưởng "đưa tính toán tới nơi có dữ liệu (Bring compute to data)", nó giảm bớt nút thắt căn bản của kiến trúc von Neumann.

Trong kiến trúc von Neumann truyền thống, thiết bị tính toán như CPU·GPU và bộ nhớ tách biệt về mặt vật lý, được nối với nhau bằng một bus tương đối hẹp. Mọi dữ liệu cần cho tính toán phải đi lại giữa bộ nhớ và bộ xử lý qua bus này, nhưng trong khi hiệu năng tính toán tăng vọt suốt nhiều thập kỷ thì băng thông·độ trễ bộ nhớ không theo kịp tương ứng. Kết quả là hiện tượng bức tường bộ nhớ (Memory Wall) — bộ xử lý ngồi chờ dữ liệu — ngày càng trầm trọng. Để vượt qua bức tường này, PIM xử lý ngay bên trong bank bộ nhớ thay vì gửi dữ liệu tới bộ xử lý ở xa. HBM-PIM (Aquabolt-XL) của Samsung Electronics và AiM (Accelerator-in-Memory) dựa trên GDDR6 của SK hynix là các ví dụ thương mại hóa tiêu biểu.

B. Bối cảnh ra đời và sự cần thiết

Sự nổi lên của PIM là do ba áp lực chồng lên nhau. Thứ nhất là bức tường bộ nhớ ngày càng trầm trọng về mặt cấu trúc. Khối lượng tính toán của bộ xử lý tăng mạnh mỗi năm nhưng tốc độ tăng băng thông đọc dữ liệu từ bộ nhớ không theo kịp, khiến việc di chuyển dữ liệu quyết định toàn bộ thời gian thực thi và hiệu năng. Khoảng cách này đặc biệt rõ trong suy luận·huấn luyện AI vốn lặp lại các phép toán ma trận·vector quy mô lớn. Thứ hai là chi phí năng lượng của việc di chuyển dữ liệu. Ngày nay, năng lượng để chuyển dữ liệu ra ngoài chip lớn hơn nhiều so với bản thân phép tính; thông thường người ta cho rằng việc lấy toán hạng từ bộ nhớ ngoài chip tiêu tốn năng lượng gấp hàng chục lần trở lên so với một phép toán dấu phẩy động. Tức là một phần đáng kể điện năng trung tâm dữ liệu bị lãng phí cho "chuyến đi-về của dữ liệu". Thứ ba là sự bùng nổ các workload nhạy cảm với băng thông bộ nhớ (Memory-bound): các tác vụ có cường độ tính toán (Operational Intensity) thấp nhưng truy cập dữ liệu khổng lồ như tra cứu embedding trong hệ thống gợi ý, đọc trọng số trong suy luận LLM ngày càng nhiều, khiến tình trạng dù tăng bao nhiêu bộ tính toán thì bộ nhớ vẫn kéo chân trở nên phổ biến. Ba áp lực này đan xen, đưa PIM — "tính toán ngay trong bộ nhớ" — trở thành giải pháp thay thế thực tế.

2. Cấu trúc kiến trúc và nguyên lý hoạt động

Cốt lõi của PIM nằm ở chỗ đặt đơn vị tính toán ở đâu trong phân cấp bộ nhớ. Sơ đồ cấu trúc dưới đây cho thấy khác biệt luồng dữ liệu giữa kiến trúc von Neumann truyền thống và kiến trúc PIM.

flowchart LR
  subgraph VN["Kiến trúc von Neumann truyền thống"]
    C1["Bộ xử lý (CPU/GPU)"]
    M1["Bộ nhớ (DRAM)"]
    C1 -- "Dữ liệu đi-về qua bus hẹp (nút thắt)" --> M1
    M1 -- "Truyền dữ liệu" --> C1
  end
  subgraph PIM["Kiến trúc PIM"]
    C2["Bộ xử lý chủ (host)"]
    subgraph MEM["Bộ nhớ (DRAM)"]
      B["Mảng ô nhớ của bank"]
      PU["Đơn vị tính toán trong bank (PU)"]
      B --- PU
    end
    C2 -- "Chỉ truyền lệnh/kết quả nhỏ" --> MEM
  end

Trong kiến trúc von Neumann (bên trái), khối dữ liệu gốc khổng lồ đi lại trên bus, còn trong kiến trúc PIM (bên phải) tính toán kết thúc bên trong bank, và chỉ có lượng dữ liệu nhỏ như lệnh và kết quả cuối cùng đi lại với host. Nhờ vậy, lưu lượng ngoài chip giảm mạnh, đồng thời giảm cả nút thắt băng thông lẫn tiêu thụ điện. Nguồn gốc của lợi ích hiệu năng không đơn giản là "gần nên nhanh", mà ở chỗ tận dụng nguyên vẹn song song mức bank (Bank-level Parallelism) bên trong DRAM. Khác với băng thông ngoài chip bị thu hẹp do giới hạn số chân ngoài, bên trong chip tồn tại rất nhiều bank song song, nên khi các đơn vị tính toán gắn vào từng bank cùng tính đồng thời thì băng thông hiệu dụng nội bộ được mở rộng gấp nhiều lần so với ngoài chip.

A. Các loại theo vị trí đặt đơn vị tính toán

Tính chất của PIM thay đổi rất nhiều tùy theo bộ tính toán được tích hợp tại điểm nào của bộ nhớ. PIM mức bank (PIM-B) gắn đơn vị tính toán nhỏ vào từng bank DRAM, khai thác tối đa song song nội bộ nên lợi ích băng thông lớn nhất, nhưng bị ràng buộc lớn về diện tích die. HBM-PIM của Samsung thuộc dòng này, bố trí đơn vị nhân-cộng dồn (MAC) ở từng bank để tăng tốc tính toán AI. PIM ở die buffer/logic là cách tập trung bộ tính toán vào die logic (base) ở dưới cùng trong cấu trúc xếp chồng 3D nhiều die DRAM như HBM; mức tự do về quy trình cao, phù hợp chứa các phép toán phức tạp, nhưng vẫn còn chặng di chuyển từ bank tới die logic. PNM (Processing-Near-Memory) là tính toán cận bộ nhớ theo nghĩa rộng, đặt bộ tăng tốc riêng cạnh module bộ nhớ (DIMM) hoặc bộ điều khiển; dễ tích hợp vào hệ thống hiện có nhưng lợi ích nhỏ hơn PIM bám sát ô nhớ nhất. Trong thực tế, các loại này được kết hợp tùy mục đích.

B. Phương thức tương tự (analog) và số (digital)

Xét về mạch thực hiện tính toán cũng có hai nhánh. PIM số đặt bộ tính toán số thông thường (MAC, v.v.) gần bộ nhớ để tính chính xác; độ chính xác và ổn định cao nên phần lớn sản phẩm thương mại hiện nay áp dụng. Ngược lại, PIM tương tự dùng chính hiện tượng vật lý của mảng ô nhớ để tính toán. Chẳng hạn, khi đặt điện áp lên mảng ô nhớ dạng crossbar, theo định luật Ohm (dòng = áp × độ dẫn) và định luật Kirchhoff (cộng dòng), phép nhân-cộng dồn (nhân ma trận-vector) xảy ra một lần về mặt vật lý. Về lý thuyết có thể đạt hiệu suất năng lượng cực cao, nhưng do sai lệch linh kiện·nhiễu·gánh nặng chuyển đổi ADC nên khó bảo đảm độ chính xác, vẫn gần với giai đoạn nghiên cứu·thương mại hóa ban đầu. Hai phương thức này tạo nên sự đánh đổi "độ chính xác và hiệu suất".

C. Luồng hoạt động offloading

Quá trình PIM thực sự xử lý tính toán có thể tóm tắt là "host ra lệnh, bộ nhớ tính toán". Sơ đồ quy trình dưới đây thể hiện luồng khi ủy thác (offloading) một kernel như nhân ma trận-vector cho PIM.

flowchart TB
  S1["Host: xác định kernel nút thắt bộ nhớ (ví dụ: trọng số x đầu vào)"]
  S2["Phát lệnh PIM (chỉ định loại phép toán·địa chỉ bank đích)"]
  S3["PU của mỗi bank thực hiện MAC song song với dữ liệu cục bộ"]
  S4["Cộng dồn kết quả từng phần bên trong bank"]
  S5["Chỉ trả về host lượng nhỏ kết quả cuối cùng"]
  S1 --> S2 --> S3 --> S4 --> S5

Cốt lõi là bước 3~4. Dữ liệu gốc khổng lồ không rời khỏi bank; đơn vị tính toán của mỗi bank đồng thời tính chỉ với giá trị lưu trong bank của mình, nên truyền ngoài chip được giảm thiểu. Thứ trả về host chỉ là lượng nhỏ kết quả đã cộng dồn xong. Nhờ cấu trúc này, dữ liệu càng lớn, và tác vụ càng có tính streaming — quét qua một lần mà không tái sử dụng cùng dữ liệu — thì lợi ích tương đối của PIM càng lớn.

D. So sánh với các khái niệm tương tự

Trong xu hướng lớn là tính toán lấy dữ liệu làm trung tâm, PIM thường bị nhầm lẫn với neuromorphic và in-memory computing nên cần làm rõ ranh giới. GPU/NPU vẫn là cách tiếp cận tách bộ tính toán và bộ nhớ, tối đa hóa song song tính toán, nên nút thắt di chuyển dữ liệu vẫn còn. Chip neuromorphic là mô hình riêng mô phỏng nơ-ron·khớp thần kinh của não, hoạt động theo sự kiện (spike); mục đích là tính toán nhận thức siêu tiết kiệm điện, không nhắm tới giải quyết nút thắt bộ nhớ đa dụng như PIM. Ngược lại, PIM giữ nguyên hệ sinh thái DRAM hiện có và "chuyển tính toán vào bộ nhớ", nên tính tương thích với hệ thống hiện hành·khả năng áp dụng ngay tương đối cao. Tức là PIM không phải sự thay thế triệt để mà gần với một bổ trợ thực dụng nhắm vào vấn đề cụ thể là nút thắt bộ nhớ.

3. So sánh các loại và ví dụ áp dụng

Theo từng loại bộ nhớ, điểm mà PIM nhắm tới là khác nhau. Bảng dưới đây so sánh các phương thức tiêu biểu, còn lý do của từng lựa chọn được giải thích bằng lời ngay sau đó.

Phân loại Bộ nhớ nền Vị trí tính toán Workload mục tiêu chính Ví dụ tiêu biểu
HBM-PIM DRAM xếp chồng băng thông cao (HBM) MAC trong bank LLM·suy luận AI quy mô lớn Samsung Aquabolt-XL
AiM GDDR6 Tính toán cận bank Tăng tốc AI tạo sinh SK hynix GDDR6-AiM
CXL-PIM/PNM DDR5 + CXL Cận module/bộ điều khiển Gợi ý·CSDL trong bộ nhớ Mở rộng bộ nhớ CXL của các hãng
PIM tương tự Crossbar ReRAM·SRAM Phép tính vật lý trên mảng ô Suy luận biên (siêu tiết kiệm điện) Nghiên cứu·thương mại hóa ban đầu

Lý do HBM-PIM nhắm tới LLM là vì suy luận mô hình siêu lớn là tác vụ nút thắt bộ nhớ điển hình, đọc lặp đi lặp lại khối trọng số khổng lồ. Nếu gắn bộ tính toán vào từng bank của HBM — vốn đã có băng thông lớn nhất — thì có thể hoàn tất nhân-cộng dồn bên trong mà không đưa trọng số ra ngoài chip, nâng đồng thời băng thông hiệu dụng và hiệu suất năng lượng. Samsung từng công bố rằng khi áp dụng HBM-PIM, với một số workload AI nhất định, hiệu năng tăng mạnh và năng lượng tiêu thụ giảm xuống còn một nửa hoặc thấp hơn. Ngược lại, PNM dựa trên CXL nhắm tới hệ thống gợi ý·CSDL trong bộ nhớ là vì các tác vụ này dung lượng lớn nhưng truy cập bất quy tắc (tra cứu embedding, v.v.), nên khả năng mở rộng dung lượng lớn và tích hợp giao diện chuẩn quan trọng hơn. Tức là cùng là PIM nhưng điểm tối ưu thay đổi theo tính chất workload (nhạy băng thông vs nhạy dung lượng).

A. Tiêu chuẩn hóa và thách thức hệ sinh thái

Để PIM vượt khỏi phòng thí nghiệm và trở thành tiêu chuẩn công nghiệp, mấu chốt là tiêu chuẩn hóa phần mềm và giao diện. Phần cứng dù nhanh đến đâu, nếu lập trình viên không thể dễ dàng dùng bằng mô hình lập trình hiện có thì sẽ không được chấp nhận. Vì vậy, JEDEC đã tiến hành thảo luận đưa các đặc tả liên quan PIM vào tiêu chuẩn bộ nhớ, song song với nghiên cứu ngăn xếp phần mềm giúp compiler·runtime tự động quyết định phép toán nào được offload vào bộ nhớ. Việc kết hợp với chuẩn D2D·CXL cũng quan trọng; chẳng hạn CXL cung cấp tính nhất quán bộ nhớ và pooling nên là con đường tích hợp tự nhiên các bộ tăng tốc PIM/PNM vào hệ thống.

4. Lưu ý và hàm ý (góc độ Kỹ sư chuyên nghiệp)

  • Chiến lược áp dụng — offloading chọn lọc: PIM không phải vạn năng mà chỉ mang lại lợi ích lớn ở các đoạn nút thắt bộ nhớ (Memory-bound). Tác vụ có cường độ tính toán cao (Compute-bound) vẫn có lợi hơn trên GPU/NPU, nên cốt lõi là thiết kế phân công dị thể (Heterogeneous): profiling workload rồi chỉ giao kernel nhạy băng thông cho PIM. Cách tiếp cận thực tế là xác định loại nút thắt bằng mô hình Roofline rồi quyết định điểm bố trí.
  • Đánh đổi — diện tích·nhiệt·độ chính xác: Die DRAM dùng quy trình tối ưu cho tiết kiệm điện·mật độ cao nên dư địa diện tích và nhiệt để đưa logic tính toán vào rất hạn chế. Tăng bộ tính toán thì dung lượng ô nhớ giảm; chọn phương thức tương tự thì hiệu suất tăng nhưng độ chính xác dao động. Xác định ranh giới "làm gì trong bộ nhớ, làm gì bên ngoài" là bài toán khó bản chất của thiết kế.
  • Phụ thuộc hệ sinh thái phần mềm: Để hiệu năng phần cứng chuyển thành hiệu năng sử dụng thực tế, sự hỗ trợ của compiler·thư viện·framework (ví dụ: framework học sâu) là bắt buộc. Nếu tiêu chuẩn hóa chưa đủ, phân mảnh theo nhà cung cấp sẽ làm chậm việc áp dụng, nên cần lấy sự tương thích với các tiêu chuẩn mở như JEDEC·CXL làm tiêu chí ưu tiên khi quyết định triển khai.
  • Triển vọng — tái cấu trúc bán dẫn AI lấy bộ nhớ làm trung tâm: Khi bức tường bộ nhớ nổi lên thành ràng buộc lớn nhất đối với hiệu năng AI, nhiều khả năng nâng cấp HBM·pooling bộ nhớ CXL·PIM sẽ phát triển bổ trợ lẫn nhau. Thiết kế hạ tầng AI tương lai được dự báo sẽ tái cấu trúc quanh trục giảm thiểu di chuyển dữ liệu (Data-centric Computing) không kém gì việc tăng bộ tính toán, và PIM được cho là sẽ kết hợp với neuromorphic·CXL·chiplet để tiến hóa thành nền tảng bộ nhớ-tính toán tích hợp dị thể.

Tóm tắt một câu: PIM là kiến trúc bán dẫn lấy dữ liệu làm trung tâm, đặt bộ tính toán bên trong bộ nhớ để tính tại chỗ mà không di chuyển dữ liệu, qua đó giảm bức tường bộ nhớ của kiến trúc von Neumann và năng lượng di chuyển dữ liệu; thành bại phụ thuộc vào chiến lược dị thể offload chọn lọc các workload AI nút thắt băng thông cùng việc bảo đảm tiêu chuẩn·hệ sinh thái.