LXFY
驱动牛犊
驱动牛犊
  • 注册日期2001-12-11
  • 最后登录2003-12-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1440回复:10

9052的地址分配

楼主#
更多 发布于:2002-06-04 17:20
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如何共同工作?

最新喜欢:

zpgaozpgao
我相信万有引力
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2002-06-04 21:04
用户被禁言,该主题自动屏蔽!
LXFY
驱动牛犊
驱动牛犊
  • 注册日期2001-12-11
  • 最后登录2003-12-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-06-05 07:58
请问我如何知道这5个地址的长度?
CFC和CF8是什么寄存器,我为什么没发现?
我相信万有引力
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2002-06-05 08:14
用户被禁言,该主题自动屏蔽!
LXFY
驱动牛犊
驱动牛犊
  • 注册日期2001-12-11
  • 最后登录2003-12-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-06-05 08:37
可以提供全称吗?
我相信万有引力
LXFY
驱动牛犊
驱动牛犊
  • 注册日期2001-12-11
  • 最后登录2003-12-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-06-05 09:08
PCI配置寄存器并不多,没有你说的那两个呀
我相信万有引力
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
6楼#
发布于:2002-06-05 10:30
用户被禁言,该主题自动屏蔽!
LXFY
驱动牛犊
驱动牛犊
  • 注册日期2001-12-11
  • 最后登录2003-12-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-06-05 10:38
多谢Tom.Cat兄
我相信万有引力
LXFY
驱动牛犊
驱动牛犊
  • 注册日期2001-12-11
  • 最后登录2003-12-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
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
我相信万有引力
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
9楼#
发布于:2002-06-06 09:46
用户被禁言,该主题自动屏蔽!
mapofl
驱动牛犊
驱动牛犊
  • 注册日期2003-10-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-12-25 14:34
看来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
----------------------------------------------------?fff00001

由此可以看出存储器最小存储空间为16b,最大空间为2GB,I/O最小空间为4b
需要指出的是I/O的最大空间为256b
 
游客

返回顶部