新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > Linux外部设备的硬件接口

Linux外部设备的硬件接口

作者:时间:2012-08-29来源:网络收藏

计算机的设各通常由电气部分和机械部分两部分组成。电气部分是用来控制机械部分的,因此电气部分也叫做设各的控制器。

本文引用地址:http://www.eepw.com.cn/article/148498.htm

控制器通过计算机系统总线挂接到系统上。或者说,计算机系统就是通过控制器来控制和操作的。典型的方式是,把外部设各中的各个控制器看做是一组互不冲突的寄存器组,并赋予它们相应的地址,从而使处理器可以像访问存储器一样来访问控制器,并通过控制器来访问外部设各。

外部设各通常包含4组寄存器,即状态寄存器、控制寄存器、数据输入寄存器和数据输出寄存器。这些寄存器有各自的地址,这个地址叫做端口。这些寄存器的作用分别为:

·状态寄存器用来向处理器提供外部的工作状态。例如,设各的当前操作是否执行完毕,数据是否可被读出或写入以及错误提示等。

·控制寄存器是被用来管理外部工作模式的。也就是说,在设备初始化或运行时, 处理器可通过向控制寄存器写入命令来启动或改变设各工作模式。

·数据输入寄存器和数据输出寄存器是用来与处理器传递数据的。

外部设各与处理器关系示意图如图所示。

360截图20120829142535530.jpg

图 外部设备与处理器关系示意图

为了识别外部设各的这些寄存器,系统给这些寄存器都赋予了地址,于是外部设各寄存器占用的地址空间叫做I/O空间。对于I/O空间的处理,目前有两种方式:一种是与存储器统一编址,即在整个内存空间中划出一个范围作为I/O空间,这种方式的特点是处理器没有独立的I/O指令,而是把外部设各的寄存器作为存储单元来对待的;另一种方式是处理器具有单独的I/O指令,所以在这种方式中I/O地址空间是独立编址的。不管是统一编址还是独立编址,从逻辑上来看,外设的各寄存器就相当于一种存储装置,它可向处理器提供数据,也可接收处理器的数据,即处理器可对它们进行读/写操作。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭