【我所認知的BIOS】—>計算機中斷系統(3)
LightSeed
2009-6-16
第三部份其實就是我之前有講的PCI 中斷部份。由於之前對PCI講解的連貫性所以就在那裡就提了。連接如下:
http://blog.youkuaiyun.com/lightseed/archive/2009/06/01/4233739.aspx
那麼我們繼續探討,
【我所認知的BIOS】—>計算機中斷系統(4)
在中斷的第四部份里,我們主要來談談Serial IRQ interrupt。
6、Serial IRQ interrupt
6.1 整体的理解
①是与PCI clock同步的
②reset以后首先进入的是continous mode,是否要进入quiet mode要看stop frame
③Start Frame的4-8个CLKS是为了BUS0上等待bridge上其他的PCI设备而设定的。
6.2 Quiet mode和Continuous mode的区别
| Quiet mode | Continuous mode |
啟動Start Frame | 任何設備都可以 | 只有host controller |
在ICH中的耗電 | 省電 | 多一個PCI clock |
6.3 传输过程
① 起始幀
下圖是一個時序圖,這個時序圖包含了起始幀和IRQ1有一個低脉沖(有效)。見圖。
起始幀脉衝應該是4~8個時鐘長度,圖中大約是5個。
② 停止幀
下圖是一個停止幀的時序圖,host用第17 (週期事)IRQSER來取樣。
|
停止幀以什麽方式結束代表著下一個模式是什麽模式。如果后一個模式是quiet mode Stop脉衝是兩個時鐘寬度,對於Continuous mode是三個時鐘寬度。(省電就是因為這個原因)一個stop幀完了以後不一定接著的就是起始幀。
③ 數據幀
從上面兩個圖,我們可以清楚地看到,在每一個IRQSER週期中。(比如,IRQ14 FRAME,IRQ15 FRAME)都是由三個PCI clock組成。我們把這三個clock又分成了三個階段。分別叫做:sample phase,recovery phase,turn-round phase。大致可以這樣理解:
A) sample phase:如果IRQSER線為三態,那麼它也不做改變也讓IRQSER位三態。(筆者:爲什麽呢?因為前面必定有一個device已經做了標記了,才會使IRQSER呈三態狀態。)如果IRQSER上為high的時候那麼device就把IRQSER拉低。
B) recovery phase:在這個階段會判斷,如果前個階段IRQSER是三態,那麼這個階段也為三態。如果為high,那麼說明該IRQ在IRQSER是有效的了。於是device把IRQSER拉高。
C) turn-round phase:只有當發現device使IRQSER為三態。
以上分析就是Serial IRQ產生和傳輸的過程了。Serial IRQ也是中斷的傳輸方式的一種。
至此,漫長的計算機中斷系統介紹就算高一段落了。如果我理解有誤,還望前輩們指點。(後輩也可以哦,呵呵。。。三人行必有我師嘛。知識無長幼。)