PCI 配置空间中文.docx
- 文档编号:5713169
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:27
- 大小:222.09KB
PCI 配置空间中文.docx
《PCI 配置空间中文.docx》由会员分享,可在线阅读,更多相关《PCI 配置空间中文.docx(27页珍藏版)》请在冰豆网上搜索。
PCI配置空间中文
PCIConfiguration
名词说明:
⏹PCI为PeripheralComponentInterconnect的缩写,它是由Intel所发表的另一种局部总线<另一种为VESALocalBus>,以配合Pentium系列的微处理机为主,PCI的最大特点在于它是和主机板不相关的接口,而且一台主机最多支持16台使用PCI接口的外围设备,这种总线架构还支持PowerPC等机种,因此PCI适配卡将可在不同工作平台上使用。
⏹PCI的数据总线
⏹而PCI的改良版称为PCI-X,采用六十四位的总线宽度与133MHz的传输速率,可以使得数据传输量为1.064GBps,而且可以使用于现有的PCI界面卡,PCI-X初期以工作站或是服务器为主。
架构说明:
System<系统讯号>:
CLK:
CLK讯号为一个输入讯号,其提供所有交易,包括总线仲裁等的时序,PCI装置的所有输入都是在CLK讯号的上升边缘被取样的.PCI总线上的所有动作都与PCICLK讯号同步,其讯号频率的围在0Mhz~33Mhz.
RST
当重置讯号被驱动成低态时,它会强迫所有PCI组态缓存器,master及target状态机器与输出驱动器回到初始化状态.
DeviceIdentification
VendorID
记录PCI厂商识别码,如IntelID是8086,VIAID是1106,AliID是10B8.
DeviceID
记录PCI装置识别码.
以BIOS观点来看,通常为了避掉某些装置与系统的兼容性常藉由判断VendorID与DeviceID做不同的处理.
DeviceControl
CommandRegister
指令缓存器
它是一个16位缓存器,提供基本装置响应或进行PCI存取能力的控制.
位功能
1IO空间
2存空间
3BusMaster.当被设定为1时,此装置能当作busmaster来用,组态软件用此位来决定装置是否具有busmaster能力.
4特殊周期
5MemoryWriteandInvalidateEnable.当被设定为1时,装置可以产生MemoryWrite-and-Invalidate指令,当设定为0时,装置使用MemoryWrite指令来取代,软件不应该致能此位,直到装置的快取线大小组态缓存器以系统快取线大小来初始化,组态软件可以用它及位2,BusMaster一起来侦测master是否能够使用MemoryWrite-and-Invalidate指令,假设它可以的话,则快取线大小将会被写入到master的快取线大小组态缓存器.
6VGA调色盘监管
7同位错误响应
8逐步驱动控制
9SERR#Enable.当设定为1时,装置可以驱动SERR#线,设定为0会关闭装置的SERR#输出驱动器,此位与位6<同位错误报告>必须被设定,以便报告地址同位错误
10FastBack-to-BackEnable.假如BusMaster可以在第一次和第二次交易中,与不同的Target进行FastBack-to-Back交易的话,此位可用来启动或关闭这功能,假如所有在BusMaster所在之PCI总线上的Target是可以进行FastBack-to-Back交易的话,组态软件可以设定此位来致能此Master进行FastBack-to-Back交易的能力,无需担心在第一次和第二次交易里是否寻址相同的Target..
15:
10保留
StatusRegister
状态缓存器
位R/W功能
3:
0R保留
4R能力串行
设定为1的话,则表示新能力串行指针缓存器必须在装置组态空间的Offset34h里实作,在这种情况,组态程序执行装置应该去读取指针缓存器,以决定装置是否支持额外的能力
5R66Mhz能力<66MhzCapable>.
1=装置能够在66Mhz速度下执行.
0=只能在33Mhz速度下执行.
6R保留
7RFastBack-to-Back能力
元表示Target装置是否支持不同Target的FastBack-to-Back交易,1=装置支持0=装置不支持.
8R/WMaster数据同位错误
BusMaster里实作,并且只有在下列条件时才会被设定:
●报告的BusMaster是交易的initiator.
●<在读取过程中>它自己设定PERR#,或<在写入过程中>侦测到它被Target驱动到低态.
●在Master的指令缓存器里的同位错误响应位被设定为1.
10:
9R装置选择时序
它定义了Target装置最慢的DEVSEL#时序.
00b=Fast<快速的>
01b=Medium<中速的>
10b=Slow<慢速的>
11b=Reserved<保留>
11R/W发出TargetAbort讯号
置以TargetAbort终止交易时,Target就会设定此位,不能发出
TargetAbort讯号的装置不需要实作此位.
12R/W接收到TargetAbort讯号
Master的交易是以目前寻址的Target发出的TargetAbort终止
的时候,它就会设定此位.
13R/W接收到MasterAbort讯号
Master的交易是因MasterAbort而终止<特殊周期除外>的时候,
它就会设定此位.
14R/W发出系统错误讯号
在线产生一个错误讯息
15R/W侦测到同位错误
个同位错误时,它应该设定此位<实时同位错误报告功能指
令缓存器里的同位错误响应位关闭>.
RevisionID
版本识别码缓存器
记录PCI装置版本序号,由装置制造商指派,假如制造商提供版本特定的驱动程序,这可确保OS加载正确的驱动程序.
ClassCode
类别码
它是一个24位只读的缓存器,它被分成三个字段:
基本类别
●较高的字节定义功能的基本类别.
●中间的字节定义在基本类别里的子类别.
●较低的字节定义程序界面.
当OS尝试找出一个可以配合类别驱动程序
存器是很有用的,如OS找到一个具有类别码03h,以及子类别码为01h的装置
BaseClass00h
在类别码定义之前建立的装置.
00h00h所有非VGA装置.
00h01h与VGA兼容的装置.
BaseClass01h
大量储存媒体控制器.
子类别程序界面描述
00h00hSCSI控制器
01hxxhIDE控制器
02h00h软式磁盘驱动器控制器
03h00hIPI控制器
04h00hRAID控制器
05h00h其它大量储存媒体控制器
BaseClass02h
网络控制器.
子类别程序界面描述
00h00hEthernet控制器
01h00hTokenRing控制器
02h00hFDDI控制器
03h00hATM控制器
04h00hISDN控制器
80h00h其它网络控制器
BaseClass03h
显示控制器.
子类别程序界面描述
00h00h与VGA兼容的控制器,响应存地址
000A0000h到000BFFFh 视讯画面缓冲区>,以及IO地址03B0h到03BBh, 及03C0h到03DFh,还有这些地址的所有别名 01h与8514兼容的控制器,响应IO地址02E8h以及它 的别名,02EAh和02EFH. 01h00hXGA控制器. 02h00h3D控制器. 80h00h其它显示控制器. BaseClass04h 多媒体控制器. 子类别程序界面描述 00h00h视讯装置. 01h00h音效装置. 02h00h计算机装置. 80h00h其它多媒体装置. BaseClass05h 存控制器. 子类别程序界面描述 00h00hRAM存控制器. 01h00hFlash<快闪>存控制器. 80h00h其它存控制器. BaseClass06h 桥接器装置 子类别程序界面描述 00h00hHost/PCI桥接器 01h00hPCI/ISA桥接器 02h00hPCI/EISA桥接器 03h00hPCI/MicroChannel桥接器 04h00hPCI/PCI桥接器 01h相减解碼PCI-to-PCI桥接器,支持除正常PCI-to- PCI功能之外的相减译码. 05h00hPCI/PCMCIA桥接器 06h00hPCI/NuBus桥接器 07h00hPCI/CardBus桥接器 08hxxhRACEway桥接器,RACEway是一个ANSI标准< ANSI/VITA5-1994>的交换架构 界面位7: 1是保留,位0值为0表示桥接器是 在通透模式 端点模式 80h00h其它桥接器型态. BaseClass07h 简单的通讯控制器 子类别程序界面描述 00h00h通用的XT兼容序列控制器. 01h与16450兼容的序列控制器. 02h与16550兼容的序列控制器. 03h与16650兼容的序列控制器. 04h与16750兼容的序列控制器. 05h与16850兼容的序列控制器. 06h与16950兼容的序列控制器. 01h00h平行阜. 01h双向平行阜. 02h遵循ECP1.X规格的平行阜. 03hIEEE1284控制器. FehIEEE1284Target装置<非控制器>. 02h00h多阜序列控制器. 03h00h通用调制解调器. 01h与Hayes兼容的调制解调器,与16450兼容的界面,BAR 0映像或IO映像<如BAR型态所指示>. 02h与Hayes兼容的调制解调器,与16550兼容的界面,BAR 0映像或IO映像<如BAR型态所指示>. 03h与Hayes兼容的调制解调器,与16650兼容的界面,BAR 0映像或IO映像<如BAR型态所指示>. 04h与Hayes兼容的调制解调器,与16750兼容的界面,BAR 0映像或IO映像<如BAR型态所指示>. 80h00h其它通讯装置. BaseClass08h 基本的系统周边装置. 子类别程序界面描述 00h00h通用8259可程序中断控制器 InterruptController,PIC>. 01hISAPIC. 02hEISAPIC. 10hIOPIC. 20hIO 01h00h通用8237DMA控制器. 01hISADMA控制器. 02hEISADMA控制器. 02h00h通用8254定时器. 01hISA系统定时器. 02hEISA系统定时器. 03h00h通用RTC控制器. 01hISARTC控制器. 04h00h通用热插拔 80hooh其它系统外围装置. BaseClass09h 输入装置. 子类别程序界面描述 00h00h键盘控制器. 01h00hDiditizer 02h00h鼠标控制器. 03h00h扫瞄器控制器. 04h00h通用游戏连接阜控制器. 10h游戏连接阜控制器.具有程序界面=10h的游戏连 接阜控制器表示任何在这请求/指定IO地址空间 之功能里的基地址缓存器,在该IO空间的缓存器符合标准的"传统"游戏连接阜,在IO区域里位移为00h的字节其行为与传统游戏连接阜界面 相同,当读取此字节时,会传回游戏杆/手把 字节的别名,所有在IO区域里的其它字节是未指定的,且可以给制造商以自己特有的方式来使用. 80h00h其它输入控制器. BaseClass0Ah 船屋系统. 子类别程序界面描述 00h00h通用的船乌系统. 80h00h其它型态的船乌系统. BaseClass0Bh 处理器 BaseClass0Ch 序列总线控制器. 子类别程序界面描述 00h00hFirewire 10h使用1394OpenHCI规格的IEEE1394. 01h00hACCESS.bus 02h00hSSA 构>. 03h00h使用UniversalHostController规格的USB 10h使用OpenHostController规格的USB 80h无特定程序界面的USB控制器. FEhUSB装置<非主控器 04h00hFiber<光纤>Channel. 05h00hSMBus 排>. BaseClass0Dh 无线控制器 子类别程序界面描述 00h00h与iRDA兼容的控制器. 01h00h消费型IR控制器. 02h00hRF控制器. 80h00h其它型态无线控制器. BaseClass0Eh 智能型IO控制器 子类别程序界面描述 00hxxh遵循I20架构规格的智能型IO控制器. 00h在相对地址 BaseClass0Fh 卫星通讯控制器 子类别程序界面描述 01h00hTV<电视>. 02h00hAudio<音效>. 03h00hVoice<语音>. 04h00hData<资料>. BaseClass10h 加密/解密 子类别程序界面描述 00h00h网络与运算加密/解密. 10h00h娱乐加密/解密. 80h00h其它加密/解密. BaseClass11h 数据撷取与讯号处理控制器 子类别程序界面描述 00h00hDPIO模块 80h00h其它数据撷取与讯号处理控制器. CacheLineSizeRegister 快取线大小缓存器 此读/写组态缓存器指定了以dword为单位的系统快取线大小<例如: 在P6的系统 里此缓存器的值为08h,表示其快取线大小为8个dword,或32个字节>,实作了 MemoryWrite-and-Invalidate指令的BusMaster必须实作此缓存器,因为它必须 知道快取线大小,以便确保它从快取线边界起始交易,并遵守它将整条线写入存的约定,所以当这缓存器被设定为0<表示组态软件尚未把快取线大小告诉它>时, BusMaster不可以使用MemoryWrite-and-Invalidate指令,在这种情况,Master 只能够使用MemoryWrite<存写入>指令来更新存. 装置可以限制它所支持的快取线大小数目,假如组态软件写入一个未支持的数值, 则装置会将此数值当作0来动作. LatencyTimer 等待时间 等待时间以PCI频率周期为单位,定义了在busmaster起始新交易时,它可保留总线有权的最小时间量,最理想的是,每一个busmaster都应该将此缓存器实作为可读/写的缓存器,藉此给予组态软件在busmaster群组间分配可用的总线时间上有最大的弹性,组态软件以读取功能的Min_Gnt HeaderType 表头型态缓存器 每一个PCI功能拥有保留给实作其组态缓存器用的64个组态dword区块,前16个dword的格式 ●HeaderTypeOne是为PCI-to-PCI桥接器定义的<01h>. ●HeaderTypeTwo是为PCI-to-CardBus桥接器定义的<02h>. ●HeaderTypeZero是给所有除了PCI-to-PCI与CardBus桥接器以外的装置使用的<00h>. HeaderType位7是用来表示此装置含有除了桥接器功能以外的其它功能, 固位7=1表示为多功能,0=表示为单功能. Built-inSelfTest BIST建自我测试 非必要的,假如装置不支持BIST的话,在读取此缓存器时,它必须要传回为0,装置的BIST是以设定位6为1的方式来请求,在完成BIST后,装置会将位6重置,但必须在二秒钟完成重置,位0~3为0则表示成功,非零值代表装置特定的错误码. BassAddress 基地址缓存器 在开机时,系统必须自动地组态,以便让所有IO与存能占用户不相干的地址围, 为了达到此目标,系统必须有能力侦测到装置需要多少个存与IO地址围,以及每一个大小.当位0传回1则表示这是一个IO译码器,不是存译码器,位[31: 2]是基地址字段,并且用来IO区块所需的大小以及设定它的起始地址. 区块大小的决定与地址围的指定: ●是否实作基地址缓存器? ●它是一个存,还是IO地址译码器? ●假如它是存译码器,它是一个32位还是64位的基地址缓存器? ●假如它是存译码器,与此缓存器相关的存是可预读的还是不可预读的? ●它需要多少存或地址空间,并且是以什么单位来排列? 这所有信息可以很简单的用写入一个全部为1的值到基地址缓存器里,然后读取它来确认,传回值为0表是没有实作基地址缓存器,假设所读取的值不为0,程序执行装置可从基地址栏的最低有效位向上扫瞄传回值,以找出第一个被设定为1的位来决定所需的存或IO空间的大小. 存例: 假设FFFFFFFFh被写入在组态13h~10h的基地址缓存器里,然后再读取时,所得的值为FFF00000h,由此可知有任何位可以被更改成1表示实作了基地址缓存器, ●位0=0表示这是一个存地址译码器. ●位[2: 1]=00b表示它是一个32位存地址译码器. ●位3=0表示它不是可预读的存. ●位20是在基地址字段里所找到的第一个1,此位的二进制权值为1,048,576,表示这是一个1MB大小的存地址译码器. 接下来,程序执行装置写入32位基地址到缓存器里,不过只有位[31: 20]是可写入的,译码器接荍位[31: 20]并假设所指定的基地址的位[19: 0]为0,这表示基地址可以被1MB,既所请求的存围大小整除,所指定的起始地址一定会被所请求的存围大小整除是PCI译码器的特性. IO例: 假设FFFFFFFFh被写入在组态17h~14h的基地址缓存器里,然后再读取时,所得的值为FFFFFF01h,位0为1,表示这是一个IO地址译码器,从位2<基地址栏的最低有效位向上扫瞄>开始向上扫瞄,找到位8是第一个被成功地改成1的位,此二进权值为256,表示此IO地址译码器大小为256B,或将所得的值作一补码运算后再加1,易可得相同的值. CardBusCISPointer CardBus与PCI共享的装置实作此非必要的缓存器,此字段指向CardBus卡的借面 卡信息结构 其中一个地方的CIS相对地址 ●在功能的装置特定组态空间里<在功能的组态空间的Offset40h之后>的相对地址 ●与其中一个装置存基地址缓存器所指示的起始地址间之相对地址 ●在装置扩充ROM程序代码影像 CIS的详细说明请参考"CardBusSystemArchitecture". Sub
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PCI 配置空间中文 配置 空间 中文