I/O体系结构和设备驱动程序(一)

本文介绍了I/O体系结构,包括I/O端口、接口和设备控制器。I/O端口通过地址总线进行寻址,设备控制器解释并执行命令。文章还提到了设备驱动程序模型,特别是sysfs文件系统如何表示设备驱动程序模型的层次关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、I/O体系结构

为确保计算机能够正常工作,必须提供数据通路,让信息在连接到计算机的CPU、RAM、和I/O设备之间流动,这些数据通路总称为总线,担当计算机内部主通信通道的作用。

 

所有计算机都拥有一条系统总线,它连接大部分内部硬件设备,一种典型的系统总线是PCI(Peripheral Component Interconnect)总线。目前使用其他类型的总线也很多,例如:ISA、EISA、MCA、SCSI和USB。典型的情况是,一台计算机包括几种不同类型的总线,它们通过被称作"桥"的硬件设备连接在一起。两条高速总线用于在内存芯片上来回传送数据:前端总线将CPU连接到RAM控制器上,而后端总线将CPU连接到外部硬件的高速缓存上。主机上的桥将系统总线和前端总线连接在一起。

 

任何I/O设备有且仅能连接一条总线。总线的类型影响I/O设备的内部设计,也影响着内核如何处理设备。

 

CPU和I/O设备之间的数据通路通常称为I/O总线。80x86微处理器使用16位的地址总线对I/O设备进行寻址,而使用8位、16位或32位数据总线传递数据,每个I/O设备依次连接到I/O总线上,这种连接使用了包含3个元素的硬件组织层次:I/O端口、接口和设备控制器。


1.1、I/O端口

每个连接到I/O总线上的设备都有自己的I/O地址集,通常称为I/O端口,在IBM PC体系结构中,I/O地址空间一共提供了65536个8位的I/O端口,正好对应16位的端口地址。可以把两个连续的8位端口看成一个16位端口,但是这必须从偶数地址开始。同理,也可以把两个连续的16位端口看成一个32位端口,但是这必须是从4的整数倍地址开始。有4条专用的汇编语言指令可以允许CPU对I/O

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值