pc:程式計數器,指向馬上要執行的那一條指令
中斷號:系統分配給每個中斷源的代號,以便識別和處理
斷點:檢測到中斷時,處理機剛執行完的那條指令位址
恢復點:斷點的邏輯後續指令位址
現場資訊:中斷那一刻確保被中斷程式能繼續執行的有關資訊,如pc,通用暫存器,其他特殊暫存器等
ps:處理機狀態字,寄存處理機執行狀態的暫存器
核心態:允許特權指令執行的狀態,可訪問系統空間。核心程式在此態執行
使用者態:一般程式所執行的狀態,只可訪問使用者空間
1.中斷,異常(陷入)進入
1)硬體自動將當前pc,ps存入暫存暫存器.
2)中斷/異常發生,用中斷號/異常號作下標,查中斷向量表,從指定的中斷向量單元中取出新pc,ps內容裝入 pc,ps暫存器,從而轉到相應處理程式
3)將原pc,ps儲存到現場保護區棧
2.儲存現場,形成現場區棧幀
1)硬體將原ps,pc壓棧,且根據中斷類將中斷向量表中的新ps,pc值送ps,pc暫存器.
2)中斷入口指令將r0壓棧後將中斷處理程式位址存入r0,轉總控程式.
3)由總控程式將新的ps壓棧(因其中有陷入號資訊).
4)由總控將r1,r6壓棧(r6中為棧指標,此時是上一棧幀頂)由總控從新ps低五位擷取trap號進入棧.
5)總控按照r0轉相應中斷(或trap)處理程式時,將返回位址壓棧.
6)由各中斷(陷入)處理程式先將r5,r4,r3,r2壓棧,返回總控時恢復r2,r3,r4,r5.
3.轉相應中斷/異常(陷入)處理程式
總控程式直接根據r0中的位址(已存放好中斷程式的入口位址)轉向中斷(陷入)處理子程式。轉向子程式時,將返回位址壓棧**子指令自動壓棧)
中斷處理通常是向裝置控制器發下乙個i/o請求,就緒等該i/o結束的程序。
陷入處理即作業系統系統呼叫處理。
指令出錯時一般是做程序結束處理。
4.恢復現場
問題:中斷處理完成後,回到使用者態之前cpu要先去執行什麼程式?
中斷處理完成後,
回退到核心態時:
1)退棧
2)執行rtt指令,該指令自動將棧幀中儲存的原pc,ps值裝入pc,ps暫存器
回退到使用者態時:
1)程序排程
2)退棧
3)執行rtt指令.該指令自動將棧幀中的pc,ps值裝入pc,ps暫存器
作業系統day1
作業系統 抽象是管理複雜性的關鍵 資訊科技中,微電子是基礎,計算機和通訊設施是載體,而軟體是核心,是計算機的靈魂,而軟體中的作業系統就更是核心了,它為豐富的應用環境奠定了最堅實的基礎。第一次把微電子,通訊,軟體三個相近的專業領域的分工搞清楚誒,一直覺得這些專業都學差不太多的專業課,做差不提多的專案 ...
30天自製作業系統day1
一 先說說書中的軟體 cons 9x.bat檔案 和 cons nt.bat作用相同,只是用於windows95平台,所以相應的程式為command。run.bat檔案 內容是copy helloos.img z tools qemu fdimage0.bin 此句是將helloos.img複製為f...
《30天自製作業系統》day1
自製作業系統day1 途中遇到的問題 按書上說明做好第乙個helloos.img的時候作者提供的16位軟體不相容,想用vm裝,一上午死活裝不上去,甚至想強行把.img變成.iso,後來才知道img是軟盤映像,不能新增cd或者硬碟的驅動。解決之後成功hello world。dw 1 beginning...