<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          PCI總線的中斷機(jī)制

          作者: 時(shí)間:2016-12-15 來源:網(wǎng)絡(luò) 收藏
          PCI總線使用INTA#、INTB#、INTC#和INTD#信號(hào)向處理器發(fā)出中斷請(qǐng)求。這些中斷請(qǐng)求信號(hào)為低電平有效,并與處理器的中斷控制器連接。在PCI體系結(jié)構(gòu)中,這些中斷信號(hào)屬于邊帶信號(hào)(Sideband Signals),PCI總線規(guī)范并沒有明確規(guī)定在一個(gè)處理器系統(tǒng)中如何使用這些信號(hào),因?yàn)檫@些信號(hào)對(duì)于PCI總線是可選信號(hào)。PCI設(shè)備還可以使用MSI機(jī)制向處理器提交中斷請(qǐng)求,而不使用這組中斷信號(hào)。有關(guān)MSI機(jī)制的詳細(xì)說明見第8章。

          1.4.1中斷信號(hào)與中斷控制器的連接關(guān)系

          不同的處理器使用的中斷控制器不同,如x86處理器使用APIC(Advanced Programmable Interrupt Controller)中斷控制器,而PowerPC處理器使用MPIC(Multiprocessor Interrupt Controller)中斷控制器。這些中斷控制器都提供了一些外部中斷請(qǐng)求引腳IRQ_PINx#。外部設(shè)備,包括PCI設(shè)備可以使用這些引腳向處理器提交中斷請(qǐng)求。

          本文引用地址:http://www.ex-cimer.com/article/201612/330477.htm

          但是PCI總線規(guī)范沒有規(guī)定PCI設(shè)備的INTx信號(hào)如何與中斷控制器的IRQ_PINx#信號(hào)相連,這為系統(tǒng)軟件的設(shè)計(jì)帶來了一定的困難,為此系統(tǒng)軟件使用中斷路由表存放PCI設(shè)備的INTx信號(hào)與中斷控制器的連接關(guān)系。在x86處理器系統(tǒng)中,BIOS可以提供這個(gè)中斷路由表,而在PowerPC處理器中Firmware也可以提供這個(gè)中斷路由表。

          在一些簡單的嵌入式處理器系統(tǒng)中,F(xiàn)irmware并沒有提供中斷路由表,此時(shí)系統(tǒng)軟件開發(fā)者需要事先了解PCI設(shè)備的INTx信號(hào)與中斷控制器的連接關(guān)系。此時(shí)外部設(shè)備與中斷控制器的連接關(guān)系由硬件設(shè)計(jì)人員指定。

          我們假設(shè)在一個(gè)處理器系統(tǒng)中,共有3個(gè)PCI插槽(分別為PCI插槽A、B和C),這些PCI插槽與中斷控制器的IRQ_PINx引腳(分別為IRQW#、IRQX#、IRQY#和IRQZ#)可以按照?qǐng)D1?5所示的拓?fù)浣Y(jié)構(gòu)進(jìn)行連接。

          采用圖1?5所示的拓?fù)浣Y(jié)構(gòu)時(shí),PCI插槽A、B、C的INTA#、INTB#和INTC#信號(hào)將分散連接到中斷控制器的IRQW#、IRQX#和IRQY#信號(hào),而所有INTD#信號(hào)將共享一個(gè)IRQZ#信號(hào)。采用這種連接方式時(shí),整個(gè)處理器系統(tǒng)使用的中斷請(qǐng)求信號(hào),其負(fù)載較為均衡。而且這種連接方式保證了每一個(gè)插槽的INTA#信號(hào)都與一根獨(dú)立的IRQx#信號(hào)對(duì)應(yīng),從而提高了PCI插槽中斷請(qǐng)求的效率。

          在一個(gè)處理器系統(tǒng)中,多數(shù)PCI設(shè)備僅使用INTA#信號(hào),很少使用INTB#和INTC#信號(hào),而INTD#信號(hào)更是極少使用。在PCI總線中,PCI設(shè)備配置空間的Interrupt Pin寄存器記錄該設(shè)備究竟使用哪個(gè)INTx信號(hào),該寄存器的詳細(xì)介紹見第2.3.2節(jié)。

          1.4.2中斷信號(hào)與PCI總線的連接關(guān)系

          在PCI總線中,INTx信號(hào)屬于邊帶信號(hào)。所謂邊帶信號(hào)是指這些信號(hào)在PCI總線中是可選信號(hào),而且只能在一個(gè)處理器系統(tǒng)的內(nèi)部使用,并不能離開這個(gè)處理器環(huán)境。PCI橋也不會(huì)處理這些邊帶信號(hào)。這給PCI設(shè)備將中斷請(qǐng)求發(fā)向處理器帶來了一些困難,特別是給掛接在PCI橋之下的PCI設(shè)備進(jìn)行中斷請(qǐng)求帶來了一些麻煩。

          在一些嵌入式處理器系統(tǒng)中,這個(gè)問題較易解決。因?yàn)榍度胧教幚砥飨到y(tǒng)很清楚在當(dāng)前系統(tǒng)中存在多少個(gè)PCI設(shè)備,這些PCI設(shè)備使用了哪些中斷資源。在多數(shù)嵌入式處理器系統(tǒng)中,PCI設(shè)備的數(shù)量小于中斷控制器提供的外部中斷請(qǐng)求引腳數(shù),而且在嵌入式系統(tǒng)中,多數(shù)PCI設(shè)備僅使用INTA#信號(hào)提交中斷請(qǐng)求。

          在這類處理器系統(tǒng)中,可能并不含有PCI橋,因而PCI設(shè)備的中斷請(qǐng)求信號(hào)與中斷控制器的連接關(guān)系較易確定。而在這類處理器系統(tǒng)中,即便存在PCI橋,來自PCI橋之下的PCI設(shè)備的中斷請(qǐng)求也較易處理。

          在多數(shù)情況下,嵌入式處理器系統(tǒng)使用的PCI設(shè)備僅使用INTA#信號(hào)進(jìn)行中斷請(qǐng)求,所以只要將這些INTA#信號(hào)掛接到中斷控制器的獨(dú)立IRQ_PIN#引腳上即可。這樣每一個(gè)PCI設(shè)備都可以獨(dú)占一個(gè)單獨(dú)的中斷引腳。

          而在x86處理器系統(tǒng)中,這個(gè)問題需要BIOS參與來解決。在x86處理器系統(tǒng)中,有許多PCI插槽,處理器系統(tǒng)并不知道在這些插槽上將要掛接哪些PCI設(shè)備,而且也并不知道這些PCI設(shè)備到底需不需要使用所有的INTx#信號(hào)線。因此x86處理器系統(tǒng)必須要對(duì)各種情況進(jìn)行處理。

          x86處理器系統(tǒng)還經(jīng)常使用PCI橋進(jìn)行PCI總線擴(kuò)展,擴(kuò)展出來的PCI總線還可能掛接一些PCI插槽,這些插槽上INTx#信號(hào)仍然需要處理。PCI橋規(guī)范并沒有要求橋片傳遞其下PCI設(shè)備的中斷請(qǐng)求。事實(shí)上多數(shù)PCI橋也沒有為下游PCI總線提供中斷引腳INTx#,管理其下游總線的PCI設(shè)備。但是PCI橋規(guī)范推薦使用表1?3建立下游PCI設(shè)備的INTx信號(hào)與上游PCI總線INTx信號(hào)之間的映射關(guān)系。

          表1?3PCI設(shè)備INTx#信號(hào)與PCI總線INTx#信號(hào)的映射關(guān)系

          設(shè)備號(hào)

          PCI設(shè)備的INTx#信號(hào)

          PCI總線的INTx#信號(hào)

          0, 4, 8, 12, 16, 20, 24, 28

          INTA#

          INTA#

          INTB#

          INTB#

          INTC#

          INTC#

          INTD#

          INTD#

          1, 5, 9, 13, 17, 21, 25, 29

          INTA#

          INTB#

          INTB#

          INTC#

          INTC#

          INTD#

          INTD#

          INTA#

          2, 6, 10, 14, 18, 22, 26, 30

          INTA#

          INTC#

          INTB#

          INTD#

          INTC#

          INTA#

          INTD#

          INTB#

          3, 7, 11, 15, 19, 23, 27, 31

          INTA#

          INTD#

          INTB#

          INTA#

          INTC#

          INTB#

          INTD#

          INTC#

          我們舉例說明該表的含義。在PCI橋下游總線上的PCI設(shè)備,如果其設(shè)備號(hào)為0,那么這個(gè)設(shè)備的INTA#引腳將和PCI總線的INTA#引腳相連;如果其設(shè)備號(hào)為1,其INTA#引腳將和PCI總線的INTB#引腳相連;如果其設(shè)備號(hào)為2,其INTA#引腳將和PCI總線的INTC#引腳相連;如果其設(shè)備號(hào)為3,其INTA#引腳將和PCI總線的INTD#引腳相連。


          上一頁 1 2 下一頁

          關(guān)鍵詞: PCI總線中斷機(jī)

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();