chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

關(guān)于CPU運(yùn)行速度計(jì)算詳解

FPGA之家 ? 來(lái)源: 裸機(jī)思維 ? 作者:GorgonMeducer 傻孩子 ? 2021-04-09 18:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

【說(shuō)在前面的話】

相對(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)周期:

2ae6cb60-990f-11eb-8b86-12bb97331649.png

再用1us去相除:

2af41b44-990f-11eb-8b86-12bb97331649.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é)大?。?6位指令);

這樣,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)一步的具體分析。

【結(jié)語(yǔ)】

“1MHz就是1us”的等效為我們提供了一個(gè)基準(zhǔn),建立了關(guān)于“CPU跑多快”最直觀的感受,同時(shí)也為評(píng)估代碼尺寸、系統(tǒng)可靠性提供了有力的參考。掌握了這個(gè)基準(zhǔn),作為一個(gè)合格的程序員,不應(yīng)該僅憑人類的感覺(jué)毫無(wú)依據(jù)評(píng)價(jià)CPU的處理能力了,“72MHz足夠快了吧?”“我已經(jīng)用了芯片的最高頻率”這種話再也不能輕易說(shuō)了,我們應(yīng)該定量而不是定性的去看待這類問(wèn)題。
編輯:lyn

聲明:本文內(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

    文章

    11080

    瀏覽量

    217121
  • 1Mhz
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    9069

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    高能工控主板:算力強(qiáng)、運(yùn)行快、多擴(kuò)展、場(chǎng)景廣

    在工業(yè)自動(dòng)化、智能制造、邊緣計(jì)算等領(lǐng)域,高性能、高可靠性的工控主板是支撐系統(tǒng)穩(wěn)定運(yùn)行的核心。國(guó)產(chǎn)主板,憑借強(qiáng)勁的算力、高效的運(yùn)行速度、豐富的擴(kuò)展接口以及廣泛的應(yīng)用場(chǎng)景,成為工業(yè)級(jí)計(jì)算設(shè)
    的頭像 發(fā)表于 07-14 09:23 ?88次閱讀

    同一水平的 RISC-V 架構(gòu)的 MCU,和 ARM 架構(gòu)的 MCU 相比,運(yùn)行速度如何?

    ARM 架構(gòu)與 RISC-V 架構(gòu)的 MCU 在同一性能水平下的運(yùn)行速度對(duì)比,需從架構(gòu)設(shè)計(jì)原點(diǎn)、指令集特性及實(shí)際測(cè)試數(shù)據(jù)展開(kāi)剖析。以 ARM Cortex-M33 這類 ARMv8M 架構(gòu)核心與采用
    的頭像 發(fā)表于 07-02 10:29 ?651次閱讀
    同一水平的 RISC-V 架構(gòu)的 MCU,和 ARM 架構(gòu)的 MCU 相比,<b class='flag-5'>運(yùn)行速度</b>如何?

    Matlab與MWORKS軟件計(jì)算精度對(duì)比

    移動(dòng)力在簡(jiǎn)支梁上的位置輸入到y(tǒng)向量中。 其中Matlab編程代碼為 clear L=32;%簡(jiǎn)支梁長(zhǎng) v=3.2;%運(yùn)行速度 dt=0.5; x0=0; n=20; y=zeros(1,n);%預(yù)設(shè)
    發(fā)表于 06-07 16:57

    高性能石英加速度計(jì),滿足最嚴(yán)苛應(yīng)用需求

    在精度、可靠性和環(huán)境適應(yīng)性至關(guān)重要的行業(yè)中,ER-QA-02A高性能石英加速度計(jì)無(wú)疑是一款顛覆性的產(chǎn)品。專為最具挑戰(zhàn)性的環(huán)境設(shè)計(jì),這款先進(jìn)的加速度計(jì)以無(wú)與倫比的精度和穩(wěn)定性,成為航空航天、國(guó)防、工業(yè)以及地震監(jiān)測(cè)等領(lǐng)域的理想選擇。
    的頭像 發(fā)表于 02-19 17:41 ?527次閱讀

    ADXL345超低功耗3軸加速度計(jì)中文手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《ADXL345超低功耗3軸加速度計(jì)中文手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 01-06 16:35 ?5次下載

    ADS1258 AVSS 5ms內(nèi)電壓跳變后,讀取加速度計(jì)的值變?yōu)樵瓉?lái)的一半是為什么?

    時(shí),ADS1258輸出為正常情況下的一半(正常情況下測(cè)得加速度計(jì)為1G,故障發(fā)生時(shí)為0.5左右,且無(wú)論如何移動(dòng)加速度計(jì),轉(zhuǎn)換后的值只發(fā)生小幅度變化)。測(cè)量過(guò)IX IY IZ及VX VY VZ在電源波動(dòng)時(shí)的值未發(fā)生變化。CPU為T
    發(fā)表于 11-22 07:42

    MEMS加速度計(jì)的工作原理是什么

    MEMS加速度計(jì)的工作原理主要基于牛頓第二定律,即力等于質(zhì)量乘以加速度。以下是對(duì)其工作原理的介紹: 一、核心部件與結(jié)構(gòu) MEMS加速度計(jì)的核心部件包括一個(gè)微小的質(zhì)量塊、彈性元件(如彈簧梁)以及檢測(cè)器
    的頭像 發(fā)表于 11-20 10:09 ?2412次閱讀

    PCB Piezotronics推出357A67型三軸電荷輸出加速度計(jì)

    據(jù)麥姆斯咨詢報(bào)道,近期,PCB Piezotronics推出了357A67型三軸電荷輸出加速度計(jì),以滿足高溫應(yīng)用需求。這款新型號(hào)是PCB Piezotronics目前最小的三軸電荷輸出加速度計(jì),可
    的頭像 發(fā)表于 11-09 11:03 ?1915次閱讀
    PCB Piezotronics推出357A67型三軸電荷輸出加<b class='flag-5'>速度計(jì)</b>

    具有TLV2772的3V加速度計(jì)

    電子發(fā)燒友網(wǎng)站提供《具有TLV2772的3V加速度計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 10-11 11:00 ?0次下載
    具有TLV2772的3V加<b class='flag-5'>速度計(jì)</b>

    有功率計(jì)還要速度計(jì)

    在討論是否在有功率計(jì)的情況下還需要速度計(jì)時(shí),我們首先要明確功率計(jì)和速度計(jì)各自的功能和用途。   功率計(jì)主要用于測(cè)量和記錄設(shè)備或機(jī)器的輸出功率,即單位時(shí)間內(nèi)所做的功。在許多領(lǐng)域,如汽車、電機(jī)、發(fā)電機(jī)等,了解設(shè)備的功率輸出是至關(guān)重要的,因?yàn)樗苯雨P(guān)系到設(shè)備的性能和工作效
    的頭像 發(fā)表于 10-03 16:07 ?790次閱讀

    什么是CPU時(shí)鐘速度

    CPU時(shí)鐘速度,作為衡量CPU性能的關(guān)鍵指標(biāo)之一,對(duì)于理解計(jì)算機(jī)處理速度具有重要意義。下面將從定義、作用、
    的頭像 發(fā)表于 09-26 15:40 ?1769次閱讀

    CPU時(shí)鐘周期的組成和作用

    CPU時(shí)鐘周期是計(jì)算機(jī)體系結(jié)構(gòu)中一個(gè)至關(guān)重要的概念,它直接關(guān)聯(lián)到CPU運(yùn)行速度和性能。以下是對(duì)CPU時(shí)鐘周期的定義、組成和作用的詳細(xì)解析。
    的頭像 發(fā)表于 09-26 15:32 ?1906次閱讀

    導(dǎo)熱硅脂對(duì)CPU散熱性能影響大嗎?

    CPU不涂硅脂CPU與散熱器之間的縫隙有空氣,導(dǎo)熱效率無(wú)法達(dá)到應(yīng)有的效率,CPU相比涂了導(dǎo)熱膏的工作溫度會(huì)更高。當(dāng)超過(guò)一定溫度,CPU可能自動(dòng)降低自身
    的頭像 發(fā)表于 09-24 15:40 ?2498次閱讀

    EPSON工業(yè)級(jí)加速度計(jì)選型

    愛(ài)普生加速度計(jì)(Accelerometers)是一種工業(yè)級(jí)三軸輸出壓電式加速度傳感器,采用具有專利技術(shù)的雙音叉式石英傳感器元件和Quarts光刻技術(shù),通過(guò)壓電效應(yīng)來(lái)計(jì)算出諸如此類的內(nèi)容物體運(yùn)動(dòng)的方向
    的頭像 發(fā)表于 09-19 15:31 ?699次閱讀
    EPSON工業(yè)級(jí)加<b class='flag-5'>速度計(jì)</b>選型

    激光測(cè)距儀如何改成速度計(jì)

    求助帖 請(qǐng)教各位大神。是否可以將激光測(cè)距儀,改裝成速度計(jì)。 即,通過(guò)加入時(shí)間運(yùn)算,得出距離縮短的速度。或者增加的速度。 我的一個(gè)客戶,提出一個(gè)需求??梢詸z測(cè)機(jī)床設(shè)備的進(jìn)給速度。我想,激
    發(fā)表于 08-06 11:23