亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        龍芯2F便攜機主板中斷機制研究與實現(xiàn)

        2015-11-25 08:26:45張建民張前峰
        東莞理工學院學報 2015年1期
        關鍵詞:處理程序南橋龍芯

        張建民張前峰

        (1.深圳電器公司 技術中心,廣東深圳 518000; 2.中國電信股份有限公司 泉州分公司,福建泉州 362000)

        龍芯2F便攜機主板中斷機制研究與實現(xiàn)

        張建民1張前峰2

        (1.深圳電器公司 技術中心,廣東深圳 518000; 2.中國電信股份有限公司 泉州分公司,福建泉州 362000)

        龍芯2F處理器是面向桌面和高端嵌入式應用的64位高性能低功耗芯片,可應用于個人計算機、行業(yè)終端、工業(yè)控制、數(shù)據(jù)采集、網(wǎng)絡安全等領域。通過研究龍芯2F處理器的中斷機制,設計了龍芯2F便攜機主板外部中斷路由,在Linux2.6.36內(nèi)核中實現(xiàn)了外部中斷處理。大量測試表明:龍芯2F處理器能夠準確及時地處理外部中斷請求,達到了預期的設計目標。

        龍芯2F;便攜機主板;中斷機制

        龍芯系列處理器芯片是龍芯中科技術有限公司研發(fā)的具有自主知識產(chǎn)權的處理器芯片,產(chǎn)品線包括龍芯1號、龍芯2號和龍芯3號三個系列。龍芯1號系列為32位處理器,主要應用于云終端、工業(yè)控制、數(shù)據(jù)采集、手持終端、網(wǎng)絡安全、消費電子等領域。龍芯2號系列是面向桌面和高端嵌入式應用的64位高性能低功耗處理器。龍芯3號系列是面向高性能計算機、服務器和高端桌面應用的64位多核處理器。龍芯系列處理器芯片填補了國產(chǎn)處理器的空白,并在國際處理器市場占有一席之地。

        龍芯2F是龍芯2號處理器的第一款產(chǎn)品,采用90納米CMOS工藝制造,主頻可達800 MHz至1 GHz,具有64 KB一級指令緩存、64 KB一級數(shù)據(jù)緩存、512 KB二級緩存(數(shù)據(jù)/指令共享),兼容MIPS III指令集,集成了DDR2內(nèi)存控制器和PCI等接口。龍芯2F在800 MHz主頻下功耗小于5W,并且支持動態(tài)降頻;龍芯2F可用于個人計算機、行業(yè)終端、工業(yè)控制、數(shù)據(jù)采集、網(wǎng)絡安全等領域。從2008年開始經(jīng)過多年的商業(yè)化推廣,龍芯2F的穩(wěn)定性已得到充分的驗證。

        本文通過對龍芯2F處理器的中斷機制進行研究,提出了龍芯2F便攜機主板外部中斷路由的設計思路、外部中斷處理的實現(xiàn)方法。

        1 龍芯2F便攜機主板架構

        龍芯2F便攜機主板采用龍芯2F處理器,搭配電源、復位、時鐘電路以及DDR2、BIOS等模塊。通過龍芯2F處理器集成的PCI接口,連接顯示芯片SM712、南橋芯片AMD CS5536以及千兆以太網(wǎng)芯片RTL8110;通過南橋芯片AMD CS5536提供IDE、USB、音頻、LPC等接口;通過LPC接口連接EC芯片WPCE775,用于便攜機矩陣鍵盤及觸摸板控制、LVDS背光亮度調節(jié)、音量控制、電池充放電、上電時序等控制。

        龍芯2F便攜機主板兼顧體積、接口等要求,滿足了日益增長的低功耗、高性能的應用需求,主板架構如圖1所示。

        2 龍芯2F處理器的中斷機制

        計算機在執(zhí)行程序的過程中,當出現(xiàn)異常情況或特殊請求時,計算機停止現(xiàn)行程序的運行,轉向對這些異常情況或特殊請求的處理,處理結束后再返回到現(xiàn)行程序的間斷處,繼續(xù)執(zhí)行原程序,這就是“中斷”[1]。最初,中斷是處理器與外部設備交換信息的一種控制方式,也稱為外部中斷。隨著計算機技術的發(fā)展,中斷的范圍也隨之擴大,出現(xiàn)了內(nèi)部軟件中斷的概念,它是為解決機器內(nèi)部運行時出現(xiàn)的異常以及為編程方便而提出的。

        在MIPS體系結構中,中斷、自陷、系統(tǒng)調用以及其它打斷程序正常執(zhí)行的事件統(tǒng)稱為異常,都采用同一種機制來處理[2]。龍芯2F處理器處理某個異常時,狀態(tài)寄存器的EXL位被置為1,這意味著系統(tǒng)運行在內(nèi)核模式。在保存了適當?shù)默F(xiàn)場狀態(tài)之后,異常處理程序通常將狀態(tài)寄存器的KSU字段設定為內(nèi)核模式,同時將EXL位置回為0。當恢復現(xiàn)場狀態(tài)并且重新執(zhí)行時,處理程序則會把KSU字段恢復回上次的值,同時置EXL位為1。當計算機系統(tǒng)啟動時(龍芯2F處理器狀態(tài)寄存器的BEV位為1),異常向量地址位于既不通過Cache進行存取,也無需地址映射的地址空間。當計算機系統(tǒng)正常運行時(龍芯2F處理器狀態(tài)寄存器的BEV位為0),向量地址位于需要通過Cache進行存取的地址空間。冷重啟、熱重啟和非屏蔽中斷的異常向量地址始終為0xFFFFFFFFBFC00000[3]。龍芯2F處理器的異常向量地址表如表1所示。

        圖1 龍芯2F便攜機主板架構圖

        表1 龍芯2F處理器的異常向量地址表

        當CPU內(nèi)部異?;蛘咄獠恐袛喟l(fā)生時,龍芯2F處理器設置Cause寄存器的Excode域(Excode域用來描述通用異常,共5位,可描述32個異常類型)以及相應的IP位,然后就跳轉到通用異常地址入口。在通用異常入口處,操作系統(tǒng)設置了一個通用異常處理程序,它會根據(jù)Cause寄存器的Excode域值來索引通用異常處理表,并跳轉到異常處理表項對應的處理程序[4],龍芯2F處理器通用異常處理表如表2所示。

        龍芯2F處理器支持12個外部中斷、1個不可屏蔽中斷和3個內(nèi)部中斷。12個外部中斷包括4個可配置的GPIO中斷信號(GPIO[0]至GPIO[3])、4個PCI中斷信號(PCI-INTn[0]至PCI-INTn [3])和4個特殊中斷信號(INTn[0]至INTn[3]);龍芯2F處理器的3個內(nèi)部中斷包括1個PCI總線奇偶錯信號(PCI-SERR)、1個PCI總線系統(tǒng)錯信號(PCI-PERR)和1個DDR2控制器中斷信號(DDR2 Controller)。

        表2 龍芯2F處理器通用異常處理表

        龍芯2F處理器特殊中斷信號INTn[0]對應Cause寄存器的IP2、INTn[1]對應Cause寄存器的IP3、INTn[2]對應Cause寄存器的IP4、INTn[3]對應Cause寄存器的IP5;龍芯2F處理器的3個內(nèi)部中斷信號、4個可配置的GPIO中斷信號、4個PCI中斷信號以及Performance Counter寄存器均對應Cause寄存器的IP6;Timer中斷(當Count、Compare寄存器的內(nèi)容相等時產(chǎn)生Timer中斷)對應Cause寄存器的IP7;IP0、IP1保留給軟件使用。龍芯2F處理器內(nèi)部的中斷路由如圖2所示。

        圖2 龍芯2F處理器內(nèi)部的中斷路由圖

        龍芯2F處理器32位的可讀寫Cause寄存器描述了最近一個異常發(fā)生的原因。該寄存器各域如圖3所示:

        圖3 龍芯2F處理器Cause寄存器

        Cause寄存器各域的含義如表3所示:

        表3 Cause寄存器各域的含義

        龍芯2F處理器中斷相關控制寄存器Intpol、Intedge、Inten、Intenset、Intenclr都是以位的形式對相應的中斷線進行控制,中斷控制位連接及屬性配置見表4。中斷的有效電平由Intpol寄存器設置。中斷使能的配置有三個寄存器:Intenset、Intenclr和Inten。Intenset寄存器用于設置中斷使能,該寄存器寫1的位對應的中斷被使能。Intenclr寄存器用于清除中斷使能,該寄存器寫1的位對應的中斷被清除。Inten寄存器用于查看當前各中斷使能的情況。脈沖形式的中斷信號(如PCI-SERR)由Intedge寄存器來選擇,寫1表示脈沖觸發(fā),寫0表示電平觸發(fā)。中斷處理程序可以通過設置Intenclr寄存器的相應位來清除脈沖記錄。

        表4 龍芯2F處理器中斷控制寄存器

        3 外部中斷路由設計及中斷處理實現(xiàn)

        3.1 龍芯2F便攜機主板外部中斷路由設計

        根據(jù)龍芯2F便攜機主板架構,龍芯2F處理器與外設之間的外部中斷路由設計為:千兆以太網(wǎng)芯片RTL8110使用PCI-INTn[0]中斷信號;顯示芯片SM712使用PCI-INTn[1]中斷信號;二者均對應Cause寄存器的IP6。南橋芯片AMD CS5536使用INTn[0]中斷信號,對應Cause寄存器的IP2;南橋內(nèi)部集成了兼容Intel8259A的中斷控制器,通過級聯(lián)的方式將IDE、USB、音頻、RTC等模塊的中斷信號、矩陣鍵盤、觸摸板、EC芯片WPCE775的SCI中斷信號,路由到龍芯2F處理器的INTn[0]。

        3.2 外部中斷處理流程

        當有外部中斷請求時,龍芯2F處理器采集中斷信號,跳轉至通用異常向地址0xFFFFFFFF 80000180處,通用異常處理程序根據(jù)Cause寄存器Excode域值為0來索引通用異常處理表,并跳轉到異常處理表項對應的處理程序handle-int。龍芯2F處理器外部中斷處理流程如圖4所示。

        龍芯2F便攜機主板外部中斷處理流程采用兩級判定的方法來實現(xiàn)。第一級判定通過軟件查詢Cause寄存器的IP位來確定產(chǎn)生哪一類外部中斷;判斷依據(jù)為:IP7(MIPS內(nèi)部時鐘中斷Timer);IP6 (北橋設備中斷);IP2(南橋設備中斷);IP0、IP1(保留給軟件使用);其他IP未使用。第二級判定通過軟件查詢龍芯2F CPU和南橋芯片的中斷狀態(tài)寄存器的各位來確定產(chǎn)生外部中斷的設備及其中斷號。龍芯2F便攜機主板各設備的中斷號分配如表5所示。

        3.3 外部中斷處理的實現(xiàn)

        根據(jù)上述外部中斷處理流程,在Linux2.6.36內(nèi)核中實現(xiàn)了外部中斷處理,其步驟如下: Step1 初始化龍芯2F處理器和南橋芯片中斷觸發(fā)方式及相關的寄存器;

        圖4 龍芯2F便攜機主板外部中斷處理流程圖

        表5 龍芯2F便攜機主板各設備中斷號分配表

        Step2 當有外部中斷請求時,龍芯2F處理器采集中斷信號,通過查詢Cause寄存器的Excode域確定屬于哪一類異常,然后跳轉至相應的異常處理程序;

        Step3 若Cause寄存器的Excode域值為0;則查詢Cause寄存器的IP位來確定產(chǎn)生哪一類外部中斷;

        Step4 查詢龍芯2F CPU和南橋芯片的中斷狀態(tài)寄存器的各位來確定產(chǎn)生中斷的設備及其中斷號;

        Step5 調用具體設備的中斷服務程序。

        現(xiàn)以矩陣鍵盤中斷的處理過程說明以上步驟:

        1)用戶按下某個鍵后,鍵盤控制器產(chǎn)生中斷,通過南橋的中斷控制器傳至龍芯2F處理器的INTn [0]引腳,此引腳引發(fā)異常;

        2)龍芯2F處理器自動設置Cause寄存器的Excode域值為0、IP2位為1,并跳轉至通用異常向量地址0xFFFFFFFF 80000180處;

        3)位于通用異常入口處的異常處理程序,會根據(jù)Cause寄存器的Excode域值來索引通用異常處理表,并跳轉到0號異常處理程序handle-int;

        4)0號異常處理程序handle-int根據(jù)Cause寄存器的IP位,跳轉到南橋中斷控制器的中斷處理函數(shù)i8259-irqdispatch();

        5)中斷處理函數(shù)i8259-irqdispatch()通過讀取南橋中斷控制器的中斷狀態(tài)寄存器來確定產(chǎn)生外部中斷的設備為矩陣鍵盤,其中斷號為1,進而調用do-IRQ()函數(shù)進入矩陣鍵盤的中斷處理程序。

        4 試驗分析

        龍芯2F便攜機主板調試完成后,對矩陣鍵盤、SCI、RTC、音頻、USB、IDE、觸摸板、內(nèi)部時鐘、以太網(wǎng)芯片產(chǎn)生的外部中斷進行了大量測試。

        測試過程中,在Debian6.0操作系統(tǒng)下(內(nèi)核版本Linux2.6.36)打開“終端”軟件,通過cat/ proc/interrupts命令可查看中斷處理情況[5],當上述設備觸發(fā)外部中斷時,該設備對應的中斷計數(shù)會增加;若中斷處理錯誤,錯誤計數(shù)則增加。測試結果如表6所示。

        表6 龍芯2F便攜機主板中斷處理測試表

        以上測試結果表明:龍芯2F處理器能夠準確及時地處理外部中斷請求,無錯誤和誤動作發(fā)生,達到了預期的設計目標。

        5 結語

        針對龍芯2F便攜機主板的外部中斷路由設計及其實現(xiàn)方法,結合該主板的架構,分析了龍芯2F處理器的中斷機制,設計了該主板的外部中斷路由;根據(jù)該主板外部中斷的處理流程,在Linux2.6.36內(nèi)核中實現(xiàn)了外部中斷處理;通過對該主板的外部中斷進行大量測試,表明了龍芯2F處理器能夠準確及時地處理外部中斷請求,達到了預期的設計目標。

        [1] 唐朔飛.計算機組成原理[M].北京:高等教育出版社,2008.

        [2] Dominic Sweet man.See MIPS Run[M].北京:機械工業(yè)出版社,2007.

        [3] 劉佩林,譚志明,劉嘉龑.MIPS體系結構與編程[M].北京:科學出版社,2008.

        [4] Heinrich,J.MIPS R4000 User’s Manual.Englewood Cliffs,NJ:Prentice Hall,1993.

        [5] 王旭.Debian標準教程[M].北京:人民郵電出版社,2009.

        The Research and Realization of the Interrupt Mechanism Based on the Loongson 2F Laptop Motherboard

        ZHANG Jian-m in1ZHANG Qian-feng2
        (1.Technology Center,Shenzhen Electric Appliance Company,Shenzhen Guangdong 518000,China; 2.China Telecom Corporation Limited Quanzhou Branch,Quanzhou Fujian 362000,China)

        Loongson 2F processor is a 64 bit high performance and low power chips for desktop and high-end embedded applications,which can be applied to a personal computer,industry terminal,industrial control,data acquisition,network security and other fields.By studying the interrupt mechanism of loongson 2F processor,we design the loongson 2F laptop motherboard external interrupt routing,implementing the external interrupt handling in the Linux2.6.36 kernel.Tests show that the loongson 2F processor can accurately and timely process the external interrupt request for desired design goals.

        loongson 2F;laptop motherboard;interrupt mechanism

        TP338.1

        A

        1009-0312(2015)01-0013-06

        2014-10-13

        張建民(1975—),男,河南開封人,工程師,碩士,主要從事Linux內(nèi)核及驅動開發(fā)研究。

        猜你喜歡
        處理程序南橋龍芯
        基于國產(chǎn)化龍芯的動環(huán)數(shù)據(jù)采集系統(tǒng)
        上海中糧南橋半島文體中心與醫(yī)療服務站
        高速公路工程變更與計量支付處理程序的優(yōu)化方法
        南橋河,家鄉(xiāng)的河
        垂釣(2021年4期)2021-04-27 19:16:35
        美麗的南橋
        基于C++的數(shù)控加工通用后處理程序的開發(fā)應用研究
        企業(yè)危機公關管理問題分析
        時光隔山海(五)
        花火B(yǎng)(2016年8期)2016-05-14 03:09:56
        “龍芯之父”胡偉武
        華人時刊(2016年13期)2016-04-05 05:50:06
        龍芯發(fā)布新一代處理器產(chǎn)品
        中文字幕熟女激情50路| 国产成人精品三级麻豆| 国产91 对白在线播放九色| 久久精品国产亚洲av蜜桃av| 亚洲成人av在线蜜桃| 任我爽精品视频在线播放| 国内精品九九久久久精品| 国产黄色精品高潮播放| 手机在线播放av网址| 亚洲加勒比久久88色综合 | 视频一区中文字幕亚洲| 少妇高潮在线精品观看| 日韩精品区一区二区三vr| av中文字幕不卡无码| 国内人妖一区二区在线播放| 免费人成视网站在线剧情| 极品av麻豆国产在线观看| 亚洲熟妇在线视频观看| 亚洲色图偷拍自拍亚洲色图| 人妻熟妇乱又伦精品视频| 风韵饥渴少妇在线观看| 一本大道在线一久道一区二区| aa日韩免费精品视频一| 亚洲av无码国产综合专区| 亚洲av成人精品日韩一区| 亚洲伊人免费综合网站| 国产一区av男人天堂| 伊人久久大香线蕉综合网站| 国产亚洲精品A在线无码| 男女一区视频在线观看| 免费无遮挡无码永久视频| 亚洲 欧美 国产 日韩 精品| 国产目拍亚洲精品区一区| 国产日本精品一二三四区| 一二三四在线观看免费视频| 国产精品久久婷婷婷婷| 久久国产精品美女厕所尿尿av| 天堂网www资源在线| 国产一区a| 亚洲国产综合精品一区最新| 色综合久久中文娱乐网|