Bộ vi xử lý 32 bit của Intel như Pentium có bus dữ liệu rộng 64 bit và do đó lấy 8 byte cho mỗi lần truy cập. Dựa trên điều này, tôi giả sử rằng các địa chỉ vật lý mà các bộ xử lý này phát ra trên bus địa chỉ luôn là bội số của 8.Sắp xếp bộ nhớ trên bộ xử lý Intel 32 bit
Thứ nhất, kết luận này có đúng không?
Thứ hai, nếu đúng, thì bạn nên căn chỉnh các thành viên cấu trúc dữ liệu trên ranh giới 8 byte. Nhưng tôi đã nhìn thấy những người sử dụng một liên kết 4-byte thay vì trên các bộ vi xử lý.
Làm cách nào để chúng được chứng minh khi làm như vậy?
Tôi không biết câu hỏi này có ý nghĩa gì, nhưng tôi tò mò về cách điều này liên quan đến lập trình và điều này có thể ảnh hưởng đến tôi như thế nào. Tôi có thể đọc phần giới thiệu cơ bản về công cụ loại cấp thấp này ở đâu? –
Xem "Mọi lập trình viên nên biết gì về bộ nhớ": http://people.redhat.com/drepper/cpumemory.pdf – Crashworks
Làm thế nào để yo uget từ "yêu cầu đọc luôn là bội số của 8" để "dữ liệu của bạn nên luôn luôn bắt đầu một ranh giới 8-byte "? Tôi không thấy kết nối logic giữa chúng. Chừng nào dữ liệu không * vượt qua * ranh giới 8 byte, chúng ta tốt, phải không? – jalf