【我所認知的BIOS】—>PCI 的中斷(PIC下)

本文详细介绍了PCI中断的概念,包括PCI中断的硬件基础、INTx的绕线、PCI设备的IRQ分配,以及PCI IRQ Routing Table的重要性和结构。重点讨论了PCI中断的共享处理机制,解释了如何在多个设备共用同一中断请求线时,系统如何正确响应每个设备的中断请求。
摘要由CSDN通过智能技术生成

【我所認知的BIOS—>PCI 的中斷(PIC下)

LightSeed     

2009-5-13     

1PCI中斷概述

注:整篇都是討論在PIC8259)下的中斷過程。當PCI設備插到主板上後(本來南橋裏含有的當然就不用插啦),它要和其他設備通信,或者讓CPU幫它做這般這般,或者CPU讓它做那般那般等等。。。那麼他們究竟是怎麼通信的呢?這就是PCI中斷在中間起的強大作用。PCI中斷,有一個很大的特點,它可以共用。這個特點我先提出來,對於後面講做個鋪墊。

2PCI中斷的HW

在談到PCI設備的時候,我要首先說明一下。我們平時用程式去scan的那個device是邏輯上的device。比如說BUS#0DEV#31FUN0中說的device是邏輯device。而平時我們說一個PCI顯卡,PCI網卡設備,他們都是物理device。一個物理device可能會有多個邏輯device。這裡其實就是function的意思。邏輯device其實是function。這裡要搞清楚。圖2.1是對PCI設備中斷的抽象圖。

PCI設備用INTA~INTD pin連接到8259來傳送中斷信號。需要說明的是,單functionPCI設備只能用INTA

 

 

2.1 PCI設備中斷的抽象圖

正如圖2.1所示,設備引出的INTx連接經過中斷路由後連接到8259PIRQA~D

3INTx的繞線

細心的人肯定會發現,上面圖2.1中的連線是有繞的。那麼爲什麽HW要這樣做呢?這就牽涉到“loading balance”的概念。以下是引用程式設計俱樂部的帖子,原作者liaoo

 

Interrupt pin為出廠時就決定的,不能改變. Ex. 使用 SE or ru check PCI Reg3Dh = 01/02/03/04 for INT#A/B/C/D. interrupt line則是BIOS知道了 "routing"後去填的.例如,BIOS知道

INT#A最終會接到 PIC mode 8259 IRQ 11, PCI Reg3Ch PCI scan 階段會被填成 "0Bh".

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值