网站的建设模式是指什么,网络营销培训班,广告设计专业有哪些,怎么在百度上发广告PCIE 三种传输方式#xff1a;IO中断#xff0c;DMA#xff0c;peer to peer
中断#xff1a;PCI设备需要向内存#xff08;SDRAM#xff09;中写入一些数据#xff0c;该PCI设备会向CPU请求一个中断#xff0c;然后CPU首先先通过PCI总线把该PCI设备的数据读取到CPU内…PCIE 三种传输方式IO中断DMApeer to peer
中断PCI设备需要向内存SDRAM中写入一些数据该PCI设备会向CPU请求一个中断然后CPU首先先通过PCI总线把该PCI设备的数据读取到CPU内部的寄存器中然后再把数据从内部寄存器写入到内存SDRAM中。
DMA直接内存访问DMADirect Memory Access是一些计算机总线架构提供的功能它能使数据从附加设备如磁盘驱动器直接发送到计算机主板的内存上。
Peer-to-Peer这一传输方式的前提是PCI总线系统中至少存在一个有能力成为主机的设备。在仲裁器的控制下完成主机身份的切换进而获得PCI总线的控制权然后与总线上的其他PCI设备进行通信。
PCIE中断
PCI总线使用INTA#、INTB#、INTC#和INTD#信号向处理器发出中断请求。这些中断请求信号为低电平有效并与处理器的中断控制器连接。在PCI体系结构中这些中断信号属于边带信号Sideband SignalsPCI总线规范并没有明确规定在一个处理器系统中如何使用这些信号因为这些信号对于PCI总线是可选信号。所谓边带信号是指这些信号在PCI总线中是可选信号而且只能在一个处理器系统的内部使用并不能离开这个处理器环境。
PCIE地址空间分配
PCI总线具有32位数据/地址复用总线所以其存储地址空间为2的32次方4GB。也就是PCI上的所有设备共同映射到这4GB上每个PCI设备占用唯一的一段PCI地址以便于PCI总线统一寻址。每个PCI设备通过PCI寄存器中的基地址寄存器来指定映射的首地址。
PCI体系结构中一共支持三种地址空间Memory Address Space、I/O Address Space和Configuration Address Space。其中x86处理器可以直接访问的只有Memory Address Space和I/O Address Space。而访问Configuration Address Space则需要通过索引IO寄存器来完成。 memory 寄存器结构 IO寄存器结构
bit0:表示设备寄存器是映射到memory0还是IO1)空间。 bit1: reserved 0 bit2: 在base adress register for Memory 中0表示32位地址空间1表示64位地址空间。 bit3:在memory BAR中用来表示该设备是否允许prefetch1表示可以预取0表示不可以预区。 bit4~31:用来表示设备需要占用的地址空间大小。 针对bit4~31某些位为只读且0来表示需要的地址空间大小比如一个PCI设备需要占用1MB的地址空间那么这个BAR就需要实现高12bit是可读写的而20-4bit是只读且为0。地址空间大小的计算方法如下
a.向BAR寄存器写全1
b.读回寄存器里面的值然后clear 上图中特殊编码的值(IO 中bit0bit1 memory中bit0-3)。
c.对读回来的值取反加一就得到了该设备需要占用的地址内存空间。