專利名稱:一種龍芯刀片設(shè)備中斷分配的實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及設(shè)備中斷的信號(hào)分配,具體來說,涉及一種龍芯刀片設(shè)備中斷分配的實(shí)現(xiàn)方法。
背景技術(shù):
龍芯刀片采用的是龍芯3A和AMD南北橋(RS780SB710)的一種架構(gòu)。針對(duì)X86平臺(tái)的刀片,設(shè)備的中斷分配都是采用LAPIC,與PIC中的IRR、ISR不同的是,LAPIC的ISR、 IRR均為256bit寄存器,對(duì)應(yīng)x86平臺(tái)上的256個(gè)中斷vector,其中0 15為架構(gòu)預(yù)留, 中斷號(hào)資源比較充裕,所以設(shè)備的中斷分配也不存在擴(kuò)展性問題。而對(duì)于龍芯平臺(tái),由于不支持LAPIC功能,所以只能采用傳統(tǒng)的PIC中斷機(jī)制,南北橋里面集成了 8259中斷控制器, 這種中斷方式支持15個(gè)中斷向量,而且還有很多是保留用的,比如串口,IDE硬盤,PS2等, 所以中斷資源比較稀缺,所以,需要一種有效的方式,給各種設(shè)備分配有限的中斷號(hào),而且還要適應(yīng)設(shè)備的擴(kuò)展。
發(fā)明內(nèi)容
為了實(shí)現(xiàn)設(shè)備的中斷分配,本發(fā)明提供了一種龍芯刀片設(shè)備中斷分配的實(shí)現(xiàn)方法。一種龍芯刀片設(shè)備中斷分配的實(shí)現(xiàn)方法,為所有設(shè)備分配一個(gè)固定的中斷號(hào),設(shè)備發(fā)出中斷請(qǐng)求給中斷管理模塊,中斷管理模塊向中斷分配模塊申請(qǐng)中斷線,中斷分配模塊分配給中斷管理模塊中斷線后,中斷管理模塊將中斷信號(hào)發(fā)給中斷控制器,進(jìn)行中斷服務(wù)。優(yōu)選的,所述中斷管理模塊對(duì)設(shè)備的中斷請(qǐng)求進(jìn)行重定位,對(duì)每個(gè)中斷請(qǐng)求做寄
存并管理。優(yōu)選的,所述中斷分配模塊對(duì)中斷線進(jìn)行管理,當(dāng)有來自中斷管理模塊的請(qǐng)求信號(hào)時(shí),查看是否有空余中斷線,若有,則分配,若沒有,則返回等待信息。較優(yōu)選的,所述中斷管理模塊收到中斷分配模塊的等待信息后,將正在請(qǐng)求中斷線的中斷請(qǐng)求放入等待隊(duì)列,并將以后所有的請(qǐng)求放入等待隊(duì)列。優(yōu)選的,所述中斷分配模塊每隔一段設(shè)定時(shí)間掃描一次線路,并重新統(tǒng)計(jì)空余線路數(shù)。較優(yōu)選的,所述中斷分配模塊在統(tǒng)計(jì)出有新的空余線路時(shí),則查詢中斷管理模塊的等待隊(duì)列,若隊(duì)列不為空,則分配中斷線給中斷管理模塊。優(yōu)選的,所述中斷管理模塊在中斷服務(wù)完成后,對(duì)設(shè)備進(jìn)行關(guān)中斷,空出中斷線。優(yōu)選的,對(duì)于頻繁進(jìn)行中斷請(qǐng)求或長時(shí)間占用中斷線的設(shè)備,可以對(duì)其分配固定的中斷線。較優(yōu)選的,所述設(shè)備如果有1個(gè)以上,可以只分配一個(gè)中斷線,使其共享一個(gè)中斷線。
優(yōu)選的,所述設(shè)備若為北橋設(shè)備,則分配固定的中斷線。本發(fā)明通過添加中斷管理模塊和中斷控制模塊,使得龍芯刀片下的各種設(shè)備有效的分配中斷號(hào),使有限的中斷號(hào)資源合理的得到應(yīng)用。
圖1是本發(fā)明系統(tǒng)結(jié)構(gòu)圖
具體實(shí)施例方式本發(fā)明提供的一種龍芯刀片設(shè)備中斷分配的實(shí)現(xiàn)方法,首先為所有設(shè)備分配一個(gè)固定的中斷號(hào),設(shè)備發(fā)出中斷請(qǐng)求給中斷管理模塊,中斷管理模塊向中斷分配模塊申請(qǐng)中斷線,中斷分配模塊分配給中斷管理模塊中斷線后,中斷管理模塊將中斷信號(hào)發(fā)給中斷控制器,進(jìn)行中斷服務(wù)。中斷管理模塊對(duì)設(shè)備的中斷請(qǐng)求進(jìn)行重定位,對(duì)每個(gè)中斷請(qǐng)求做寄存并管理; 在中斷服務(wù)完成后,對(duì)設(shè)備進(jìn)行關(guān)中斷,空出中斷線。中斷分配模塊對(duì)中斷線進(jìn)行管理,當(dāng)有來自中斷管理模塊的請(qǐng)求信號(hào)時(shí),查看是否有空余中斷線,若有,則分配,若沒有,則返回等待信息。當(dāng)中斷管理模塊收到中斷分配模塊的等待信息后,將正在請(qǐng)求中斷線的中斷請(qǐng)求放入等待隊(duì)列,并將以后所有的請(qǐng)求放入等待隊(duì)列。中斷分配模塊每隔一段設(shè)定時(shí)間掃描一次線路,并重新統(tǒng)計(jì)空余線路數(shù)。在統(tǒng)計(jì)出有新的空余線路時(shí),則查詢中斷管理模塊的等待隊(duì)列,若隊(duì)列不為空,則分配中斷線給中斷管理模塊。對(duì)于頻繁進(jìn)行中斷請(qǐng)求或長時(shí)間占用中斷線的設(shè)備,可以對(duì)其分配固定的中斷線。同類設(shè)備如果有1個(gè)以上,可以只分配一個(gè)中斷線,使其共享一個(gè)中斷線。若為北橋設(shè)備,則分配固定的中斷線。
權(quán)利要求
1.一種龍芯刀片設(shè)備中斷分配的實(shí)現(xiàn)方法,其特征在于為所有設(shè)備分配一個(gè)固定的中斷號(hào),設(shè)備發(fā)出中斷請(qǐng)求給中斷管理模塊,中斷管理模塊向中斷分配模塊申請(qǐng)中斷線,中斷分配模塊分配給中斷管理模塊中斷線后,中斷管理模塊將中斷信號(hào)發(fā)給中斷控制器,進(jìn)行中斷服務(wù)。
2.如權(quán)利要求1所述的方法,其特征在于所述中斷管理模塊對(duì)設(shè)備的中斷請(qǐng)求進(jìn)行重定位,對(duì)每個(gè)中斷請(qǐng)求做寄存并管理。
3.如權(quán)利要求1所述的方法,其特征在于所述中斷分配模塊對(duì)中斷線進(jìn)行管理,當(dāng)有來自中斷管理模塊的請(qǐng)求信號(hào)時(shí),查看是否有空余中斷線,若有,則分配,若沒有,則返回等 信息。
4.如權(quán)利要求3所述的方法,其特征在于所述中斷管理模塊收到中斷分配模塊的等待信息后,將正在請(qǐng)求中斷線的中斷請(qǐng)求放入等待隊(duì)列,并將以后所有的請(qǐng)求放入等待隊(duì)列。
5.如權(quán)利要求1所述的方法,其特征在于所述中斷分配模塊每隔一段設(shè)定時(shí)間掃描一次線路,并重新統(tǒng)計(jì)空余線路數(shù)。
6.如權(quán)利要求3或5所述的方法,其特征在于所述中斷分配模塊在統(tǒng)計(jì)出有新的空余線路時(shí),則查詢中斷管理模塊的等待隊(duì)列,若隊(duì)列不為空,則分配中斷線給中斷管理模塊。
7.如權(quán)利要求1所述的方法,其特征在于所述中斷管理模塊在中斷服務(wù)完成后,對(duì)設(shè)備進(jìn)行關(guān)中斷,空出中斷線。
8.如權(quán)利要求1所述的方法,其特征在于對(duì)于頻繁進(jìn)行中斷請(qǐng)求或長時(shí)間占用中斷線的設(shè)備,可以對(duì)其分配固定的中斷線。
9.如權(quán)利要求8所述的方法,其特征在于所述設(shè)備如果有1個(gè)以上,可以只分配一個(gè)中斷線,使其共享一個(gè)中斷線。
10.如權(quán)利要求1所述的方法,其特征在于所述設(shè)備若為北橋設(shè)備,則分配固定的中斷線。
全文摘要
本發(fā)明提供了一種龍芯刀片設(shè)備中斷分配的實(shí)現(xiàn)方法,為所有設(shè)備分配一個(gè)固定的中斷號(hào),設(shè)備發(fā)出中斷請(qǐng)求給中斷管理模塊,中斷管理模塊向中斷分配模塊申請(qǐng)中斷線,中斷分配模塊分配給中斷管理模塊中斷線后,中斷管理模塊將中斷信號(hào)發(fā)給中斷控制器,進(jìn)行中斷服務(wù)。本發(fā)明通過添加中斷管理模塊和中斷控制模塊,使得龍芯刀片下的各種設(shè)備有效的分配中斷號(hào),使有限的中斷號(hào)資源合理的得到應(yīng)用。
文檔編號(hào)G06F13/24GK102314399SQ20111018882
公開日2012年1月11日 申請(qǐng)日期2011年7月7日 優(yōu)先權(quán)日2011年7月7日
發(fā)明者劉新春, 尹寧寧, 李豐旺, 李永成, 楊曉君, 邵宗有, 鄭臣明 申請(qǐng)人:曙光信息產(chǎn)業(yè)股份有限公司