首页 > 其他分享 >PCIe扫盲——PCI总线的地址空间分配

PCIe扫盲——PCI总线的地址空间分配

时间:2024-12-12 23:54:23浏览次数:7  
标签:Space Address 总线 PCIe 地址 PCI Memory

PCI总线具有32位数据/地址复用总线,所以其存储地址空间为2的32次方=4GB。也就是PCI上的所有设备共同映射到这4GB上,每个PCI设备占用唯一的一段PCI地址,以便于PCI总线统一寻址。每个PCI设备通过PCI寄存器中的基地址寄存器来指定映射的首地址。如下图所示:

image

注:需要注意的是PCI的地址空间和x86系统中的FSB并不是对等的,而是具有一定的映射关系。

PCI体系结构中,一共支持三种地址空间:Memory Address Space、I/O Address Space和Configuration Address Space。其中x86处理器可以直接访问的只有Memory Address Space和I/O Address Space。而访问Configuration Address Space则需要通过索引IO寄存器来完成。

注:在PCIe中,则引入了一种新的Configuration Address Space访问方式:将其直接映射到了Memory Address Space当中。

image

如上图所示,最左边的即为Memory Address Space,其中包括了多个PCI Memory、AGP Video(显卡)Memory以及Extended Memory、Boot ROM等。中间的为I/O Address Space,需要注意的是,虽然PCI支持32位的地址,但是由于x86的CPU只支持16位的I/O空间,这就限制了PCI的I/O Address Space最大只有64KB。最右边的则为Configuration Address Space,由于每一个PCI设备最多支持8种功能(Function),每一条PCI总线最多支持32个设备,而每一个PCI总线系统最多又支持256个子总线(通过PCI桥)。因此,总的Configuration Address Space的大小为:256 Bytes/function x 8 functions/device x 32 devices/bus x 256 buses/system = 16MB。

如图中所示,Configuration Address Space所使用的IO寄存器范围为0xCF80xCFF。其中0xCF80xCFB为端口地址,0xCFC~0xCFF为配置数据。

标签:Space,Address,总线,PCIe,地址,PCI,Memory
From: https://www.cnblogs.com/linhaostudy/p/18603724

相关文章

  • 为什么说总线伺服比脉冲伺服强?
    在现代工业自动化和精密控制领域,伺服系统无疑是技术发展的前沿。作为自动化控制的核心,伺服系统广泛应用于各种机械设备中,尤其是在高精度、高动态性能要求的应用场景下。总线伺服和脉冲伺服是市场上最常见的两种伺服技术,它们各自的特性、优缺点和适用场景存在着显著差异。然而,在......
  • 关于CAN总线转接器的PCB板设计方案
    一、题记关于CAN总线网上的资料很多,什么《看不会你打死我》或者《有史以来最简单通俗的CAN的讲解!》诸如此类的标题党确实很多了,但总体来说写的都还不错,这里我就不再赘述了,笔者也是看别人的博客学习的,大家可以自行百度。二、正文一般来说CAN总线有两种接法:1、闭环式接120R的......
  • PCIe扫盲——PCI总线的中断和错误处理
    PCI总线使用INTA#、INTB#、INTC#和INTD#信号向处理器发出中断请求。这些中断请求信号为低电平有效,并与处理器的中断控制器连接。在PCI体系结构中,这些中断信号属于边带信号(SidebandSignals),PCI总线规范并没有明确规定在一个处理器系统中如何使用这些信号,因为这些信号对于PCI总线是......
  • 6UCPCI板卡设计方案:8-基于双TMS320C6678 + XC7K420T的6U CPCI Express高速数据处理平
    基于双TMS320C6678+XC7K420T的6UCPCIExpress高速数据处理平台 1、板卡概述板卡由我公司自主研发,基于6UCPCI架构,处理板包含双片TIDSPTMS320C6678芯片;一片Xilinx公司FPGAXC7K420T-1FFG1156芯片;六个千兆网口(FPGA两个,DSP四个);DSP与FPGA之间RapidIOX4......
  • PCIe扫盲——PCI总线的三种传输模式
    本文来简单地介绍一下PCISpec规定的三种数据传输模型:ProgrammedI/O(PIO),Peer-to-Peer和DMA。三种数据传输模型的示意图如下图所示:首先来介绍一下ProgrammedI/O(PIO)PIO在早期的PC中被广泛使用,因外当时的处理器的速度要远远大于任何其他外设的速度,所以PIO足以胜任所有的任务。举......
  • PCIe扫盲——PCI总线中的Reflected-Wave Signaling
    PCISpec规定了每个PCI总线上最多可以连接多达32个PCI设备,但是实际上却远远达不到32个,33MHz的32位PCI总线一般只能连接10到12个负载。注:如果使用插槽连接,则一个连接算两个PCI设备,插槽和PCI卡分别算作一个PCI设备。也就是说一个33MHz的PCI总线最多只能连接4到5个插槽即PCI卡。这......
  • PCIe扫盲——一个典型的PCI总线周期
    PCI总线是一种地址和数据复用的总线,即地址和数据占用同一组信号线AD。PCI总线的所有信号都与时钟信号同步,及所有的信号的变化都发生在时钟的上升沿,或者在时钟上升沿进行采样。如下图所示,除了时钟信号CLK和数据地址复用信号AD之外,PCI总线至少还应包括FRAME#(用于表示一次数据传输的......
  • 嵌入式系统的内存访问和总线通信机制解析、PCI/PCIe引入
    往期内容Uart子系统专栏:专栏地址:Uart子系统Linux内核早期打印机制与RS485通信技术–末片,有专栏内容观看顺序interrupt子系统专栏:专栏地址:interrupt子系统Linux链式与层级中断控制器讲解:原理与驱动开发–末片,有专栏内容观看顺序pinctrl和gpio子系统专栏:专栏地......
  • 深入解析非桥PCI设备的访问和配置方法
    往期内容本文章相关专栏往期内容,PCI/PCIe子系统专栏:嵌入式系统的内存访问和总线通信机制解析、PCI/PCIe引入Uart子系统专栏:专栏地址:Uart子系统Linux内核早期打印机制与RS485通信技术–末片,有专栏内容观看顺序interrupt子系统专栏:专栏地址:interrupt子系统Linux链......
  • PCI总线基本概念
    PCI是PeripheralComponentInterconnect(外设部件互连标准)的缩写,它曾经是个人电脑中使用最为广泛的接口,几乎所有的主板产品上都带有这种插槽。目前该总线已经逐渐被PCIExpress总线所取代。PCI即PeripheralComponentInterconnect,中文意思是“外围器件互联”,是由PCISIG(PCIS......