找回密码
 注册
关于网站域名变更的通知
查看: 291|回复: 1
打印 上一主题 下一主题

Linux系统对IO端口和IO内存的管理

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-9-19 15:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
一、I/O端口
, L" O0 R5 n2 I
$ e5 ~9 s/ `- g2 ~* V
      端口(port)是接口电路中能被CPU直接访问的寄存器的地址。几乎每一种外设都是通过读写设备上的寄存器来进行的。CPU通过这些地址即端口向接口电路中的寄存器发送命令,读取状态和传送数据。外设寄存器也称为“I/O端口”,通常包括:控制寄存器、状态寄存器和数据寄存器三大类,而且一个外设的寄存器通常被连续地编址。& E1 F8 N: P: t7 ]% p4 M9 ]5 T# U5 S

3 [2 z5 q: v  w7 B8 {二、IO内存
2 Q- K: z% Z. a! A" M
/ ]8 w  O/ v  b+ p& G1 B: i
       例如,在PC上可以插上一块图形卡,有2MB的存储空间,甚至可能还带有ROM,其中装有可执行代码。
: z2 ~4 Y: G) o8 @8 P
7 G2 W$ ?' k5 p0 G0 w5 n' t三、IO端口和IO内存的区分及联系% z8 [, w; P9 X0 }
3 o9 _& G! ]( Y+ M/ i; V  u5 D
         这两者如何区分就涉及到硬件知识,X86体系中,具有两个地址空间:IO空间和内存空间,而RISC指令系统的CPU(如ARM、PowerPC等)通常只实现一个物理地址空间,即内存空间。
/ e; G$ t" R. x内存空间:内存地址寻址范围,32位操作系统内存空间为2的32次幂,即4G。
+ R( x4 M$ }2 KIO空间:X86特有的一个空间,与内存空间彼此独立的地址空间,32位X86有64K的IO空间。9 e$ w4 S7 T; l7 I; l

9 V4 j& h/ x1 U3 ~IO端口:当寄存器或内存位于IO空间时,称为IO端口。一般寄存器也俗称I/O端口,或者说I/O ports,这个I/O端口可以被映射在Memory Space,也可以被映射在I/O Space。
% [, l' V7 |' X8 o# ?% {' z; a/ }; z& r7 y" C2 G
IO内存:当寄存器或内存位于内存空间时,称为IO内存。
6 H! ]- p. [" ~0 m) y  m5 j
5 b& P# x2 V7 h" ~; X四、外设IO端口物理地址的编址方式7 O& }$ ]6 Y: o

( ^0 X: `- Q7 t% C1 ~5 _9 P9 d        CPU对外设IO端口物理地址的编址方式有两种:一种是I/O映射方式(I/O-mapped),另一种是内存映射方式(Memory-mapped)。而具体采用哪一种则取决于CPU的体系结构。! i2 w, X( t8 h- U+ d0 D
" g. @$ I$ S: L8 s5 D( m
1、统一编址
) K8 S8 @; n" X' G

0 w1 o4 ]6 `5 V5 q1 q& b9 z# \
游客,如果您要查看本帖隐藏内容请回复
+ r- k. n( f: o/ e6 f! [
. ?. u7 k$ h# U3 ]

( m, w( @3 l) A: ^5 Y

& H8 f, s) g9 y+ h1 `8 w0 G+ t: g& R  Y3 k, g
# @" I4 s9 V! U3 q1 _# s" Y2 ]

该用户从未签到

2#
发表于 2019-9-19 18:00 | 只看该作者
Linux系统对IO端口和IO内存的管理。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-25 00:27 , Processed in 0.156250 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表