Tôi chỉ muốn biết sự khác biệt giữa các cổng I/o và bộ nhớ I/o, bởi vì tôi khá bối rối. Và nếu ai đó giải thích việc sử dụng nó, điều đó thật tuyệt vời. Và bằng cách sử dụng tôi có nghĩa là, khi cổng I/O được ưa thích và khi bộ nhớ I/O được ưa thích.sự khác biệt giữa các cổng I/O và bộ nhớ I/O
Trả lời
Không có sự khác biệt về khái niệm giữa các vùng bộ nhớ và I/O vùng: cả trong số họ được truy cập bằng cách khẳng định tín hiệu điện trên xe buýt địa chỉ và điều khiển xe buýt
Trong khi một số nhà sản xuất CPU thực hiện một không gian địa chỉ duy nhất trong các chip của họ , những người khác đã quyết định rằng các thiết bị ngoại vi khác với bộ nhớ và, do đó, xứng đáng với một không gian địa chỉ riêng biệt. Một số bộ vi xử lý (đáng chú ý nhất là họ x86) có các dòng đọc và ghi riêng biệt cho các cổng I/O và các lệnh CPU đặc biệt để truy cập các cổng.
Linux thực hiện khái niệm về cổng I/O trên tất cả các nền tảng máy tính mà nó chạy trên, ngay cả trên nền tảng nơi CPU triển khai một không gian địa chỉ duy nhất. Việc thực hiện truy cập cổng đôi khi phụ thuộc vào việc tạo và mô hình cụ thể của máy chủ (vì các mô hình khác nhau sử dụng các chipset khác nhau để ánh xạ các giao dịch bus vào không gian địa chỉ bộ nhớ).
Ngay cả khi xe buýt ngoại vi có không gian địa chỉ riêng cho cổng I/O, không phải tất cả các thiết bị đều ánh xạ thanh ghi của chúng vào cổng I/O. Trong khi việc sử dụng các cổng I/O là phổ biến cho các bo mạch ngoại vi ISA, hầu hết các thiết bị PCI ánh xạ các thanh ghi vào một vùng địa chỉ bộ nhớ. Cách tiếp cận bộ nhớ I/O này thường được ưu tiên, vì nó không yêu cầu sử dụng các hướng dẫn bộ xử lý có mục đích đặc biệt; Bộ nhớ truy cập lõi CPU hiệu quả hơn nhiều, và trình biên dịch có nhiều tự do hơn trong việc phân bổ đăng ký và lựa chọn chế độ giải quyết khi truy cập bộ nhớ.
Chi tiết khác tại http://www.makelinux.net/ldd3/chp-9-sect-1
- 1. sự khác biệt giữa bộ nhớ ánh xạ io và io ánh xạ io
- 2. khác biệt giữa IO-APIC-fasteoi và IO-APIC-cạnh
- 3. Sự khác biệt giữa DMA và IO ánh xạ bộ nhớ là gì?
- 4. Sự khác nhau giữa phụ thuộc maven org.apache.commons: commons-io và commons-io: commons-io là gì?
- 5. khác biệt giữa mức IO-APIC và PCI-MSI-X
- 6. sự khác biệt giữa luồng bộ nhớ và dòng phim
- 7. Sự nhầm lẫn khóa cổng hoàn thành IO
- 8. IO 101: Sự khác nhau chính giữa TextWriter, FileStream và StreamWriter là gì?
- 9. sự khác biệt giữa bộ nhớ cache l1 và bộ nhớ cache l2 là gì?
- 10. Tệp không đồng bộ IO trong .Net
- 11. Chức năng IO đã ghi nhớ?
- 12. subshell IO chuyển hướng
- 13. Sự khác biệt giữa jdk 1.6 và jdk 1.7?
- 14. Làm thế nào để xử lý IO phức tạp và bộ nhớ cache ẩn trong Haskell?
- 15. Node.js + Ổ cắm IO + Apache + PHP xóa cổng khỏi url?
- 16. Sự khác biệt giữa Tries và Trees?
- 17. Sự khác biệt giữa ". +" Và ". +?"
- 18. sự khác biệt giữa ARC và MRC
- 19. Sự khác biệt giữa "**/* /" và "** /"?
- 20. Haskell IO (Chuỗi) và Chuỗi
- 21. Haskell đơn nguyên: IO [đúp] tới [IO đúp]
- 22. Chặn IO và IO không chặn; tìm kiếm các bài viết hay nhất
- 23. Sự khác biệt giữa $ (...) và `...`
- 24. Sự khác biệt giữa. và #
- 25. Sự khác biệt giữa $ * và $ @
- 26. Sự khác biệt giữa = và: =
- 27. IO không đồng bộ trong Java?
- 28. Sự khác biệt giữa các chỉ số chuyển đổi% i và% d trong các hàm IO được định dạng (* printf/* scanf)
- 29. Sự khác biệt giữa phương pháp tĩnh và hàm tĩnh trong bộ nhớ
- 30. Sự khác nhau giữa bộ nhớ đệm và bộ nhớ cache trống là gì?