• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      中斷屏蔽技術應用及實例解析

      2022-03-19 02:09:22趙琳娜
      電腦知識與技術 2022年2期

      趙琳娜

      摘要:中斷屏蔽技術是計算機系統(tǒng)中解決多重中斷的一項重要技術,通過該技術可以靈活處理在某中斷源服務中,響應新的中斷源請求的優(yōu)先級次序問題,同時通過計算機系統(tǒng)中不同層級的屏蔽技術可以實現主機對外設更為有效的控制。該文通過實例對中斷屏蔽技術的應用進行詳細分析,為程序設計人員編寫中斷服務程序提供幫助。

      關鍵詞:多重中斷;中斷服務優(yōu)先級;中斷屏蔽;中斷屏蔽字

      中圖分類號:TP312 ? 文獻識別碼:A

      文章編號:1009-3044(2022)02-0107-02

      1 中斷屏蔽技術

      中斷屏蔽技術主要用于處理多重中斷[1-2]。所謂多重中斷又稱為中斷嵌套,是指CPU在執(zhí)行某個中斷服務程序時,當另一中斷源提出了新的中斷請求時,CPU暫停正在運行的中斷服務程序,響應新的中斷請求,轉去執(zhí)行新的中斷服務程序的過程[1-3],即在一個中斷服務程序執(zhí)行中嵌套執(zhí)行了另一個中斷服務程序。這種中斷嵌套一般應滿足兩個條件,其一,CPU在執(zhí)行被嵌套的中斷服務程序時處于開中斷的狀態(tài)[4-5],即CPU響應外部可屏蔽中斷請求的中斷允許位在中斷服務程序中通過開中斷指令置為1,允許CPU響應外部可屏蔽中斷,在此我們將其稱之為一級屏蔽層;其二,欲中斷原中斷服務程序的新的中斷源優(yōu)先級別應高于正在執(zhí)行的中斷服務程序的中斷源[5-6]。這一嵌套條件使得在已設置好優(yōu)先級別的多級中斷系統(tǒng)中,CPU對外部事件可以按照事件的輕重緩急有次序地進行處理,由于此條件所需設置的優(yōu)先級別是在CPU之外的中斷接口中實現的,在此我們將其稱之為二級屏蔽層。

      在二級屏蔽層中,為提升CPU對外設的響應速度,一般中斷系統(tǒng)的優(yōu)先級別采用硬件鏈式排隊電路,外設一旦確定了在排隊電路中的位置次序,優(yōu)先權的響應級別不能夠改變[4],這樣就會造成優(yōu)先級別高的中斷源持續(xù)占據CPU服務權,其他低級別的中斷源難以得到有效服務的極端情況,為此可以通過中斷屏蔽技術對中斷源的服務級別進行臨時重置,從而實現低級別中斷源得到優(yōu)先中斷服務的可能。對中斷源服務優(yōu)先級別的重置可以通過在中斷服務程序中設置中斷屏蔽字實現,例如某中斷系統(tǒng)的外部可屏蔽中斷源共8個,按照降序優(yōu)先級別排序(中斷源1>中斷源2>...中斷源8),若在中斷源1的中斷服務程序中設置中斷屏蔽字10000000B,該屏蔽字的設置用于控制對外部中斷源進行管理的中斷控制器,令中斷控制器的中斷屏蔽寄存器對外部中斷源實現對中斷源1屏蔽新中斷,其他中斷源均允許中斷的控制方式,即在CPU為中斷源1執(zhí)行中斷服務期間對中斷源1以外的任何中斷源均處于允許嵌套的狀態(tài),相當于通過屏蔽字的設置,臨時改變了服務優(yōu)先級別,將中斷源1的服務優(yōu)先級別降為最低。在此屏蔽字設置后,若在中斷源1服務時,比其響應優(yōu)先級別低的中斷源3提出中斷請求,且CPU處于開中斷狀態(tài),則CPU將暫停中斷源1的服務程序,而轉去執(zhí)行中斷源3的服務程序,從而實現低級別中斷嵌套高級別中斷的過程。

      2 利用屏蔽技術管理外部中斷源及實例分析

      中斷屏蔽技術除在多重中斷中用以實現對嵌套的靈活處理外,利用該技術還可以實現對外部中斷源(外部設備)的管理控制,使外設與CPU的數據交互更為有效。

      在此以86系列微機系統(tǒng)為例,舉實例分析說明。若86系列微機系統(tǒng)需要每隔3秒采樣一次外部設備的輸入信息并進行關鍵值判斷,采樣到該關鍵值信息時,停止采樣,否則按上述周期循環(huán)采樣,其中3秒的定時由外部定時器完成。在此應用實例中,涉及兩個外設,一個為輸入信息的設備,一個為實現定時的設備,這兩個設備中,定時外設為可向CPU發(fā)出中斷請求的中斷源(每隔3秒定時時間到,向CPU發(fā)出請求,要求CPU做對輸入外設采樣數據的服務)。

      分析上面實例可以發(fā)現,在此定時器為循環(huán)工作的中斷源(每隔3秒提出一次服務請求),若想令其在采樣到關鍵信息后提出的周期性采樣請求不再被CPU響應,可以實現的方法大致有兩種。其一,在一級屏蔽層進行對該中斷源的屏蔽。在中斷服務程序返回主程序前執(zhí)行CLI指令實現(關閉CPU的中斷允許標志位IF),即CPU屏蔽了所有的外部中斷源,包括外部定時器的中斷服務請求,但是在此這種方法不可能達到屏蔽中斷源的操作要求,因為每個中斷服務程序的最后一條結束指令均為IRET,該指令在恢復主程序斷點地址的同時,也恢復原主程序中斷時的各項標志位,而主程序中斷時的中斷允許標志位IF一定是1的設置值(否則不能響應定時器的中斷請求),因此,即使在中斷服務程序中編制CLI指令,暫時使得IF=0,屏蔽了各中斷源的中斷請求,但隨著最后一條IRET指令的執(zhí)行,返回到主程序后,對定時器中斷的請求又被開放了響應權,因此一級中斷層的屏蔽技術無法實現對定時器請求的屏蔽處理。其二,在二級屏蔽層進行對該中斷源的屏蔽。當在某個3秒周期的采樣中斷服務程序中檢測到關鍵信息時,采用向二級屏蔽層中斷控制器設置屏蔽字的方式,在中斷服務程序中通過向20H端口(中斷屏蔽寄存器)寫入屏蔽字,將定時器對應的中斷屏蔽位由主程序中設置的0(允許中斷,不屏蔽)改為1(屏蔽該中斷源),使得定時器在中斷管理的中間環(huán)節(jié)(中斷控制器)受到屏蔽的控制,失去向CPU提出中斷服務請求的可能。

      為實現該實例編寫的主程序相關程序段及中斷服務程序如下:

      主程序部分代碼

      START ? PROC NEAR

      ;將中斷服務程序入口地址裝入中斷向量表(省略代碼)

      ;對輸入外設接口的初始化(省略代碼)

      MOV DX,CS8253

      MOV AL,01110110B

      OUT DX,AL

      MOV DX,COUNT1

      MOV AX,307

      OUT DX,AL

      MOV AL,AH

      OUT DX,AL

      MOV DX,CS8253

      MOV AL,10110110B

      OUT DX,AL

      MOV DX,COUNT2

      MOV AX,6000

      OUT DX,AL

      MOV AL,AH

      OUT DX,AL ? ?;對外部定時設備8253循環(huán)定時3秒的初始化

      MOV AL,01111111B

      OUT 21H,AL ? ? ?; 在此進行二級屏蔽層中斷允禁設置,假設定時器中斷請求送入了中斷控制器的第7個引腳,該位值設為0,允許定時器外設中斷

      STI ? ? ? ? ? ? ;在此進行一級屏蔽層設置,CPU開中斷

      JMP $ ? ? ? ? ? ;等待外部中斷源的中斷

      START   ENDP

      中斷服務程序主要代碼:

      IRQ7 ? ?PROC NEAR

      STI ? ? ? ;開中斷,將CPU在中斷響應過程中自動關閉的IF再次開放,為中斷服務過程中的嵌套做屏蔽技術的準備

      . ? ? ?;外部設備數據采集輸入(省略代碼)

      .

      . ? ? ? ;判斷輸入數據是否為關鍵信息,不是跳轉到rount地址標號處執(zhí)行

      MOV AL,11111111B

      OUT 21H,AL ? ? ? ?;是關鍵信息,則進行二級中斷屏蔽設置,將外設定時器的中斷請求屏蔽

      rount: ? ?MOV AL,20H ? ? ?;寫中斷結束命令

      OUT 20H,AL

      IRET

      IRQ7 ? ?ENDP

      3 中斷屏蔽技術的其他作用

      屏蔽技術還能給程序控制帶來更大的靈活性。例如,在浮點運算中,當程序員估計到執(zhí)行某段程序時可能出現“階上溢”,但又不希望因“階上溢”而使機器停機,為此可設一屏蔽字,使對應“階上溢”的屏蔽位為“1”,這樣,即使出現“階上溢”,機器也不停機。

      另外除了上述在CPU和I/O中斷控制器中設置的兩個中斷屏蔽級別外,在I/O設備與系統(tǒng)直接相連接的接口部件中,還可以進行二級屏蔽層之外的三級屏蔽層。三級屏蔽層設置可以改變外設和系統(tǒng)之間的數據傳送方式,例如在與并行外設相連的并行接口8255 芯片中,其C端口的屏蔽位(如PC4/PC2位)設置為0時,則該并行I/O設備通過接口8255與CPU傳送數據時不可以采用中斷傳送控制方式[4],只能采用無條件或查詢傳送方式。

      4 總結

      學習掌握中斷屏蔽技術,理解不同層級的屏蔽技術對計算機中斷系統(tǒng)及對外設控制的影響,應用中斷屏蔽技術,實現對外設并行、快速、靈活的處理,對計算機專業(yè)人員有著重要意義。

      參考文獻:

      [1] 羅克露,雷航,廖建明.計算機組成原理[M].北京:高等教育出版社,2010.

      [2] 王誠,劉衛(wèi)東,宋佳興.計算機組成與設計[M].3版.北京:清華大學出版社,2008.

      [3] 白中英.計算機組成原理[M].6版.北京:清華大學出版社,2021.

      [4] 楊立,鄧振杰,荊淑霞.微型計算機原理與接口技術[M].3版.北京:中國鐵道出版社,2009.

      [5] 嚴其艷,王華榮.單片機中斷技術的應用[J].讀寫算(教育教學研究),2015(24):121-121,147.

      [6] 王洪生.單片機的延時與中斷問題及解決方法[J].科技創(chuàng)新導報,2019,16(34):54-55.

      【通聯(lián)編輯:梁書】

      1464501705227

      东兴市| 准格尔旗| 曲阳县| 阳西县| 天祝| 尚义县| 长治县| 钟山县| 大连市| 镇远县| 湘潭县| 类乌齐县| 孙吴县| 彝良县| 葵青区| 潼南县| 商都县| 会昌县| 新昌县| 托里县| 武山县| 连南| 镇江市| 车险| 元阳县| 永新县| 长岛县| 二连浩特市| 呼伦贝尔市| 东乡族自治县| 内丘县| 柯坪县| 疏附县| 新沂市| 穆棱市| 万安县| 营口市| 聊城市| 博兴县| 应城市| 石门县|