Bộ dự đoán nhánh 2-Ahead của Zen 5: cách một ý tưởng 30 năm tuổi mở ra những thủ thuật mới
(chipsandcheese.com)Bộ dự đoán nhánh 2-Ahead của Zen 5: cách một ý tưởng 30 năm tuổi mở ra những thủ thuật mới
-
Giới thiệu
- Kiến trúc Zen 5 của AMD là một bản tái thiết kế hoàn toàn so với các kiến trúc Zen trước đó
- Một trong những thay đổi quan trọng nhất là bộ dự đoán nhánh 2-Ahead mới
- Ý tưởng này bắt nguồn từ một bài báo cách đây 30 năm
-
Tầm quan trọng của bộ dự đoán nhánh
- Máy tính lưu chương trình trong bộ nhớ và thực thi chúng
- Bộ xử lý được chia thành phần đầu lấy và thực thi lệnh, và phần sau
- Các lệnh nhảy có điều kiện là thách thức lớn trong việc lấp đầy pipeline
- Dự đoán sai buộc pipeline phải bị flush và khởi động lại
- Vì vậy, bộ xử lý phải dự đoán chuỗi lệnh của chương trình chính xác nhất có thể
-
Sự xuất hiện của bộ dự đoán nhánh 2-Ahead
- Đây là ý tưởng đã được đề xuất từ đầu những năm 1990
- Sau đó, các phương pháp hiệu quả hơn như bộ dự đoán TAGE đã được phát triển
- Tuy nhiên, để cải thiện hiệu năng đơn nhân, bộ dự đoán nhánh 2-Ahead đang được chú ý trở lại
-
Lợi thế của kiến trúc x86
- x86 thu được lợi ích lớn hơn từ dự đoán nhánh 2-Ahead so với các ISA khác có lệnh độ dài cố định
- x86 đòi hỏi xử lý phức tạp hơn để xác định ranh giới lệnh
- Zen 5 sử dụng hai pipeline fetch 32 byte và cụm giải mã 4-wide
-
Triển khai theo bài báo của Seznec
- Bài báo của Seznec mô tả cách triển khai bộ dự đoán nhánh 2-Ahead
- Zen 5 tuân theo các khuyến nghị trong bài báo này
- Nó sử dụng hai pipeline fetch 32 byte và op cache dual-port 6-wide
- L1 BTB và L2 BTB được dùng để tăng độ chính xác dự đoán
-
Kết luận
- Bộ dự đoán nhánh 2-Ahead của Zen 5 là một thay đổi quan trọng trong kiến trúc Zen
- Bộ dự đoán mới này sẽ là nền tảng hữu ích cho sự phát triển các lõi Zen trong tương lai
Tổng hợp của GN⁺
- Bộ dự đoán nhánh 2-Ahead của Zen 5 là một cách diễn giải hiện đại cho ý tưởng từ 30 năm trước
- Công nghệ này cải thiện hiệu năng bằng cách nâng cao độ chính xác dự đoán lệnh của bộ xử lý
- Nó đặc biệt hữu ích trong việc xử lý độ phức tạp của kiến trúc x86
- Bài viết này hữu ích với những người quan tâm đến kiến trúc CPU và tối ưu hiệu năng
- Một dự án khác có tính năng tương tự là kiến trúc Golden Cove của Intel
1 bình luận
Bình luận trên Hacker News