www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 公眾號精選 > Linux閱碼場
[導(dǎo)讀]作者簡介???王柏生??資深技術(shù)專家,先后就職于中科院軟件所、紅旗Linux和百度,現(xiàn)任百度主任架構(gòu)師。在操作系統(tǒng)、虛擬化技術(shù)、分布式系統(tǒng)、云計算、自動駕駛等相關(guān)領(lǐng)域耕耘多年,有著豐富的實踐經(jīng)驗。著有暢銷書《深度探索Linux操作系統(tǒng)》(2013年出版)。謝廣軍??計算機專業(yè)博士...

作者簡介

? ? ?王柏生??資深技術(shù)專家,先后就職于中科院軟件所、紅旗Linux和百度,現(xiàn)任百度主任架構(gòu)師。在操作系統(tǒng)、虛擬化技術(shù)、分布式系統(tǒng)、云計算、自動駕駛等相關(guān)領(lǐng)域耕耘多年,有著豐富的實踐經(jīng)驗。著有暢銷書《深度探索Linux操作系統(tǒng)》(2013年出版)。

謝廣軍??計算機專業(yè)博士,畢業(yè)于南開大學(xué)計算機系。資深技術(shù)專家,年的IT行業(yè)工作經(jīng)驗?,F(xiàn)擔(dān)任百度智能云副總經(jīng)理,負(fù)責(zé)云計算相關(guān)產(chǎn)品的研發(fā)。多年來一直從事操作系統(tǒng)、虛擬化技術(shù)、分布式系統(tǒng)、大數(shù)據(jù)、云計算等相關(guān)領(lǐng)域的研發(fā)工作,實踐經(jīng)驗豐富。?

本文內(nèi)容節(jié)選自《深度探索Linux虛擬化技術(shù)》,已獲得機械工業(yè)出版社華章公司授權(quán)。

歡迎讀者文末留言,閱碼場和機械工業(yè)出版社華章公司將為每位精彩留言獲獎用戶奉送該書一本。


PIC虛擬化


計算機系統(tǒng)有很多的外設(shè)需要服務(wù),顯然,CPU采用輪詢的方式逐個詢問外設(shè)是否需要服務(wù),是非常浪費CPU的計算的,尤其是對那些并不是頻繁需要服務(wù)的設(shè)備。因此,計算機科學(xué)家們設(shè)計了外設(shè)主動向CPU發(fā)起服務(wù)請求的方式,這種方式就是中斷。采用中斷方式后,在沒有外設(shè)請求時,CPU就可以繼續(xù)其他計算任務(wù),而不是進(jìn)行很多不必要的輪詢,極大地提高了系統(tǒng)的吞吐[1]?在每個指令周期結(jié)束后,如果CPU關(guān)中斷標(biāo)識(IF)沒有被設(shè)置,那么其會去檢查是否有中斷請求,如果有中斷請求,則運行對應(yīng)的中斷服務(wù)程序,然后返回被中斷的計算任務(wù)繼續(xù)執(zhí)行。

CPU不可能為每個硬件都設(shè)計專門的管腳接收中斷,管腳數(shù)量的限制、電路的復(fù)雜度、靈活度等方方面面都不現(xiàn)實,因此,需要設(shè)計一個專門管理中斷的單元。由中斷管理單元接受來自外圍設(shè)備的請求,確定請求的優(yōu)先級,并向CPU發(fā)出中斷。1981年IBM推出的第1代個人電腦PC/XT使用了一個獨立的8259A作為中斷控制器,自此,8259A就成為了單核時代中斷芯片事實上的標(biāo)準(zhǔn)。因為可以通過軟件編程對其進(jìn)行控制,比如當(dāng)管腳收到設(shè)備信號時,可以編程控制其發(fā)出的中斷向量號,因此,中斷控制器又稱為可編程中斷控制器(programmable interrupt controller),簡稱PIC。單片8259A可以連接8個外設(shè)的中斷信號線,可以多片級聯(lián)支持更多外設(shè)。

8259A和CPU的連接如圖5所示。

圖5 8259A和CPU連接

片選和地址譯碼器相連,當(dāng)CPU準(zhǔn)備訪問8259A前,需要向地址總線發(fā)送8259A對應(yīng)的地址,經(jīng)過譯碼器后,譯碼器發(fā)現(xiàn)是8259A對應(yīng)的地址,因此會拉低與8259A的CS連接的管腳的電平,從而選中8259A,通知8259A,CPU準(zhǔn)備與其交換數(shù)據(jù)了。

8259A的D0~7管腳與CPU的數(shù)據(jù)總線相連。從CPU向8259A發(fā)送ICW和OCW,從8259A向CPU傳送8259A的狀態(tài)以及中斷向量號,都是通過數(shù)據(jù)總線傳遞的。

當(dāng)CPU向8259A發(fā)送ICW、OCW時,當(dāng)把數(shù)據(jù)送上數(shù)據(jù)總線后,需要通知8259A讀數(shù)據(jù),CPU通過拉低WR管腳的電平的方式通知8259A,當(dāng)8259A的WR管腳收到低電平后,讀取數(shù)據(jù)總線的數(shù)據(jù)。類似的,CPU準(zhǔn)備好讀取8259A的狀態(tài)時,拉低RD管腳通知8259A。

8259A和CPU之間的中斷信號的通知使用專用的連線,8259A的管腳INTR(interrupt request)和INTA(interrupt acknowledge)分別與處理器的INTR和INTA管腳相連。8259A通過管腳INTR向CPU發(fā)送中斷請求,CPU通過管腳INTA向PIC發(fā)送中斷確認(rèn),告訴PIC其收到中斷并且開始處理了。8259A與CPU之間的具體中斷過程如下:

1)8259A的IR0~7管腳高電平有效,所以當(dāng)中斷源請求服務(wù)時,拉高連接IR0~7的管腳,產(chǎn)生中斷請求。

2)8259A需要將這些信號記錄下來,因此其內(nèi)部有個寄存器IRR(Interrupt Request Register),負(fù)責(zé)記錄這個中斷請求,針對這個例子,IRR的bit 0將被設(shè)置為1。

3)有的時候,我們會屏蔽掉某個設(shè)備的中斷。換句話說,就是的當(dāng)這個中斷源向8259A發(fā)送信號后,8259A并不將這個中斷信號發(fā)送給CPU。讀者不要將屏蔽和CPU通過cli命令關(guān)中斷混淆,CPU關(guān)中斷時,中斷還會發(fā)送給CPU,只是在關(guān)中斷期間CPU不處理中斷。8259A中的寄存器IMR(Interrupt Mask Register)負(fù)責(zé)記錄某個中斷源是否被屏蔽,比如0號中斷源被設(shè)備了屏蔽,那么IMR的bit 0將被設(shè)置。那么這個IMR是誰設(shè)置的呢?當(dāng)然是CPU中的操作系統(tǒng)。因此這一步,8259A將會檢查收到的中斷請求是否被屏蔽。

4)在某一個時刻,可能有多個中斷請求,或者是之前存在IRR中的中斷并沒有被處理,8259A中積累了一些中斷。某一個時刻,8259A只能向CPU發(fā)送一個中斷請求,因此,當(dāng)存在多個中斷請求時,8259A需要判斷一下中斷優(yōu)先級,這個單元叫做priority resolver,priority resolver將在IRR中選出優(yōu)先級最高的中斷。

5)選出最高優(yōu)先級的中斷后,8259A拉高管腳INTR的電平,向CPU發(fā)出信號。

6)當(dāng)CPU執(zhí)行完當(dāng)前指令周期后,其將檢查寄存器FLAGS的中斷使能位IF(Interrupt enable flag),如果允許中斷,那么將檢查INTR是否有中斷,如果有中斷,那么將通過管腳INTR通知8259A處理器將開始處理中斷。

7)8259A收到CPU發(fā)來的INTA信號后,將置位最高優(yōu)先級的中斷在ISR(In-Service Register)中對應(yīng)的位,并清空IRR中對應(yīng)的位。

8)通常,x86 CPU會發(fā)送第2次INTA,在收到第2次INTA后,8259A會將中斷向量號(vector)送上數(shù)據(jù)總線D0~D7。

9)如果8259A設(shè)置為AEOI(Automatic End Of Interrupt)模式,那么8259A復(fù)位ISR中對應(yīng)的bit,否則ISR中對應(yīng)的bit一直保持到收到系統(tǒng)的中斷服務(wù)程序發(fā)來的EOI命令。

我們知道,中斷服務(wù)程序保存在一個數(shù)組中,數(shù)組中的每一項對應(yīng)一個中斷服務(wù)程序。在實模式下,這個數(shù)組稱為IVT(interrupt vector table);在保護(hù)模式下,這個數(shù)組稱為IDT(Interrupt descriptor table)。

這個數(shù)組中保存的服務(wù)程序,并不是全部都是外部中斷,還有處理CPU內(nèi)部異常的以及軟中斷服務(wù)程序。x86CPU前32個中斷號(0-31)留給處理器異常的,比如第0個中斷號,是處理器出現(xiàn)除0(Divide by Zero)異常的,不能被占用。因此,假設(shè)我們計劃IVT數(shù)組中第32個元素存放管腳IR0對應(yīng)的ISR,那么我們初始化8259A時,通過ICW,設(shè)置起始的irq base為32,那么當(dāng)8259A發(fā)出管腳IR0的中斷請求時,則發(fā)出的值是32,管腳IR1對應(yīng)的是33,依此類推。這個32、33就是所謂的中斷向量(vector)。換句話說,中斷向量就是中斷服務(wù)程序在IVT/IDT中的索引。下面就是設(shè)置irq_base的代碼,在初始化時,通過第2個初始化命令字(ICW2)設(shè)置:

?commit 85f455f7ddbed403b34b4d54b1eaf0e14126a126

KVM: Add support for in-kernel PIC emulation

?linux.git/drivers/kvm/i8259.c

?static void pic_ioport_write(void *opaque, u32addr, u32 val)

{

??…

???? switch(s->init_state) {

??? …

??? case 1:

????? s->irq_base = val
本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉