pci总线

来源:互联网 发布:单兵口粮淘宝卖犯法吗 编辑:程序博客网 时间:2024/05/29 03:14
原创:kylin_zeng http://blog.163.com/kylin_fire 参考国嵌教育
pci总线
一、总线是一种传输信号的信道;总线是连接一个或多个导体的电气连线。总线由电气接口和编程接口组成,我们重点关注编程接口。

二、PCI是Peripheral Component Interconnect(外围设备互联)的简称,是在桌面及更大型的计算机上普遍使用的外设总线。

三、PCI总线具有三个非常显著的优点:
1)在计算机和外设间传输数据时具有更好的性能
2)能够尽量独立于具体的平台
3)可以方便地实现即插即用

四、体系结构
从结构上看,PCI总线是一种不依附于某个具体处理器的局部总线,它是在CPU和原来的系统总线之间插入的一级总线,具体由一个桥接电路实现对这一层的管理,并实现上下之间的接口以协调数据的传送系统的各个部分通过PCI总线和PCI-PCI桥连接在一起。CPU和RAM通过PCI桥连接到PCI总线0(即主PCI总线),而具有PCI接口的显卡直接连接到主PCI总线上。PCI-PCI桥是一个特殊的PCI设备,它负责将PCI总线0和PCI总线1连接在一起。图中连接到PCI 1号总线上的是SCSI卡和以太网卡。为了兼容旧的ISA总线标准,PCI总线还可以通过PCI-ISA桥来连接ISA总线,从而支持以前的ISA设备,图中ISA总线上连接着一个多功能I/O控制器,用于控制键盘、鼠标和软驱等
PCI总线 - 731439229 - linux的轨迹
 
五、设备寻址:
PCI设备寻址:每个PCI设备由一个总线号、一个设备号、和一个功能号确定。PCI规范允许一个系统最多拥有256条总线,每条总线最多带32个设备,但每个设备可以是最多8个功能的多功能板(如一个音频设备带一个CD-ROM驱动器)。/proc/iomem描述了系统中所有的设备I/O在内存地址空间上的映射。我们来看地址从1G开始的第一个设备在
/proc/iomem中是如何描述的:40000000-400003ff : 0000:00:1f.1这是一个PCI设备,40000000-400003ff是它所映射的内存空间地址,占据了内存地址空间1024 bytes的位置,而0000:00:1f.1则是这个PCI外设的地址,它以冒号和逗号分隔为4个部分,第一个16位表示域,第二个8位表示一个总线号,第三个5位表示一个设备号,最后是3位,表示功能因为PCI规范允许单个系统拥有最多256条总线,所以总线编号是8位。每个总线上可支持32个设备,所以设备号是5位,而每个设备上最多可有8种功能,所以功能号是3位。由此,由此可以得出上述的PCI设备的地址是0号总线上的31号设备上的1号功能使用lspci命令可以查看系统中的PCI设备,下面是使用lspci命令得到的一组输出: (练习:分析该数据后画出系统的PCI结构图)
00:00.0 Host bridge: Intel Corporation 82845 845 
00:01.0 PCI bridge: Intel Corporation 82845 845 
00:1d.0 USB Controller: Intel Corporation 82801CA/CAM USB 
00:1d.1 USB Controller: Intel Corporation 82801CA/CAM USB 
00:1e.0 PCI bridge: Intel 82801 Mobile PCI Bridge 
00:1f.0 ISA bridge: Intel Corporation 82801CAM ISA Bridge 
00:1f.1 IDE interface: Intel Corporation 82801CAM IDE U100
00:1f.3 SMBus: Intel 82801CA/CAM SMBus Controller 
00:1f.5 Multimedia audio controller:Intel Corporation 82801CA/CAM AC'97 Audio Controller 
00:1f.6 Modem: Intel 82801CA/CAM AC'97 Modem Controller 
01:00.0 VGA compatible controller: nVidia Corporation NV17
02:00.0 FireWire: VIA Technologies. 1394 Host Controller
02:01.0 Ethernet controller: Realtek Semiconductor Co. 
02:04.0 CardBus bridge: O2 Micro, Inc. Cardbus Controller 
02:04.1 CardBus bridge: O2 Micro, Inc. Cardbus Controller 
PCI总线 - 731439229 - linux的轨迹
 
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(5) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:linux RTC 驱动模型分析

相关热门文章
  • MPA-LECTURE1-roduction&ch1微...
  • IIC总线协议
  • I2c接口传感器驱动
  • 跑步机电气基本构成
  • 单片机a--习题1答案
  • linux 常见服务端口
  • 【ROOTFS搭建】busybox的httpd...
  • xmanager 2.0 for linux配置
  • 什么是shell
  • linux socket的bug??
  • 请问Linux默认shell的是什么 ...
  • 谁能够帮我解决LINUX 2.6 10...
  • 现在的博客积分不会更新了吗?...
  • shell怎么读取网页内容...
  • ssh等待连接的超时问题...
给主人留下些什么吧!~~