Có bất kỳ thay đổi nào có thể được thực hiện đối với CPU để làm cho chúng hoạt động tốt hơn cho các thời gian chạy đồng thời như Rust không? Chẳng hạn, có những thay đổi đối với việc triển khai dự đoán nhánh hoặc kích thước bộ đệm có thể giúp thời gian chạy đồng thời không?
Tôi có ấn tượng rằng các thiết kế CPU hiện tại có thể được tối ưu hóa nhiều hơn cho các thời gian chạy thủ tục như C. Nếu chúng ta thay vào đó sẽ tối ưu hóa cho các thời gian chạy đồng thời, CPU sẽ trông khác nhau như thế nào?
Đối với isntance, dự đoán chi nhánh được thực hiện dựa trên những khái quát được rút ra trong các tài liệu nghiên cứu phân tích các quy trình thủ tục. Tôi tự hỏi nếu sự trừu tượng hóa đồng thời sẽ thêm một tập hợp làm việc đáng kể vào thời gian chạy có ảnh hưởng xấu đến các thuật toán dự đoán nhánh hiện có. Ví dụ, dự đoán trong một vòng lặp for là một điều, nhưng khi mục tiêu của nhánh luôn là một phần bộ nhớ mới (đồ họa, văn bản, v.v.), nó sẽ luôn bị mất bộ nhớ cache và sẽ không bao giờ có nhánh lịch sử cho nó-- bởi vì chưa chạm vào nó.
Đây có lẽ là một câu hỏi ngớ ngẩn vì nội dung, mặc dù có thể luôn nằm trong RAM, sẽ được phân nhánh ở mức độ nhỏ hơn mức độ sẽ được sử dụng (một khi nó đã được tải vào bộ đệm) ... nhưng vẫn còn đó phải là một ranh giới tạm thời có thể quan sát được đối với các bối cảnh được lưu trữ trong bộ đệm và các yếu tố dự báo nhánh trong thời gian chạy thủ tục, đó sẽ được biểu hiện như một ranh giới trừu tượng trong một môi trường song song hơn. Vì vậy, tôi tự hỏi ... Những ranh giới này đã được quan sát? Có bất kỳ tài liệu nghiên cứu đã phân tích này?
Các kiến trúc CPU có thiên về mã thủ tục so với mã đồng thời; hoặc các CPU hiện đại có đủ mục đích chung mà một ngôn ngữ đồng thời cao không bị ảnh hưởng?