單片機(jī)和芯片有什么區(qū)別?單片機(jī)執(zhí)行速度與什么有關(guān)?
單片機(jī)是電子專業(yè)的朋友都接觸過的設(shè)備,可以說單片機(jī)是新手、老手都會玩的利器。為增進(jìn)大家對單片機(jī)的認(rèn)識,本文將對單片機(jī)和芯片的區(qū)別以及單片機(jī)的執(zhí)行速度予以介紹。如果你對單片機(jī)具有興趣,不妨繼續(xù)往下閱讀哦。
一、單片機(jī)和芯片的區(qū)別
近年來,市場對單片機(jī)的需求較為旺盛,單片機(jī)已經(jīng)廣泛應(yīng)用于各個領(lǐng)域,如消費(fèi)、汽車、家電、工業(yè)等等,人們也經(jīng)常會聽到關(guān)于芯片、單片機(jī)的討論,那么單片機(jī)究竟是什么?芯片和單片機(jī)有區(qū)別嗎?為什么單片機(jī)要用C語言編程呢?
那么單片機(jī)和芯片又有什么區(qū)別呢?芯片是半導(dǎo)體元件產(chǎn)品的統(tǒng)稱,大多數(shù)芯片都不可以寫入程式,功能相對單一。而單片機(jī)可以寫入簡單的程序,用起來非常方便,芯片沒有單片機(jī)的功能完善,這就是二者的區(qū)別。
至于單片機(jī)為什么還要用C語言編程,這就要從單片機(jī)編程的特點(diǎn)說起。單片機(jī)的數(shù)據(jù)空間和程序空間都是有限的,因此在編程時最好保持程序的短小精悍。同時,因?yàn)槌朔ê统〞苷加脮r間,拖慢單片機(jī)的速度,因此在編程時應(yīng)該盡可能避免乘法和除法,使用加、減、移位運(yùn)算,簡單來說,就是在進(jìn)行單片機(jī)編程時,需要精打細(xì)算,而高級語言的代碼體積過于臃腫,不適用于單片機(jī)工作。
其實(shí),開發(fā)單片機(jī)多使用C語言最重要的原因,還是因?yàn)槟壳白钸m合單片機(jī)開發(fā)的語言過于復(fù)雜晦澀,并且不同的單片機(jī)匯編指令也不同,不能直接把程序從單片機(jī)上直接移植到另一種單片機(jī)上,如果每次都使用最適合的那種語言來編程,那么工程量巨大,不如使用精簡且執(zhí)行效率高的C語言重寫程序。因此目前C語言才是單片機(jī)開發(fā)編程中最常使用的編程語言。
如今,單片機(jī)已經(jīng)應(yīng)用到了人們生活中的各個領(lǐng)域,只要用上了單片機(jī),產(chǎn)品就獲得了“智能”的前綴,在各行各業(yè)都往智能化、數(shù)字化轉(zhuǎn)型的當(dāng)下,單片機(jī)的發(fā)展?jié)摿O為巨大。
二、單片機(jī)執(zhí)行速度與什么有關(guān)
單片機(jī)的執(zhí)行速度與什么有關(guān)呢,當(dāng)然對于初學(xué)者來說,第一時間想到的是晶振,沒錯,晶振算一個,但準(zhǔn)確的來說應(yīng)該是單片機(jī)的時鐘源(再具體一點(diǎn)就是單片機(jī)的系統(tǒng)時鐘)。單片機(jī)的時鐘源來說有分為內(nèi)部時鐘和外部時鐘,外部時鐘源一般指的就是晶振了;內(nèi)部時鐘對于比較老的單片機(jī)是沒有的(比如51單片機(jī))。還有一點(diǎn)需要注意的是現(xiàn)在許多高級一點(diǎn)的單片機(jī)都會涉及到倍頻和分頻,n倍頻即把單片機(jī)的時鐘源乘以n作為單片機(jī)的系統(tǒng)時鐘;分頻與倍頻恰好相反。
第二點(diǎn),應(yīng)該是執(zhí)行一條指令需要多少個時鐘周期,對于老一點(diǎn)的51單片機(jī)執(zhí)行一條指令需要12個時鐘周期,但現(xiàn)在大多數(shù)單片機(jī)執(zhí)行一條指令僅需1個時鐘周期(STC的 1 T 單片機(jī)),這樣速度一下子就提高12倍。
第三點(diǎn),就是常說的幾位機(jī),最初接觸的51大多為8位機(jī),而后來隨著技術(shù)的發(fā)展有了16位機(jī)(飛思卡爾、AVR等)、32位機(jī)(stm32)。我們都知道所有的指令最后執(zhí)行的都是一連串的2進(jìn)制數(shù),對于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í)行指令三個步驟,比較老的單片機(jī)在執(zhí)行這三個步驟時需要按照執(zhí)行順序依次執(zhí)行,而高級的單片機(jī)(stm32)具有三級流水線,通俗的理解就是可以同時執(zhí)行三個步驟,這樣也大大的增加了單片機(jī)的執(zhí)行速度。
特別注意的是:所有的速度并不是成線性關(guān)系的,即在相同條件下,不是32位機(jī)的執(zhí)行速度就是8位機(jī)的4倍,更不是具有三級流水線的單片機(jī)的執(zhí)行速度是普通單片機(jī)的3倍。具體原因與其內(nèi)部設(shè)計(jì)的局限性有關(guān)系,這里我也不太清楚,不做太多介紹了。
以上便是此次小編帶來的單片機(jī)相關(guān)內(nèi)容,通過本文,希望大家對單片機(jī)具備一定的認(rèn)知。如果你喜歡本文,不妨持續(xù)關(guān)注我們網(wǎng)站哦,小編將于后期帶來更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!





