單片機(jī)的執(zhí)行速度
單片機(jī)的執(zhí)行速度與什么有關(guān)呢,當(dāng)然對(duì)于初學(xué)者來(lái)說,第一時(shí)間想到的是晶振,沒錯(cuò),晶振算一個(gè),但準(zhǔn)確的來(lái)說應(yīng)該是單片機(jī)的時(shí)鐘源(再具體一點(diǎn)就是單片機(jī)的系統(tǒng)時(shí)鐘)。單片機(jī)的時(shí)鐘源來(lái)說有分為內(nèi)部時(shí)鐘和外部時(shí)鐘,外部時(shí)鐘源一般指的就是晶振了;內(nèi)部時(shí)鐘對(duì)于比較老的單片機(jī)是沒有的(比如51單片機(jī))。還有一點(diǎn)需要注意的是現(xiàn)在許多高級(jí)一點(diǎn)的單片機(jī)都會(huì)涉及到倍頻和分頻,n倍頻即把單片機(jī)的時(shí)鐘源乘以n作為單片機(jī)的系統(tǒng)時(shí)鐘;分頻與倍頻恰好相反。
本文引用地址:http://butianyuan.cn/article/201807/383567.htm第二點(diǎn),應(yīng)該是執(zhí)行一條指令需要多少個(gè)時(shí)鐘周期,對(duì)于老一點(diǎn)的51單片機(jī)執(zhí)行一條指令需要12個(gè)時(shí)鐘周期,但現(xiàn)在大多數(shù)單片機(jī)執(zhí)行一條指令僅需1個(gè)時(shí)鐘周期(STC的 1 T 單片機(jī)),這樣速度一下子就提高12倍。
第三點(diǎn),就是常說的幾位機(jī),最初接觸的51大多為8位機(jī),而后來(lái)隨著技術(shù)的發(fā)展有了16位機(jī)(飛思卡爾、AVR等)、32位機(jī)(stm32)。我們都知道所有的指令最后執(zhí)行的都是一連串的2進(jìn)制數(shù),對(duì)于8位機(jī)一次可以執(zhí)行8位,而16位機(jī)可以執(zhí)行16位,32位機(jī)可以執(zhí)行32位,這樣32位的明顯比8位的快。
最后一點(diǎn)也是比較難理解的一點(diǎn),就是單片機(jī)的內(nèi)部結(jié)構(gòu),正常情況下一條執(zhí)行完成需要經(jīng)過取指令、解密尋址、執(zhí)行指令三個(gè)步驟,比較老的單片機(jī)在執(zhí)行這三個(gè)步驟時(shí)需要按照?qǐng)?zhí)行順序依次執(zhí)行,而高級(jí)的單片機(jī)(stm32)具有三級(jí)流水線,通俗的理解就是可以同時(shí)執(zhí)行三個(gè)步驟,這樣也大大的增加了單片機(jī)的執(zhí)行速度。
特別注意的是:所有的速度并不是成線性關(guān)系的,即在相同條件下,不是32位機(jī)的執(zhí)行速度就是8位機(jī)的4倍,更不是具有三級(jí)流水線的單片機(jī)的執(zhí)行速度是普通單片機(jī)的3倍。具體原因與其內(nèi)部設(shè)計(jì)的局限性有關(guān)系,這里我也不太清楚,不做太多介紹了。
評(píng)論