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