Mục lục bài viết
Apple, Qualcomm, MediaTek, Samsung đều thiết kế chip theo cách riêng, nhưng gần như toàn bộ chip di động hiện nay đứng chung trên một nền tảng gọi là kiến trúc ARM. Hiểu ARM thực chất là gì giúp lý giải vì sao các hãng chip khác nhau vẫn có thể chạy chung một hệ điều hành, cùng loại ứng dụng, dù sản phẩm cuối cùng khác biệt hoàn toàn về hiệu năng.
ARM là tập lệnh, không phải là một con chip cụ thể
ARM là viết tắt của một kiến trúc tập lệnh, tức tập hợp các lệnh nhị phân cơ bản mà bộ xử lý hiểu và thực thi, cùng quy tắc quản lý bộ nhớ, thanh ghi, ngắt hệ thống. Đây là bản thiết kế logic trừu tượng, không phải một sản phẩm silicon cụ thể. Công ty ARM Holdings không tự sản xuất chip mà cấp phép kiến trúc này cho các hãng khác sử dụng, tương tự việc chia sẻ một ngôn ngữ chung để phần cứng và phần mềm giao tiếp được với nhau bất kể ai thiết kế ra vi xử lý vật lý.
Hai hình thức cấp phép: lõi có sẵn và giấy phép kiến trúc
ARM cung cấp hai hình thức cấp phép chính. Một là cấp phép lõi tham chiếu đã thiết kế sẵn như dòng Cortex, hãng chip chỉ việc tích hợp lõi này vào SoC của mình. Hai là cấp phép kiến trúc, cho phép hãng tự thiết kế vi kiến trúc riêng miễn tuân thủ tập lệnh ARM để tương thích phần mềm. Apple với dòng chip A và M, hay Qualcomm với lõi Oryon gần đây, đi theo hướng thứ hai, tự xây dựng pipeline xử lý, cách sắp xếp đơn vị tính toán theo thiết kế riêng.
Vì sao cùng tập lệnh mà hiệu năng vẫn khác xa nhau
Tập lệnh chung chỉ đảm bảo phần mềm biên dịch cho ARM chạy được trên mọi chip tuân thủ kiến trúc này, nhưng cách mỗi hãng hiện thực hóa vi kiến trúc bên trong mới là yếu tố quyết định hiệu năng thực tế. Độ sâu pipeline, số đơn vị thực thi song song, dung lượng và tổ chức bộ nhớ đệm, thuật toán dự đoán rẽ nhánh, tất cả đều là lựa chọn thiết kế riêng của từng hãng. Vì vậy hai chip cùng tuân thủ ARMv9 có thể chênh lệch hiệu năng đáng kể dù chạy chung một tập lệnh gốc.
Các phiên bản tập lệnh ARM mang lại gì
Tập lệnh ARM cũng tiến hóa qua từng thế hệ, từ ARMv8 sang ARMv9, bổ sung nhóm lệnh mới liên quan bảo mật phần cứng, xử lý vector cho tác vụ học máy, và cơ chế cách ly bộ nhớ chặt chẽ hơn. Khi một hãng chip công bố hỗ trợ phiên bản tập lệnh mới, điều đó có nghĩa vi kiến trúc của họ có khả năng tận dụng các lệnh mở rộng này, nhưng mức độ tận dụng thực tế vẫn phụ thuộc cách hãng đó triển khai phần cứng đi kèm.
Hiểu nhầm thường gặp
“chip nào cũng dùng ARM nên về cơ bản đều giống nhau” là suy nghĩ nhầm giữa kiến trúc tập lệnh với thiết kế phần cứng cụ thể. ARM chỉ là ngôn ngữ lệnh chung, còn cách từng hãng xây dựng vi kiến trúc bên trong mới tạo ra khác biệt hiệu năng, mức tiêu thụ điện và khả năng tối ưu, giống như nhiều tác giả cùng viết bằng một ngôn ngữ nhưng tạo ra những tác phẩm hoàn toàn khác nhau.
Xem thêm
Nội dung này thuộc cụm bài Kiến trúc chip theo hãng: tổng hợp bài viết. Xem thêm Vì sao Apple tự thiết kế chip A-series, M-series còn hãng Android phải mua chip Qualcomm, MediaTek.
