PCI协议 总结
1、引脚
必要的引脚在左边,任选的引脚在右边

2、CLK in:时钟输入,为所有PCI上的接口传送提供时序。其频率也称为PCI的工作频率。
大部分信号都在CLK的上升沿有效
3、AD0~AD31 t/s:地址、数据多路复用的输入/输出信号。在FRAME#有效时,是地址周期;在IRDY#和TRDY#同时有效时,是数据周期。
一个PCI总线的传输中包含了一个地址周期和多个数据周期。
地址周期为一个时钟周期,在该周期中AD0~AD31线上含有一个32位的物理地址。对于I/O操作,它是一个字节地址;若是存储器操作和配置操作,则是双字地址。
数据周期, AD0~AD7为最低字节, AD24~AD31为最高字节。当IRDY#有效时,表示写数据稳定有效,TRDY#有效表示读数据稳定有效 。
4、C/BE 0~3# t/s:总线命令和字节使能 多路复用信号线。
在地址周期内,这四条线上传输的是总线命令;
在数据周期内,传输的是字节使能信号,用来表示在整个数据期中, AD0~AD31上哪些字节为有效数据。
5、PCI定义了三个物理地址空间:存储器地址空间、I/O地址空间和配置地址空间,
前两个是一般总线都有的空间;第三个是用以支持PCI硬件配置的特殊空间。
PCI总线的编址是分布式的,每个设备都有自己的地址译码,从而省去了中央译码逻辑。
PCI支持两种设备地址译码:正向译码和负向译码。所谓正向译码就是每个设备都监视地址总线上的访问地址是否落在它范围内,因而速度较快。而负向译码是指该设备要接受未被其他设备在正向译码中接受的所有访问,因此,码方式只能由总线上的一个设备来实现。由于它要等到总线上其他所有设备都拒绝之后才能译码,所以速度较慢,负向译码对于标准扩展总线这类设备是很有用的,因为这类设备必须响应一个很零散的地址空间。正和反向译码设备都不对保留的总线命令发出DEVSEL#响应信号。
6、在I/O访问中, 全部32位AD线都被用来提供一个完整的地址编码(字节地址)。AD0~AD1这两位很重要,并要与C/BE0~3配合,才能进行一次有效的访问。
AD BE(1111) 起始字节
00 xxx0 字节0
01 xx01 字节1
10 x011 字节2
11 0111 字节3
7、在存储器访问中,所有的目标设备都要检查AD0~AD1,要么提供所要求的突发传输顺序,或者执行设备断开操作。对于所有支持突发传输的设备都应能实现线性突发性传输顺序,用AD2~AD31译码得到一个双字地址的访问。
在存储器访问期间,AD0AD1用来指明主设备要求的数据传输模式 ,含义如下:
当AD[1~0]为00时,突发传输顺序为线性增长模式; 在线性增加模式下,每个数据相位后,地址增加一个双字(即加4,对32位传输)或增加两个双字(即加8,对64位传输),直到传输结束。
AD[1~0]为01时,为高速缓存行切换模式;
AD[1~0]为10时,为CACHE行回卷模式;
AD[1~0]为11时,为保留模式。
在存储器地址空间,AD[31~2]提供一个双字边界地址,而AD[1—0]不参与地址译码。
8、在配置的地址空间中,要用AD2~AD7将访问落实到一个DWORD地址寻址64个双字寄存器。当一个设备收到配置命令时,IDSEL信号成立且AD0AD1为00,则该设备即被选为访问的目标。否则就不参与当前的对话。如果译码出来符合某桥路的编号,且AD0AD1为01,则说明配置访问是对该桥后面的设备,即不与桥直接连接的设备。
9、字节使能信号C/BE# 0~3来指出哪些字节带了有意义的数据,在每个数据周期内,可以自由改变字节能,使之对传输数据的实际含义和有效部分进行界定,
这一功能称作字节校正或字节对齐。
10、为了避免多个设备同时驱动一个信号到PCI总线上而产生竞争,在一个设备驱动到另一个设备之间设个过渡期,又称为交换周期。在时序图上,交换期用"→←"来表示。
在每个地址周期和数据周期,所有的AD线都必须被驱动到稳定的状态(数据),即使是在当前数据传涉及到的字节所对应的AD线也不例外。在实际应用中,如果对功耗要求较高时,为尽量减少总线上的功耗,对当前总线周期中不用的字节用与前一周期相同的数据去驱动它们。
11、PCI总线上的读操作

PCI协议 总结的更多相关文章
- linux pci 协议一
当当热卖商品推荐 先打下广告,上面是一本好书了O(∩_∩)O~ 前言 因为遇到一个pci总线的问题,所以去学习了解linux 的pci驱动,中间总结了一些pci总线原理和linux驱动的知识,在此总结 ...
- linux驱动---用I/O命令访问PCI总线设备配置空间
PCI总线推出以来,以其独有的特性受到众多厂商的青睐,已经成为计算机扩展总线的主流.目前,国内的许多技术人员已经具备开发PCI总线接口设备的能 力.但是PCI总线的编程技术,也就是对PCI总线设备的操 ...
- linux驱动之一语点破天机
<const 关键字> 在嵌入式系开发中,const关键字就是“只读”的意思 <为什么要ARM需要进行C语言环境的初始化> 在汇编情况下,指令的跳转,保护现场需要保存的数据 ...
- 000 PCI Express协议入门指南目录
一.001 PCI Express体系结构(一)
- 基于WDF的PCI/PCIe接口卡Windows驱动程序(1)-WDF概述及开发环境搭建
原文出处:http://www.cnblogs.com/jacklu/p/4619110.html 本科毕业设计是这方面的工作,所以想开几篇博客来介绍使用WDF开发PCI/PCIe接口卡的驱动程序方法 ...
- 系统虚拟化学习笔记——PCI设备
内容摘自<系统虚拟化:原理与实现> PCI 总线架构 PCI总线是典型的树结构.把北桥中host-PCI桥看做根,总线中其他PCI-PCI桥,PCI-ISA桥(ISA总线转PCI总线桥)等 ...
- Linux PCI网卡驱动的详细分析
学习应该是一个先把问题简单化,在把问题复杂化的过程.一开始就着手处理复杂的问题,难免让人有心惊胆颤,捉襟见肘的感觉.读Linux网卡驱动也是一 样.那长长的源码夹杂着那些我们陌生的变量和符号,望而生畏 ...
- PCI 总线学习笔记
转载请注明出处:http://blog.csdn.net/lg2lh/article/details/8042008 PCI的基本协议这里就不介绍了,由于一般的芯片协议都是集成好的,我仅仅须要大体了解 ...
- 开发微信小程序中SSL协议的申请、证书绑定、TLS 版本处理等
在上篇随笔<基于微信小程序的系统开发准备工作>介绍了开发微信小程序的一些前期的架构设计.技术路线 .工具准备等方面内容,本篇随笔继续这个步骤,逐步介绍我们实际开发过程中对SSL协议的申请及 ...
随机推荐
- pytest(4)-测试用例执行顺序
前言 上一篇文章我们讲了在pytest中测试用例的命名规则,那么在pytest中又是以怎样的顺序执行测试用例的呢? 在unittest框架中,默认按照ACSII码的顺序加载测试用例并执行,顺序为:09 ...
- 总结下Mac环境下按照appium
第10天休息 先来总结下Mac环境下按照appium 一.相关网站 官网: http://appium.io/ 测试论坛 https://testerhome.com/wiki 二.环境准备 从官 ...
- 虫师Selenium2+Python_6、Selenium IDE
P155--创建测试用例 录制脚本 编辑脚本 定位辅助 P159--Selenium IDE 命令 在浏览器中打开URL,可以接受相对路径和绝对路径两种形式 open open(url) 单击链接 ...
- hexo 接入Google站长工具(google search console)提交sitemap
1.点击google search console 2.选择 点击红圈的按钮 新建资源 3.资源类型 选择网址前缀, 输入网站的url 4.输入完成后的点击验证 下载html 放在hexo 项目下的 ...
- Spring Boot-开启第一步
Spring Boot开发的目的是为了简化Spring应用的开发,使用Spring Boot可以零配置开启一个Spring应用.这得益于Spring Boot中的自动配置组件,如果开发者觉得默认的配置 ...
- 35、python并发编程之多线程(理论篇)
一 什么是线程 二 线程的创建开销小 三 线程与进程的区别 四 为何要用多线程 五 多线程的应用举例 六 经典的线程模型(了解) 七 POSIX线程(了解) 八 在用户空间实现的线程(了解) 九 在内 ...
- Solution Set -「LOCAL」冲刺省选 Round XXIII
\(\mathscr{Summary}\) 有一说一,虽然我炸了,但这场锻炼心态的效果真的好.部分分聊胜于无,区分度一题制胜,可谓针对性强的好题. A 题,相对性签到题.这个建图确实巧妙,多见 ...
- Solution -「ExaWizards 2019 C」Snuke and Wizards
\(\mathcal{Description}\) Link. 给定一个长度为 \(n\) 的字符串 \(s\),每个字符上初始有一张卡片.\(q\) 次操作,每次指定 \(s\) 中字符为 ...
- mysql对属性的增删改
修改表 alter table 创建表db 查看表 desc与describe desc table 查看建表语句show create table t1; 修改表名 alter table t1 r ...
- Winform实现客户端的自动更新
话不多说,直接上干货.当然也希望各位前辈多多指导. 自动更新客户端的设计原理图 请花两分钟时间,仔细阅读下面这张图,明白客户端自动升级的原理. 自动更新的效果图 1. ...