PCI Interface 讯号说明
- 格式:doc
- 大小:79.50 KB
- 文档页数:6
主板上各种信号说明一2007年08月26日星期日 13:20六、LAN LINK接口信号说明1. LAN_CLK I Lan I/F Clock(网络时钟)这个信号由Lann Chipset驱动输出,它的频率范围在5~50Mhz。
2. LAN_RXD[2:0] I Received Data(接收数据)这些信号是由Lan Chipset驱动输出到南桥。
n3. LAN_TXD[2:0] O Transmit Data(传输数据)这些信号是南桥驱动输出到Lan Chipset。
n4. LAN_RSTSYNC O Lan Reset(Lan Chip 复位信号)七、EEPROM 接口信号说明1. EE_SHCLK O EEPROM Shift Clock(EEPROM时钟)n 这个信号由南桥驱动输出到EEPROM。
2. EE_DIN I EEPROM Data In(EEPROM数据输入)这个信号是由EEPROM传数据到南桥。
n3. EE_DOUT O EEPROM Data Out(EEPROM数据输出) n 这个信号是由南桥传数据到EEPROM。
4. EE_CS O EEPROM Chip Select(片选信号)当这个信号有效时EEPROM被选择。
n八、PCI接口信号说明1. AD[31:0] I/O Address Data Bus(地址数据总线)n 是用来传送起始地址。
在内存或组态的交易期间,此地址的分辨率是一个双字组(Double Word)(即地址可被四整除),在读取或写入的交易期间,它是一个字节特定地址。
2. PAR I/O Parity Signal(同位信号)n 在地址阶段完成后一个频率,或是所有写入交易的数据阶段期间,在IDRY#被驱动到僭态后一个频率,由Initiator驱动。
所有读取交易的数据阶段期间,在TRDY#被驱动到僭态后一个频率,它也会被目前所寻址的Target驱动。
第二節CPU Interface訊號說明(1).A20GATE A20M#(2).RCIN# INIT# RESET(3).FERR# IGNNE#(4).SMI# SMIACT#(5).INTR NMIHub Interface說明Firmware Hub訊號說明: FWH[3:0]FWH[4]A20GATE(A20 GATE)SuperI/O的port92暫存器中,SGA20 bit若設為1,則A20GATE輸出為High,若設為0,則A20GATE輸出為Low。
A20M#(Mask A20位址位元20遮蔽)A20M#訊號是由ICH輸出至CPU的訊號。
此訊號是讓CPU 在Real Mode(真實模式)時模擬8086只有1M Byte(1百萬位元組)位址空間,當超過1Mbyte位址空間時A20M#為LOW,A20被驅動為0而使位址自動折返到第一個1M Byte 位址空間上。
RCIN#(Keyboard Controller Reset Processor鍵盤控制重置CPU)RCIN#訊號是由SuperI/O輸出至ICH。
鍵盤控制SuperI/O 產生RCIN#訊號至ICH,經由ICH再輸出INIT#訊號至CPU,進而達到重置CPU的目的。
INIT(Initialization啟始)為一由ICH輸出至CPU的訊號,與RESET功能上非常類似,但與RESET不同的是CPU內部L1 Cache和浮點運算操作狀態並沒被無效化。
但TLB(位址轉換參考暫存器)與BTB(分歧位址暫存器)內資料則被無效化了。
INIT另一點與RESET不同的是CPU必須等到在指令與指令之間的空檔才會被確認,而使CPU進入啟始狀態。
RESET(重置)當RESET為”HIGH”時CPU內部被重置到一個已知的狀態並且開始從位址OFFFFFFFOH讀取重置後的第一個指令。
CPU內部的TLB(位址轉換參考暫存器)、BTB(分歧位址暫存器)以及SDC(區段位址轉換快取記憶體)當重置發生時內部資料全部都變成無效。
南桥内部所有信号详解(中文解释)原创丗重庆-陈阿信南桥所有信号讲解(1)DMIDMI[0]TXN/P:O Direct Media Interface Differential Transmit Pair0DMI[0]RXP/N:I Direct Media Interface Differential Receive Pair0DMI_ZCOMP:I Impedance Compensation Input:这个信号决定了DMI输入的阻抗;DMI_IRCOMP:O Impedance/Current Compensation Output:这个信号决定了DMI输出的阻抗和偏置电流;(2)PCI EXPRESSPETp/n[1]:O PCI Express*Differential Transmit Pair1(3)LAN CONNECTORLAN_CLK:I频率范围在5MHz to50MHz.LAN_RXD[2:0]I接收数据:用这些信号向LAN控制器传输数据控制信号,这些信号均有上拉衰减电阻;LAN_TXD[2:0]O传输数据:LAN控制器用这些信号去给LAN IC 传输数据和命令信号。
LAN_RSTSYNC O LAN重置/同步:LAN IC的重置/同步信号;原创丗重庆-陈阿信(4)EEPROM InterfaceEE_SHCLK O这个信号对EPROM提供时钟。
EE_DIN I EEPROM Data In:这个信号从EPROM向南桥提供数据,有上拉电阻。
EE_DOUT O这个信号从南桥向EPROM提供数据。
EE_CS O EPROM芯片的选择信号;(5)Firmware Hub Interface/LPCFWH[3:0]/LAD[3:0]I/O输入输出的多元地址信号。
FWH[4]/LFRAME#O输出的多元帧数据信号。
(6)PCI InterfaceAD[31:0]I/O复合的地址数据信号,在第一个传输周期传输地址信号,在接下来的传输周期传输数据信号;在FRAME#有效时,是地址期,对于I/O操作,它是一个字节地;对于存储器操作和配置操作,则是双字地址。
8.4.2 PCI总线信号定义在一个PCI应用系统中,如果某设备取得了总线控制权,就称其为"主设备";而被主设备选中以进行通信的设备称为"从设备"或"目标节点''。
对于相应的接口信号线,通常分为必备的和可选的两大类,为了进行数据处理、寻址、接口控制、仲裁等系统功能, PCI接口要求作为目标的设备至少需要47条引脚,若作为主设备则需要49条引脚。
下面对主设备与目标设备综合考虑,并按功能分组将这些信号表示在图8.19中。
其中,必要的引脚在左边,任选的引脚在右边。
一.信号类型说明图8.19 PCI引脚示图为了叙述方便,将PCI信号按数传方向及驱动特性划分为五种类型,各种类型的规定 如下:in:输入信号。
out:输出驱动信号。
t/s:表示双向三态输入/输出驱动信号。
s/t/s:持续三态(Sustained Tri-State),表示持续的并且低电平有效的三态信号。
在某一时刻只能属于一个主设备并被其驱动。
这种信号从有效变为浮空(高阻状态)之前必须保证使其具有至少一个时钟周期的高电平状态。
另一主设备要想驱动它,至少要等到该信号的原有驱动者将其释放(变为三态)一个时钟周期之后才能开始。
同时,如果此信号处于持续的非驱动状态时,在有新的主设备驱动它之前应采取上拉措施,并且该措施必须由中央资源提供。
o/d:漏极开路(Open Drain)可作线或形势允许多个设备共同使用,二. PCI总线信号定义PCI总线的信号线共有100根,下面按功能分组进行说明。
1.系统引线CLK in:时钟输入,为所有PCI上的接口传送提供时序。
其最高频率可达66MHz,最低频率一般为0(DC),这一频率也称为PCI的工作频率。
对于PCI的其他信号,除、、、之外,其余信号都在CLK的上升沿有效(或采样)。
in:复位,用来使PCI专用的特性寄存器和定时器相关的信号恢复规定的初始状况。
PCI總線信號定義PCI局部總線的信號線共有100根,下面按功能分組進行說明。
1.CLK IN:系統時鐘信號,對於所有的PCI設備都是輸入信號。
其頻率最高可達33MHz,最低頻率一般為0Hz(DC),這一頻率也稱為PCI的工作頻率。
對於PCI的其它信號,除RST#﹑IRQB#﹑IRQC#﹑IRQD#之外,其余信號都在CLK的上升沿有效(或采樣)。
2.RST# IN:用來使PCI專用的特性寄存器和定序器相關的信號恢復規定的初始狀態。
至PCI定序器之外的設備復位後如何變化,不屬於本說明的範圍。
但必要的PCI 配置寄存器,其復位狀態是明確規定的。
每當復位時,PCI的全部輸出信號一般都應驅動到第三態。
SERR#信號為高陰狀態,SBD#和SDONE可驅動到低電平(如果未提供三態輸出)。
REQ#和GNT# 必須同時驅動到第三態,不能在復位期間為高或為低。
為防止AD﹑C/BE#及PAR在復位期產浮動,可由中心設備將它們驅動到邏輯低,但不能驅動為高電平。
RST#和CLK可以不同步,但要保證其撤消邊沿沒有反彈。
當設備請求引導系統時,將響應復位,復位後響應系統引導。
3.AD〔31: : 00〕T/S它們是地址﹑數據多路復用的輸入/輸出信號。
在FRAME#有效時,是地址期;在IRDY#和TRDY#同時有效時,是數據期。
一個PCI總線的傳輸中包含了一個地址信號期和接著的一個(或無限個)數據期。
PCI總線支持突發方式的讀寫功能。
地址期為一個時鐘周期,該周期中AD〔31: : 00〕線上含有一物理地(32位)。
對I/O操作,它是一個字節地址;若是存儲器操作和醳操作,則是雙字地址。
在數據期,AD〔07: : 00〕為最低字節,AD〔31: : 24〕為最高字節。
當IRDY#有效時表示寫數據穩定有效,,而TRDY#有效時表示讀數據穩定有效。
4.C/BE〔3: : 0〕#T/S:它們是總線命令和字節使能多路復用信號線。
在地址期中,這四條線上傳輸的是總線命令;在數據期內,它們傳輸的是字節使能信號,用來表示在整個數據期中,AD〔31: : 00〕上哪些字節為有效數據。
16位总线操作模板(2009年5月7日)
1PCI16位总线操作模板
1.1功能描述
PCI总线操作模板
1.2调用时加载文件
pci_16_main.v
pci.ucf
dram_16_16_4k.xco
1.3调用示例
无
1.4接口说明
无
1.5使用流程
在“//在此添加自定义IO信号接口名称//”添加自定义IO接口名称。
在“//在此添加自定义IO接口定义//”添加自定义IO接口定义。
在“//在此添加自定义寄存器//”添加自定义寄存器。
在“//设置方向,写0是输出,写1是输入//”设置接口方向
在状态0修改项目编号,在状态2修改地址位置和板卡编号。
在“//添加用户代码//”处添加用户代码状态。
在“//在此添加自定义例化//”添加调用模块的例化。
2更改记录
1.更改时间:无
2.更改内容:无
3.应用项目:无。
PCI信号定义说明(中文版)1. AD[31:0] (PCI ADDRESS / DATA BUS)地址与数据总线讯号,在FRAME#启动后地址才有效,在PCLK第一个CLOCK 动作初始化时,FRAME#动作后,输出为地址与数据,写入周期,输入为数据,读取周期 TRDY# 与IRDY#会动作,高阻抗时,为数据转换周期或RESET#动作2. C/BE[3:0]# (PCI COMMAND /BYTE ENABLES)FRAME#启动后,CLOCK第一个CLOCK,周期为PCI命令, 再下一个周期为允许命令,命令在FRAME#后有效,数据在TRDY#与IRDY#后有效3. DEVSEL# (PCI DEVSEL SELECT)确定外部外围连结之响应讯号,高阻抗时,为停止周期或RESET#动作时4. FRAME# (PCI CYCLE FRAME)PCI 总线起始讯号5. GNT[4:0]# (PCI BUS GRANT)PCI 总线控制认可讯号6. IRDY# (INITIATOR READY)数据读取写入讯号7. LOCK# (PCI BUS LOCK)总线锁住讯号8. PAR (PCI BUS PARITY)地址与位传送之同位检错讯号9. PCLK (PCI CLOCK)PCI 时脉讯号10.PGNT# (PCI GRANT TO PERIPHERAL BUS CONTROLLER)PCI 总线对外部外围装置之需求同意认可讯号11. PERQ# (PCI REQUEST FROM PERIPHERAL BUS CONTROLLER)外围处理器对PCI总线要求讯号12. REQ[4:0]# (PCI BUS REQUEST)PCI 总线需求讯号13. RESET# (RESET)系统重置讯号14. SERR# (SYSTEM ERROR)系统错误侦测讯号可产生NMI 不可屏蔽中断15. STOP# (PCI BUS STOP)PCI 总线放弃或重试数据传送之讯号16. TRDY# (TARGET READY)PCI 总线数据读取传送讯号17.WSC# (WRITE SNOOP COMPLETE)I /O APIC 芯片有上时之中断讯息传送讯号。
PCI接口功能及操作3.1 初始化上电时,PCI总线的RST#信号将PCI9052的内部寄存器设置为缺省值,同时,PCI9052输出局部复位信号(LRESET#),并且检查EEPROM是否存在。
如果设备上装有EEPROM,且EEPROM的第一个16字节非空,那么,PCI9052根据EEPROM内容设置内部寄存器,否则设为缺省值。
3.2 复位PCI9052支持二种复位方式:硬件复位和软件复位。
硬件复位是PCI9052总线接口的RST#信号输入有效时将引起整个PCI9052复位,并输出LRESET#局部复位信号。
软件复位是PCI总线上的主机可以通过设置控制寄存器CNTRL(50H)中的软件复位字节(Bit30)来对PCI9052复位,并输出LRESET#信号。
此时,PCI和局部总线的配置寄存器的值将保持不变。
当CNTRL中的软件复位字节有效时,PCI9052仅对配置寄存器的访问应答,对局部总线的访问不响应。
PCI9052保持这种状态直到PCI总线上的主机清除软件复位字节。
3.3 对串行EEPROM接口的访问复位后,PCI9052开始读串行EEPROM,若读出的第一个字非FFFFH,则PCI9052认为有一个有效的EEPROM存在,并且继续进行读操作,否则,认为EEPROM无效。
PCI 总线的主设备可以读、写连接在PCI9052上的串行EEPROM。
对其进行读、写操作之前需要将控制寄存器CNTRL[25](使能位)设置为“1”,并控制CNTRL[24]位以产生串行EEPROM 的时钟,然后,从EEDI送入指令代码。
如果在指令代码之后由EEDO输出“0”,则表明可以对其进行读、写。
需要结束操作时,只要将CNTRL[25]设置为“0”即可。
3.4 对内部寄存器访问PCI9052提供了二种类型的片内寄存器,即PCI配置寄存器和局部配置寄存器,二者都只能由PCI总线和串行EEPROM访问,也可以通过设置寄存器CNTRL[13:12]禁止对后者的访问,这样,极大地增强了接口设计的灵活性。
pci总线标准协议PCI总线标准协议。
PCI(Peripheral Component Interconnect)总线是一种用于连接外部设备和主板的总线标准,它是一种高速、并行的总线结构,可以支持多种设备的连接。
PCI总线标准协议是为了规范PCI总线的通信协议而制定的,它规定了PCI设备之间的通信方式、数据传输规范和电气特性等,对于PCI设备的互操作性和兼容性起到了重要的作用。
首先,PCI总线标准协议规定了PCI设备之间的通信方式。
PCI设备之间的通信是通过地址、数据和控制信号进行的,协议规定了这些信号的传输方式和时序要求,确保了设备之间的正常通信。
同时,协议还规定了总线仲裁、数据传输和中断请求等机制,保证了多个设备之间的协调工作。
其次,PCI总线标准协议规定了数据传输的规范。
在PCI总线上,数据传输是通过读写操作进行的,协议规定了数据传输的时序、速率和错误检测等要求,保证了数据的可靠传输。
此外,协议还规定了总线的带宽分配和数据缓冲机制,以提高数据传输的效率和可靠性。
另外,PCI总线标准协议还规定了PCI设备的电气特性。
由于PCI总线是一种并行总线,对于信号的电平和时序要求非常严格,协议规定了总线上信号的电气特性,包括电压、电流和信号波形等,以确保设备能够正常工作并且不会对其他设备造成干扰。
总的来说,PCI总线标准协议是对PCI总线通信协议的规范,它规定了PCI设备之间的通信方式、数据传输规范和电气特性等,保证了设备之间的互操作性和兼容性。
在实际应用中,遵循PCI总线标准协议可以有效地提高系统的稳定性和可靠性,同时也为设备的设计和开发提供了统一的标准,促进了整个行业的发展。
总的来说,PCI总线标准协议是一项非常重要的技术规范,它为PCI设备的设计、开发和应用提供了统一的标准,保证了设备之间的互操作性和兼容性。
在实际应用中,遵循PCI总线标准协议可以有效地提高系统的稳定性和可靠性,同时也为设备的设计和开发提供了统一的标准,促进了整个行业的发展。
PCI 數位輸出入卡數位輸出入卡 使用說明使用說明一、功能與特色一、功能與特色1. P CI 介面,具有PNP(Plug & Play)的功能。
2. 可在Win98/2000/XP 下使用本介面卡。
3. 提供48bit 的數位輸出入,以8點為一組,可規劃成六組輸出入。
4. 具有八組位置選擇,可同時使用8張同樣的卡片也不會出現衝突。
5. 利用CPLD 作為PCI 介面以及I/O 的控制,具有體積小穩定性高的特性。
6. 附有VB 及LabVIEW 範例程式以及詳細的使用說明供使用者參考。
二、系統配件二、系統配件1. 數位輸出入卡1片。
2. 牛角排線轉DB25接頭1條。
3. 25 Pin Cable 2條。
4. 驅動及範例程式光碟一片。
三、卡片的接腳說明三、卡片的接腳說明(1) 本卡的核心,負責PCI BUS 的溝通與I/O 動作,由CPLD 製成。
(2) 卡片ID 排針(JP2):使用者可以在一台電腦上插8片本公司的數位輸出入卡,為了讓它們不會互相衝突,所以要調整卡片ID 排針讓卡片ID 不同,下表是排針調整位置和ID 編號的關係。
(1) (3) (2)(3) IO 接點:在最左邊的DB25公頭(CPD1)和中間的26Pin 腳座(CPP1)是P1A、P1B 以及P1C 的輸出入接腳,最右邊的26Pin 腳座(CPP2)是P2A、P2B 以及P2C 的輸出入接腳,下圖是接腳圖。
P1A0 P1B0 P2A0 P2B0 P1A1 P1B1 P2A1 P2B1 P1A2 P1B2 P2A2 P2B2 P1A3 P1B3 P2A3P2B3 P1A4 P1B4 P2A4 P2B4 P1A5 P1B5 P2A5 P2B5 P1A6 P1B6 P2A6 P2B6 P1A7 P1B7 P2A7 P2B7 P1C0 P1C4 P2C0 P2C4 P1C1 P1C5 P2C1 P2C5 P1C2 P1C6 P2C2 P2C6 P1C3 P1C7 P2C3 P2C7 GNDVCCGNDVCCCPD1 腳位配置CPP1 腳位配置 CPP2 腳位配置四、卡片的安裝說明1.將卡片調好ID號碼,若您只有一張卡,則任何位置都可以;若是您有兩張(或以上,最多八張)卡,請您將ID位置錯開,不可以一樣。
PCI Configuration名词说明:PCI为Peripheral Component Interconnect 的缩写,它是由Intel 所发表的另一种局部总线(另一种为VESA Local Bus),以配合Pentium 系列的微处理机为主,PCI 的最大特点在于它是和主机板不相关的接口,而且一台主机最多支持16 台使用PCI 接口的外围设备,这种总线架构还支持PowerPC 等机种,因此PCI 适配卡将可在不同工作平台上使用。
PCI 的数据总线(data bus) 是32 位或是64 位宽,工作频率为33 MHz,在64 位宽的总线之下,每个clock 可传送8 个字节,因此最高的数据传输速率为每秒33×8=264 MB。
而PCI的改良版称为PCI-X,采用六十四位的总线宽度与133MHz的传输速率,可以使得数据传输量为1.064GBps,而且可以使用于现有的PCI界面卡,PCI-X 初期以工作站或是服务器为主。
架构说明:System(系统讯号):CLK:CLK讯号为一个输入讯号,其提供所有交易,包括总线仲裁等的时序,PCI装置的所有输入都是在CLK讯号的上升边缘被取样的.PCI总线上的所有动作都与PCI CLK讯号同步,其讯号频率的范围在0Mhz~33Mhz.RST(Reset Signal)当重置讯号被驱动成低态时,它会强迫所有PCI组态缓存器,master及target 状态机器与输出驱动器回到初始化状态.Device IdentificationVendor ID(Offset 00h~01h)记录PCI厂商识别码,如Intel ID是8086, VIA ID是1106,Ali ID是10B8. Device ID(Offset 02h~03h)记录PCI装置识别码.以BIOS观点来看,通常为了避掉某些装置与系统的兼容性常藉由判断Vendor ID 与Device ID 做不同的处理.Device ControlCommand Register(Offset 04h~05h)指令缓存器它是一个16位缓存器,提供基本装置响应或进行PCI存取能力的控制.位功能0IO空间(IO Space).当此位被设定为1时,显示该装置需求IO地址.1内存空间(Memory Space).当此位被设定为1时,显示该装置需求内存地址.2Bus Master.当被设定为1时,此装置能当作bus master来用,组态软件用此位来决定装置是否具有bus master能力.3特殊周期(Special Cycle). 当被设定为1时,装置可以监视PCI特殊周期. 4Memory Write and Invalidate Enable. 当被设定为1时,装置可以产生Memory Write-and-Invalidate指令, 当设定为0时,装置使用MemoryWrite指令来取代,软件不应该致能此位,直到装置的快取线大小组态缓存器以系统快取线大小来初始化,组态软件可以用它及位2,Bus Master一起来侦测master是否能够使用Memory Write-and-Invalidate指令,假设它可以的话,则快取线大小将会被写入到master的快取线大小组态缓存器.5VGA调色盘监管(VGA Pallete Snoop). 当此位被设定为1时,此位指示其与VGA兼容的装置去监管对VGA Color Pallete(调色盘)缓存器的IO写入,在非VGA图形装置,重置会将此位设定为1,开启调色盘监管功能. 6同位错误响应(Parity Error Response). 当此位被设定为1时,装置可以报告同位错误(以驱动PERR#到低组态的方式),当清除为0时,装置不会在发生同位错误事件时,驱动PERR#到低组态,不过,它仍必须设定在其状态缓存器里的侦测到同位错误状态位.7逐步驱动控制(Stepping Control).控制装置是否可以进行地址/数据逐步驱动,从不使用逐步驱动的装置必须将此位以硬件接线设定为0,一定要使用逐步驱动的装置必须将此位以硬件接线设定为1,能够使用这两种方式的装置必须将此位实做成一个可读/可写的位,并且在重置后初始化为1.8SERR# Enable.当设定为1时,装置可以驱动SERR#线,设定为0会关闭装置的SERR#输出驱动器,此位与位6(同位错误报告)必须被设定,以便报告地址同位错误9Fast Back-to-Back Enable.假如Bus Master可以在第一次和第二次交易中,与不同的Target进行Fast Back-to-Back交易的话,此位可用来启动或关闭这功能,假如所有在Bus Master所在之PCI总线上的Target是可以进行Fast Back-to-Back交易的话,组态软件可以设定此位来致能此Master进行Fast Back-to-Back交易的能力,无需担心在第一次和第二次交易里是否寻址相同的Target..15:10 保留Status Register状态缓存器(Offset 06h~07h)位R/W 功能3:0 R 保留4 R 能力串行(Capabilities List).它是一个硬件接线,只读位,假如设定为1的话,则表示新能力串行指针缓存器必须在装置组态空间的Offset 34h里实作,在这种情况,组态程序执行装置应该去读取指针缓存器,以决定装置是否支持额外的能力(AGP,VPD等等),并且使用它们各自的组态缓存器,去组态它们.5 R 66Mhz能力(66Mhz Capable).1=装置能够在66Mhz速度下执行.0=只能在33Mhz速度下执行.6 R 保留7 R Fast Back-to-Back能力(Fast Back-to-Back Capable).此只读位元表示Target装置是否支持不同Target的Fast Back-to-Back交易,1=装置支持0=装置不支持.8 R/W Master数据同位错误(Master Data Parity Error).此位只在Bus Master里实作,并且只有在下列条件时才会被设定:●报告的Bus Master是交易的initiator.●(在读取过程中)它自己设定PERR#,或(在写入过程中)侦测到它被Target驱动到低态.●在Master的指令缓存器里的同位错误响应位被设定为1. 10:9 R 装置选择时序(Device Select (DEVSEL#)Timing).它定义了Target装置最慢的DEVSEL#时序.00b=Fast(快速的)01b=Medium(中速的)10b=Slow(慢速的)11b=Reserved(保留)11 R/W 发出Target Abort讯号(Signaled Target Abort).每当Target装置以Target Abort终止交易时,Target就会设定此位,不能发出Target Abort讯号的装置不需要实作此位.12 R/W 接收到Target Abort讯号(Received Target Abort).每当BusMaster的交易是以目前寻址的Target发出的Target Abort终止的时候,它就会设定此位.13 R/W 接收到Master Abort讯号(Received Target Abort).每当BusMaster的交易是因Master Abort而终止(特殊周期除外)的时候,它就会设定此位.14 R/W 发出系统错误讯号(Signaled System Error).每当装置在SERR#在线产生一个错误讯息(System Error)时,它应该设定此位. 15 R/W 侦测到同位错误(Detected Parity Error).每当装置侦测到一个同位错误时, 它应该设定此位(实时同位错误报告功能指令缓存器里的同位错误响应位关闭).Revision ID(Offset 08h)版本识别码缓存器记录PCI装置版本序号,由装置制造商指派,假如制造商提供版本特定的驱动程序,这可确保OS加载正确的驱动程序.Class Code类别码(Offset 09h~0Bh)它是一个24位只读的缓存器,它被分成三个字段:基本类别(Base Class)子类别(Sub Class)及程序界面(Programming Interface),●较高的字节定义功能的基本类别.●中间的字节定义在基本类别里的子类别.●较低的字节定义程序界面.当OS尝试找出一个可以配合类别驱动程序(Class Driver)一起工作的装置时,此暂存器是很有用的,如OS找到一个具有类别码03h,以及子类别码为01h的装置(XGA),则它必须提供与其兼容的显示配接卡驱动程序和该装置一起工作.Base Class 00h在类别码定义之前建立的装置.00h 00h 所有非VGA装置.00h 01h 与VGA兼容的装置.大量储存媒体控制器.子类别程序界面描述00h 00h SCSI控制器01h xxh IDE控制器02h 00h 软式磁盘驱动器控制器03h 00h IPI 控制器04h 00h RAID 控制器05h 00h 其它大量储存媒体控制器Base Class 02h网络控制器.子类别程序界面描述00h 00h Ethernet 控制器01h 00h Token Ring 控制器02h 00h FDDI 控制器03h 00h ATM 控制器04h 00h ISDN 控制器80h 00h 其它网络控制器显示控制器.子类别程序界面描述00h 00h 与VGA兼容的控制器,响应内存地址000A0000h到000BFFFh(Video Frame Buffer,视讯画面缓冲区),以及IO地址03B0h到03BBh,及03C0h到03DFh,还有这些地址的所有别名(alias).01h 与8514兼容的控制器,响应IO地址02E8h以及它的别名,02EAh和02EFH.01h 00h XGA控制器.02h 00h 3D控制器.80h 00h 其它显示控制器.Base Class 04h多媒体控制器.子类别程序界面描述00h 00h 视讯装置.01h 00h 音效装置.02h 00h 计算机电话装置.80h 00h 其它多媒体装置.Base Class 05h内存控制器.子类别程序界面描述00h 00h RAM内存控制器.01h 00h Flash(快闪)内存控制器.80h 00h 其它内存控制器.Base Class 06h桥接器装置子类别程序界面描述00h 00h Host / PCI 桥接器01h 00h PCI / ISA 桥接器02h 00h PCI / EISA 桥接器03h 00h PCI / Micro Channel 桥接器04h 00h PCI / PCI 桥接器01h 相减解碼PCI-to-PCI 桥接器,支持除正常PCI-to-PCI功能之外的相减译码.05h 00h PCI / PCMCIA 桥接器06h 00h PCI / NuBus 桥接器07h 00h PCI / CardBus 桥接器08h xxh RACEway 桥接器,RACEway是一个ANSI标准(ANSI / VITA 5-1994)的交换架构(Switching Fabric)界面位7:1是保留,位0值为0表示桥接器是在通透模式(Transparent Mode),值为1表示它是再端点模式(End-Point Mode).80h 00h 其它桥接器型态.Base Class 07h简单的通讯控制器子类别程序界面描述00h 00h 通用的XT兼容序列控制器.01h 与16450兼容的序列控制器.02h 与16550兼容的序列控制器.03h 与16650兼容的序列控制器.04h 与16750兼容的序列控制器.05h 与16850兼容的序列控制器.06h 与16950兼容的序列控制器.01h 00h 平行阜.01h 双向平行阜.02h 遵循ECP 1.X规格的平行阜.03h IEEE 1284控制器.Feh IEEE 1284 Target装置(非控制器).02h 00h 多阜序列控制器.03h 00h 通用调制解调器.01h 与Hayes兼容的调制解调器,与16450兼容的界面,BAR0映像或IO映像(如BAR型态所指示).02h 与Hayes兼容的调制解调器,与16550兼容的界面,BAR0映像或IO映像(如BAR型态所指示).03h 与Hayes兼容的调制解调器,与16650兼容的界面,BAR0映像或IO映像(如BAR型态所指示).04h 与Hayes兼容的调制解调器,与16750兼容的界面,BAR0映像或IO映像(如BAR型态所指示).80h 00h 其它通讯装置.Base Class 08h基本的系统周边装置.子类别程序界面描述00h 00h 通用8259可程序中断控制器(ProgrammableInterrupt Controller, PIC).01h ISA PIC.02h EISA PIC.10h IO PIC.20h IO(x)APIC中断控制器.01h 00h 通用8237DMA控制器.01h ISA DMA控制器.02h EISA DMA控制器.02h 00h 通用8254定时器.01h ISA系统定时器.02h EISA系统定时器.03h 00h 通用RTC控制器.01h ISA RTC控制器.04h 00h 通用热插拔(PCI Hot-Plug).80h ooh 其它系统外围装置.Base Class 09h输入装置.子类别程序界面描述00h 00h 键盘控制器.01h 00h Diditizer(pen).02h 00h 鼠标控制器.03h 00h 扫瞄器控制器.04h 00h 通用游戏连接阜控制器.10h 游戏连接阜控制器.具有程序界面=10h的游戏连接阜控制器表示任何在这请求/指定IO地址空间之功能里的基地址缓存器,在该IO空间的缓存器符合标准的”传统” 游戏连接阜,在IO区域里位移为00h的字节其行为与传统游戏连接阜界面相同,当读取此字节时,会传回游戏杆/手把(Joystick/Gamepad)的信息,在写入此字节时会启动RC定时器,位移为01h的字节是位移为00h字节的别名,所有在IO区域里的其它字节是未指定的,且可以给制造商以自己特有的方式来使用. 80h 00h 其它输入控制器.Base Class 0Ah船屋系统.子类别程序界面描述00h 00h 通用的船乌系统.80h 00h 其它型态的船乌系统.Base Class 0Bh处理器Base Class 0Ch序列总线控制器.子类别程序界面描述00h 00h Firewire(IEEE 1394).10h 使用1394 OpenHCI规格的IEEE 1394.01h 00h ACCESS.bus02h 00h SSA(Serial Storage Architecture,序列储存架构).03h 00h 使用Universal Host Controller规格的USB(Universal Serial Bus,通用序列阜)控制器.10h 使用Open Host Controller规格的USB(Universal Serial Bus,通用序列阜)控制器.80h 无特定程序界面的USB控制器.FEh USB装置(非主控器(Host Controller))04h 00h Fiber(光纤)Channel.05h 00h SMBus(System Management bus,系统管理汇流排).Base Class 0Dh无线控制器子类别程序界面描述00h 00h 与iRDA兼容的控制器.01h 00h 消费型IR控制器.02h 00h RF控制器.80h 00h 其它型态无线控制器.Base Class 0Eh智能型IO控制器子类别程序界面描述00h xxh 遵循I20架构规格的智能型IO控制器.00h 在相对地址(Offsset)40h的讯息FIFO. Base Class 0Fh卫星通讯控制器子类别程序界面描述01h 00h TV(电视).02h 00h Audio(音效).03h 00h Voice(语音).04h 00h Data(资料).Base Class 10h加密/解密(Encryption/Decryption)子类别程序界面描述00h 00h 网络与运算加密/解密.10h 00h 娱乐加密/解密.80h 00h 其它加密/解密.Base Class 11h数据撷取与讯号处理控制器子类别程序界面描述00h 00h DPIO模块80h 00h 其它数据撷取与讯号处理控制器.Cache Line Size Register快取线大小缓存器(Offset 0Ch)此读/写组态缓存器指定了以dword为单位的系统快取线大小(例如:在P6的系统里此缓存器的值为08h,表示其快取线大小为8个dword,或32个字节),实作了Memory Write-and-Invalidate指令的Bus Master必须实作此缓存器,因为它必须知道快取线大小,以便确保它从快取线边界起始交易,并遵守它将整条线写入内存的约定,所以当这缓存器被设定为0(表示组态软件尚未把快取线大小告诉它)时, Bus Master不可以使用Memory Write-and-Invalidate指令,在这种情况,Master 只能够使用Memory Write(内存写入)指令来更新内存.装置可以限制它所支持的快取线大小数目,假如组态软件写入一个未支持的数值, 则装置会将此数值当作0来动作.Latency Timer等待时间(Offset 0Dh)等待时间以PCI频率周期为单位,定义了在bus master起始新交易时,它可保留总线有权的最小时间量,最理想的是,每一个bus master都应该将此缓存器实作为可读/写的缓存器,藉此给予组态软件在bus master群组间分配可用的总线时间上有最大的弹性,组态软件以读取功能的Min_Gnt(Minimum Grant最小授权)缓存器,决定bus master想要的时间片段.Header Type表头型态缓存器(Offset 0Eh)每一个PCI功能拥有保留给实作其组态缓存器用的64个组态dword区块,前16个dword的格式(Offset 00h~3Fh)与使用是由PCI规格预先定义的,这区域被称为装置的组态表头区域(或表头空间(Header Space)),规格目前定义了三种表头格式,称为Header Type Zero,One与Two:Header Type One是为PCI-to-PCI桥接器定义的(01h).●Header Type Two是为PCI-to-CardBus桥接器定义的(02h).●Header Type Zero是给所有除了PCI-to-PCI与CardBus桥接器以外的装置使用的(00h).Header Type位7是用来表示此装置含有除了桥接器功能以外的其它功能,固位7=1表示为多功能,0=表示为单功能.Built-in Self TestBIST内建自我测试(Offset 0Fh)非必要的,假如装置不支持BIST的话,在读取此缓存器时,它必须要传回为0,装置的BIST是以设定位6为1的方式来请求,在完成BIST后,装置会将位6重置,但必须在二秒钟内完成重置,位0~3为0则表示成功,非零值代表装置特定的错误码.Bass Address基地址缓存器(Offset 10h~27h)在开机时,系统必须自动地组态,以便让所有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,易可得相同的值.CardBus CIS PointerCardBus与PCI共享的装置实作此非必要的缓存器,此字段指向CardBus卡的借面卡信息结构(CardBus Information Structure,CIS),此缓存器是只读的,并且包含在下列其中一个地方的CIS相对地址(offset):●在功能的装置特定组态空间里(在功能的组态空间的Offset 40h之后)的相对地址(Offset).●与其中一个装置内存基地址缓存器所指示的起始地址间之相对地址(offset).●在装置扩充ROM程序代码影像(Code Image)里的相对地址(offset).CIS的详细说明请参考”CardBus System Architecture”.Subsystem Vendor ID and Subsystem IDSubsystem Vendor ID子系统制造商识别码(Offset 2Ch~2Dh)Subsystem ID子系统识别码(Offset 2Eh~2Fh)PCI功能可以位于界面卡上或内建装置里,使用相同PCI核心逻辑(由third-party(其它厂商)生厂)的两个界面卡或子系统可能会有相同制造商识别码与装置识别码(假如核心逻辑制造商以硬件接线将它们自己的识别码设定在这些缓存器里),假如在这种情况下,在OS辨识要加载到内存的真正装置驱动程序上,可能会有问题.这两个强制性的缓存器被用来确认装置所在的附加卡或子系统,使用这两个缓存器,OS可以分辨在由不同制造商制造,但使用相同third-party核心逻辑的界面卡或子系统之间的差异,这使得随插即用(Plug-and-Play)OS有能力去寻找要加载到内存的正确驱动程序.Expansion ROM Base Address扩充ROM基地址缓存器(Offset 30h~33h)对于含有装置ROM的装置来说是必要的,许多PCI装置都含有一个内含装置的装置驱动程序之装置ROM, 在开机时,系统必须自动地组态,以便让所有IO与内存能占用户不相干的地址范围,为了达到此目标,系统必须有能力侦测到ROM需要多少个内存空间,可以很简单的用写入一个全部为1的值到基地址缓存器里,然后读取它来确认,它必须检查在ROM里的前两个位置是否有扩充ROM的签名,以决定ROM是否真的被安装,假如有安装的话,组态程序必须SHADOW此ROM,并且执行其初始化程序代码.●位0 = 1 致能装置的ROM地址译码器.●位[10:1]保留.●位[31:11]用来指定ROM的起始地址.假设FFFFFFFFh被写入到ROM的基地址缓存器里(位0,既扩充ROM致能位被清除,所以ROM地址译码器不会被致能,直到指定起始内存地址之后),随后再读取此缓存器,所得的值为FFFE0000h,这表示:●位0 = 0 ,表示ROM地址译码器目前被关闭.●位[10:1]保留.●在基地址字段(位[31:11])里,位17为程序执行装置可以设定为1的最低有效位,其二进制权值为128K,表示ROM译码器需要128K的内存地址,然后,程序执行装置写入一个32位的起始地址到此缓存器中,指定128KB的地址边界当作ROM的起始地址.PCI Expansion ROM Header FormatPCI Data Structure FormatROM Header ExtensionsInterrupt Line中断讯号线(Offset 3Ch)PCI装置的中断号码配置与绕线设定处理和此字段密不可分.PCI装置对于中断讯号的定义中,设计了以下四组中断讯号线.INT A# , INT B#, INT C#, INT D#在今的许多PC系统里,内崁在PCI/ISA桥接器内的可程序化路由器都具有四个输入端,用来连接PCI中断线路,目前大多数的PCI装置是单功能装置, 单功能PCI装置只能用INT A#(不得使用INT B#,INT C#,INT D#)来产生中断请求,在多功能PCI装置上,装置设计者可以实作最多四支中断接脚,INT A#,INT B#,INT C#,INT D#,因其是内含二到八个功能的实体套件,ISA中断请求线是正缘触发(Positive edge-triggered),且不可共享,但PCI中断请求线是低态动作的(Active low),准位触发的(Level-sensitive),可共享的(Shareable)请求线,PCI中断只能连接到未被ISA 装置占用的ISA中断请求在线.在系统内存F0000到FFFFF搜寻表格的签名(Signature)($PIR),便可侦测到PCI中断路由表格.格式如下:从表格起点算起的相对字节大小说明0 4 Signature4 2 Version6 2 Table Size8 1 PCI Interrupt R outer’s Bus9 1 PCI Interrupt Router’s DevFunc10 2 PCI Exclusive IRQs12 4 Compatible PCI Interrupt Router16 4 Miniport Data20 11 Reserved31 1 Checksum32 16 First Slot Entry48 16 Second Slot Entry(N+1)*16 16 nth Slot Entryalign 16public ms_irq_route_table_signms_irq_route_table_sign label bytedb "$PIR"ms_irq_route_table_ver dw 0100hms_irq_route_table_size dw 32+(5*16)ms_irq_route_table_bus db 00hms_irq_route_table_dev db VT586_P2I_DEV_FUNCms_irq_route_table_irq dw 0hms_irq_route_table_id dd 05861106h ; VIA 82C586;ms_irq_route_table_id dd 05961106h ; VIA 82C596ms_irq_route_table_mini dd 0hms_irq_route_table_resd db 11 dup(0)ms_irq_route_table_cksm db 0紧接着是16字节的插槽项目格式,依系统主机板所使用的芯片组,内建装置与插槽数而有所不同. 格式如下:从表格起点算起的相对字节大小说明0 1 PCI Bus Number1 1 PCI Device Number2 1 Link Value for INT A#3 2 IRQ Bitmap for INT A#5 1 Link Value for INT B#6 2 IRQ Bitmap for INT B#8 1 Link Value for INT C#9 2 IRQ Bitmap for INT C#11 1 Link Value for INT D#12 2 IRQ Bitmap for INT D#14 1 Slot Number15 1 ReservedInterrupt Pin中断讯号脚(Offset 3Dh)中断讯号线记录器其记录该PCI 装置使用何者INT#讯号,BIOS则依其所提供的信息告知CHIPSET并给予正确中断绕线设定.值为1表示其使用INT A,2则为INT B,3则为INT C,4则为INT D.此记录器是只读并无法写入.MIN_GNT and MAX_LATMIN_GNT(Minimum Grant 最小授权)(Offset 3Eh)此为只读的组态缓存器,其值为0,代表此Bus Master对于指派给予的LT的设定值并没有特定的要求,若非为0则表示master需要多长的时间片段以得到适当的效能,以250ns为单位.Max_LAT:Max_Lat(Offset 3Fh)缓存器的值表示master多久会想要存取总线一次, 此为只读的组态缓存器,对于bus master来说是非必要的.Device StatusPCI 2.2 新增新能力(New Capabilities)组态缓存器offset 06h~07h为装置状态缓存器,其位4=1表示支持新能力,新能力指针缓存器在组态缓存器offset 34h,其细节如下:位0~7为能力识别码位8~15为指向下一个新能力的指标.识别码: 说明00h 保留01h PCI Power Management Interface02h AGP03h VDP(Vital Product Data)04h Slot Identification05h MSI(Message Signaled Interrupt)06h CompactPCI Host Swap7~255d 保留PMC Register:位说明15:11 PME支持(PME_Support)字段,表示功能可以在该状态下,驱动PME#到低态(电源管理事件PM Event)的PM状态,位为0表示在这个PM状态下不支持PME#产生.位对应的PM状态11 D012D113D214D3 hot15D3 cold(功能需要辅助电源来供应PME逻辑电力)10 D2支持位9 D2支持位8:6 辅助电流(Aux_Current)字段.5装置特定的初始化(Device-Specific Initialization,简称DSI)位.4保留3PME频率(PME Clock)位,此位为1表示功能需要有PCI频率存在,才能产生PME#,不需要频率或不产生PME#的功能会以硬件接线将本位元设定为0.2:0 版本字段(Version).位遵循的规格版本210001 1.010 1.1PM控制/状态(PMCSR)缓存器●假如功能实作PME能力的话,则此缓存器含有一个用来反应先前致能之PME是否发生的PME状态(PME Status)位.●假如功能实作PME能力的话, 则此缓存器含有一个PME致能(PME Enable)位,它允许软件去致能或关闭功能驱动PME#讯号到低态的能力.●假如实作了非必要的数据缓存器的话,则此缓存器含有两个字段:●允许软件选择可以透过数据缓存器来读取的信息.●并提供数据缓存器数值必须相乘的比例因子.●软件使用此缓存器的电源状态(Power State)字段,来决定功能目前的PM状态,以及把功能转移到新PM状态.位读/写(R/W) 说明15 读/写,想要将PME状态(PME Status)位,假如功能支持PME1清除为0的话, 的话,此位会反应功能是否遇到PME(即使在把1写入其中此缓存器里的PME_En位将功能在发生PME事件时,驱动PME#到低态的能力关闭),假如设定为1,则功能遇到PME,而软件可以用写入1到其中的方式将它清除.14:13 只读数据比例(Data Scale)字段.12:9 读/写数据选择(Data Select)字段.8 读/写PME致能(PME_En)位.1=致能功能在发生PME事件时,驱动PME#到低态的能力.0=关闭.7:2 只读保留.1:0 读/写电源状态(Power State)字段,软件用此字段来居决定功能目前的PM状态(以读取此字段的方式)或是将它放入到一个新的PM状态(以写入此字段的方式),假如软件选择功能不支持的PM状态,则写入必须正常地完成,但是写入的数据会被丢弃,且状态不变.10 PM状态00b D001b D110b D211b D3hot相关信息与实例当客户要求支持S5 PME Wake up功能但PCI装置不支持时,BIOS 可利用下列程序来做到:STR_SAVE_PCI_DEVICE LABEL BYTEdw MKF_PCI_SLOT1_DEV_FUNC ;(25-11)shl 3dw MKF_PCI_SLOT2_DEV_FUNC ;(26-11)shl 3dw MKF_PCI_SLOT3_DEV_FUNC ;(27-11)shl 3dw MKF_PCI_SLOT4_DEV_FUNC ;(28-11)shl 3dw MKF_PCI_SLOT5_DEV_FUNC ;(29-11)shl 3NO_OF_STR_PCI_TABLE e qu ($ - offsetcgroup:STR_SAVE_PCI_DEVICE)/2mov si,offset cgroup:STR_SAVE_PCI_DEVICEmov cx,NO_OF_STR_PCI_TABLEloop_for_pme_d3:push cxmov dx, word ptr cs:[si]mov ah,00h ; 00hcall read_pcicmp al,0ffhjz next_for_pme_d3mov ah,PCI_REG_STATUS ; 06hcall read_pcitest al, CAPABILITIES_BIT ; 10hjz next_for_pme_d3mov ah,PCI_CAP_PTR ; 34hread_cap_id:call read_pcicmp al, 00jz next_for_pme_d3mov ah,alcall read_pcicmp al, PME_CAP_ID ; 01hjz found_for_pme_idinc ahjmp read_cap_idfound_for_pme_id:add ah,PMECS_REG+1 ; 05hcall read_pciand al,0feh ; Clear & Disable PME call write_pcidec ahcall read_pciand bl,0fch ; set power on statecall write_pciinc ahcall read_pcior al,01h ; Enable PMEcall write_pcinext_for_pme_d3:inc siinc sipop cxloop loop_for_pme_d3mov cx,3333call pm_fixed_delaypopafor_pme_disable:ret;----------------------------------------------------------- -----------;; STACK REQUIRED ;; ;; Input : (AL) Mask of PCI register bits to test. ;; (optional) ;; (AH) Index of PCI register to access. ;; (DL) 7:3 PCI device # ;; 2:0 PCI function # on device ;; (DH) 7:0 PCI bus # of device ;; ;; Output: (AL) Value read from chip set register. ;; (ZF) ZR Corresponding bits in chip set ;; register to mask are all zero. ;; NZ Corresponding bits in chip set ;; register to mask has at least ;; one bit set. ;; ;; Register destroyed : (AL) ;; NOTE : ;; * Do not invoke with "ret_sp". Invoke with "call" only. ;; * Do not change IF status. ;;----------------------------------------------------------------------- ;read_pci PROC NEARpush edxpush eaxpushfxchg ax,dxmovzx eax,ax ; (eax) = device & func #shl eax,8 ; (eax) = dev & func # in; proper position.bts eax,31mov al,dh ; (al) = reg # to access.and al,0fch ; (eax) = proper config enb.shl edx,16mov dx,00cf8h ; (dx) = CONFIG_ADDRESS cliout dx,eaxjcxz short $+2jcxz short $+2shr edx,24 ; (dl) = reg # to access.and dl,003h ; (dl) = byte to access of regor dx,00cfch ; (dx) = CONFIG_DATAin al,dx ; (al) = data read from regjcxz short $+2jcxz short $+2mov dl,alpopfpop eaxtest al,dl ; For returning proper flag info.mov al,dlpop edxretread_pci ENDP●Host/PCI Bridge:通常被称为北桥(North Bridge),它连接主处理器总线与root PCI 总线.●PCI-to-ISA Bridge:通常被称为南桥(South Bridge),它连接root PCI总线与ISA(或EISA) 总线,南桥通常还整合中断控制器(Interrupt Controller),IDE控制器(IDEController),USB Host控制器(USB Controller)与DMA控制器(DMAController).●PCI-to-PCI Bridge:它连接root PCI总线与PCI总线。
PCI总线信号定义系统信号CLK (IN):系统时钟信号。
对所有PCI设备来说都是输入信号,频率范围是0-33MHz,除RST#、I NTA#、INTB#、INTC#、INTD#之外,所有信号都在CLK的上升沿有效RST# (IN):PCI 复位信号。
用来使PCI专用的特性寄存器、定序器和相关的信号恢复到初始状态。
数据和地址信号AD[31::00] (T/S):数据/地址复用的输入/输出信号。
在地址期时,AD[31::00]上的数据为32位物理地址。
在数据期时,用于传送数据,AD[07::00]为最低字节,AD[31::24]为高字节。
C/BE[3::0]# (T/S):总线命令/字节使能复用信号。
地址期对应的是总线命令;数据期对应的是字节使能信号,表示在整个数据期中,AD[31::00]上那些字节为有效数据。
接口控制信号FRAME# (S/T/S):帧周期信号,由当前的主设备驱动,表示一次访问的开始和持续的时间,FRAME#无效后,是传输的最后一个数据期。
IRDY# (S/T/S):主设备准备好信号,该信号有效时表明发起本次传输的设备能够完成一个数据期。
与TRDY#配合使用,二者同时有效,数据才能完成传输。
TRDY# (S/T/S):目标设备准备好信号,有效时表示目标设备已作好进行当前数据传输的准备工作,可以进行相应的数据传输。
STOP# (S/T/S):停止数据传送信号。
有效时表示目标设备要求主设备终止当前的数据传送,该信号由目标设备发出。
LOCK# (S/T/S):锁定信号。
表示驱动它的设备所进行的操作可能需要多个传输才能完成。
LOCK#信号的控制是由PCI总线上发起数据传输的设备,根据它自己的约定并结合GNT#信号来完成的。
IDSEL (IN):初始化设备选择信号。
在配置空间读/写传输期间,用作片选信号。
计算机各插槽上的ID SEL信号是不同的;DEVSEL# (S/T/S):设备选择信号。
PCIe接口介绍PCIe接口简介PCIe(Peripheral Component Interconnect Express)总线的诞生与PC(Personal Computer)的蓬勃发展密切相关,是由PCISIG (PCI Special Interest Group,主要是intel)推出的一种局部并行总线标准,主要应用于电脑和服务器的主板上(目前几乎所有的主板都有PCIe 的插槽),功能是连接外部设备(如显卡、存储、网卡、声卡、数据采集卡等)。
PCI总线规范最早在上世纪九十年代提出,属于单端并行信号的总线,目前已淘汰,被PCIe总线(在2001年发布,采用点对点串行连接)替代。
目前PCIe的主流应用是3.0,4.0还没正式推出,但标准已经制定的差不多了。
PCI总线使用并行总线结构,在同一条总线上的所有外部设备共享总线带宽,而PCIe总线使用了高速差分总线,并采用端到端的连接方式,因此在每一条PCIe链路中只能连接两个设备。
这使得PCIe与PCI总线采用的拓扑结构有所不同。
PCIe总线除了在连接方式上与PCI总线不同之外,还使用了一些在网络通信中使用的技术,如支持多种数据路由方式,基于多通路的数据传递方式,和基于报文的数据传送方式,并充分考虑了在数据传送中出现服务质量QoS (Quality of Service)问题。
每一个Lane上使用的总线频率与PCIe总线使用的版本相关。
不相同。
PCIe总线V1.x和V2.0规范在物理层中使用8/10b编码,即在PCIe链路上的10 bit中含有8 bit的有效数据;而V3.0规范使用128/130b编码方式,即在PCIe链路上的130 bit中含有128 bit的有效数据。
实际使用中,PCIe无法一直维持在峰值传输状态,因为编码方式、链路管理消耗、存储时间延迟等原因,一般只有50%~60%的效率。
PCIe接口原理连接方式PCIe链路使用“端到端的数据传送方式”,发送端和接收端中都含有TX(发送逻辑)和RX(接收逻辑),其结构如图一。
PCI总线百科名片电脑主板上的PCI插槽(白)PCI是Peripheral Component Interconnect(外设部件互连标准)的缩写,它是目前个人电脑中使用最为广泛的接口,几乎所有的主板产品上都带有这种插槽。
PCI插槽也是主板带有最多数量的插槽类型,在目前流行的台式机主板上,ATX 结构的主板一般带有5~6个PCI插槽,而小一点的MATX主板也都带有2~3个PCI插槽,可见其应用的广泛性。
目录[隐藏]PCI含义PCI技术规格简介PCI产生:PCI 总线的主要性能四、PCI总线的特点:PCI含义PCI技术规格简介PCI产生:PCI 总线的主要性能四、PCI总线的特点:[编辑本段]PCI含义PCI是由Intel公司1991年推出的一种局部总线。
从结构上看,PCI是在CPU和原来的系统总线之间插入的一级总线,具体由一个桥接电路实现对这一层的管理,并实现上下之间的接口以协调数据的传送。
管理器提供了信号缓冲,使之能支持10种外设,并能在高时钟频率下保持高性能,它为显卡,声卡,网卡,MODEM等设备提供了连接接口,它的工作频率为33MHz/66MHz。
PCI是Peripheral Component Interconnect(外设部件互连标准)的缩写,它是目前个人电脑中使用最为广泛的接口,几乎所有的主板产品上都带有这种插槽。
PCI插槽也是主板带有最多数量的插槽类型,在目前流行的台式机主板上,ATX结构的主板一般带有5~6个PCI插槽,而小一点的MATX主板也都带有2~3个PCI插槽,可见其应用的广泛性。
PCI总线是一种不依附于某个具体处理器的局部总线。
从结构上看,PCI 是在CPU和原来的系统总线之间插入的一级总线,具体由一个桥接电路实现对这一层的管理,并实现上下之间的接口以协调数据的传送。
管理器提供了信号缓冲,使之能支持10种外设,并能在高时钟频率下保持高性能。
PCI总线也支持总线主控技术,允许智能设备在需要时取得总线控制权,以加速数据传送。
笔记本信号笔记本主板各种信号说明(其余的烦请各位达人继续补充,或者有什么错误的请指教)很多的人在看笔记本图纸时,对里面的各种代号,弄不清楚!其实这些都是英文缩写!首先说ALW,它的英文全称是Alway,意思是总是,如+5V ALW,它用在当电源插上后,这个电压就应该都有的,所以我们在插上电源后,只有是ALW,不管是3V ALW,还是5V ALW,只要是ALW,都应该有它相应的电压,它是给开机电路用的,如EC等。
其次是SUS,它的英文全称是Suspend,意思是延缓,挂起的意思,如+3VSUS(SLP_S5# CTRLD POWER这些将在上电时序中讲解)它的电压产生实在ALW的电压后面,当接收到SUS_on控制电压后就会产生此一系列的电压,此电压不是主要供给电压,只是为下一步的电压产生提供铺垫,但不代表这电压不重要,没有SUS电压,后面的电压就不会产生。
再次是RUN电压,RUN电压没有缩写,它的意思就是跑、运行的意思,这个才是南北桥工作的主要电压,当然南北桥也需要SUS电压。
系统真正运行的话就需要RUN电压正常,如果RUN电压不稳定会造成主板的不稳定。
PL TRST#总复位信号: PLTRST#是Intel® ICH9整个平台的总复位(如:I/O、BIOS芯片、网卡、北桥等等)。
在加电期间及当S/W信号通过复位控制寄存器(I/O 寄存器CF9h)初始化一个硬复位序列时ICH9确定PL TRST#的状态。
在PWROK和VRMPWRGD为高电平之后ICH9驱动PL TRST#最少1毫秒是无效的。
当初始化通过复位控制寄存器(I/O 寄存器CF9h)时ICH9驱动PL TRST#至少1毫秒是有效的。
注释: 只有VccSus3_3正常时PL TRST#这个信号才起作用.THRM# 热报警信号:激活THRM#为低电平信号使外部硬件去产生一个SMI#或者SCI 信号THRMTRIP#热断路信号: 当THRMTRIP#信号为低电平型号时,从处理器发出热断路型号,ICH9马上转换为S5状态。
目录一、CPU接口信号说明(1#)二、VGA接口信号说明(2#)三、AGP接口信号说明(2#)四、Memory 接口信号说明(3#)五、HUB 接口信号说明(4#)六、LAN LINK接口信号说明(4#)七、EEPROM 接口信号说明(4#)八、PCI接口信号说明(5#)九、Serial ATA接口信号说明(6#)十、IDE 接口信号说明(6#)十一、LPC接口信号说明(7#)十二、USB 接口信号说明(7#)十三、SMBus接口信号说明(7#)十四、AC-Link接口信号说明(7#)十五、FDC接口信号说明(8#)十六、Parallel Port 接口信号说明(9#)十七、Serial Port 接口数据说明(9#)一、CPU接口信号说明1.A[31:3]# (I/O) Address(地址总线)这组地址信号定义了CPU的最大内存寻址空间为4GB。
在地址周期的第一个子周期中,这些Pin传输的是交易的地址,在地址周期的第二个子周期中,这些Pin传输的是这个交易的信息类型。
2.A20M# (I) Adress-20 Mask(地址位20屏蔽)此信号由ICH(南桥)输出至CPU的信号。
它是让CPU在Real Mode(真实模式)时仿真8086只有1M Byte(1兆字节)地址空间,当超过1 Mbyte位空间时A20M#为Low,A20被驱动为0而使地址自动折返到第一个1Mbyte地址空间上。
3.ADS# (I/O) Address Strobe(地址选通)当这个信号被宣称时说明在地址信号上的数据是有效的。
在一个新的交易中,所有Bus上的信号都在监控ADS#是否有效,一但ADS#有效,它们将会作一些相应的动作,如:奇偶检查、协义检查、地址译码等操作。
4.ADSTB[1:0]# (I/O) Address Strobes这两个信号主要用于锁定A[31:3]#和REQ[4:0]#在它们的上升沿和下降沿。
相应的ADSTB0#负责REQ[4:0]#和A[16:3]#,ADSTB1#负责A[31:17]#。
PCI - Peripheral Component Interconnect
PCI 总线由Intel 在1993 年所發表. 是一高速总线. 支援32 bits , 33 MHz. 最後版本可支援至64 bits , 66 MHz. 但在PC 只支援到32 bits , 33 MHz.
下圖為PCI 系統之架構方塊圖.
( 取材自PCI 規格)
PCI bus 和Processor 是分開的. PCI 是由Chipset所控制. 所以PCI 可支援不同的CPU. 也可支援非Intel 相容的CPU. 在PCI bus 上可掛上支援PCI 架構的不同功能IC. 例如LAN , SCSI , Graphics 等. 而傳統的ISA bus 由Chipset 轉換. 也制定出PCI Slot 的規格. 根據此規格設計的PCI 介面卡可使用於任何PCI 系統. 每一PCI 系統最多可支援四個PCI Slot. 而PCI Slot 支援5V 和3.3V. 如下圖:
( 取材自PCI 規格)
PCI bus 的特性有:
∙高性能:
∙支援Burst Mode. 可一次傳送多筆資料. 此可有效提升讀和寫的效率. 特別在顯示系統上.
∙支援Bus master. 可獲得bus 的主控權.
∙可支援同時存取CPU 和記憶體.
∙支援Plug and Play.
∙支援不同的CPU.
支援5V 和 3.3V 的環境.PCI Interface 訊號說明
附表一
當它代表指令致能時,其義意如下:
當它代表位元組致能時,其義意如下:。