Vài tuần trước, ARM đã giới thiệu thế hệ thứ chín của tập hợp các thanh ghi và lệnh được sử dụng trong các bộ xử lý có ISA cùng tên. ARMv9 là tên mà phiên bản mới của ISA này đã được rửa tội, sẽ được sử dụng trong các SoC trong tương lai cho các thiết bị PostPC. ARMv9 là gì và có gì mới so với các phiên bản trước, CPU ARM trong tương lai sẽ như thế nào?
ISA không gì khác hơn là ngôn ngữ được hiểu bởi các bộ xử lý khác nhau và do đó đánh dấu tập hợp các số một và số 86 có nghĩa là gì trong mã chúng thực thi. Hệ nhị phân cho một xXNUMX CPU không có cùng ý nghĩa như nhị phân cho CPU ARM chẳng hạn.
Tuy nhiên, sự tiến bộ của công nghệ khiến cho ISA cần phải thêm các hướng dẫn mới, điều này cho phép họ thêm các chức năng mới để tăng hiệu suất, tính bảo mật khi xử lý dữ liệu hoặc đối mặt với những thách thức mới đặt ra cho họ.
Trong bài viết này, chúng ta sẽ nói về thế hệ thứ chín của ISA ARM, sau nhiều năm nhắm vào CPU và vi điều khiển tiêu thụ thấp, họ đã quyết định tham vọng hơn và tham gia vào thị trường đòi hỏi hiệu suất cao nhất, đó là các trung tâm dữ liệu và hiệu suất cao. điện toán hoặc HPC.
Phần mở rộng vectơ có thể mở rộng 2
Fujitsu Nhật Bản đã tạo ra cho lõi ARM của mình một loạt các phần mở rộng độc quyền được gọi là SVE, viết tắt của Phần mở rộng Vector có thể mở rộng. Từ tên của nó, bạn có thể đoán rằng chúng ta đang nói về một tập hợp các hướng dẫn SIMD. Đừng quên rằng trong các CPU với ISA ARM trong nhiều năm, hướng dẫn Neon đã được sử dụng. Điều này sẽ được thay thế bằng hướng dẫn SVE2 trong ARMv9.
SVE được Fujitsu tạo ra cho siêu máy tính Fugaku, sử dụng lõi A64-FX của nó. Ý định? Tận dụng tính song song của dữ liệu theo yêu cầu của máy tính khoa học, sử dụng các số có độ chính xác cao hơn. Điều này chuyển thành các đơn vị SIMD lớn hơn nhiều và do đó nhiều bit hơn.
Vì lợi ích của ARM là đưa lõi của họ đến với thị trường máy tính và máy chủ hiệu suất cao, họ đã quyết định áp dụng SVE và hợp nhất nó với Neon để tạo ra SVE2. Ưu điểm lớn nhất mà SVE bổ sung cho Neon? Đây là các hướng dẫn bất khả tri về kích thước, vì vậy không cần thiết phải có phiên bản của từng hướng dẫn cho các kích thước khác nhau như trường hợp của các hướng dẫn AVX trên x86.
Các lĩnh vực bộ nhớ trong ARMv9
Một khái niệm thú vị mà ISA ARMv9 thêm vào phương trình là khái niệm về các cảnh giới, bao gồm việc có thể tham gia vào việc định địa chỉ bộ nhớ và làm cho mã được thực thi trong đó không ảnh hưởng đến phần còn lại của hệ thống, do đó nó hoàn toàn bị cô lập. Điều này lý tưởng cho việc triển khai các máy ảo trong đó một hệ điều hành chạy cùng lúc với hệ điều hành khác trên cùng một CPU.
Thông thường các CPU có các mức đặc quyền khác nhau, nhưng với khái niệm cảnh giới đã được thêm vào trong ARMv9, sẽ có thể dễ dàng chạy các máy ảo trên CPU với ARM ISA, nhưng lợi thế của điều này không chỉ giới hạn ở các máy ảo, nhưng cũng có thể được sử dụng trong các ứng dụng cụ thể.
Vì vậy, ARMv9 dường như là một phần mở rộng cho ISA được chuẩn bị sẵn sàng hơn cho các trung tâm dữ liệu và các loại máy tính khác, nơi ảo hóa và bảo mật quan trọng hơn nhiều so với các chức năng khác. Không có gì ngạc nhiên khi ARM đang tiến hành một cuộc chiến chống lại Intel và AMD trong thị trường CPU máy chủ, nơi bộ vi xử lý x86 thống trị thị trường cho đến nay.
Tiện ích mở rộng gắn thẻ bộ nhớ
Chúng không mới đối với ARMv9, mà là phiên bản 8.5. Công dụng của nó? Nó là một cơ chế chịu trách nhiệm theo dõi tất cả các truy cập bộ nhớ bất hợp pháp được thực hiện bởi các chương trình. Truy cập bất hợp pháp không gì khác hơn là truy cập vào một địa chỉ bộ nhớ mà chương trình không có quyền truy cập. cái này dùng như thế nào? Vì nó phục vụ để tránh cái gọi là tràn bộ đệm, một vấn đề bảo mật phổ biến trong tất cả các bộ xử lý xảy ra khi lượng dữ liệu được sao chép vượt quá dự trữ bộ nhớ, ghi mã không mong muốn trong các địa chỉ bộ nhớ lân cận.
Nếu quá trình tràn bộ nhớ thành công thì mã gốc sẽ được thay thế bằng mã trong bộ nhớ mới, mã này sẽ được CPU thực thi ngay sau khi nó đến bộ nhớ. Vì vậy, điều quan trọng là phải tránh điều này, đặc biệt nếu chúng ta đang nói về các trung tâm dữ liệu có xu hướng phục vụ hàng triệu người dùng cùng lúc và nơi có thể sử dụng lỗi tràn bộ đệm để lấy cắp dữ liệu người dùng bị xâm phạm.
MTE không phải là một phần của ISA, nhưng là một cơ chế được thực hiện trong Cầu Bắc của CPU ARMv9 để theo dõi tất cả các truy cập bộ nhớ và có chức năng là tránh tràn bộ nhớ một cách minh bạch.
ARMv9 chỉ dành cho trung tâm dữ liệu và máy chủ?
Tính mới của ISA ARMv9 mà chúng tôi đã mô tả trong các phần trước có một đặc điểm cụ thể được đánh dấu và không liên quan gì đến việc sử dụng trong các thiết bị cổ điển mà ISA ARM thường thấy. Trong số tất cả chúng, nó gọi là SVE mạnh mẽ, vì một trong những lý do tại sao bạn thường không thấy các đơn vị SIMD lớn trong CPU cho các thiết bị PostPC là mức tiêu thụ năng lượng khổng lồ mà việc sử dụng chúng cho rằng.
Hiện tại, hai lõi duy nhất được ARM công bố là hai lõi từ dòng Neoverse. Một mặt là NeoVerse V1 với mật danh “Zeus” và mặt khác là Neoverse N2 với mật danh “Perseus”. Đây không phải là những lõi mà bạn sẽ thấy trong một chiếc điện thoại thông minh trong tương lai, mà là trong các trung tâm dữ liệu và máy chủ để tính toán hiệu suất cao của các công ty như Amazon AWS, Oracle, Tencent, Google, v.v.
ARM vẫn chưa công bố bất kỳ hạt nhân nào cho các thiết bị PostPC như điện thoại thông minh và máy tính bảng. Mặc dù chúng ta không thể quên rằng mục tiêu của ARM là thay thế x86 ở nhiều thị trường khác nhau, không chỉ trên máy chủ mà còn trên PC. Việc mua của NVIDIA và ảnh hưởng lớn của nó đối với thị trường trò chơi điện tử trên PC có thể mang đến sự xuất hiện của PC chơi game với ARM và GPU NVIDIA, mặc dù đó là một tương lai sẽ cần rất nhiều sự hỗ trợ từ các nhà phát triển trò chơi điện tử chứ không phải NVIDIA-ARM.