RISC-V là gì: kiến trúc bộ xử lý mã nguồn mở miễn phí royalties

RISC-V là gì: kiến trúc bộ xử lý mã nguồn mở miễn phí royalties

RISC-V (đọc là “risk-five”) là một bộ nguyên tắc kiến trúc bộ xử lý (instruction set architecture, ISA) dựa trên nguyên tắc RISC, nhưng đặc biệt vì được công bố dưới giấy phép nguồn mở miễn phí. Không như x86 hay ARM mà cần trả phí royalties khi sản xuất chip, bất kỳ ai cũng có thể triển khai RISC-V mà không cần hỏi xin hay trả tiền. Bài viết này giải thích RISC-V hoạt động như thế nào, vì sao nó được coi là sự khai mở trong lĩnh vực xử lý, và những ví dụ thực tế về chip RISC-V đang dùng trong đời sống hàng ngày.

Các ISA truyền thống như x86 của Intel/AMD hay ARM của Arm Ltd đều đi kèm với các hợp đồng giấy phép phức tạp, thường đòi hỏi trả phí theo mỗi đơn vị chip được sản xuất. Điều này đã hạn chế nhiều công ty nhỏ và các viện nghiên cứu vì chi phí giấy phép không được công bố trước. RISC-V ra đời như một đáp án khác: nguyên tắc RISC đơn giản được kết hợp với cách công bố giấy phép mở. Bộ spec ISA được công bố vào năm 2010 tại Berkeley, và từ năm 2015 ban quản lý đã được trao cho RISC-V International, với bản spec được công bố công khai và không điều kiện chi phối.

Sơ đồ tập lệnh RV32IMAC gồm ISA cơ sở cùng các mở rộng M, A, F, D và C

RISC-V giải quyết bài toán giấy phép của các ISA truyền thống

Trong vài thập kỷ qua, nếu bạn muốn tạo ra một vi xử lý để dùng trong sản phẩm của mình, lựa chọn phần lớn là hai dòng chính: x86 của Intel và AMD, hoặc ARM của Arm Ltd. Hai dòng này đều đi kèm với một bộ giấy phép kết hợp bản quyền và đôi khi bằng sáng chế, mà thường đòi hỏi trả tiền theo số lượng sản xuất. Điều này đã hạn chế nhiều công ty nhỏ và các viện nghiên cứu vì chi phí giấy phép không được công bố trước.

RISC-V ra đời như một đáp án khác: nguyên tắc RISC đơn giản được kết hợp với cách công bố giấy phép mở. Bộ spec ISA được công bố vào năm 2010 tại Berkeley, và từ năm 2015 ban quản lý đã được trao cho RISC-V International – một tổ chức phi lợi nhuận trụ sở tại Thụy Sĩ. Tất cả các tài liệu kỹ thuật, bao gồm cả bản spec User-Level ISA, Privileged ISA, và các mở rộng chuẩn như M (nhân/chia), A (atomic), F (float đơn), D (float kép), và C (lệnh ngắn), đều được cung cấp miễn phí dưới giấy phép cho phép sử dụng, sửa đổi và tái phát hành.

Do mô hình phi lợi nhuận, RISC-V International không có lợi ích thương mại trong việc bán chip – nguồn kinh phí của họ từ phí thành viên và các gói hỗ trợ kỹ thuật. Điều này đã giúp tạo ra một môi trường trong đó bất kỳ ai cũng có thể đọc spec, viết compiler hoặc mô phỏng, rồi sản xuất chip mà không cần trả phí royalties cho bất kỳ bên thứ ba nào.

ISA Giấy phép Trả royalties khi sản xuất? Ví dụ thực tế
x86 Đóng, thương mại Có, trả theo mỗi die Vi xử lý máy tính để bàn và máy chủ
ARM Đóng, giấy phép Có, trả theo mỗi chip Vi xử lý di động và thiết bị nhúng
RISC-V Mở, miễn phí Không Điện thoại thông minh, ô tô tự lái, máy học, siêu vi mạch
Yunsup Lee một trong những nhà sáng lập RISC-V cầm nguyên mẫu chip RISC-V

Kiến trúc mô-đun và cách đặt tên các biến thể

Kiến trúc RISC-V được chia thành các lớp để tăng tính linh hoạt. Lớp dưới cùng là Unprivileged ISA, bao gồm bộ lệnh nguyên thảo (base integer ISA) và các mở rộng chuẩn chọn lọc. Mở rộng được đặt tên bằng một chữ cái duy nhất và thường được kết hợp sau tên cơ sở theo thứ tự cụ thể.

  • Base integer ISA: bao gồm các lệnh tổng quan về việc lưu trữ, di chuyển, toán số nguyên, và nhảy điều kiện. Tên thường bắt đầu bằng RV32I (32 bit) hoặc RV64I (64 bit).
  • M: mở rộng nhân và chia (multiplication and division).
  • A: mở rộng atomic (thực hiện các thao tác so sánh và hoán đổi mà không bị gián đoạn).
  • F: mở rộng số thực đơn precision (single-precision floating-point).
  • D: mở rộng số thực kép precision (double-precision floating-point).
  • C: mở rộng lệnh ngắn (compressed), cho phép mã máy có thể ngắn hơn bằng cách dùng lệnh 16 bit thay vì 32 bit trong một số trường hợp.

Tên đầy đủ của một biến thể ghi lại cả lớp và các mở rộng đã bật. Ví dụ:

  • RV32I: chỉ có bộ nguyên thảo 32 bit.
  • RV32IM: nguyên thảo 32 bit + mở rộng nhân chia.
  • RV32IMA: nguyên thảo 32 bit + M + A.
  • RV32IMAC: nguyên thảo 32 bit + M + A + C (lệnh ngắn được bật).
  • RV64GC: nguyên thảo 64 bit + M + A + F + D + C (lệnh ngắn).

Một đặc điểm thú vị của mở rộng C (lệnh ngắn) là nó không yêu cầu một chế độ thực thi riêng biệt. Thay vào đó, lệnh 16 bit và lệnh 32 bit được trộn lẫn trong cùng một luồng mã, và bộ giải mã sẽ tự động nhận ra xem lệnh hiện tại dài 16 hay 32 bit dựa trên các bit đầu tiên. Kết quả là một bản biên dịch cho RV32IC sẽ cho ra khoảng 25% ít byte hơn so với cùng một bản biên dịch cho RV32I, đồng thời giảm nhu cầu về bộ nhớ cache và tiêu thụ năng lượng để tìm lệnh.

Bảng mạch Raven1 ST28 dùng cho các thử nghiệm RISC-V tại BWRC

Các ví dụ thực tế: từ siêu vi mạch đến xử lý nơ-ron

Vì không cần trả phí royalties, các nhà sản xuất đã nhanh chóng đưa RISC-V vào sản phẩm của mình. Dưới đây là một vài ví dụ điển hình mà bạn có thể gặp trong đời sống hàng ngày:

  • Siêu vi mạch điều khiển: ESP32-C3 của Espressif là một vi mạch MCU đơn nhân 32 bit dựa trên nhân RV32IMC (nguyên thảo + M + C). Chip này được dùng trong nhiều sản phẩm IoT như tủ lạnh thông minh, hệ thống tưới tự động, và công tắc đèn thông minh.
  • Ổ cứng thể rắn: một số SSD đầu vào dùng bộ điều khiển dựa trên RISC-V để quản lý việc đọc/ghi trải đều các ô lưu trữ flash.
  • Máy tính để bàn và thiết bị phát triển: phiên bản đầu tiên của máy tính DeepComputing DC-ROMA là một laptop sử dụng bộ xử lý StarFive JH7110 – một nhân bốn nhân 64 bit dựa trên nhân RV64GC. Chip này cung cấp đủ hiệu năng để chạy hệ điều hành Linux và các công cụ phát triển phần mềm.
  • Xử lý nơ-ron và trí tuệ nhân tạo: công ty Tenstorrent đang phát triển một bộ xử lý dựa trên RISC-V để ứng dụng trong học sâu, được gọi là Ascalon, và thiết kế của chúng tuân theo tiêu chuẩn RVA23 (bao gồm cả một số mở rộng về vector và quản lý bộ nhớ).
  • Đồ họa và GPU: dù NVIDIA vẫn chủ yếu dùng kiến trúc Falcon riêng trong các card đồ họa GeForce, công ty công bố kế hoạch sẽ thay thế Falcon bằng một nhân RISC-V trong các phiên bản sau để giảm chi phí và tăng tính linh hoạt.

Lịch sử ngắn gọn: từ Berkeley phòng lab tới tổ chức quốc tế

RISC-V bắt đầu là một dự án nội bộ của Parallel Computing Laboratory (Par Lab) tại Berkeley, được dẫn dắt bởi giáo sư David Patterson. Năm 2010, giáo sư Krste Asanovic cùng hai sinh viên Yunsup Lee và Andrew Waterman đề ra bộ nguyên tắc kiến trúc RISC-V lần đầu tiên, dựa trên kinh nghiệm từ bốn thế hệ RISC trước đó tại Berkeley.

Những mốc quan trọng trong lịch sử ngắn gọn của RISC-V:

  • 2011: bản tapeout đầu tiên của chip RISC-V trong công nghệ 28nm FDSOI – nghĩa là phần cứng thực sự được sản xuất trên silicon.
  • 2014: công bố bài báo về lợi ích của các bộ nguyên tắc mở, giúp cộng đồng học thuật nhìn ra tiềm năng của mô hình không cần trả royalties.
  • Tháng 1/2015: tổ chức lần đầu tiên workshop về RISC-V, thu hút sự quan tâm từ nhiều công ty và học thuật.
  • Sau giữa 2015: thành lập RISC-V Foundation – tổ chức phi lợi nhuận sẽ chịu trách nhiệm duy trì và phát triển bộ nguyên tắc kiến trúc.
  • 2020: RISC-V Foundation thay đổi tên và cơ cấu pháp lý, trở thành RISC-V International Association và được công nhận tại Thụy Sĩ.

Cho đến năm 2025, RISC-V International có hơn 4.500 thành viên trên toàn thế giới, bao gồm các nhà sản xuất silicium lớn như Intel (tham gia thông qua RISE initiative), Samsung, Qualcomm, MediaTek, và nhiều công ty thiết kế chip từ khởi nghiệp nhỏ tới các tập đoàn công nghệ.

Kết luận

RISC-V đã thay đổi quy tắc chơi trong ngành xử lý bằng cách khai một bộ nguyên tắc kiến trúc hoàn toàn miễn phí, không đòi hỏi trả royalties khi sản xuất chip. Từ những vi mạch tinh tế như siêu vi mạch điều khiển trong thiết bị IoT tới các chip mạnh mẽ dùng trong máy tính để bàn và xử lý nơ-ron cũng như trong mảng đồ họa, RISC-V đang chứng minh rằng một mô hình mở có thể dẫn tới sự đa dạng và phát triển nhanh chóng.

Nếu bạn đang xét lấy một kiến trúc xử lý cho dự án của mình, hãy nghĩ tới RISC-V như một lựa chọn thật sự mở, nơi bạn có thể đọc spec, viết mã, biên dịch, và tự mình sản xuất chip mà không cần lo lắng về giấy phép hay trả phí chọn lọc.

Nguồn tham khảo

Tôi là một lập trình viên IOS. Code chính là IOS nhưng thỉnnh thoảng vẫn đá sang Android hoặc web. Mặc dù không quá thông thạo nhưng tôi sẽ chia sẻ những kiến thức mà mình đã tìm hiểu, áp dụng qua.

Bài viết liên quan

Sơ đồ kiến trúc phần mềm SATA Express cho thấy hai đường AHCI và NVM Express chạy song song trên bus PCI Express

NVMe là gì: giao thức SSD tốc độ cao, thay thế SATA và AHCI

NVMe là giao thức giao tiếp giữa hệ điều hành và ổ cứng thể rắn, viết tắt của Non-Volatile Memory Express. Nó được thiết kế riêng cho NAND flash nên…

Xem thêm

eBPF là gì: cách chạy mã an toàn trong nhân Linux

eBPF là gì? là câu hỏi thường gặp khi bạn đọc tài liệu vận hành hệ thống Linux hiện đại. eBPF (extended Berkeley Packet Filter) là một công nghệ cho…

Xem thêm

NPU là gì: bộ xử lý AI chuyên dụng và cách đọc chỉ số TOPS

NPU là gì và vì sao con số TOPS trên hộp điện thoại ngày càng phóng đại. Neural Processing Unit là bộ xử lý chuyên dụng cho mô hình AI,…

Xem thêm
0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest
0 Comments
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất