在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

CPU究竟跑的有多快

FPGA之家 ? 來(lái)源:FPGA之家 ? 作者:FPGA之家 ? 2022-08-29 10:26 ? 次閱讀

相對(duì)人的感官來(lái)說(shuō)CPU跑的太快了——即便是人們常常用來(lái)描述時(shí)間短暫的“一眨眼功夫”對(duì)CPU來(lái)說(shuō)也是及其“漫長(zhǎng)”的好幾百毫秒了——仔細(xì)想想有幾個(gè)人能在一秒鐘內(nèi)連續(xù)眨十次眼睛呢?正因?yàn)槿绱耍幢闶浅?jí)循環(huán)里面順次執(zhí)行的多個(gè)任務(wù),在人類看來(lái)也往往是“一瞬間就執(zhí)行完了”。那么CPU究竟跑的有多快呢?是很快、非常快還是快得不得了?如果我們繼續(xù)站在人類的視角考慮這個(gè)問(wèn)題,其抽象程度無(wú)異于思考“無(wú)窮大究竟是多大”。

讓我們想象著周圍的時(shí)間相對(duì)你突然都慢了下來(lái),從微處理器的視角重新審視這個(gè)世界。

【第一個(gè)參考點(diǎn)】

“1MHz就是 1us”

“1MHz就是1us”是一個(gè)基準(zhǔn)概念,通過(guò)修改思考方式,我們就可以利用它快速而有效的解決很多實(shí)際問(wèn)題。作為練習(xí),我們來(lái)嘗試依次快速的回答以下幾個(gè)問(wèn)題:

假設(shè)每個(gè)時(shí)鐘脈沖都對(duì)應(yīng)一個(gè)指令周期:

已知系統(tǒng)頻率是1MHz,請(qǐng)問(wèn)1us內(nèi)有幾個(gè)指令周期?

已知系統(tǒng)頻率是12MHz,請(qǐng)問(wèn)1us內(nèi)有幾個(gè)指令周期?

已知系統(tǒng)頻率是11.3728MHz,請(qǐng)問(wèn)1us內(nèi)有幾個(gè)指令周期?

已知系統(tǒng)頻率是500KHz,請(qǐng)問(wèn)1us內(nèi)有幾個(gè)指令周期?

很顯然,如果你試圖首先計(jì)算出系統(tǒng)周期:

4ebfa412-266c-11ed-ba43-dac502259ad0.png

再用1us去相除:

4ecb2382-266c-11ed-ba43-dac502259ad0.png

這個(gè)過(guò)程已經(jīng)慢了

讓我們來(lái)?yè)Q一種思維模式,既然1MHz對(duì)應(yīng)1us(也就是1us對(duì)應(yīng)一個(gè)指令周期),那么12MHz就是1MHz的12倍,1us時(shí)間內(nèi)就有12個(gè)指令周期;同理可得,當(dāng)系統(tǒng)頻率分別是11.3728MHz和500KHz(0.5MHz)的時(shí)候,1us時(shí)間內(nèi)對(duì)應(yīng)的指令周期數(shù)分別是11.3728個(gè)和0.5個(gè)。 借助這個(gè)等效,我們就可以對(duì)CPU的處理能力建立更多量化的感官,比如1ms的時(shí)間內(nèi),CPU能做多少事情呢?由于1ms等于1000us,對(duì)1MHz的系統(tǒng)來(lái)說(shuō),1ms可以完成1000個(gè)指令周期,12MHz的系統(tǒng)可以完成12000個(gè)指令周期。然而1000和12000這樣的數(shù)字對(duì)于只有十個(gè)手指的人類大腦來(lái)說(shuō)還是太抽象了,因此我們更進(jìn)一步,把指令周期換算成等效的代碼尺寸:

由于主流的微控制器其指令集中大多是單周期指令,我們不妨假設(shè)所有指令都是單指令周期的,這樣1個(gè)指令周期就對(duì)應(yīng)一條指令;

假設(shè)每條指令都是2個(gè)字節(jié)大小(16位指令);

這樣,1ms時(shí)間內(nèi)1MHz的系統(tǒng)可以運(yùn)行大約2KB的代碼,一個(gè)12MHz的系統(tǒng)可以運(yùn)行24KB的代碼,依次類推。

那么2KB是什么概念呢?如果你平時(shí)有留意編譯后的代碼尺寸,2KB大約是一個(gè)基礎(chǔ)驅(qū)動(dòng)庫(kù)的尺寸,可以包含一個(gè)USART的驅(qū)動(dòng)或者實(shí)現(xiàn)電源管理而24KB幾乎是一個(gè)小型工程應(yīng)用的尺寸了

借助這些非常具體的數(shù)字,我們很容易拿它們和中斷處理程序進(jìn)行比較,建立直觀的認(rèn)識(shí)——比如:

中斷處理程序“執(zhí)行的是不是足夠快”?

“丟中斷的風(fēng)險(xiǎn)究竟有多大”等等?

使用中斷接收外設(shè)數(shù)據(jù)的時(shí)候會(huì)不會(huì)發(fā)生丟失?

可以肯定的是,這種忽略循環(huán)和條件分支的評(píng)估方法幾乎是一個(gè)代碼的最差情況,也就是說(shuō),在1MHz的系統(tǒng)中對(duì)于一個(gè)1KHz的毫秒中斷,中斷處理程序越接近2KB,就說(shuō)明系統(tǒng)越可能“丟中斷”

在這種情況下,除非你通過(guò)編譯器提供的等效匯編代碼仔細(xì)的計(jì)算過(guò)實(shí)際的周期數(shù),或者是通過(guò)perf_counter這樣的工具實(shí)際測(cè)量過(guò)代碼的周期消耗——確信時(shí)間上處理周期不會(huì)大于1ms且這期間不會(huì)存在其它中斷處理程序,否則你的中斷處理程序還是比2KB越小越好。

【一個(gè)真實(shí)的案例】

在一個(gè)72MHz的Cortex-M3/M4系統(tǒng)下,使用中斷模式來(lái)接收串口數(shù)據(jù),波特率為115200的情況下:

最大允許屏蔽中斷多長(zhǎng)時(shí)間?

中斷處理程序允許的理論最大安全尺寸是多少?

首先,我們要搞清楚系統(tǒng)的指令大小和指令集的周期數(shù)情況。以ARM Cortex M3/M4為例,其指令大部分為單周期指令,支持16位指令和32位指令。為了評(píng)估中斷處理程序的尺寸上線,我們可以分別以16位指令和32位指令為基礎(chǔ)計(jì)算出兩個(gè)結(jié)果作為參考范圍;

其次,系統(tǒng)頻率為72MHz,假設(shè)USART沒(méi)有硬件FIFO,則115200的波特率在典型的“1起始位+1終止位+無(wú)校驗(yàn)位+8數(shù)據(jù)位”的配置下(每個(gè)數(shù)據(jù)幀對(duì)應(yīng)10個(gè)bit),實(shí)際上對(duì)應(yīng)最大11.52KB/s的數(shù)據(jù)率——或者說(shuō),USART完成中斷每秒鐘發(fā)生 11.52K次。至此,我們可以回答第一個(gè)問(wèn)題,即在這一系統(tǒng)中最大允許屏蔽中斷多長(zhǎng)時(shí)間——1/11.52KHz ≈87us。

也就是說(shuō),假設(shè)中斷屏蔽的時(shí)間為87us則中斷處理程序的理論最大尺寸范圍是(72 * 87 * 2)字節(jié)到(72 * 87 * 4)字節(jié),即12.528KB到25.056KB之間。取最小值12KB。

結(jié)論,中斷處理程序及其調(diào)用的子函數(shù),其尺寸總和至少要小于12KB才能確保115200波特率的接收完成中斷得到及時(shí)的響應(yīng)。由于未考慮循環(huán)、分支以及其它任務(wù)的存在,以上結(jié)果僅用于粗略的快速評(píng)估,實(shí)際代碼通常應(yīng)該遠(yuǎn)小于這一上線值。當(dāng)實(shí)際尺寸接近或者超過(guò)13KB時(shí)基本可以判定該系統(tǒng)存在無(wú)法及時(shí)穩(wěn)定的響應(yīng)中斷的可能——需要對(duì)代碼進(jìn)行進(jìn)一步的具體分析。

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7923

    瀏覽量

    153806
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11049

    瀏覽量

    216146
  • 時(shí)鐘脈沖
    +關(guān)注

    關(guān)注

    0

    文章

    19

    瀏覽量

    12914

原文標(biāo)題:【實(shí)時(shí)性迷思】CPU究竟跑的有多快?

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

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

    分的秘密,A8內(nèi)里乾坤一探究竟

    昨天,Anandtech帶來(lái)了蘋(píng)果兩款新iPhone的分?jǐn)?shù)據(jù),從結(jié)果來(lái)看,進(jìn)步最明顯的卻是iPhone的電池續(xù)航,而CPU和GPU性能反映在分上的進(jìn)步卻并不算太明顯。
    發(fā)表于 09-25 09:05 ?1617次閱讀
    高<b class='flag-5'>跑</b>分的秘密,A8內(nèi)里乾坤一探<b class='flag-5'>究竟</b>

    請(qǐng)問(wèn)STM8L151的速度多快

    STM8L151的速度多快?我配置的16MHz的晶體,打算測(cè)量us級(jí)的脈沖寬度,不知道能不能勝任,哪位用過(guò)的給個(gè)建議,謝謝!
    發(fā)表于 05-15 08:27

    EasyLink_init 不過(guò)

    EasyLink_init 不過(guò),一直卡在,究竟什么回事的??好經(jīng)常出現(xiàn)這種情況。最近這次都一直不過(guò)。
    發(fā)表于 06-24 04:10

    請(qǐng)問(wèn)STM32定時(shí)器的最大工作時(shí)鐘可以多快

    定時(shí)器2-7的最大工作時(shí)鐘可以多快呢?是否和定時(shí)器1與8一樣可以72M嗎?Tout = (arr*(psc+1))/(Tclk+1) 時(shí)間準(zhǔn)確還是 Tout = (arr*(psc+1))/Tclk 更準(zhǔn)確呢?
    發(fā)表于 04-24 05:04

    電子的漂移速度究竟多快

    電子信號(hào)通常以極快的速度從A點(diǎn)傳播到B點(diǎn),那有誰(shuí)知道具體多快嗎?
    發(fā)表于 08-08 06:50

    請(qǐng)問(wèn)DSPlib中FFP的速度多快?

    請(qǐng)問(wèn)TI,M4中,DSPlib中FFP的速度多快?另外,M4支持字的操作嗎?先謝.
    發(fā)表于 04-13 10:37

    arduino nano的引腳輸出脈沖,到底多快

    arduino nano 的引腳輸出脈沖,到底多快?在loop里只寫(xiě)digitalWrite(LED_BUILTIN, HIGH); digitalWrite(LED_BUILTIN, LOW
    發(fā)表于 06-28 09:25

    LabVIEWDMA與普通的IRQ傳輸方式多快

    問(wèn)題: 和DMA傳輸方式相比,普通的IRQ傳輸方式多快?解答: 數(shù)據(jù)傳輸方式包括直接內(nèi)存訪問(wèn)(DMA),中斷請(qǐng)求(IRQ)和可編程I/O。DMA是一種DAQ板卡和PC內(nèi)存間直接通訊的傳輸方式,不再
    發(fā)表于 04-10 10:48

    3G的速度多快

    3G的速度多快? 先有視頻通話的體驗(yàn),后有高速上網(wǎng)的誘惑。如今,三大3G技術(shù)標(biāo)準(zhǔn)將全面起跑。可是,各方關(guān)于3G高速的宣傳盡管鋪天蓋地,
    發(fā)表于 05-21 01:13 ?7893次閱讀

    細(xì)數(shù)全球十大最快電動(dòng)車輛大比拼,究竟能跑多快

    今天,電子發(fā)燒友網(wǎng)為您盤(pán)點(diǎn)了十大最快的電動(dòng)車輛。電動(dòng)汽車究竟能跑多快? 事實(shí)上他們可以快到超乎你想象。
    發(fā)表于 03-16 13:41 ?7.5w次閱讀

    小米30W超級(jí)無(wú)線閃充速度到底多快

    小米9 Pro 5G首發(fā)30W超級(jí)無(wú)線閃充。問(wèn)題來(lái)了,30W超級(jí)無(wú)線閃充速度到底多快
    的頭像 發(fā)表于 09-18 16:20 ?8438次閱讀

    cpu頻率高低什么影響

    很多人在購(gòu)置電腦的時(shí)候都什么關(guān)注cpu的頻率高低,那么cpu的頻率高低究竟對(duì)電腦什么影響呢?下面就讓我來(lái)為你介紹一下!
    發(fā)表于 05-18 09:57 ?8452次閱讀

    Cinebench R23 多款 CPU分 蘋(píng)果開(kāi)發(fā)者套裝的 A12Z 分 987 分

    Cinebench R23 上多款 CPU分,蘋(píng)果開(kāi)發(fā)者套裝的 A12Z 分 987 分。 如上圖所示,Cinebench R23 的分機(jī)制
    的頭像 發(fā)表于 11-12 14:57 ?3629次閱讀

    萬(wàn)兆光模塊的速度到底多快

    在當(dāng)今數(shù)字化時(shí)代,網(wǎng)絡(luò)速度的需求日益增長(zhǎng),尤其是在高負(fù)載網(wǎng)絡(luò)環(huán)境下,萬(wàn)兆光模塊成為日常生活中網(wǎng)絡(luò)升級(jí)的主要選擇。但是,萬(wàn)兆光模塊究竟多快?萬(wàn)兆光模塊如何應(yīng)用在不同場(chǎng)景下?本文將為您詳細(xì)解答這些問(wèn)題,并給出實(shí)用的建議和方案。
    的頭像 發(fā)表于 10-09 10:02 ?953次閱讀

    什么是DMA?DMA究竟多快

    助于提高數(shù)據(jù)傳輸速度和系統(tǒng)效率。 那么,DMA究竟多快呢? 實(shí)踐出真知 恰好,最近有個(gè)多通道數(shù)據(jù)采集的項(xiàng)目,受限于通道數(shù)多、分辨率高,而系統(tǒng)帶寬有限,為了盡可能充分利用有限帶寬,就得想辦法優(yōu)化時(shí)序,把時(shí)間都留給數(shù)據(jù)采集和傳輸。 優(yōu)化方向就是DMA。 硬件鏈路是A
    的頭像 發(fā)表于 02-22 10:43 ?2726次閱讀
    什么是DMA?DMA<b class='flag-5'>究竟</b>有<b class='flag-5'>多快</b>!
    主站蜘蛛池模板: 色综合色综合色综合色综合网 | 中国美女乱淫免费看视频 | 寄宿日记免费看 | 国产黄色在线看 | 久草热线视频 | 在线亚洲成人 | 久久久久99精品成人片三人毛片 | 色综合成人网 | 成人av电影在线 | 国产91色综合久久免费分享 | a黄网站 | 手机看片自拍自自拍日韩免费 | 国产三级在线播放 | 日本激情网 | 国产精品性| 免费毛片网站在线观看 | 国产色视频网站 | 久色乳综合思思在线视频 | 一品毛片 | 亚洲一级毛片免观看 | 免费一级特黄 | 在线片视频网站 | 亚洲成年网站 | 又潮又黄的叫床视频 | 5566精品资源在线播放 | 天天视频天天爽 | 四虎影院精品在线观看 | ww7788色淫网站女女免费 | 婷婷激情五月综合 | 国产精品莉莉欧美自在线线 | 日本视频www色| 日韩黄色网 | 国产伦精品一区二区免费 | 男人的天堂一区二区视频在线观看 | 人人干网 | 夜色福利久久久久久777777 | avt天堂网| 张柏芝三级无删减在线观看 | 一级片黄色免费 | 二区在线播放 | 亚洲一本之道在线观看不卡 |