sách gpt4 ai đã đi

IO được ánh xạ bộ nhớ - Thiết bị IO biết giá trị đã thay đổi như thế nào?

In lại 作者:行者123 更新时间:2023-12-01 23:20:47 31 4
mua khóa gpt4 Nike

IO 设备如何知道属于它的内存中的值在memory mapped IO 中发生了变化? ?

例如,假设内存地址 0 专用于保存 VGA 设备的背景颜色。当我们更改 memory[0] 中的值时,VGA 设备如何知道? VGA 设备是否不断轮询内存位置?或者 CPU 是否会在设备更改值时以某种方式通知设备(如果是,如何通知?)?

一个示例架构是 MIPS。鉴于 MIPS instruction setKHÔNG TRONG hoặc ngoài 指令,我不明白它怎么可能与示例中的 VGA 设备通信(更改时)。另一个例子是 ARM 架构。

1 Câu trả lời

在内存映射 I/O 中,对设备的内存区域执行内存读/写将导致 CPU 与设备执行事务以获取/存储该值——直接通过 CPU 的内存总线,或者通过辅助总线(例如 ARM 系统上的 AHB/APB)。此内存事务直接通知设备值正在更改;无需单独通知。

您假设内存映射 I/O 由普通 RAM 映射。 事实并非如此。 事实上,这些设备的行为方式可能与真实内存完全不同!例如,典型的 UART 或 SPI 设备实现可能有一个数据寄存器,可以写入该数据寄存器以传输数据,或从中读取以检索接收到的数据。同样,中断寄存器具有“读取时清除”或“写入 1 以清除”语义的情况并不少见。

它的值(value):在实践中,许多帧缓冲区图形实现实际上就像普通内存一样。不同之处在于内存存储在双端口 RAM(或时分复用总线)中,视频 RAMDAC 不断读取该内存以将其内容传输到连接的显示器。

关于io - 内存映射 IO - IO 设备如何知道值已更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49500383/

31 4 0
Bài viết được đề xuất: 通过链接读取文件
Bài viết được đề xuất: r - 在 R 中的 select 操作符中使用 %in%
Bài viết được đề xuất: ip - 橙色 Pi 零 : Obtain IP without accessing Router Interface
Bài viết được đề xuất: r - 在R中保留较少的最近重复行
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com