阅读:1505回复:10
9052的地址分配
9052关于地址的寄存器如下:
PCIBAR0:内存 PCIBAR1:I/O PCIBAR2~5:对应Local Address Space i LAS0~3RR:Local Address Space i Range LAS0~3BA:Local Address Space i Local Base Address Register CS0~3BASE:Chip Select i Base Address Register 计算机分配给PCI几个地址? 它们存在哪个寄存器中? LAS0~3RR、LAS0~3BA、CS0~3BASE如何共同工作? |
|
最新喜欢:zpgao
|
沙发#
发布于:2002-06-04 21:04
用户被禁言,该主题自动屏蔽! |
|
板凳#
发布于:2002-06-05 07:58
请问我如何知道这5个地址的长度?
CFC和CF8是什么寄存器,我为什么没发现? |
|
|
地板#
发布于:2002-06-05 08:14
用户被禁言,该主题自动屏蔽! |
|
地下室#
发布于:2002-06-05 08:37
可以提供全称吗?
|
|
|
5楼#
发布于:2002-06-05 09:08
PCI配置寄存器并不多,没有你说的那两个呀
|
|
|
6楼#
发布于:2002-06-05 10:30
用户被禁言,该主题自动屏蔽! |
|
7楼#
发布于:2002-06-05 10:38
多谢Tom.Cat兄
|
|
|
8楼#
发布于:2002-06-06 08:36
看来Tom.Cat兄是理解错了,我不是不知道如何取得PCI的配置,我用VTOOL作驱动很好实现,至于用DDK或直接调BIOS-1A中断那要等我作完这第一块PCI卡的了(不过你提供那份资料可真有些难度呢)
我无法理解的是PCI的那些地址寄存器如何分配地址,系统如何给它们分配地址 昨天无意中看了一下以前好长时间都没看懂的《PCI系统结构》,忽然间明白了一些其中的道理,理解了一下重新途述如下,如有错误请大家更正 PCI地址寄存器的开发由PCI卡开发者来完成 系统向地址寄存器写入数据,如果返回0表示该寄存器没有分配空间的要求 如果返回非0,检测第0位的值,0表示该寄存器为存储器地址寄存器,1表示该寄存器为I/O地址寄存器。 如果第0位是0: 检测1、2位,00表示为32位寄存器,10表示为64位寄存器 检测第3位,0表示不是预提取存储器,1表示是预提取存储器 第4位至第31位由低位向高位扫描,检测到第一个位值为1表示该位及以下的位为存储器所需的空间,如FFF00000表示所需要空间为1M 如果第0位是1: 第1位保留,返回0 第2位至第31位由低位向高位扫描,检测到第一个位值为1表示该位及以下的位为I/O所需的空间,如FFF00000表示所需要空间为1M 由此可以看出存储器最小存储空间为16b,最大空间为2GB,I/O最小空间为4b 需要指出的是I/O的最大空间为256b |
|
|
9楼#
发布于:2002-06-06 09:46
用户被禁言,该主题自动屏蔽! |
|
10楼#
发布于:2003-12-25 14:34
看来Tom.Cat兄是理解错了,我不是不知道如何取得PCI的配置,我用VTOOL作驱动很好实现,至于用DDK或直接调BIOS-1A中断那要等我作完这第一块PCI卡的了(不过你提供那份资料可真有些难度呢) |
|