Tôi thực sự là người mới khởi động Cortex A và tôi biết ARM áp dụng mô hình bộ nhớ được đặt hàng yếu và có ba loại bộ nhớ loại trừ lẫn nhau:[ARM CortexA] Sự khác biệt giữa loại bộ nhớ được đặt hàng và thiết bị
- mạnh theo lệnh
- Device
- Bình thường
tôi khoảng hiểu những gì bình thường là cho và những gì mạnh mẽ theo lệnh và thiết bị có ý nghĩa. Tuy nhiên sự khác biệt giữa đặt hàng mạnh mẽ và thiết bị gây nhầm lẫn cho tôi.
Theo hướng dẫn Cortex-A Series Programmer, sự khác biệt duy nhất là:
Một ghi vào mạnh theo lệnh bộ nhớ có thể hoàn thành chỉ khi nó đạt đến thành phần ngoại vi hay bộ nhớ truy cập bởi các ghi.
Ghi vào bộ nhớ thiết bị được phép hoàn thành trước khi nó đạt đến thành phần ngoại vi hoặc bộ nhớ được truy cập bằng ghi.
Tôi không hoàn toàn chắc chắn về ý nghĩa thực sự của việc này. Tôi đoán rằng, thứ tự truy cập vào bộ nhớ được đánh máy với lệnh được đặt mạnh hoặc Thiết bị phải được kết hợp với mã của người lập trình (không có quyền truy cập không theo thứ tự). Nhưng CPU sẽ có khả năng thực hiện lệnh tiếp theo trong khi truy cập vào bộ nhớ nếu gõ thiết bị, và nó sẽ chỉ đơn giản là chờ cho đến khi truy cập được hoàn thành nếu gõ mạnh được lệnh.
Sửa lỗi nếu tôi sai và vui lòng cho tôi biết ý nghĩa của việc này là gì.
Xin cảm ơn trước.
vì vậy @unixsmurf trong quan điểm của bạn những gì nên được sử dụng cho thiết bị MMIO regs nói GIC? từ lời giải thích tôi nghĩ rằng nó nên được đặt hàng mạnh mẽ cho gic, phải không?xin vui lòng bình luận – mSO
@mSO: Bộ nhớ thiết bị là tùy chọn hiệu quả nhất - vì nó cho phép sử dụng tính năng ghi đệm. Đặt hàng mạnh mẽ cũng sẽ có chức năng chính xác, nhưng có thể ảnh hưởng đến hiệu suất tiêu cực. – unixsmurf
unixsmurf Tôi đã đăng một câu hỏi trên các dòng tương tự mà ở đây http://stackoverflow.com/questions/20265729/stage-2-memattr-long-descriptor-arm-pte-query bạn có thể vui lòng bình luận về nó, cảm ơn – mSO