Cách chip Apple M1 truy cập bộ nhớ
(lemire.me)"Lõi đơn của M1 xử lý bộ nhớ song song qua hơn 28 giai đoạn"
-
Truy cập bộ nhớ tốn kém hơn tác vụ tính toán
-
Về mặt lý thuyết, mô hình ngây thơ cho rằng khi truy cập
xthì có thể đọc miễn phí các giá trị gần đó nhưx+1nghe cũng có vẻ hợp lý, nhưng lại không thể dự đoán hiệu năng -
Khi nào việc dự đoán hiệu năng này thất bại? Lõi CPU sẽ đồng thời thử truy cập nhiều vùng nhớ khác nhau
-
Nếu thực hiện đồng thời 7 lần truy cập bộ nhớ thì chắc chắn sẽ chậm hơn so với chỉ truy cập 1 lần, nhưng liệu có chậm hơn gấp 7 lần không?
-
Thông qua chương trình benchmark để kiểm tra có thể thực hiện bao nhiêu truy cập đồng thời (
lane, các quy trình dò theo con trỏ độc lập)
→ Từ mức mà hiệu năng truy cập đồng thời bắt đầu suy giảm, có thể suy ra số lượng lane
- Người ta suy đoán rằng một lõi của Apple M1 có 28
lane, vì hiệu năng bắt đầu giảm khi vượt quá 28lane
→ Vì vậy, do mức độ xử lý song song cao này, việc ước tính chi phí theo mô hình ngây thơ nói trên sẽ thất bại
5 bình luận
Mỗi khi nhắc đến câu chuyện về CPU
https://ridibooks.com/books/443000037
cuốn sách này lại giúp ích rất nhiều. Nếu có ai muốn theo dõi từ đầu, thì có lẽ nếu đọc cuốn sách này trước rồi đọc tiếp, sẽ dễ theo kịp hơn đôi chút.
Để tránh bị coi là quảng bá cho Ridibooks(...), tên sách là: Câu chuyện về CPU đa lõi mà lập trình viên chưa từng biết. Sở dĩ lại là Ridibooks vì bản sách giấy đã ngừng phát hành. Còn ebook thì cửa hàng duy nhất còn lại chỉ có Ridibooks, nên tôi đành đăng như vậy.
Thì ra anh Kim Min-jang cũng viết cả những cuốn sách như thế này... Mới đó mà đã 10 năm rồi, thời gian trôi thật vô thường ^^;
Đây đúng là phần khá khó. Vì rất khó để khái quát hóa. Nhưng trong bối cảnh kiến trúc CPU ngày nay và xử lý song song ngày càng nhiều, có vẻ nó có thể khá hiệu quả. Cũng khiến người ta thấy rằng đang có rất nhiều thử nghiệm cải tiến cấu trúc phần cứng được tiến hành.
Có lẽ vì là giáo sư ngành khoa học máy tính viết nên bài chỉ ghi lại đúng những gì bản thân ông ấy đã xác định được..
Nếu kết hợp các bình luận của bài đó với bình luận trên HN thì có thể thấy: https://news.ycombinator.com/item?id=25659615
Về cơ bản, có thể hiểu rằng M1 nhờ khả năng song song hóa từ 28 tác vụ trở lên và kích thước của bộ nhớ đệm L1, nên vẫn cho thấy hiệu năng rất tốt ngay cả khi truy cập ngẫu nhiên vào nhiều vị trí.