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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
一、I/O端口
  V: m1 X, c: \( M$ }3 K* e8 s  w. a
# t8 i/ @& @/ E- K8 `1 U
      端口(port)是接口电路中能被CPU直接访问的寄存器的地址。几乎每一种外设都是通过读写设备上的寄存器来进行的。CPU通过这些地址即端口向接口电路中的寄存器发送命令,读取状态和传送数据。外设寄存器也称为“I/O端口”,通常包括:控制寄存器、状态寄存器和数据寄存器三大类,而且一个外设的寄存器通常被连续地编址。
7 P1 g2 X( h( Q3 S7 p7 V, b6 f! K+ x, V/ I, p" K" _% l
二、IO内存9 |" e% f/ ^9 t
" W7 n) H  S- N1 l! `+ c5 |
       例如,在PC上可以插上一块图形卡,有2MB的存储空间,甚至可能还带有ROM,其中装有可执行代码。
: q0 l, d( G% b+ @: u* Q1 Z& a" v, \4 A( J* L- y3 s
三、IO端口和IO内存的区分及联系0 t4 \5 ~) o* H: K; r

  _0 Q7 }; u2 ^7 E  v% B         这两者如何区分就涉及到硬件知识,X86体系中,具有两个地址空间:IO空间和内存空间,而RISC指令系统的CPU(如ARM、PowerPC等)通常只实现一个物理地址空间,即内存空间。% H+ i9 W) R  W5 b
内存空间:内存地址寻址范围,32位操作系统内存空间为2的32次幂,即4G。2 k8 H7 h- J0 I  O( z- f8 s
IO空间:X86特有的一个空间,与内存空间彼此独立的地址空间,32位X86有64K的IO空间。
9 [( O- |, w- e( w8 y
: B, v. G8 c0 @+ N& @& |8 YIO端口:当寄存器或内存位于IO空间时,称为IO端口。一般寄存器也俗称I/O端口,或者说I/O ports,这个I/O端口可以被映射在Memory Space,也可以被映射在I/O Space。
7 t  s% X6 T& G
1 f0 X, Z8 m' G2 u/ MIO内存:当寄存器或内存位于内存空间时,称为IO内存。
: U0 G) x5 O. j$ J+ j
8 T! A  e, B+ b4 m3 v; u四、外设IO端口物理地址的编址方式
- L; c: g# u# H- ~
& z$ }' @2 y( V7 ~" T8 R8 L! G& B% R
        CPU对外设IO端口物理地址的编址方式有两种:一种是I/O映射方式(I/O-mapped),另一种是内存映射方式(Memory-mapped)。而具体采用哪一种则取决于CPU的体系结构。
5 W) E8 h& b) Q& w& c! }$ E$ x& E; F) P5 P7 P2 V& v4 R; @
1、统一编址
( W4 s3 U" _% l! z9 n7 a5 B
7 z& K  ?/ s' l. X, h
游客,如果您要查看本帖隐藏内容请回复
2 I. V( T" _- r4 f
9 x. \, q% i) \6 h

6 s4 J+ m" K4 \/ q
$ _/ }+ V1 ^$ R

7 S6 {- a5 S, L' `6 x* F0 Y
, D1 x: y* I: N4 u6 E6 O

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-23 20:34 , Processed in 0.125000 second(s), 24 queries , Gzip On.

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

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

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