女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CPU究竟跑的有多快

FPGA之家 ? 來源:FPGA之家 ? 作者:FPGA之家 ? 2022-08-29 10:26 ? 次閱讀

相對人的感官來說CPU跑的太快了——即便是人們常常用來描述時間短暫的“一眨眼功夫”對CPU來說也是及其“漫長”的好幾百毫秒了——仔細想想有幾個人能在一秒鐘內連續眨十次眼睛呢?正因為如此,即便是超級循環里面順次執行的多個任務,在人類看來也往往是“一瞬間就執行完了”。那么CPU究竟跑的有多快呢?是很快、非常快還是快得不得了?如果我們繼續站在人類的視角考慮這個問題,其抽象程度無異于思考“無窮大究竟是多大”。

讓我們想象著周圍的時間相對你突然都慢了下來,從微處理器的視角重新審視這個世界。

【第一個參考點】

“1MHz就是 1us”

“1MHz就是1us”是一個基準概念,通過修改思考方式,我們就可以利用它快速而有效的解決很多實際問題。作為練習,我們來嘗試依次快速的回答以下幾個問題:

假設每個時鐘脈沖都對應一個指令周期:

已知系統頻率是1MHz,請問1us內有幾個指令周期?

已知系統頻率是12MHz,請問1us內有幾個指令周期?

已知系統頻率是11.3728MHz,請問1us內有幾個指令周期?

已知系統頻率是500KHz,請問1us內有幾個指令周期?

很顯然,如果你試圖首先計算出系統周期:

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

再用1us去相除:

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

這個過程已經慢了。

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

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

假設每條指令都是2個字節大小(16位指令);

這樣,1ms時間內1MHz的系統可以運行大約2KB的代碼,一個12MHz的系統可以運行24KB的代碼,依次類推。

那么2KB是什么概念呢?如果你平時有留意編譯后的代碼尺寸,2KB大約是一個基礎驅動庫的尺寸,可以包含一個USART的驅動或者實現電源管理而24KB幾乎是一個小型工程應用的尺寸了

借助這些非常具體的數字,我們很容易拿它們和中斷處理程序進行比較,建立直觀的認識——比如:

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

“丟中斷的風險究竟有多大”等等?

使用中斷接收外設數據的時候會不會發生丟失?

可以肯定的是,這種忽略循環和條件分支的評估方法幾乎是一個代碼的最差情況,也就是說,在1MHz的系統中對于一個1KHz的毫秒中斷,中斷處理程序越接近2KB,就說明系統越可能“丟中斷”

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

【一個真實的案例】

在一個72MHz的Cortex-M3/M4系統下,使用中斷模式來接收串口數據,波特率為115200的情況下:

最大允許屏蔽中斷多長時間?

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

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

其次,系統頻率為72MHz,假設USART沒有硬件FIFO,則115200的波特率在典型的“1起始位+1終止位+無校驗位+8數據位”的配置下(每個數據幀對應10個bit),實際上對應最大11.52KB/s的數據率——或者說,USART完成中斷每秒鐘發生 11.52K次。至此,我們可以回答第一個問題,即在這一系統中最大允許屏蔽中斷多長時間——1/11.52KHz ≈87us。

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

結論,中斷處理程序及其調用的子函數,其尺寸總和至少要小于12KB才能確保115200波特率的接收完成中斷得到及時的響應。由于未考慮循環、分支以及其它任務的存在,以上結果僅用于粗略的快速評估,實際代碼通常應該遠小于這一上線值。當實際尺寸接近或者超過13KB時基本可以判定該系統存在無法及時穩定的響應中斷的可能——需要對代碼進行進一步的具體分析。

審核編輯:彭靜
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7900

    瀏覽量

    153645
  • cpu
    cpu
    +關注

    關注

    68

    文章

    11029

    瀏覽量

    215866
  • 時鐘脈沖
    +關注

    關注

    0

    文章

    19

    瀏覽量

    12896

原文標題:【實時性迷思】CPU究竟跑的有多快?

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    分的秘密,A8內里乾坤一探究竟

    昨天,Anandtech帶來了蘋果兩款新iPhone的分數據,從結果來看,進步最明顯的卻是iPhone的電池續航,而CPU和GPU性能反映在分上的進步卻并不算太明顯。
    發表于 09-25 09:05 ?1604次閱讀
    高<b class='flag-5'>跑</b>分的秘密,A8內里乾坤一探<b class='flag-5'>究竟</b>

    請問STM8L151的速度多快?

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

    EasyLink_init 不過

    EasyLink_init 不過,一直卡在,究竟什么回事的??好經常出現這種情況。最近這次都一直不過。
    發表于 06-24 04:10

    請問STM32定時器的最大工作時鐘可以多快?

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

    電子的漂移速度究竟多快?

    電子信號通常以極快的速度從A點傳播到B點,那有誰知道具體多快嗎?
    發表于 08-08 06:50

    請問DSPlib中FFP的速度多快?

    請問TI,M4中,DSPlib中FFP的速度多快?另外,M4支持字的操作嗎?先謝.
    發表于 04-13 10:37

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

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

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

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

    3G的速度多快?

    3G的速度多快? 先有視頻通話的體驗,后有高速上網的誘惑。如今,三大3G技術標準將全面起跑??墒?,各方關于3G高速的宣傳盡管鋪天蓋地,
    發表于 05-21 01:13 ?7874次閱讀

    細數全球十大最快電動車輛大比拼,究竟能跑多快?

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

    小米30W超級無線閃充速度到底多快

    小米9 Pro 5G首發30W超級無線閃充。問題來了,30W超級無線閃充速度到底多快
    的頭像 發表于 09-18 16:20 ?8403次閱讀

    cpu頻率高低什么影響

    很多人在購置電腦的時候都什么關注cpu的頻率高低,那么cpu的頻率高低究竟對電腦什么影響呢?下面就讓我來為你介紹一下!
    發表于 05-18 09:57 ?8412次閱讀

    Cinebench R23 多款 CPU分 蘋果開發者套裝的 A12Z 分 987 分

    Cinebench R23 上多款 CPU分,蘋果開發者套裝的 A12Z 分 987 分。 如上圖所示,Cinebench R23 的分機制
    的頭像 發表于 11-12 14:57 ?3564次閱讀

    萬兆光模塊的速度到底多快?

    在當今數字化時代,網絡速度的需求日益增長,尤其是在高負載網絡環境下,萬兆光模塊成為日常生活中網絡升級的主要選擇。但是,萬兆光模塊究竟多快?萬兆光模塊如何應用在不同場景下?本文將為您詳細解答這些問題,并給出實用的建議和方案。
    的頭像 發表于 10-09 10:02 ?909次閱讀

    什么是DMA?DMA究竟多快!

    助于提高數據傳輸速度和系統效率。 那么,DMA究竟多快呢? 實踐出真知 恰好,最近有個多通道數據采集的項目,受限于通道數多、分辨率高,而系統帶寬有限,為了盡可能充分利用有限帶寬,就得想辦法優化時序,把時間都留給數據采集和傳輸。 優化方向就是DMA。 硬件鏈路是A
    的頭像 發表于 02-22 10:43 ?2652次閱讀
    什么是DMA?DMA<b class='flag-5'>究竟</b>有<b class='flag-5'>多快</b>!