没有合适的资源?快使用搜索试试~ 我知道了~
几乎每一种外设都是通过读写设备上的寄存器来进行的。外设寄存器也称为“I/O端口”,通常包括:控制寄存器、状态寄存器和数据寄存器三大类,而且一个外设的寄存器通常被连续地编址。CPU对外设IO端口物理地址的编址方式有两种:一种是I/O映射方式(I/O-mapped),另一种是内存映射方式(Memory-mapped)。而具体采用哪一种则取决于CPU的体系结构。
资源推荐
资源详情
资源评论
几乎每一种外设都是通过读写设备上的寄存器来进行的。外设寄存器也称为“I/O 端口”,通
常包括:控制寄存器、状态寄存器和数据寄存器三大类,而且一个外设的寄存器通常被连
续地编址。 对外设 端口物理地址的编址方式有两种:一种是 映射方式(-
),另一种是内存映射方式(-)。而具体采用哪一种则取决于
的体系结构。
有些体系结构的 (如,、 等)通常只实现一个物理地址空间
()。在这种情况下,外设 端口的物理地址就被映射到 的单一物理地址空间
中,而成为内存的一部分。此时, 可以象访问一个内存单元那样访问外设 端口,
而不需要设立专门的外设 指令。这就是所谓的“内存映射方式”(-)。
而另外一些体系结构 (典型地如 )则为外设专门实现了一个单独地地址空间,
称为“ 地址空间”或者“ 端口空间”。这是一个与 地 物理地址空间不同的地址
空间,所有外设的 端口均在这一空间中进行编址。 通过设立专门的 指令(如
的 和 指令)来访问这一空间中的地址单元(也即 端口)。这就是所谓的
“ 映射方式”(-)。与 物理地址空间相比, 地址空间通常都比较小,
如 的 空间就只有 (-)。这是“ 映射方式”的一个主要缺点。
!"# 将基于 映射方式的或内存映射方式的 端口通称为“ 区域”(
$!")。在讨论对 区域的管理之前,我们首先来分析一下 !"# 是如何实现“ 资源”
这一抽象概念的%
在驱动程序编写过程中,很少会注意到 & 和 的区别。虽然使用一些不符合规
范的代码可以达到最终目的,这是极其不推荐使用的。
结合下图,我们彻底讲述 端口和 内存以及内存之间的关系。主存 ' 字节的
(),外设是个视频采集卡,上面有 ' 字节的 () 作为缓冲区。
资源评论
u010701880
- 粉丝: 0
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功