linux中的io内存,linux-IO位置与内存区域

当我浏览第15页的访问I / O和内存空间in the chapter PCI Drivers部分时,我想知道IO位置和内存区域之间到底有什么区别.

这是前两个句子…

A PCI device implements up to six I/O address regions. Each region consists of either

memory or I/O locations.

我想知道内存和I / O位置之间的区别.

解决方法:

通常,区别在于设备的寻址方式.您问题中的“位置”一词通常是指设备映射,即设备是I / O映射还是内存映射.

两者之间的区别在于,I / O映射的I / O使用专用指令和控制信号访问I / O空间,而内存映射的I / O使用与访问存储器相同的指令,其中在这种情况下,数据而不是去(或到达)存储器位置去到设备.

就PCI设备而言,它既可以映射到I / O,也可以映射到内存区域.可以使用lspci -v查看映射.

作为示例输出:

01:0c.2并行控制器:NetMos Technology PCI 9865多I / O控制器(prog-if 03 [IEEE1284])

子系统:设备a000:2000

标志:总线主控,中等开发,延迟0,IRQ 20

ed00处的I / O端口[size = 8]

ec00处的I / O端口[size = 8]

内存为fddfa000(32位,不可预取)[size = 4K]

内存为fddf9000(32位,不可预取)[size = 4K]

功能:

使用的内核驱动程序:parport_pc

内核模块:parport_pc

上面的输出显示了基于PCI的并行端口的输出.在这里,我们可以看到端口既映射到I / O区域,也映射到内存区域.两种机制中的任何一种都可以用来访问设备寄存器.设备可以寻址的六个I / O区域中,它正在使用四个(两个I / O映射和两个内存映射).

标签:memory,io,linux

来源: https://codeday.me/bug/20191121/2051677.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值