日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > > 小林coding
[導(dǎo)讀]隨著時間的推移,CPU和內(nèi)存的訪問性能相差越來越大,于是就在CPU內(nèi)部嵌入了CPU Cache(高速緩存),CPU Cache離CPU核心相當(dāng)近,因此它的訪問速度是很快的,于是它充當(dāng)了CPU與內(nèi)存之間的緩存角色。


前言

直接上,不多 BB 了。


正文

CPU Cache 的數(shù)據(jù)寫入

隨著時間的推移,CPU 和內(nèi)存的訪問性能相差越來越大,于是就在 CPU 內(nèi)部嵌入了 CPU Cache(高速緩存),CPU Cache 離 CPU 核心相當(dāng)近,因此它的訪問速度是很快的,于是它充當(dāng)了 CPU 與內(nèi)存之間的緩存角色。

CPU Cache 通常分為三級緩存:L1 Cache、L2 Cache、L3 Cache,級別越低的離 CPU 核心越近,訪問速度也快,但是存儲容量相對就會越小。其中,在多核心的 CPU 里,每個核心都有各自的 L1/L2 Cache,而 L3 Cache 是所有核心共享使用的。

我們先簡單了解下 CPU Cache 的結(jié)構(gòu),CPU Cache 是由很多個 Cache Line 組成的,CPU Line 是 CPU 從內(nèi)存讀取數(shù)據(jù)的基本單位,而 CPU Line 是由各種標志(Tag)+ 數(shù)據(jù)塊(Data Block)組成,你可以在下圖清晰的看到:

我們當(dāng)然期望 CPU 讀取數(shù)據(jù)的時候,都是盡可能地從 CPU Cache 中讀取,而不是每一次都要從內(nèi)存中獲取數(shù)據(jù)。所以,身為程序員,我們要盡可能寫出緩存命中率高的代碼,這樣就有效提高程序的性能,具體的做法,你可以參考我上一篇文章「如何寫出讓 CPU 跑得更快的代碼?」

事實上,數(shù)據(jù)不光是只有讀操作,還有寫操作,那么如果數(shù)據(jù)寫入 Cache 之后,內(nèi)存與 Cache 相對應(yīng)的數(shù)據(jù)將會不同,這種情況下 Cache 和內(nèi)存數(shù)據(jù)都不一致了,于是我們肯定是要把 Cache 中的數(shù)據(jù)同步到內(nèi)存里的。

問題來了,那在什么時機才把 Cache 中的數(shù)據(jù)寫回到內(nèi)存呢?為了應(yīng)對這個問題,下面介紹兩種針對寫入數(shù)據(jù)的方法:

  • 寫直達(Write Through

  • 寫回(Write Back

寫直達

保持內(nèi)存與 Cache 一致性最簡單的方式是,把數(shù)據(jù)同時寫入內(nèi)存和 Cache 中,這種方法稱為寫直達(Write Through。

在這個方法里,寫入前會先判斷數(shù)據(jù)是否已經(jīng)在 CPU Cache 里面了:

  • 如果數(shù)據(jù)已經(jīng)在 Cache 里面,先將數(shù)據(jù)更新到 Cache 里面,再寫入到內(nèi)存里面;

  • 如果數(shù)據(jù)沒有在 Cache 里面,就直接把數(shù)據(jù)更新到內(nèi)存里面。

寫直達法很直觀,也很簡單,但是問題明顯,無論數(shù)據(jù)在不在 Cache 里面,每次寫操作都會寫回到內(nèi)存,這樣寫操作將會花費大量的時間,無疑性能會受到很大的影響。

寫回

既然寫直達由于每次寫操作都會把數(shù)據(jù)寫回到內(nèi)存,而導(dǎo)致影響性能,于是為了要減少數(shù)據(jù)寫回內(nèi)存的頻率,就出現(xiàn)了寫回(Write Back)的方法。

在寫回機制中,當(dāng)發(fā)生寫操作時,新的數(shù)據(jù)僅僅被寫入 Cache Block 里,只有當(dāng)修改過的 Cache Block「被替換」時才需要寫到內(nèi)存中,減少了數(shù)據(jù)寫回內(nèi)存的頻率,這樣便可以提高系統(tǒng)的性能。

那具體如何做到的呢?下面來詳細說一下:

  • 如果當(dāng)發(fā)生寫操作時,數(shù)據(jù)已經(jīng)在 CPU Cache 里的話,則把數(shù)據(jù)更新到 CPU Cache 里,同時標記 CPU Cache 里的這個 Cache Block 為臟(Dirty)的,這個臟的標記代表這個時候,我們 CPU Cache 里面的這個 Cache Block 的數(shù)據(jù)和內(nèi)存是不一致的,這種情況是不用把數(shù)據(jù)寫到內(nèi)存里的;

  • 如果當(dāng)發(fā)生寫操作時,數(shù)據(jù)所對應(yīng)的 Cache Block 里存放的是「別的內(nèi)存地址的數(shù)據(jù)」的話,就要檢查這個 Cache Block 里的數(shù)據(jù)有沒有被標記為臟的,如果是臟的話,我們就要把這個 Cache Block 里的數(shù)據(jù)寫回到內(nèi)存,然后再把當(dāng)前要寫入的數(shù)據(jù),寫入到這個 Cache Block 里,同時也把它標記為臟的;如果 Cache Block 里面的數(shù)據(jù)沒有被標記為臟,則就直接將數(shù)據(jù)寫入到這個 Cache Block 里,然后再把這個 Cache Block 標記為臟的就好了。

可以發(fā)現(xiàn)寫回這個方法,在把數(shù)據(jù)寫入到 Cache 的時候,只有在緩存不命中,同時數(shù)據(jù)對應(yīng)的 Cache 中的 Cache Block 為臟標記的情況下,才會將數(shù)據(jù)寫到內(nèi)存中,而在緩存命中的情況下,則在寫入后 Cache 后,只需把該數(shù)據(jù)對應(yīng)的 Cache Block 標記為臟即可,而不用寫到內(nèi)存里。

這樣的好處是,如果我們大量的操作都能夠命中緩存,那么大部分時間里 CPU 都不需要讀寫內(nèi)存,自然性能相比寫直達會高很多。


緩存一致性問題

現(xiàn)在 CPU 都是多核的,由于 L1/L2 Cache 是多個核心各自獨有的,那么會帶來多核心的緩存一致性(Cache Coherence 的問題,如果不能保證緩存一致性的問題,就可能造成結(jié)果錯誤。

那緩存一致性的問題具體是怎么發(fā)生的呢?我們以一個含有兩個核心的 CPU ?作為例子看一看。

假設(shè) A 號核心和 B 號核心同時運行兩個線程,都操作共同的變量 i(初始值為 0 )。

這時如果 A 號核心執(zhí)行了 i++ 語句的時候,為了考慮性能,使用了我們前面所說的寫回策略,先把值為 1 的執(zhí)行結(jié)果寫入到 L1/L2 Cache 中,然后把 L1/L2 Cache 中對應(yīng)的 Block 標記為臟的,這個時候數(shù)據(jù)其實沒有被同步到內(nèi)存中的,因為寫回策略,只有在 A 號核心中的這個 Cache Block 要被替換的時候,數(shù)據(jù)才會寫入到內(nèi)存里。

如果這時旁邊的 B 號核心嘗試從內(nèi)存讀取 i 變量的值,則讀到的將會是錯誤的值,因為剛才 A 號核心更新 i 值還沒寫入到內(nèi)存中,內(nèi)存中的值還依然是 0。這個就是所謂的緩存一致性問題,A 號核心和 B 號核心的緩存,在這個時候是不一致,從而會導(dǎo)致執(zhí)行結(jié)果的錯誤。

那么,要解決這一問題,就需要一種機制,來同步兩個不同核心里面的緩存數(shù)據(jù)。要實現(xiàn)的這個機制的話,要保證做到下面這 2 點:

  • 第一點,某個 CPU 核心里的 Cache 數(shù)據(jù)更新時,必須要傳播到其他核心的 Cache,這個稱為寫傳播(Wreite Propagation;

  • 第二點,某個 CPU 核心里對數(shù)據(jù)的操作順序,必須在其他核心看起來順序是一樣的,這個稱為事務(wù)的串形化(Transaction Serialization。

第一點寫傳播很容易就理解,當(dāng)某個核心在 Cache 更新了數(shù)據(jù),就需要同步到其他核心的 Cache 里。

而對于第二點事務(wù)的串形化,我們舉個例子來理解它。

假設(shè)我們有一個含有 4 個核心的 CPU,這 4 個核心都操作共同的變量 i(初始值為 0 )。A 號核心先把 i 值變?yōu)?100,而此時同一時間,B 號核心先把 i 值變?yōu)?200,這里兩個修改,都會「傳播」到 C 和 D 號核心。

那么問題就來了,C 號核心先收到了 A 號核心更新數(shù)據(jù)的事件,再收到 B 號核心更新數(shù)據(jù)的事件,因此 C 號核心看到的變量 i 是先變成 100,后變成 200。

而如果 D 號核心收到的事件是反過來的,則 D 號核心看到的是變量 i 先變成 200,再變成 100,雖然是做到了寫傳播,但是各個 Cache 里面的數(shù)據(jù)還是不一致的。

所以,我們要保證 C 號核心和 D 號核心都能看到相同順序的數(shù)據(jù)變化,比如變量 i 都是先變成 100,再變成 200,這樣的過程就是事務(wù)的串形化。

要實現(xiàn)事務(wù)串形化,要做到 2 點:

  • CPU 核心對于 Cache 中數(shù)據(jù)的操作,需要同步給其他 CPU 核心;

  • 要引入「鎖」的概念,如果兩個 CPU 核心里有相同數(shù)據(jù)的 Cache,那么對于這個 Cache 數(shù)據(jù)的更新,只有拿到了「鎖」,才能進行對應(yīng)的數(shù)據(jù)更新。

那接下來我們看看,寫傳播和事務(wù)串形化具體是用什么技術(shù)實現(xiàn)的。


總線嗅探

寫傳播的原則就是當(dāng)某個 CPU 核心更新了 Cache 中的數(shù)據(jù),要把該事件廣播通知到其他核心。最常見實現(xiàn)的方式是總線嗅探(Bus Snooping

我還是以前面的 i 變量例子來說明總線嗅探的工作機制,當(dāng) A 號 CPU 核心修改了 L1 Cache 中 i 變量的值,通過總線把這個事件廣播通知給其他所有的核心,然后每個 CPU 核心都會監(jiān)聽總線上的廣播事件,并檢查是否有相同的數(shù)據(jù)在自己的 L1 Cache 里面,如果 B 號 CPU 核心的 L1 Cache 中有該數(shù)據(jù),那么也需要把該數(shù)據(jù)更新到自己的 L1 Cache。

可以發(fā)現(xiàn),總線嗅探方法很簡單, CPU 需要每時每刻監(jiān)聽總線上的一切活動,但是不管別的核心的 Cache 是否緩存相同的數(shù)據(jù),都需要發(fā)出一個廣播事件,這無疑會加重總線的負載。

另外,總線嗅探只是保證了某個 CPU 核心的 Cache 更新數(shù)據(jù)這個事件能被其他 CPU 核心知道,但是并不能保證事務(wù)串形化。

于是,有一個協(xié)議基于總線嗅探機制實現(xiàn)了事務(wù)串形化,也用狀態(tài)機機制降低了總線帶寬壓力,這個協(xié)議就是 MESI 協(xié)議,這個協(xié)議就做到了 CPU 緩存一致性。


MESI 協(xié)議

MESI 協(xié)議其實是 4 個狀態(tài)單詞的開頭字母縮寫,分別是:

  • Modified,已修改

  • Exclusive,獨占

  • Shared,共享

  • Invalidated,已失效

這四個狀態(tài)來標記 Cache Line 四個不同的狀態(tài)。

「已修改」狀態(tài)就是我們前面提到的臟標記,代表該 Cache Block 上的數(shù)據(jù)已經(jīng)被更新過,但是還沒有寫到內(nèi)存里。而「已失效」狀態(tài),表示的是這個 Cache Block 里的數(shù)據(jù)已經(jīng)失效了,不可以讀取該狀態(tài)的數(shù)據(jù)。

「獨占」和「共享」狀態(tài)都代表 Cache Block 里的數(shù)據(jù)是干凈的,也就是說,這個時候 Cache Block 里的數(shù)據(jù)和內(nèi)存里面的數(shù)據(jù)是一致性的。

「獨占」和「共享」的差別在于,獨占狀態(tài)的時候,數(shù)據(jù)只存儲在一個 CPU 核心的 Cache 里,而其他 CPU 核心的 Cache 沒有該數(shù)據(jù)。這個時候,如果要向獨占的 Cache 寫數(shù)據(jù),就可以直接自由地寫入,而不需要通知其他 CPU 核心,因為只有你這有這個數(shù)據(jù),就不存在緩存一致性的問題了,于是就可以隨便操作該數(shù)據(jù)。

另外,在「獨占」狀態(tài)下的數(shù)據(jù),如果有其他核心從內(nèi)存讀取了相同的數(shù)據(jù)到各自的 Cache ,那么這個時候,獨占狀態(tài)下的數(shù)據(jù)就會變成共享狀態(tài)。

那么,「共享」狀態(tài)代表著相同的數(shù)據(jù)在多個 CPU 核心的 Cache 里都有,所以當(dāng)我們要更新 Cache 里面的數(shù)據(jù)的時候,不能直接修改,而是要先向所有的其他 CPU 核心廣播一個請求,要求先把其他核心的 Cache 中對應(yīng)的 Cache Line 標記為「無效」狀態(tài),然后再更新當(dāng)前 Cache 里面的數(shù)據(jù)。

我們舉個具體的例子來看看這四個狀態(tài)的轉(zhuǎn)換:

  1. 當(dāng) A 號 CPU 核心從內(nèi)存讀取變量 i 的值,數(shù)據(jù)被緩存在 A 號 CPU 核心自己的 Cache 里面,此時其他 CPU 核心的 Cache 沒有緩存該數(shù)據(jù),于是標記 Cache Line 狀態(tài)為「獨占」,此時其 Cache 中的數(shù)據(jù)與內(nèi)存是一致的;

  2. 然后 B 號 CPU 核心也從內(nèi)存讀取了變量 i 的值,此時會發(fā)送消息給其他 CPU 核心,由于 A 號 CPU 核心已經(jīng)緩存了該數(shù)據(jù),所以會把數(shù)據(jù)返回給 B 號 CPU 核心。在這個時候, A 和 B 核心緩存了相同的數(shù)據(jù),Cache Line 的狀態(tài)就會變成「共享」,并且其 Cache 中的數(shù)據(jù)與內(nèi)存也是一致的;

  3. 當(dāng) A 號 CPU 核心要修改 Cache 中 i 變量的值,發(fā)現(xiàn)數(shù)據(jù)對應(yīng)的 Cache Line 的狀態(tài)是共享狀態(tài),則要向所有的其他 CPU 核心廣播一個請求,要求先把其他核心的 Cache 中對應(yīng)的 Cache Line 標記為「無效」狀態(tài),然后 A 號 CPU 核心才更新 Cache 里面的數(shù)據(jù),同時標記 Cache Line 為「已修改」狀態(tài),此時 Cache 中的數(shù)據(jù)就與內(nèi)存不一致了。

  4. 如果 A 號 CPU 核心「繼續(xù)」修改 Cache 中 i 變量的值,由于此時的 Cache Line 是「已修改」狀態(tài),因此不需要給其他 CPU 核心發(fā)送消息,直接更新數(shù)據(jù)即可。

  5. 如果 A 號 CPU 核心的 Cache 里的 i 變量對應(yīng)的 ?Cache Line 要被「替換」,發(fā)現(xiàn) ?Cache Line 狀態(tài)是「已修改」狀態(tài),就會在替換前先把數(shù)據(jù)同步到內(nèi)存。

所以,可以發(fā)現(xiàn)當(dāng) Cache Line 狀態(tài)是「已修改」或者「獨占」狀態(tài)時,修改更新其數(shù)據(jù)不需要發(fā)送廣播給其他 CPU 核心,這在一定程度上減少了總線帶寬壓力。

事實上,整個 MESI 的狀態(tài)可以用一個有限狀態(tài)機來表示它的狀態(tài)流轉(zhuǎn)。還有一點,對于不同狀態(tài)觸發(fā)的事件操作,可能是來自本地 CPU 核心發(fā)出的廣播事件,也可以是來自其他 CPU 核心通過總線發(fā)出的廣播事件。下圖即是 MESI 協(xié)議的狀態(tài)圖:

MESI 協(xié)議的四種狀態(tài)之間的流轉(zhuǎn)過程,我匯總成了下面的表格,你可以更詳細的看到每個狀態(tài)轉(zhuǎn)換的原因:


總結(jié)

CPU 在讀寫數(shù)據(jù)的時候,都是在 CPU Cache 讀寫數(shù)據(jù)的,原因是 Cache 離 CPU 很近,讀寫性能相比內(nèi)存高出很多。對于 Cache 里沒有緩存 CPU 所需要讀取的數(shù)據(jù)的這種情況,CPU 則會從內(nèi)存讀取數(shù)據(jù),并將數(shù)據(jù)緩存到 Cache 里面,最后 CPU 再從 Cache 讀取數(shù)據(jù)。

而對于數(shù)據(jù)的寫入,CPU 都會先寫入到 Cache 里面,然后再在找個合適的時機寫入到內(nèi)存,那就有「寫直達」和「寫回」這兩種策略來保證 Cache 與內(nèi)存的數(shù)據(jù)一致性:

  • 寫直達,只要有數(shù)據(jù)寫入,都會直接把數(shù)據(jù)寫入到內(nèi)存里面,這種方式簡單直觀,但是性能就會受限于內(nèi)存的訪問速度;

  • 寫回,對于已經(jīng)緩存在 Cache 的數(shù)據(jù)的寫入,只需要更新其數(shù)據(jù)就可以,不用寫入到內(nèi)存,只有在需要把緩存里面的臟數(shù)據(jù)交換出去的時候,才把數(shù)據(jù)同步到內(nèi)存里,這種方式在緩存命中率高的情況,性能會更好;

當(dāng)今 CPU 都是多核的,每個核心都有各自獨立的 L1/L2 Cache,只有 L3 Cache 是多個核心之間共享的。所以,我們要確保多核緩存是一致性的,否則會出現(xiàn)錯誤的結(jié)果。

要想實現(xiàn)緩存一致性,關(guān)鍵是要滿足 2 點:

  • 第一點是寫傳播,也就是當(dāng)某個 CPU 核心發(fā)生寫入操作時,需要把該事件廣播通知給其他核心;

  • 第二點是事物的串行化,這個很重要,只有保證了這個,次啊能保障我們的數(shù)據(jù)是真正一致的,我們的程序在各個不同的核心上運行的結(jié)果也是一致的;

基于總線嗅探機制的 MESI 協(xié)議,就滿足上面了這兩點,因此它是保障緩存一致性的協(xié)議。

MESI 協(xié)議,是已修改、獨占、共享、已實現(xiàn)這四個狀態(tài)的英文縮寫的組合。整個 MSI 狀態(tài)的變更,則是根據(jù)來自本地 CPU 核心的請求,或者來自其他 CPU 核心通過總線傳輸過來的請求,從而構(gòu)成一個流動的狀態(tài)機。另外,對于在「已修改」或者「獨占」狀態(tài)的 Cache Line,修改更新其數(shù)據(jù)不需要發(fā)送廣播給其他 CPU 核心。


說幾句

前幾個星期建的技術(shù)交流群,沒想到很快就滿 500 人了,群里的大牛真的多,大家交流都很踴躍,也有很多熱心分享和回答問題的小伙伴。

不過沒關(guān)系,小林最近又新建了技術(shù)交流群,相信這里是你交朋友好地方,也是你上班劃水的好入口。

準備入冬了,一起來抱團取暖吧,群滿 100、200、300、500 人,小林都會發(fā)紅包的,趕快來吧,加群方式很簡單,掃碼下方二維碼,回復(fù)「加群」。

哈嘍,我是小林,就愛圖解計算機基礎(chǔ),如果覺得文章對你有幫助,歡迎分享給你的朋友,也給小林點個「在看」,這對小林非常重要,謝謝你們,給各位小姐姐小哥哥們抱拳了,我們下次見!


推薦閱讀

如何寫出讓 CPU 跑得更快的代碼?

讀者問:小林你的 500 張圖是怎么畫的?

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(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ā)展的當(dāng)下,工業(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è)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在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ū)動電源
關(guān)閉