PCI总线学习
PCI总线概述:
因为不实际操作了,所以就写一些方法论上的东西,纪念一下。
PCI总线有三个非常显著的优点:
1. 在计算机和外设传输数据时具有更好的性能。
2. 能够尽量独立于具体的平台。
3. 可以方便的实现即插即用。
PCI总线有两种非常常见的体系结构:
图一:从结构上看,PCI总线是一种不依附于某个具体处理器的局部总线,他是CPU和原来的系统总线之间插入的一级总线,具体由一个桥接电路实现对这一层的管理,并实现由上下之间的接口以协调数据传送。
图二:系统的各个部分通过PCI总线和PCI-PCI桥连接在一起。CPU和RAM通过PCI桥街到PCI总线0,而具有PCI接口的显卡直接连接到主PCI总线。PCI-PCI桥是一个特殊的PCI设备,它负责吧PCI0和PCI1桥接到一起。
PCI总线的寻址:每个PCI设备由一个总线号,一个设备号,和一个功能号确定。PCI规范允许一个系统最多拥有256条总线(总线编号8位)。每条总线最多有32个设备(设备号5位),每个设备可以使最多8个功能的的多功能板(功能号3位)。
例:输入lspci可以查看系统的PCI设备,根据下面lspci得出的结果画出系统的PCI结构图。
答案:
PCI总线和平台总线区别:
首先PCI总线驱动和我们之前学过的平台总线驱动等等是一类的,都是总线模型,区别有两点:
1.平台总线驱动我们是用名字来匹配,而PCI总线是用下面的表匹配。
2.编写平台总线驱动的时候,我们还要自己编写设备,以便让驱动能获取硬件资源,而PCI总线驱动则不需要,因为所有的PCI设备都按照规定有一套固定格式的寄存器,匹配成功了直接按照PCI设备的规定访问即可。寄存器规范如下:
PCI总线学习的更多相关文章
- PCI 总线学习笔记
转载请注明出处:http://blog.csdn.net/lg2lh/article/details/8042008 PCI的基本协议这里就不介绍了,由于一般的芯片协议都是集成好的,我仅仅须要大体了解 ...
- linux驱动---用I/O命令访问PCI总线设备配置空间
PCI总线推出以来,以其独有的特性受到众多厂商的青睐,已经成为计算机扩展总线的主流.目前,国内的许多技术人员已经具备开发PCI总线接口设备的能 力.但是PCI总线的编程技术,也就是对PCI总线设备的操 ...
- 1.3 PCI总线的存储器读写总线事务
总线的基本任务是实现数据传送,将一组数据从一个设备传送到另一个设备,当然总线也可以将一个设备的数据广播到多个设备.在处理器系统中,这些数据传送都要依赖一定的规则,PCI总线并不例外. PCI总线使用单 ...
- 1.2 PCI总线的信号定义
PCI总线是一条共享总线,在一条PCI总线上可以挂接多个PCI设备.这些PCI设备通过一系列信号与PCI总线相连,这些信号由地址/数据信号.控制信号.仲裁信号.中断信号等多种信号组成. PCI总线是一 ...
- 1.1 PCI总线的组成结构
如上文所述,PCI总线作为处理器系统的局部总线,是处理器系统的一个组成部件,讲述PCI总线的组成结构不能离开处理器系统这个大环境.在一个处理器系统中,与PCI总线相关的模块如图1?1所示. 如图1?1 ...
- 第1章 PCI总线的基本知识
PCI总线作为处理器系统的局部总线,主要目的是为了连接外部设备,而不是作为处理器的系统总线连接Cache和主存储器.但是PCI总线.系统总线和处理器体系结构之间依然存在着紧密的联系. PCI总线作为系 ...
- 第3章 PCI总线的数据交换
PCI Agent设备之间,以及HOST处理器和PCI Agent设备之间可以使用存储器读写和I/O读写等总线事务进行数据传送.在大多数情况下,PCI桥不直接与PCI设备或者HOST主桥进行数据交换, ...
- 2.4 PCI总线的配置
PCI总线定义了两类配置请求,一个是Type 00h配置请求,另一个是Type 01h配置请求.PCI总线使用这些配置请求访问PCI总线树上的设备配置空间,包括PCI桥和PCI Agent设备的配置空 ...
- 2.1 存储器域与PCI总线域
HOST主桥的实现因处理器系统而异.PowerPC处理器和x86处理器的HOST主桥除了集成方式不同之外,其实现机制也有较大差异.但是这些HOST主桥所完成的最基本功能依然是分离存储器域与PCI总线域 ...
随机推荐
- T-SQL_常用内置函数和操作
作者:icyjiang 推荐:LinkEdu SELECT --从数据库表中检索数据行和列 INSERT --向数据库表添加新数据行 DELETE --从数据库表中删除数据行 UPDATE --更新数 ...
- Django中authenticate和login模块
Django 提供内置的视图(view)函数用于处理登录和退出,Django提供两个函数来执行django.contrib.auth中的动作 : authenticate()和login(). 认证给 ...
- 改进初学者的PID-手自动切换
最近看到了Brett Beauregard发表的有关PID的系列文章,感觉对于理解PID算法很有帮助,于是将系列文章翻译过来!在自我提高的过程中,也希望对同道中人有所帮助.作者Brett Beaure ...
- PBU流速权
PBU概念 PBU是“Participant Business Unit”的英文缩写,中文全称是“参与者交易业务单元”. 在新版交易规则中对此有定义:“参与者交易业务单元”是指交易参与人据此参与本所证 ...
- UITableView实现行纵向颜色渐变
实现效果如下: 其实实现很简单,开始觉得使用颜色值和tableView的indexPath.row挂钩使用即可 或者使用CAGradientLayer实现渐变 最后使用alpha实现即可.需要注意的是 ...
- ubuntu 18.04使用sysbench测试MySQL性能
首先下载安装sysbench: sudo apt-get install sysbench -y 查看一下sysbench版本是多少: zifeiy@zifeiy-S1-Series:~$ sysbe ...
- 【Leetcode_easy】994. Rotting Oranges
problem 994. Rotting Oranges 参考 1. Leetcode_easy_994. Rotting Oranges; 完
- LM_ReadImgMode.js PC单页轮播读图模式组件,零依赖!
LM_ReadImgMode.js PC单页轮播读图模式组件,零依赖! github:http://dtdxrk.github.io/LM-ReadImgMode/ TXT 1.全新的2.0版本,脱离 ...
- 虚拟机VMWare的操作
软件测试工程师需要搭建测试环境——虚拟机操作. VMWare Workstation虚拟机:模拟真实的环境进行各种试验和操作,启动之后,会占用一部分的系统资源. 官网安装:http://www.vmw ...
- MFC无法使用CDialogEx类
在stdafx.h中添加以下代码: #include <afxcontrolbars.h>