AVX-512 là gì và tại sao Intel lại giết chết nó?

AVX-512 là gì và tại sao Intel lại giết chết nó?

CPU trên thiết bị của bạn thực hiện hàng triệu phép tính mỗi giây và chịu trách nhiệm về cách máy tính của bạn hoạt động. Làm việc với CPU là Bộ xử lý số học (ALU), chịu trách nhiệm cho các tác vụ toán học và được điều khiển bởi vi mã của CPU.





Bây giờ, vi mã CPU đó không phải là tĩnh và có thể được cải thiện, và một trong những cải tiến đó là tập lệnh AVX-512 của Intel. Tuy nhiên, Intel đã sẵn sàng khai tử AVX-512, loại bỏ chức năng của nó khỏi CPU. Nhưng tại sao? Tại sao Intel lại loại bỏ AVX-512?





LÀM VIDEO TRONG NGÀY

ALU hoạt động như thế nào?

Trước khi tìm hiểu tập lệnh AVX-512, điều cần thiết là phải hiểu cách hoạt động của ALU.





Như tên cho thấy, Đơn vị xử lý số học được sử dụng để thực hiện các nhiệm vụ toán học. Các tác vụ này bao gồm các phép toán như phép cộng, phép nhân và phép tính dấu phẩy động. Để thực hiện các nhiệm vụ này, ALU sử dụng mạch kỹ thuật số dành riêng cho ứng dụng, được điều khiển bởi tín hiệu đồng hồ của CPU.

Do đó, tốc độ xung nhịp của CPU xác định tốc độ xử lý các lệnh trong ALU. Vì vậy, nếu CPU của bạn chạy trên xung nhịp 5GHz, ALU có thể xử lý 5 tỷ lệnh trong một giây. Vì lý do này, hiệu suất của CPU được cải thiện khi tốc độ xung nhịp tăng lên.



  Chipset trên bo mạch chủ

Điều đó nói rằng, khi tốc độ xung nhịp của CPU tăng lên, lượng nhiệt do CPU tạo ra cũng tăng theo. Vì lý do này, người dùng sử dụng nitơ lỏng khi ép xung hệ thống của họ. Thật không may, sự gia tăng nhiệt độ ở tần số cao này ngăn cản các nhà sản xuất CPU tăng tần số xung nhịp trên một ngưỡng nhất định.

Vậy làm thế nào để một bộ vi xử lý thế hệ mới mang lại hiệu suất tốt hơn so với các phiên bản cũ? Các nhà sản xuất CPU sử dụng khái niệm song song để tăng hiệu suất. Sự song song này có thể đạt được bằng cách sử dụng kiến ​​trúc đa lõi trong đó một số lõi xử lý khác nhau được sử dụng để cải thiện sức mạnh tính toán của CPU.





Một cách khác để cải thiện hiệu suất là sử dụng tập lệnh SIMD. Nói một cách dễ hiểu, một lệnh Đa dữ liệu theo lệnh đơn cho phép ALU thực hiện cùng một lệnh trên các điểm dữ liệu khác nhau. Kiểu song song này cải thiện hiệu suất của CPU và AVX-512 là lệnh SIMD được sử dụng để tăng hiệu suất của CPU khi thực hiện các tác vụ cụ thể.

Làm thế nào để dữ liệu đến được ALU?

Bây giờ chúng ta đã có hiểu biết cơ bản về cách hoạt động của ALU, chúng ta cần hiểu cách dữ liệu đến ALU.





trò chơi không sử dụng nhiều dung lượng lưu trữ
  ổ cứng có nền trống

Để đến được ALU, dữ liệu phải di chuyển qua các hệ thống lưu trữ khác nhau. Hành trình dữ liệu này dựa trên phân cấp bộ nhớ của hệ thống máy tính. Dưới đây là tổng quan ngắn gọn về hệ thống phân cấp này:

  • Bộ nhớ phụ: Bộ nhớ phụ trên thiết bị máy tính bao gồm một thiết bị lưu trữ vĩnh viễn. Thiết bị này có thể lưu trữ dữ liệu vĩnh viễn nhưng không nhanh bằng CPU. Do đó, CPU không thể truy cập dữ liệu trực tiếp từ hệ thống lưu trữ thứ cấp.
  • Bộ nhớ chính: Hệ thống lưu trữ chính bao gồm bộ nhớ truy cập ngẫu nhiên (RAM). Hệ thống lưu trữ này nhanh hơn hệ thống lưu trữ thứ cấp nhưng không thể lưu trữ dữ liệu vĩnh viễn. Do đó, khi bạn mở một tệp trên hệ thống của mình, nó sẽ di chuyển từ ổ cứng sang RAM. Điều đó nói rằng, ngay cả RAM cũng không đủ nhanh cho CPU.
  • Bộ nhớ đệm: Bộ nhớ đệm được nhúng trong CPU và là hệ thống bộ nhớ nhanh nhất trên máy tính. Hệ thống bộ nhớ này được chia thành ba phần, cụ thể là Bộ nhớ đệm L1, L2 và L3 . Bất kỳ dữ liệu nào cần được xử lý bởi ALU sẽ di chuyển từ ổ cứng sang RAM và sau đó đến bộ nhớ đệm. Điều đó nói rằng, ALU không thể truy cập dữ liệu trực tiếp từ bộ nhớ cache.
  • Thanh ghi CPU: Thanh ghi CPU trên thiết bị tính toán có kích thước rất nhỏ, và dựa trên kiến ​​trúc máy tính, các thanh ghi này có thể chứa 32 hoặc 64 bit dữ liệu. Khi dữ liệu di chuyển vào các thanh ghi này, ALU có thể truy cập nó và thực hiện nhiệm vụ trong tầm tay.

AVX-512 là gì và nó hoạt động như thế nào?

Tập lệnh AVX 512 là lần lặp lại thứ hai của AVX và được đưa vào bộ xử lý Intel vào năm 2013. Viết tắt của Advanced Vector Extensions, tập lệnh AVX lần đầu tiên được giới thiệu trong kiến ​​trúc Xeon Phi (Knights Landing) của Intel và sau đó được đưa vào máy chủ của Intel bộ xử lý trong CPU Skylake-X.

Ngoài ra, tập lệnh AVX-512 đã đến được với các hệ thống dựa trên người tiêu dùng với kiến ​​trúc Cannon Lake và sau đó được hỗ trợ bởi kiến ​​trúc Ice Lake và Tiger Lake.

Mục tiêu chính của tập lệnh này là tăng tốc các tác vụ liên quan đến nén dữ liệu, xử lý hình ảnh và tính toán mật mã. Cung cấp gấp đôi sức mạnh tính toán so với các lần lặp cũ hơn, tập lệnh AVX-512 mang lại hiệu suất đáng kể.

Vậy, làm cách nào để Intel tăng gấp đôi hiệu năng của các CPU của mình bằng cách sử dụng kiến ​​trúc AVX-512?

ứng dụng email khách miễn phí tốt nhất cho windows 10

Như đã giải thích trước đó, ALU chỉ có thể truy cập dữ liệu có trong thanh ghi của CPU. Tập lệnh Mở rộng Vectơ Nâng cao làm tăng kích thước của các thanh ghi này.

Do sự gia tăng kích thước này, ALU có thể xử lý nhiều điểm dữ liệu trong một lệnh duy nhất, làm tăng hiệu suất của hệ thống.

Về kích thước thanh ghi, tập lệnh AVX-512 cung cấp ba mươi hai thanh ghi 512-bit, gấp đôi khi so sánh với tập lệnh AVX cũ hơn.

Tại sao Intel lại kết thúc AVX-512?

Như đã giải thích trước đó, tập lệnh AVX-512 cung cấp một số lợi thế tính toán. Trên thực tế, các thư viện phổ biến như TensorFlow sử dụng tập lệnh để cung cấp các tính toán nhanh hơn trên các CPU hỗ trợ tập lệnh.

Vì vậy, tại sao Intel lại vô hiệu hóa AVX-512 trên các bộ vi xử lý Alder Lake gần đây của mình?

Chà, bộ vi xử lý Alder Lake không giống những bộ xử lý cũ do Intel sản xuất. Trong khi các hệ thống cũ hơn sử dụng các lõi chạy trên cùng một kiến ​​trúc, bộ xử lý Alder Lake sử dụng hai lõi khác nhau. Các lõi này trong các CPU Alder Lake được gọi là Lõi P và E và được cung cấp bởi các kiến ​​trúc khác nhau.

Trong khi các lõi P sử dụng vi kiến ​​trúc Golden Cove, các lõi E sử dụng vi kiến ​​trúc Gracemont. Sự khác biệt về kiến ​​trúc này ngăn bộ lập lịch hoạt động chính xác khi các hướng dẫn cụ thể có thể chạy trên một kiến ​​trúc nhưng không chạy trên kiến ​​trúc khác.

Trong trường hợp của bộ xử lý Alder Lake, tập lệnh AVX-512 là một ví dụ như vậy, vì các lõi P có phần cứng để xử lý lệnh, nhưng các lõi E thì không.

Vì lý do này, các CPU Alder Lake không hỗ trợ tập lệnh AVX-512.

Điều đó nói rằng, lệnh AVX-512 có thể chạy trên một số CPU Alder Lake 'mà Intel chưa kết hợp chúng một cách vật lý. Để làm điều tương tự, người dùng phải vô hiệu hóa các lõi E trong BIOS.

AVX-512 có cần thiết trên chipset tiêu dùng không?

Tập lệnh AVX-512 tăng kích thước thanh ghi của CPU để nâng cao hiệu suất của nó. Việc tăng hiệu suất này cho phép các CPU xử lý các con số nhanh hơn, cho phép người dùng chạy các thuật toán nén video / âm thanh với tốc độ nhanh hơn.

Điều đó nói rằng, sự gia tăng hiệu suất này chỉ có thể được quan sát khi lệnh được xác định trong một chương trình được tối ưu hóa để chạy trên tập lệnh AVX-512.

cách buộc đóng một ứng dụng trên windows

Vì lý do này, các kiến ​​trúc tập lệnh như AVX-512 phù hợp hơn với khối lượng công việc của máy chủ và các chipset cấp người tiêu dùng có thể hoạt động mà không cần các tập lệnh phức tạp như AVX-512.