2010-10-08 61 views

Trả lời

3

Trên x86 có hai không gian địa chỉ khác nhau, một cho bộ nhớ và một không gian khác cho cổng I/O.

Không gian địa chỉ cổng được giới hạn ở 65536 cổng và được truy cập bằng các hướng dẫn IN/OUT.

Ví dụ, chức năng VGA của thẻ video có thể được truy cập bằng một số cổng I/O, nhưng bộ đệm khung được ánh xạ bộ nhớ.

Kiến trúc CPU khác chỉ có một vùng địa chỉ. Trong các kiến ​​trúc đó, tất cả các thiết bị đều được ánh xạ bộ nhớ.

7

Uhm, ... trừ khi tôi hiểu lầm, bạn đang nói về hai điều hoàn toàn khác nhau. Tôi sẽ cung cấp cho bạn hai giải thích rất ngắn để bạn có thể cập nhật những gì bạn cần ngay bây giờ.

I/O được ánh xạ bộ nhớ nghĩa là ánh xạ bộ nhớ thiết bị phần cứng I/O vào bản đồ bộ nhớ chính. Đó là, sẽ có địa chỉ trong bộ nhớ của máy tính sẽ không thực sự tương ứng với bộ nhớ RAM của bạn, nhưng với các thanh ghi bên trong và bộ nhớ của các thiết bị ngoại vi. Đây là kiến ​​trúc máy mà Pointy đang nói đến.

Ngoài ra còn có ánh xạ I/O, có nghĩa là lấy (nói) một tệp và có phần tải hệ điều hành trong bộ nhớ để truy cập nhanh hơn sau này. Trong Unix, điều này có thể được thực hiện thông qua mmap().

Tôi hy vọng điều này sẽ hữu ích.

+0

Câu trả lời của bạn là thông tin nhưng bạn chưa giải thích IO ánh xạ IO. – JagsVG

+0

* "sẽ có địa chỉ trong bộ nhớ của máy tính sẽ không thực sự tương ứng với bộ nhớ RAM của bạn, nhưng đối với bộ nhớ trong và bộ nhớ của thiết bị ngoại vi." * Mỗi thiết bị có bộ đăng ký nội bộ và bộ nhớ riêng của chúng Ví dụ: máy in có 4 thanh ghi trong khi webcam có 7 thanh ghi) hay có số lượng đăng ký và bộ nhớ chuẩn mà tất cả các thiết bị phải triển khai? – John

+0

Mỗi thiết bị khác nhau, cả trong lẫn ngoài giao diện. Bản đồ bộ nhớ có thể được sử dụng, hay không. Nó phụ thuộc rất nhiều vào thiết bị – slezica

1

Tôi có một sự khác biệt rõ ràng hơn giữa hai loại. Thiết bị I/O được ánh xạ bộ nhớ là thiết bị I/O phản hồi khi IO/M ở mức thấp. Trong khi I/O (hoặc thiết bị ngoại vi) ánh xạ I/O thiết bị là đáp ứng khi IO/M cao.

4

Bộ nhớ ánh xạ I/O được ánh xạ vào cùng một không gian địa chỉ như bộ nhớ chương trình và/hoặc bộ nhớ người dùng và được truy cập theo cùng một cách.

I/O ánh xạ cổng sử dụng một không gian địa chỉ riêng biệt, chuyên dụng và được truy cập thông qua bộ hướng dẫn bộ vi xử lý chuyên dụng.

Vì bộ vi xử lý 16 bit sẽ dần dần trở nên lỗi thời và được thay thế bằng 32 bit và 64 bit, sử dụng phạm vi không gian địa chỉ bộ nhớ cho I/O là ít hơn bộ vi xử lý thường lớn hơn nhiều so với không gian cần thiết cho tất cả các thiết bị bộ nhớ và I/O trong một hệ thống.

Do đó, việc thực hiện các lợi ích của I/O được ánh xạ trên bộ nhớ trở nên thường xuyên hơn.

Điểm bất lợi của phương pháp này là toàn bộ bus địa chỉ phải được giải mã đầy đủ cho mọi thiết bị. Ví dụ: một máy có bus địa chỉ 32 bit sẽ yêu cầu cổng logic để giải quyết trạng thái của tất cả 32 dòng địa chỉ để giải mã đúng địa chỉ cụ thể của bất kỳ thiết bị nào. Điều này làm tăng chi phí thêm phần cứng vào máy.

Ưu điểm của hệ thống IO được ánh xạ IO là cần ít logic hơn để giải mã địa chỉ rời rạc và do đó giảm chi phí để thêm thiết bị phần cứng vào máy. Tuy nhiên có thể cần thêm hướng dẫn.

Tham khảo: - Check This link

Các vấn đề liên quan