一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

介紹WebAssembly現(xiàn)存的一些風(fēng)險(xiǎn)和他們的應(yīng)對(duì)方法

工程師鄧生 ? 來(lái)源:覺(jué)學(xué)社 ? 作者:張漢東 ? 2022-09-21 09:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

標(biāo)準(zhǔn)化進(jìn)展非常緩慢。為此 Fermyon 加入了 字節(jié)碼聯(lián)盟 親自推動(dòng)標(biāo)準(zhǔn)化進(jìn)程,并通過(guò)構(gòu)建 Spin 代碼實(shí)現(xiàn)來(lái)充分利用標(biāo)準(zhǔn)

語(yǔ)言支持不夠。Fermyon 認(rèn)為前 20 種語(yǔ)言中至少有 15 種必須完全支持 WebAssembly 以及 WASI 和組件,才能正確地認(rèn)為 WebAssembly 被很好地采用。Fermyon 采取的立場(chǎng)是將注意力集中在最受歡迎的語(yǔ)言上,這就是為什么使用 Rust 而不是 C 或Zig。

這方面也有一些好消息:

語(yǔ)言支持正在迅速增長(zhǎng),今年C#Python和Ruby都增加了支持

wasi 支持現(xiàn)在是進(jìn)入 wasm 游戲領(lǐng)域的籌碼

在主流實(shí)現(xiàn)語(yǔ)言未能發(fā)揮作用的地方,該語(yǔ)言的替代實(shí)現(xiàn)正在加緊發(fā)展,比如 tinygo 對(duì)于 wasm 的支持就超越了 go

生態(tài)系統(tǒng)不是可選的。WebAssembly 有望成為下一波計(jì)算浪潮,但除非 Fermyon 能圍繞它建立生態(tài)系統(tǒng),所以 Fermyon 正在努力聯(lián)合相關(guān)其他企業(yè)合作共建社區(qū)。

社區(qū)實(shí)現(xiàn)碎片化。(比如 deno 和其他非標(biāo)準(zhǔn)化實(shí)現(xiàn),文章沒(méi)有明說(shuō))??杀氖牵袝r(shí)這僅僅是由于無(wú)知和不參與:“我們不知道有一個(gè)標(biāo)準(zhǔn)為此而出現(xiàn)”。所以目前發(fā)布的組件規(guī)范(正在進(jìn)行中,但正在迅速成熟)旨在解決這類問(wèn)題,這個(gè)標(biāo)準(zhǔn)使得在不同的主機(jī)實(shí)現(xiàn)之間共享 WebAssembly 二進(jìn)制文件成為可能。

還有一個(gè)不幸的趨勢(shì),即一些開發(fā)人員選擇與組件模型相反的工作,創(chuàng)建與他們自己的主機(jī)運(yùn)行時(shí)的強(qiáng)鏈接。走這條路一方面會(huì)導(dǎo)致平臺(tái)鎖定,另一方面會(huì)毫無(wú)意義地重新編寫相同的代碼(針對(duì)略有不同的主機(jī)進(jìn)行工具化)。幸運(yùn)的是,那些準(zhǔn)備最好的人(Fastly、Mozilla、Microsoft)反而選擇推動(dòng)互操作性標(biāo)準(zhǔn)以造福所有人。這是正確的第一步。

為了阻止破壞性的碎片化“手榴彈”,我們必須增加社會(huì)壓力,不要我行我素,而要堅(jiān)持互操作性標(biāo)準(zhǔn)。做到這一點(diǎn)的一個(gè)關(guān)鍵方法是彼此公開合作(通過(guò)字節(jié)碼聯(lián)盟、W3 和 CNCF 等組織),不僅要?jiǎng)?chuàng)建和實(shí)施標(biāo)準(zhǔn),還要?jiǎng)?chuàng)建對(duì)話論壇。

Fermyon 的愿景是,在五年內(nèi),WebAssembly 將成為常態(tài),而不是小眾市場(chǎng)。新一波應(yīng)用程序?qū)⒛軌蚶?WebAssembly 的速度、安全性和組件模型。為了實(shí)現(xiàn)這一目標(biāo),我們每個(gè)人都可以發(fā)揮作用。

Wasmtime 1.0 性能概覽

近日字節(jié)碼聯(lián)盟發(fā)布了 wasmtime 1.0 性能概覽[2] 的一篇文章,為將在 9.20號(hào)發(fā)布的 wasmtime 1.0 穩(wěn)定版做前期鋪墊,介紹了 wasmtime 團(tuán)隊(duì)近期在編譯器和運(yùn)行時(shí)中所做的工作。這里只做重點(diǎn)摘要,并非全文翻譯,對(duì)細(xì)節(jié)感興趣的可進(jìn)一步參閱原文。

什么是性能

讓 Wasmtime 和 Cranelift 變得更快意味著什么?所謂的“快”是什么意思?

Cranelift 也被用于 Rust Debug 模式編譯后端

當(dāng) Wasmtime 執(zhí)行 Wasm 程序時(shí),CPU既執(zhí)行從Wasm字節(jié)碼編譯的本地指令,也執(zhí)行 "Wasmtime Runtime "的一部分,Wasmtime Runtime 用于維護(hù)數(shù)據(jù)結(jié)構(gòu)以幫助實(shí)現(xiàn)Wasm語(yǔ)義。這兩部分的執(zhí)行有兩個(gè)階段:?jiǎn)?dòng)初始化(Wasm代碼的編譯,和運(yùn)行時(shí)的初始化)和 穩(wěn)態(tài)(steady-state)執(zhí)行。這兩個(gè)層面的四個(gè)組合都對(duì)性能有一定的影響,可以分別進(jìn)行優(yōu)化。

Compiler (Cranelift) Runtime (Wasmtime)
啟動(dòng)階段 代碼編譯時(shí)間 Wasm 模塊實(shí)例化時(shí)間
穩(wěn)態(tài)階段 生成代碼的速度 運(yùn)行時(shí)的基本速度

wasmtime 對(duì)于改善這四個(gè)象限中的每一項(xiàng)都做了大量工作。

Wasm 模塊實(shí)例化

WebAssembly 之所以安全是因?yàn)閣asm 模塊每個(gè)實(shí)例與生俱來(lái)的隔離性。為了有效地利用這種隔離性,Wasm的一些應(yīng)用將每一個(gè)工作單元實(shí)例化為一個(gè)新的實(shí)例,例如服務(wù)器上每個(gè)傳入的請(qǐng)求。因此,極快的模塊實(shí)例化是像Wasmtime這樣的Wasm VM的一個(gè)關(guān)鍵要求。

現(xiàn)在 wasmtime 的模塊實(shí)例化速度已經(jīng)被優(yōu)化到了微秒級(jí)別。這是如何做到的呢?

虛擬內(nèi)存技術(shù)

在過(guò)去,wasmtime 是通過(guò)為 wasm 應(yīng)用初始化一大塊內(nèi)存(通過(guò)malloc或mmap或一些其他分配器),然后將數(shù)據(jù)復(fù)制到正確的位置。

現(xiàn)在,是從現(xiàn)代計(jì)算機(jī)使用的虛擬內(nèi)存技術(shù)獲得靈感,實(shí)現(xiàn)了一個(gè) 實(shí)例分配器[3]使用了mmap 、madvise 和寫時(shí)復(fù)制(copy-on-write)的技術(shù)將實(shí)例化的成本大大的降低了。

延遲初始化

Wasmtime運(yùn)行時(shí)在開始執(zhí)行已編譯的Wasm代碼之前,要花費(fèi)大量時(shí)間來(lái)初始化數(shù)據(jù)結(jié)構(gòu)。所以,團(tuán)隊(duì)為函數(shù)引用表和它們所指向的函數(shù)閉包對(duì)象實(shí)現(xiàn)了延遲初始化[4]。

優(yōu)化結(jié)果

SpiderMonkey.wasm 的實(shí)例化時(shí)間從大約2毫秒到5微秒,快了400倍。

運(yùn)行時(shí)性能

Wasm 執(zhí)行過(guò)程中的大部分 CPU 時(shí)間通?;ㄔ赪asm程序本身,或它調(diào)用的 "hostcalls"(這是Wasmtime用戶插入Wasmtime的代碼,無(wú)法直接控制),除此之外,Wasmtime本身有一些部分在某些情況下必須運(yùn)行,這部分代碼就是 Wasmtime Runtime 的性能優(yōu)化之處。

加速棧走查(Stack-Walking)

之前,為了讓W(xué)asmtime列舉所有的棧幀(stackframes),Cranelift編譯器產(chǎn)生了所謂的 "unwind info"。這是一種元數(shù)據(jù),描述了編譯后的代碼將在任意給定點(diǎn)上把值放在棧中。利用這些元數(shù)據(jù),Wasmtime的 "unwinder"能夠逆向程序狀態(tài):它理解一個(gè)活動(dòng)函數(shù)每次調(diào)用的棧幀,最終找出誰(shuí)調(diào)用了它,并在棧上迭代,直到它到達(dá)Wasm的初始入口。整個(gè)過(guò)程非常慢。

團(tuán)隊(duì)對(duì)此進(jìn)行了改進(jìn),確保始終保持一個(gè)幀指針的鏈表,從而達(dá)到棧走查像遍歷鏈表那么簡(jiǎn)單。這種性能改進(jìn)是一個(gè)巨大的質(zhì)量改進(jìn):它允許啟用棧跟蹤,并大幅提高Wasmtime的健壯性。

加速多任務(wù)協(xié)作 與 代際(Epoch) 中斷

Wasmtime的一個(gè)常見用例是同時(shí)并發(fā)運(yùn)行許多不同的 WebAssembly guests,并在它們之間設(shè)置時(shí)間片。Wasmtime內(nèi)置支持在一個(gè)異步事件循環(huán)上運(yùn)行對(duì)Wasm的調(diào)用。

Wasmtime 用戶在這種情況下可能遇到的一個(gè)問(wèn)題是如何限制 Wasm 程序的執(zhí)行時(shí)間。通常,當(dāng)與事件循環(huán)異步運(yùn)行時(shí),計(jì)算密集型任務(wù)應(yīng)拆分為多個(gè)段,以便事件循環(huán)不會(huì)停止超過(guò)最大“時(shí)間片”。

通過(guò)將 Wasm 字節(jié)碼標(biāo)準(zhǔn)編譯為本地機(jī)器代碼,Wasm 中的循環(huán)成為編譯代碼中的循環(huán),并運(yùn)行盡可能多的迭代,沒(méi)有限制。如果用戶從事件循環(huán)中調(diào)用此函數(shù),則該事件循環(huán)可能會(huì)無(wú)限期停止。

因此,特別是在運(yùn)行不受信任的代碼時(shí),Wasmtime 用戶必須建立一種在一定時(shí)間限制后重新獲得控制權(quán)的方法。所以 Wasmtime 必須提供一種在某個(gè)時(shí)間點(diǎn)中斷 Wasm 執(zhí)行的方法。

之前,實(shí)現(xiàn)這一行為的主要方式是通過(guò)“燃料(fuel)”。這是一種機(jī)制,通過(guò)該機(jī)制,已編譯的 Wasm 代碼增加了對(duì)“操作”進(jìn)行計(jì)數(shù)的代碼,根據(jù)限制檢查當(dāng)前計(jì)數(shù),如果超出限制,則返回給調(diào)用者或事件循環(huán)。“燃料(fuel)”是一種有效的機(jī)制,但它成本很高:它需要用“計(jì)數(shù)”來(lái)擴(kuò)充每一段代碼,并經(jīng)常將該計(jì)數(shù)存儲(chǔ)到內(nèi)存中并檢查它。

團(tuán)隊(duì)使用了基于代際的中斷[5]取代了 “燃料(fuel)”機(jī)制,性能提升了兩倍。

使用 “燃料”機(jī)制還是代際中斷,是一種權(quán)衡?!叭剂稀睓C(jī)制更加精準(zhǔn),而代際中斷性能更好。

Cranelift 編譯代碼的質(zhì)量

Cranelift 用于將Wasm字節(jié)碼編譯成計(jì)算機(jī)可以直接執(zhí)行的本地機(jī)器代碼。

寄存器分配器改造:regalloc2

在過(guò)去的一年里,wasmtime引入了新的寄存器分配器 regalloc2[6]。寄存器分配器是編譯器的一個(gè)部分,它為程序中的值分配存儲(chǔ)位置。在真正的CPU中,指令對(duì)寄存器中的數(shù)據(jù)進(jìn)行操作,寄存器是一些小的存儲(chǔ)位置,每個(gè)位置可以容納一個(gè)值(例如,一個(gè)64位的數(shù)字)。寄存器分配器決定在什么時(shí)候?qū)⒛男┲当4嬖谀男┘拇嫫髦?。做好這一點(diǎn)可以大大改善程序的性能,因?yàn)樗馕吨俚臄?shù)值移動(dòng)。WebAssembly,作為一個(gè)抽象的、與硬件無(wú)關(guān)的虛擬機(jī),沒(méi)有大多數(shù)指令的輸入和輸出位置的概念。

regalloc2的設(shè)計(jì)是為了支持更高級(jí)的算法,以決定如何向寄存器分配數(shù)值。當(dāng)引入時(shí),它將SpiderMonkey.wasm的運(yùn)行時(shí)性能提高了約5%,將另一個(gè)CPU密集型基準(zhǔn)測(cè)試bz2的性能提高了4%。

更好的模式管理:新的后端、ISLE和持續(xù)的調(diào)整

指令選擇問(wèn)題是指選擇最佳的CPU指令來(lái)實(shí)現(xiàn)一個(gè)給定的程序行為。因?yàn)槊總€(gè)CPU都有自己獨(dú)特的指令集,而且這些指令可以以許多不同的方式組合,這是一個(gè)非常難解決的組合難題。Cranelift最初采用了一種新的編譯器后端設(shè)計(jì),可以實(shí)現(xiàn)更高級(jí)的模式匹配,目前采取的方法是用模式匹配DSL(特定領(lǐng)域語(yǔ)言)來(lái)表達(dá)底層的指令,這樣我們就可以更容易地調(diào)整這些模式。

未來(lái):中端優(yōu)化

在未來(lái),我們計(jì)劃為Cranelift引入更先進(jìn)的中端優(yōu)化。中端優(yōu)化器 "是編譯器的一部分,在程序被 "降級(jí)"為機(jī)器特定的形式之前(也就是在指令選擇之前),以各種方式對(duì)程序進(jìn)行轉(zhuǎn)換,使其更快。有一套經(jīng)典的優(yōu)化方法,幾乎所有的編譯器都會(huì)執(zhí)行,包括簡(jiǎn)化常數(shù)表達(dá)式(1+1變成2)等基本規(guī)則。但也有許多更復(fù)雜和微妙的轉(zhuǎn)換。

Cranelift: 編譯時(shí)優(yōu)化

除了優(yōu)化Cranelift生成的代碼,編譯過(guò)程本身如果太慢,那么Wasmtime可能需要很長(zhǎng)的時(shí)間來(lái)啟動(dòng)新的代碼,將會(huì)阻礙生產(chǎn)力(對(duì)于Wasm開發(fā)人員)和響應(yīng)能力(對(duì)于訪問(wèn)新應(yīng)用程序的最終用戶)。因此,編譯器的速度是一個(gè)重要的指標(biāo)。

廣義上講,我們可以通過(guò)在后端關(guān)鍵部分選擇更好的算法來(lái)提高編譯時(shí)間,如寄存器分配器或優(yōu)化通道,或通過(guò)做一般的程序優(yōu)化,如減少內(nèi)存使用。

regalloc2

切換到 regalloc2 顯著改善了編譯時(shí)間,因?yàn)榧拇嫫鞣峙湔季幾g時(shí)間的很大一部分:測(cè)量單線程時(shí)間(不是并行編譯),SpiderMonkey.wasm 的構(gòu)建速度提高了 6%,bz2 的構(gòu)建速度提高了 10%。

中端優(yōu)化器:將多個(gè)passes合并為一

算法重新設(shè)計(jì)也可以大大縮短編譯時(shí)間。在我們的中端優(yōu)化器原型中,我們對(duì)編譯器設(shè)計(jì)的相關(guān)部分采取了一種新的方法:幾個(gè)不同的 "程序",或以某種方式改造程序的特定算法,被合并成一個(gè)統(tǒng)一的框架,只對(duì)程序進(jìn)行一次處理。

標(biāo)準(zhǔn)程序優(yōu)化

一種特別有效的提高速度的改變是減少內(nèi)存的分配和使用。程序分配的內(nèi)存越少,它的運(yùn)行速度就越快,至少有兩個(gè)原因:內(nèi)存分配器本身可能很慢,而且使用更多的內(nèi)存也會(huì)導(dǎo)致更多的緩沖區(qū)未命中和內(nèi)存流量。由于其多線程編譯模式,Cranelift也傾向于對(duì)分配器施加特別大的壓力。

總結(jié)

高性能是任何希望成為構(gòu)建高效、持久系統(tǒng)的基礎(chǔ)的軟件的一個(gè)關(guān)鍵方面。如果 WebAssembly 想要成功,它的運(yùn)行速度必須能達(dá)到與本地代碼競(jìng)爭(zhēng)的水平。這也是 wasmtime 性能優(yōu)化的終極目標(biāo)。

通過(guò)該篇文章我們簡(jiǎn)單了解了 Wasmtime 和 Cranelift 性能優(yōu)化的相關(guān)工作,以及當(dāng)前 wasmtime 1.0 的性能狀態(tài)(詳細(xì)數(shù)據(jù)見原文)。后續(xù)的文章將介紹該團(tuán)隊(duì)如何確保 Wasmtime 安全以及編譯器生成正確的代碼。



審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11079

    瀏覽量

    217036
  • 中斷
    +關(guān)注

    關(guān)注

    5

    文章

    905

    瀏覽量

    42794
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86723
  • 虛擬內(nèi)存
    +關(guān)注

    關(guān)注

    0

    文章

    78

    瀏覽量

    8257

原文標(biāo)題:WebAssembly 動(dòng)態(tài) | WebAssembly 的發(fā)展風(fēng)險(xiǎn)及Wasmtime 1.0 性能概覽

文章出處:【微信號(hào):Rust語(yǔ)言中文社區(qū),微信公眾號(hào):Rust語(yǔ)言中文社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    數(shù)字IC設(shè)計(jì):方法、技巧與實(shí)踐

    設(shè)計(jì)的流程逐步介紹前端設(shè)計(jì)需要的知識(shí)。其中第3章為構(gòu)架設(shè)計(jì),比較詳盡地介紹了構(gòu)架設(shè)計(jì)的任務(wù),一些應(yīng)當(dāng)考慮的問(wèn)題和構(gòu)架設(shè)計(jì)的方法。第4章是RTL設(shè)計(jì)與仿真。首先
    發(fā)表于 05-28 16:06

    Debian和Ubuntu哪個(gè)好一些?

    兼容性對(duì)比Debian和Ubuntu哪個(gè)好一些,并為您揭示如何通過(guò)RAKsmart服務(wù)器釋放Linux系統(tǒng)的最大潛能。
    的頭像 發(fā)表于 05-07 10:58 ?336次閱讀

    人臉識(shí)別門禁終端的般故障排查方法

    問(wèn)題,有一些可能是使用環(huán)境造成,有一些可能是人為不小心損壞了。下面,天波小編就來(lái)簡(jiǎn)單介紹人臉識(shí)別門禁終端的般故障排查方法吧?!倦娫磫?wèn)題】當(dāng)
    的頭像 發(fā)表于 04-27 10:45 ?617次閱讀
    人臉識(shí)別門禁終端的<b class='flag-5'>一</b>般故障排查<b class='flag-5'>方法</b>

    樹莓派在自動(dòng)化控制項(xiàng)目中的一些潛在應(yīng)用

    自動(dòng)化控制項(xiàng)目中的一些潛在應(yīng)用。之前,我們已經(jīng)為Arduino平臺(tái)探討了相同的話題。我們確定Arduino是個(gè)出色的教育工具,但由于一些限制,它無(wú)法在工業(yè)環(huán)境中完全
    的頭像 發(fā)表于 03-25 09:45 ?216次閱讀
    樹莓派在自動(dòng)化控制項(xiàng)目中的<b class='flag-5'>一些</b>潛在應(yīng)用

    高速 MOS 驅(qū)動(dòng)電路設(shè)計(jì)和應(yīng)用指南

    關(guān)于接地和高邊柵極驅(qū)動(dòng)電路、AC 耦合和變壓器隔離的解決方案。其中個(gè)章節(jié)專門來(lái)解決同步整流器應(yīng)用中柵極驅(qū)動(dòng)對(duì) MOSFET 的要求。 另外,文章中還有一些步的參數(shù)分析設(shè)計(jì)實(shí)例。
    發(fā)表于 03-14 14:53

    AN29-關(guān)于DC-DC轉(zhuǎn)換器的一些想法

    電子發(fā)燒友網(wǎng)站提供《AN29-關(guān)于DC-DC轉(zhuǎn)換器的一些想法.pdf》資料免費(fèi)下載
    發(fā)表于 01-08 13:57 ?0次下載
    AN29-關(guān)于DC-DC轉(zhuǎn)換器的<b class='flag-5'>一些</b>想法

    賽靈思低溫失效的原因,有沒(méi)有別的方法或者一些見解?

    賽靈思低溫失效的原因,有沒(méi)有別的方法或者一些見解。就是芯片工作溫度在100°--40°區(qū)間,然后呢我們到了0°以下就不工作了,然后在低溫的情況下監(jiān)測(cè)了電流和電壓都正常,頻率也都正常,頻率不是FPGA的頻率是晶振的頻率,焊接的話七臺(tái)都不行都是這個(gè),0°
    發(fā)表于 12-30 16:28

    芯片的失效性分析與應(yīng)對(duì)方法

    老化的內(nèi)在機(jī)理,揭示芯片失效問(wèn)題的復(fù)雜性,并提出針對(duì)性的應(yīng)對(duì)策略,為提升芯片可靠性提供全面的分析與解決方案,助力相關(guān)行業(yè)在芯片應(yīng)用中有效應(yīng)對(duì)挑戰(zhàn),保障系統(tǒng)的高效穩(wěn)定
    的頭像 發(fā)表于 12-20 10:02 ?2377次閱讀
    芯片的失效性分析與<b class='flag-5'>應(yīng)對(duì)方法</b>

    選擇正版SolidWorks的重要性及如何避免盜版風(fēng)險(xiǎn)

    ,還可能給用戶帶來(lái)潛在的風(fēng)險(xiǎn)。本文將探討選擇正版SolidWorks的重要性,并提供一些有效的方法來(lái)避免盜版風(fēng)險(xiǎn)。作為SolidWorks的官方授權(quán)代理商,億達(dá)四方將為您提供專業(yè)的建議
    的頭像 發(fā)表于 12-02 18:00 ?1807次閱讀

    一些常見的動(dòng)態(tài)電路

    無(wú)論是模電還是數(shù)電,理論知識(shí)相對(duì)來(lái)說(shuō)還是比較枯燥,各種電路原理理解清楚不算容易,換種生動(dòng)形象的方式或許會(huì)增加一些趣味性,也更容易理解這些知識(shí)。下面整理了一些常見的電路,以動(dòng)態(tài)圖形的方式展示。 整流
    的頭像 發(fā)表于 11-16 09:26 ?1131次閱讀
    <b class='flag-5'>一些</b>常見的動(dòng)態(tài)電路

    分享一些常見的電路

    理解模電和數(shù)電的電路原理對(duì)于初學(xué)者來(lái)說(shuō)可能比較困難,但通過(guò)一些生動(dòng)的教學(xué)方法和資源,可以有效地提高學(xué)習(xí)興趣和理解能力。 下面整理了一些常見的電路,以動(dòng)態(tài)圖形的方式展示。 整流電路 單相橋式整流
    的頭像 發(fā)表于 11-13 09:28 ?832次閱讀
    分享<b class='flag-5'>一些</b>常見的電路

    LED驅(qū)動(dòng)器應(yīng)用的一些指南和技巧

    電子發(fā)燒友網(wǎng)站提供《LED驅(qū)動(dòng)器應(yīng)用的一些指南和技巧.pdf》資料免費(fèi)下載
    發(fā)表于 09-25 11:35 ?0次下載
    LED驅(qū)動(dòng)器應(yīng)用的<b class='flag-5'>一些</b>指南和技巧

    使用三階低通濾波器對(duì)方波經(jīng)行濾波,想使得方波變得平滑一些,可是濾出來(lái)結(jié)果不滿意怎么解決?

    使用三階低通濾波器對(duì)方波經(jīng)行濾波,想使得方波變得平滑一些,可是濾出來(lái)結(jié)果不滿意。總是在高電平到低電平很陡峭,二低電平到高電平卻平滑?;蚴钦f(shuō)二階或是三階低通濾波器濾出來(lái)以后只能是這種效果。求高手指點(diǎn)一二
    發(fā)表于 09-19 06:22

    減少PLC觸點(diǎn)燒毀風(fēng)險(xiǎn)方法

    工業(yè)自動(dòng)化控制系統(tǒng)中可編程邏輯控制器(PLC)扮演著核心角色。為了確保PLC系統(tǒng)的長(zhǎng)期穩(wěn)定運(yùn)行,采取系列預(yù)防措施來(lái)避免觸點(diǎn)燒毀至關(guān)重要。以下是一些詳細(xì)的預(yù)防策略,旨在減少PLC觸點(diǎn)燒毀的風(fēng)險(xiǎn)
    的頭像 發(fā)表于 09-16 11:16 ?939次閱讀

    極限失控的大模型使電力系統(tǒng)面臨的跨域攻擊風(fēng)險(xiǎn)應(yīng)對(duì)措施

    分析大規(guī)模生成式預(yù)訓(xùn)練模型(以下簡(jiǎn)稱為大模型)發(fā)生極限失控、使電力系統(tǒng)面臨的跨域攻擊風(fēng)險(xiǎn)及相關(guān)的應(yīng)對(duì)措施,以期引起業(yè)內(nèi)對(duì)這風(fēng)險(xiǎn)的重視、討論與行動(dòng)。基于大模型的現(xiàn)狀、發(fā)展趨勢(shì)以及它與人
    發(fā)表于 07-22 12:09 ?0次下載