[導讀]作者簡介???王柏生??資深技術(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è)于南開大學計算機系。資深技術(shù)專家,多年的IT行業(yè)工作經(jīng)驗。現(xiàn)擔任百度智能云副總經(jīng)理,負責云計算相關(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è)備。因此,計算機科學家們設(shè)計了外設(shè)主動向CPU發(fā)起服務(wù)請求的方式,這種方式就是中斷。采用中斷方式后,在沒有外設(shè)請求時,CPU就可以繼續(xù)其他計算任務(wù),而不是進行很多不必要的輪詢,極大地提高了系統(tǒng)的吞吐[1]?在每個指令周期結(jié)束后,如果CPU關(guān)中斷標識(IF)沒有被設(shè)置,那么其會去檢查是否有中斷請求,如果有中斷請求,則運行對應(yīng)的中斷服務(wù)程序,然后返回被中斷的計算任務(wù)繼續(xù)執(zhí)行。CPU不可能為每個硬件都設(shè)計專門的管腳接收中斷,管腳數(shù)量的限制、電路的復雜度、靈活度等方方面面都不現(xiàn)實,因此,需要設(shè)計一個專門管理中斷的單元。由中斷管理單元接受來自外圍設(shè)備的請求,確定請求的優(yōu)先級,并向CPU發(fā)出中斷。1981年IBM推出的第1代個人電腦PC/XT使用了一個獨立的8259A作為中斷控制器,自此,8259A就成為了單核時代中斷芯片事實上的標準。因為可以通過軟件編程對其進行控制,比如當管腳收到設(shè)備信號時,可以編程控制其發(fā)出的中斷向量號,因此,中斷控制器又稱為可編程中斷控制器(programmable interrupt controller),簡稱PIC。單片8259A可以連接8個外設(shè)的中斷信號線,可以多片級聯(lián)支持更多外設(shè)。8259A和CPU的連接如圖5所示。圖5 8259A和CPU連接片選和地址譯碼器相連,當CPU準備訪問8259A前,需要向地址總線發(fā)送8259A對應(yīng)的地址,經(jīng)過譯碼器后,譯碼器發(fā)現(xiàn)是8259A對應(yīng)的地址,因此會拉低與8259A的CS連接的管腳的電平,從而選中8259A,通知8259A,CPU準備與其交換數(shù)據(jù)了。8259A的D0~7管腳與CPU的數(shù)據(jù)總線相連。從CPU向8259A發(fā)送ICW和OCW,從8259A向CPU傳送8259A的狀態(tài)以及中斷向量號,都是通過數(shù)據(jù)總線傳遞的。當CPU向8259A發(fā)送ICW、OCW時,當把數(shù)據(jù)送上數(shù)據(jù)總線后,需要通知8259A讀數(shù)據(jù),CPU通過拉低WR管腳的電平的方式通知8259A,當8259A的WR管腳收到低電平后,讀取數(shù)據(jù)總線的數(shù)據(jù)。類似的,CPU準備好讀取8259A的狀態(tài)時,拉低RD管腳通知8259A。8259A和CPU之間的中斷信號的通知使用專用的連線,8259A的管腳INTR(interrupt request)和INTA(interrupt acknowledge)分別與處理器的INTR和INTA管腳相連。8259A通過管腳INTR向CPU發(fā)送中斷請求,CPU通過管腳INTA向PIC發(fā)送中斷確認,告訴PIC其收到中斷并且開始處理了。8259A與CPU之間的具體中斷過程如下:1)8259A的IR0~7管腳高電平有效,所以當中斷源請求服務(wù)時,拉高連接IR0~7的管腳,產(chǎn)生中斷請求。2)8259A需要將這些信號記錄下來,因此其內(nèi)部有個寄存器IRR(Interrupt Request Register),負責記錄這個中斷請求,針對這個例子,IRR的bit 0將被設(shè)置為1。3)有的時候,我們會屏蔽掉某個設(shè)備的中斷。換句話說,就是的當這個中斷源向8259A發(fā)送信號后,8259A并不將這個中斷信號發(fā)送給CPU。讀者不要將屏蔽和CPU通過cli命令關(guān)中斷混淆,CPU關(guān)中斷時,中斷還會發(fā)送給CPU,只是在關(guān)中斷期間CPU不處理中斷。8259A中的寄存器IMR(Interrupt Mask Register)負責記錄某個中斷源是否被屏蔽,比如0號中斷源被設(shè)備了屏蔽,那么IMR的bit 0將被設(shè)置。那么這個IMR是誰設(shè)置的呢?當然是CPU中的操作系統(tǒng)。因此這一步,8259A將會檢查收到的中斷請求是否被屏蔽。4)在某一個時刻,可能有多個中斷請求,或者是之前存在IRR中的中斷并沒有被處理,8259A中積累了一些中斷。某一個時刻,8259A只能向CPU發(fā)送一個中斷請求,因此,當存在多個中斷請求時,8259A需要判斷一下中斷優(yōu)先級,這個單元叫做priority resolver,priority resolver將在IRR中選出優(yōu)先級最高的中斷。5)選出最高優(yōu)先級的中斷后,8259A拉高管腳INTR的電平,向CPU發(fā)出信號。6)當CPU執(zhí)行完當前指令周期后,其將檢查寄存器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復位ISR中對應(yīng)的bit,否則ISR中對應(yīng)的bit一直保持到收到系統(tǒng)的中斷服務(wù)程序發(fā)來的EOI命令。我們知道,中斷服務(wù)程序保存在一個數(shù)組中,數(shù)組中的每一項對應(yīng)一個中斷服務(wù)程序。在實模式下,這個數(shù)組稱為IVT(interrupt vector table);在保護模式下,這個數(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,那么當8259A發(fā)出管腳IR0的中斷請求時,則發(fā)出的值是32,管腳IR1對應(yīng)的是33,依此類推。這個32、33就是所謂的中斷向量(vector)。換句話說,中斷向量就是中斷服務(wù)程序在IVT/IDT中的索引。下面就是設(shè)置irq_base的代碼,在初始化時,通過第2個初始化命令字(ICW2)設(shè)置:?commit 85f455f7ddbed403b34b4d54b1eaf0e14126a126KVM: 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)系本站刪除。
LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。
關(guān)鍵字:
驅(qū)動電源
在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。
關(guān)鍵字:
工業(yè)電機
驅(qū)動電源
LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...
關(guān)鍵字:
驅(qū)動電源
照明系統(tǒng)
散熱
根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。
關(guān)鍵字:
LED
設(shè)計
驅(qū)動電源
電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...
關(guān)鍵字:
電動汽車
新能源
驅(qū)動電源
在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...
關(guān)鍵字:
發(fā)光二極管
驅(qū)動電源
LED
在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...
關(guān)鍵字:
LED照明技術(shù)
電磁干擾
驅(qū)動電源
開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源
關(guān)鍵字:
LED
驅(qū)動電源
開關(guān)電源
LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。
關(guān)鍵字:
LED
隧道燈
驅(qū)動電源
LED驅(qū)動電源在LED照明系統(tǒng)中扮演著至關(guān)重要的角色。由于LED具有節(jié)能、環(huán)保、長壽命等優(yōu)點,使得LED照明在各個領(lǐng)域得到廣泛應(yīng)用。然而,LED的電流、電壓特性需要特定的驅(qū)動電源才能正常工作。本文將介紹常用的LED驅(qū)動電...
關(guān)鍵字:
LED驅(qū)動電源
led照明
LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電源轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。
關(guān)鍵字:
LED
驅(qū)動電源
高壓工頻交流
種種跡象都在表明,半導體行業(yè)或已提前進入寒冬時期,越來越多的廠商開始扛不住了……
關(guān)鍵字:
LED
半導體
驅(qū)動電源
崧盛股份9日發(fā)布投資者關(guān)系活動記錄表,就植物照明發(fā)展趨勢、行業(yè)壁壘等問題進行分享。植物照明未來市場需求廣闊崧盛股份指出,植物照明將會走向長期產(chǎn)業(yè)領(lǐng)域。主要原因有三:第一,LED植物照明賦能終端種植更具有經(jīng)濟價值。由于LE...
關(guān)鍵字:
崧盛股份
驅(qū)動電源
在當今高度發(fā)展的技術(shù)中,電子產(chǎn)品的升級越來越快,LED燈技術(shù)也在不斷發(fā)展,這使我們的城市變得豐富多彩。 LED驅(qū)動電源將電源轉(zhuǎn)換為特定的電壓和電流,以驅(qū)動LED發(fā)光。通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流電(即...
關(guān)鍵字:
LED
驅(qū)動電源
高壓直流
人類社會的進步離不開社會上各行各業(yè)的努力,各種各樣的電子產(chǎn)品的更新?lián)Q代離不開我們的設(shè)計者的努力,其實很多人并不會去了解電子產(chǎn)品的組成,比如LED電源。
關(guān)鍵字:
LED
驅(qū)動電源
低壓直流
隨著科學技術(shù)的發(fā)展,LED技術(shù)也在不斷發(fā)展,為我們的生活帶來各種便利,為我們提供各種各樣生活信息,造福著我們?nèi)祟?。LED驅(qū)動電源實際上是一種電源,但是它是一種特定的電源,用于驅(qū)動LED發(fā)射帶有電壓或電流的光。 因此,LE...
關(guān)鍵字:
LED
驅(qū)動電源
電流
LED燈作為一種新型節(jié)能和無污染光源,由于其特有的發(fā)光照明特性,在現(xiàn)代照明應(yīng)用中發(fā)揮著革命性的作用。作為 LED 照明產(chǎn)業(yè)鏈中最為核心的部件之一,LED 驅(qū)動電源的驅(qū)動控制技術(shù)所存在的可靠性低、成本高等典型問題一直制約著...
關(guān)鍵字:
多路
LED
驅(qū)動電源
隨著社會的快速發(fā)展,LED技術(shù)也在飛速發(fā)展,為我們的城市的燈光煥發(fā)光彩,讓我們的生活越來越有趣,那么你知道LED需要LED驅(qū)動電源嗎?那么你知道什么是LED驅(qū)動電源嗎?
關(guān)鍵字:
LED
開關(guān)電源
驅(qū)動電源
早前有新聞稱,Cree在2018年開始宣布轉(zhuǎn)型高科技半導體領(lǐng)域,并一邊逐漸脫離照明與LED相關(guān)業(yè)務(wù),一邊持續(xù)投資半導體。在今日,Cree宣布與SMART Global Holdings, Inc.達成最終協(xié)議,擬將LED...
關(guān)鍵字:
cree
led照明