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总线域 ...
随机推荐
- Java Class与反射相关的一些工具类
package com.opslab.util; import org.apache.log4j.Logger; import java.io.File;import java.io.IOExcept ...
- Qt widget中使用QML自定义电池
1.效果 2.QML 在资源里新建Mybattery.qml: import QtQuick 2.0 import QtQuick 2.12 Item { id: root property colo ...
- Docker容器(三)——容器端口映射
(1).容器端口映射 容器的端口映射用到了-p选项,-p [物理机端口]:[容器实例端口] 让centos:httpd运行在后台 [root@youxi1 ~]# docker run -d -p 8 ...
- Django:使用模态框新增数据,成功后提示“提交成功”,并刷新表格bootstrap-table数据
废话不说先看图: 代码实现: 前台代码: {% load staticfiles %} <!DOCTYPE html> <html lang="en"> ...
- 【VS开发】windows下的signal
在windows下,信号机制简单来说是通过工作线程实现的,该线程运行于相对优先级THREAD_PRIORITY_HIGHEST,当信号产生时,windows生成该线程执行信号处理逻辑,由于该线程优先级 ...
- 【QT开发】信号转发器QSignalMapper的使用
QSignalMapper我们可以将它理解为一个信号翻译器或者说是哥信号转发器.它的主要应用在于可以实现一个函数相应不同按钮的实现功能.比如我们 实现一个计算器的时候,很多不同的按钮都有着差不多的功能 ...
- 安卓app和苹果app共用一个二维码
应项目要求,现在安卓app和苹果app共用一个二维码,对外提供下载: <html> <head> <meta http-equiv="Content-Type& ...
- .NET Core 配置文件
老一代配置系统 1,XML格式 格式单一. 2,配置信息Kye,只能一维化配置 3,框架信息和应用程序信息混合到一起 应用程序中是 App.config web项目中 web.co ...
- Linux 基础 目录介绍
/bin 存放二进制可执行文件(ls cat clear)等等 ,常用基础命令在这个目录下 /etc 存放系统管理和配置文件 如 passwd 用 ...
- springboot注册到consul中报错:Spring MVC found on classpath, which is incompatible with Spring Cloud
今天在做springboot整合成springCloud并注册到consul中时,发现若注册到consule中成功 则不能启动swagger,且不能提供任何API服务,要是能提供API服务则不能注册到 ...