全站数据
8 4 2 0 5 8 1

pci诊断卡原理

建筑师小鱼 | 简单学习,快乐成才!         
问题更新日期:2024-10-11 05:16:04

问题描述

pci诊断卡原理,麻烦给回复
精选答案
最佳答案

PCI的4个空间要映射到哪个物理地址,是由宿主机器的操作系统或bios动态配置的。宿主系统怎么知道空间的大小呢?

方法是系统启动时向PCI配置空间的基地址(PCI base addresss)寄存器写一个全1的32位数,然后立刻读回来,比如说读到0xFFFF0000,后16位是0,说明这个空间有64K。就是说前16位是可写的,被写入1,而后16位是不可写的,值永远是0。

然后系统就分配一个基地址,把这个地址写入前16位中,于是基地址寄存器中就保存了分配到的物理基地址。反过来说,如果一个设备要求分配64K内存,那么它就应该实现一个基地址寄存器,其高16位是可读写的,后16位是只读并且为0的(其实最后4位是选项位,可能不为0)。

对于中断号的分配也简单,系统把分配的中断号写入到PCI配置空间的Interrup Line寄存器中就ok了,意思就是把PCI卡的中断请求线连接(route)到了中断管理器的几号中断脚上。