第1章 PCI总线的基本知识】的更多相关文章

PCI总线作为处理器系统的局部总线,主要目的是为了连接外部设备,而不是作为处理器的系统总线连接Cache和主存储器.但是PCI总线.系统总线和处理器体系结构之间依然存在着紧密的联系. PCI总线作为系统总线的延伸,其设计考虑了许多与处理器相关的内容,如处理器的Cache共享一致性和数据完整性,以及如何与处理器进行数据交换等一系列内容.其中Cache共享一致性和数据完整性是现代处理器局部总线的设计的重点和难点,也是本书将重点讲述的主题之一. 独立地研究PCI总线并不可取,因为PCI总线仅是处理器系…
PCI Agent设备之间,以及HOST处理器和PCI Agent设备之间可以使用存储器读写和I/O读写等总线事务进行数据传送.在大多数情况下,PCI桥不直接与PCI设备或者HOST主桥进行数据交换,PCI桥仅转发来自PCI Agent设备或者HOST主桥的数据. PCI Agent设备间的数据交换,并不是本章讨论的重点.本章更侧重讲述PCI Agent设备使用DMA机制读写主存储器的数据,以及HOST处理器如何访问PCI设备的BAR空间.本章还使用了一定的篇幅讨论在PCI总线中与Cache相关…
在PCI体系结构中,含有两类桥片,一个是HOST主桥,另一个是PCI桥.在每一个PCI设备中(包括PCI桥)都含有一个配置空间.这个配置空间由HOST主桥管理,而PCI桥可以转发来自HOST主桥的配置访问.在PCI总线中,PCI Agent设备使用的配置空间与PCI桥使用的配置空间有些差别,但这些配置空间都是由处理器通过HOST主桥管理.…
一.PCIe总线的基础知识 与PCI总线不同,PCIe总线使用端到端的连接方式,在一条PCIe链路的两端只能各连接一个设备,这两个设备互为是数据发送端和数据接收端.PCIe总线除了总线链路外,还具有多个层次,发送端发送数据时将通过这些层次,而接收端接收数据时也使用这些层次.PCIe总线使用的层次结构与网络协议栈较为类似. 1.端到端的数据传递 PCIe链路使用"端到端的数据传送方式",发送端和接收端中都含有TX(发送逻辑)和RX(接收逻辑),其结构如图所示. 由上图所示,在PCIe总线…
一.PCI桥与PCI设备的配置空间 PCI设备都有独立的配置空间,HOST主桥通过配置读写总线事务访问这段空间.PCI总线规定了三种类型的PCI配置空间,分别是PCI Agent设备使用的配置空间,PCI桥使用的配置空间和Cardbus桥片使用的配置空间. 本节重点介绍PCI Agent和PCI桥使用的配置空间,而并不介绍Cardbus桥片使用的配置空间.值得注意的是,在PCI设备配置空间中出现的地址都是PCI总线地址,属于PCI总线域地址空间. 1. PCI桥 PCI桥的引入使PCI总线极具扩…
在PCI体系结构中,含有两类桥片,一个是HOST主桥,另一个是PCI桥.在每一个PCI设备中(包括PCI桥)都含有一个配置空间.这个配置空间由HOST主桥管理,而PCI桥可以转发来自HOST主桥的配置访问.在PCI总线中,PCI Agent设备使用的配置空间与PCI桥使用的配置空间有些差别,但这些配置空间都是由处理器通过HOST主桥管理. 一.存储器域与PCI总线域 HOST主桥的实现因处理器系统而异.PowerPC处理器和x86处理器的HOST主桥除了集成方式不同之外,其实现机制也有较大差异.…
一个简短的引论 它给这一章总线架构的高级概述 集中访问讨论Peripheral Component Interconnect(PCI,外围组件互连)外设内核函数 PCI公交车是最好的支持的内核总线 本章主要介绍PCI驱动程序假设寻找其硬件和获得对它的訪问 本章也会介绍ISA总线 PCI接口 PCI是一组完整的规范,定义了计算机的各个不同部分之间应该怎样交互 PCI规范涵盖了与计算机接口相关的大部分问题 PCI架构被设计为ISA标准的替代品,有三个主要目标 获得在计算机和外设之间数据传输时更好的性…
转载请注明出处:http://blog.csdn.net/lg2lh/article/details/8042008 PCI的基本协议这里就不介绍了,由于一般的芯片协议都是集成好的,我仅仅须要大体了解即可,不须要做芯片,我感觉就不须要太了解协议. 这里解说是基于PLX 的9054(9052)芯片为基础的,本人仅仅是入门,望批评指正. 一.地址映射与传输数据 上图中间部分是9054的内部结构图,9054实际上充当了一个"桥"的作用,即所谓的"桥片技术".9054的作用…
总线的基本任务是实现数据传送,将一组数据从一个设备传送到另一个设备,当然总线也可以将一个设备的数据广播到多个设备.在处理器系统中,这些数据传送都要依赖一定的规则,PCI总线并不例外. PCI总线使用单端并行数据线,采用地址译码方式进行数据传递,而采用ID译码方式进行配置信息的传递.其中地址译码方式使用地址信号,而ID译码方式使用PCI设备的ID号,包括Bus Number.Device Number.Function Number和Register Number.下文将以图1?1中的处理器系统为…
PCI总线是一条共享总线,在一条PCI总线上可以挂接多个PCI设备.这些PCI设备通过一系列信号与PCI总线相连,这些信号由地址/数据信号.控制信号.仲裁信号.中断信号等多种信号组成. PCI总线是一个同步总线,每一个设备都具有一个CLK信号,其发送设备与接收设备使用这个CLK信号进行同步数据传递.PCI总线可以使用33MHz或者66MHz的时钟频率,而PCI-X总线可以使用133MHz.266MHz或者533MHz的时钟频率. 除了RST#.INTA~D#.PME#和CLKRUN#等信号之外,…
HOST主桥的实现因处理器系统而异.PowerPC处理器和x86处理器的HOST主桥除了集成方式不同之外,其实现机制也有较大差异.但是这些HOST主桥所完成的最基本功能依然是分离存储器域与PCI总线域,完成PCI总线域到存储器域,存储器域到PCI总线域之间的数据传递,并管理PCI设备的配置空间. 上文曾经多次提到在一个处理器系统中,存在PCI总线域与存储器域,深入理解这两个域的区别是理解HOST主桥的关键所在.在一个处理器系统中,存储器域.PCI总线域与HOST主桥的关系如图2?1所示. 上图所…
PCI总线使用INTA#.INTB#.INTC#和INTD#信号向处理器发出中断请求.这些中断请求信号为低电平有效,并与处理器的中断控制器连接.在PCI体系结构中,这些中断信号属于边带信号(Sideband Signals),PCI总线规范并没有明确规定在一个处理器系统中如何使用这些信号,因为这些信号对于PCI总线是可选信号.PCI设备还可以使用MSI机制向处理器提交中断请求,而不使用这组中断信号.有关MSI机制的详细说明见第8章. 1.4.1 中断信号与中断控制器的连接关系 不同的处理器使用的…
与PCI总线不同,PCIe总线使用端到端的连接方式,在一条PCIe链路的两端只能各连接一个设备,这两个设备互为是数据发送端和数据接收端.PCIe总线除了总线链路外,还具有多个层次,发送端发送数据时将通过这些层次,而接收端接收数据时也使用这些层次.PCIe总线使用的层次结构与网络协议栈较为类似. 4.1.1 端到端的数据传递 PCIe链路使用"端到端的数据传送方式",发送端和接收端中都含有TX(发送逻辑)和RX(接收逻辑),其结构如图4?1所示. 由上图所示,在PCIe总线的物理链路的一…
第2章        嵌入式网络协议栈基础知识 本章教程为大家介绍嵌入式网络协议栈基础知识,本章先让大家有一个全面的认识,后面章节中会为大家逐一讲解用到的协议. 基础知识整理自百度百科,wiki百科等. 2.1   初学者重要提示 2.2   TCP/IP协议栈简介 2.3   TCP/IP参考模型 2.4   OSI参考模型 2.5   RL-TCPnet和参考模型的对应关系 2.6   网络协议收录文件RFC 2.7   以太网和IEEE 802.3 2.8   网线相关知识 2.9   总…
利用FPGA实现PCI总线接口及Windows驱动实现 关于PCI总线协议,资料网上.书本都是.这里我们仅仅对重点对利用FPGA实现PCI总线接口问题进行简单分析.下图是PCI总线接口信号: 配置空间寄存器操作时序如下图: 配置寄存器空间写时序如下图: 依照状态机的编程思路. 部分Verilog代码如下: ST_CFGREAD: begin enable <= EN_RD; if (~irdy || trdy) begin case (address) 0: data <= { DEVICE_…
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第61章       STM32H7的MDMA基础知识和HAL库API 本章节为大家讲解MDMA(Master direct memory access)基础知识,主要用于提供高速的数据传输. 61.1 初学者重要提示 61.2 MDMA基础知识 61.3 MDMA的HAL库用法 61.4 源文件stm32h7xx_hal_mdma.c 61.5 总结 61.1 初学…
3.0 第三章 网络接口层攻击基础知识 首先还是要提醒各位同学,在学习本章之前,请认真的学习TCP/IP体系结构的相关知识,本系列教程在这方面只会浅尝辄止. 本节简单概述下OSI七层模型和TCP/IP四层模型之间的对应关系,最后是本章教程需要的几个核心Python模块. 3.0.1 TCP/IP分层模型 国际标准化组织(ISO)在1978年提出了“开放系统互联参考模型”,即著名的OSI/RM模型(Open System Interconnection/Reference Model).它将计算机…
第2章 必须知道的JavaScript知识 JavaScript是jQuery应用的基础,掌握JavaScript这门语言是使用jQuery的基础条件.本章不会全面细致的讲解JavaScript的全部, 而是讲解其精髓,这些知识可以提升大家的JavaScript内功.切忌,要修炼上乘的武功,必须要有深厚的内功基础,否则只可学到其招式而发挥不了功力.JavaScript实际上包括三部分: w   ECMAScript 描述了该语言的语法和基本对象. w   DOM 描述了处理网页内容的方法和接口.…
如上文所述,PCI总线作为处理器系统的局部总线,是处理器系统的一个组成部件,讲述PCI总线的组成结构不能离开处理器系统这个大环境.在一个处理器系统中,与PCI总线相关的模块如图1?1所示. 如图1?1所示在一个处理器系统中,与PCI总线相关的模块包括,HOST主桥.PCI总线.PCI桥和PCI设备.PCI总线由HOST主桥和PCI桥推出,HOST主桥与主存储器控制器在同一级总线上,PCI设备可以方便地通过HOST主桥访问主存储器,即进行DMA操作. 值得注意的是,PCI设备的DMA操作需要与处理…
PCI总线定义了两类配置请求,一个是Type 00h配置请求,另一个是Type 01h配置请求.PCI总线使用这些配置请求访问PCI总线树上的设备配置空间,包括PCI桥和PCI Agent设备的配置空间. 其中HOST主桥或者PCI桥使用Type 00h配置请求,访问与HOST主桥或者PCI桥直接相连的PCI Agent设备或者PCI桥[1]:而HOST主桥或者PCI桥使用Type 01h配置请求,需要至少穿越一个PCI桥,访问没有与其直接相连的PCI Agent设备或者PCI桥.如图2?8所示…
事务层是PCIe总线层次结构的最高层,该层次将接收PCIe设备核心层的数据请求,并将其转换为PCIe总线事务,PCIe总线使用的这些总线事务在TLP头中定义.PCIe总线继承了PCI/PCI-X总线的大多数总线事务,如存储器读写.I/O读写.配置读写总线事务,并增加了Message总线事务和原子操作等总线事务. 本节重点介绍与数据传送密切相关的总线事务,如存储器.I/O.配置读写总线事务.在PCIe总线中,Non-Posted总线事务分两部分进行,首先是发送端向接收端提交总线读写请求,之后接收端…
随着现代处理器技术的发展,在互连领域中,使用高速差分总线替代并行总线是大势所趋.与单端并行信号相比,高速差分信号可以使用更高的时钟频率,从而使用更少的信号线,完成之前需要许多单端并行数据信号才能达到的总线带宽. PCI总线使用并行总线结构,在同一条总线上的所有外部设备共享总线带宽,而PCIe总线使用了高速差分总线,并采用端到端的连接方式,因此在每一条PCIe链路中只能连接两个设备.这使得PCIe与PCI总线采用的拓扑结构有所不同.PCIe总线除了在连接方式上与PCI总线不同之外,还使用了一些在网…
PCI总线规范定义了一系列与Cache相关的总线事务,以提高PCI设备与主存储器进行数据交换的效率,即DMA读写的效率.当PCI设备使用DMA方式向存储器进行读写操作时,一定需要经过HOST主桥,而HOST主桥通过FSB总线[1]向存储器控制器进行读写操作时,需要进行Cache共享一致性操作. PCI设备与主存储器进行的Cache共享一致性增加了HOST主桥的设计复杂度.在高性能处理器中Cache状态机的转换模型十分复杂.而HOST主桥是FSB上的一个设备,需要按照FSB规定的协议处理这个Cac…
PCI总线推出以来,以其独有的特性受到众多厂商的青睐,已经成为计算机扩展总线的主流.目前,国内的许多技术人员已经具备开发PCI总线接口设备的能 力.但是PCI总线的编程技术,也就是对PCI总线设备的操作技术,一直是一件让技术人员感到头疼的事情.PCI总线编程的核心技术是对相应板卡配置空间 的理解和访问.一般软件编程人员基于对硬件设备原理的生疏,很难理解并操作配置空间,希望硬件开发人员直接告诉他们怎样操作:而PCI总线硬件开发人员虽 深刻地理解了其意义,在没有太多编程经验地前提下,也难于轻易地操作…
第31章      Telnet远程登录基础知识 本章节为大家讲解Telnet (Teletype Network) 的基础知识,方便后面章节的实战操作. (本章的知识点主要整理自网络) 31.1  初学者重要提示 31.2  Telnet基础知识参考资料 31.3  Telnet基础知识点 31.4  总结 31.1  初学者重要提示 Telnet远程登录在实际项目中有一些实用价值,需要初学者对Telnet的基础知识也有个认识. 31.2  Telnet基础知识参考资料 大家可以从以下地址获得…
第29章      NTP网络时间协议基础知识 本章节为大家讲解NTP (Network Time Protocol,网络时间协议)和SNTP(简单网络时间协议,Simple Network Time Protocol)的基础知识,方便后面章节的实战操作. (本章的知识点主要整理自网络) 29.1  初学者重要提示 29.2  NTP基础知识参考资料 29.3  NTP基础知识点 29.4  SNTP基础知识点 29.5  总结 29.1  初学者重要提示 NTP网络时间协议在实际项目中有比较重…
第12章      TCP传输控制协议基础知识 本章节为大家讲解TCP(Transmission Control Protocol,传输控制协议),通过本章节的学习,需要大家对TCP有个基本的认识,方便后面章节TCP实战操作. (本章的知识点主要整理自网络) 12.1  初学者重要提示 12.2  TCP基础知识参考资料 12.3  TCP基础知识点 12.4  TCP可靠性实现 12.5  TCP端口号 12.6  总结 12.1  初学者重要提示 磨刀不误砍柴工,初学者务必要对TCP的基础知…
第三章:Node.js基础知识 一:Node.js中的控制台 1:console.log.console.info  方法 console.log(" node app1.js 1> info.log console.log("This is a test String ."); //从第二个参数开始,依序输出所有的字符串 console.log("%s","hoge","foo");//输出结果为 hoge…
转载地址:http://blog.csdn.net/sunjiajiang/article/details/7945057 DMA和burst不是一个概念. DMA传送不经过CPU的控制,假如硬盘的数据不能经过DMA控制器读到内存,那么每完成一次将硬盘的数据读出来,再存放到内存的操作,都要通过CPU运行几条读写指令来完成,这时CPU就做不了别的事了,如果有DMA控制器,则这个过程不需要CPU的参与,只需要占用总线就可以了.CPU还可以去完成别的运算. Burst操作还是要通过CPU的参与的,与单…
第一章        ASP.Net编程基础知识 第一章        ASP.Net编程基础知识 本章首先介绍用ASP.Net技术编制服务器端动态网页所需的网络和HTML标记语言方面的有关知识.然后介绍ASP.Net技术基础. 9.1   网络基础 用ASP.Net技术编制服务器端动态网页,必然要和网络打交道,具备一些网络方面的知识是必要的.这里假设读者已经学习过计算机基础课程,在此基础上,进一步介绍用ASP.Net技术编制服务器端动态网页所需的必备网络基础知识. 9.1.1   局域网.广域…