2016-12-28 86 views
-1

人們總是希望有一名工程師能夠在8位,16位和32位控制器中編程/使用經驗。當我們編程8,16,32位微控制器時,我仍然無法弄清楚是否有巨大的差異?或者在聲明變量方面只是不同...編程微控制器8位,16位,32位時有什麼區別?

+1

駕駛無齒輪助力車和20噸卡車有很大區別嗎?這些技術與現有的設施非常不同。您的示例中的一個明顯區別是,8位處理器無法簡單地執行16位或32位算術運算。我說這是因爲你沒有提到任何高級語言。 –

回答

1

類似於Weather Vane的評論。駕駛一輛小型小型汽車,一輛皮卡車,一輛搬運車和一輛半卡車(牽引車 - 拖車)有什麼不同?那麼,他們在很多方面都是一樣的,氣體,剎車,方向盤,座位,門,窗戶,收音機,大燈,所有的東西,你剎車,燃氣和駕駛。你能用智能汽車搬家嗎?嗯,不是所有的東西,雖然你可能可以得到一個小的拖車爲牀和沙發,但你可以一次移動一兩箱,並做出噸的旅行,皮卡減少旅行,半可能一次旅行取決於多少你有的東西。

如果您正在編程像C這樣的高水平,那麼最初它會感覺到相同的氣體,剎車,轉向。但這就像是多次旅行來移動你的東西或幾個或一個。一般來說,你可以用8位處理器做一個64位的數學運算,一個16位數,我們知道一個32位數,因爲我們總是這樣做,而且自然是64位。它只需要更多的行程,你必須將數學分解成幾部分,並一次完成一個部分。自然就像使用你的平板來搬運公寓裏的東西一樣,它比使用卡車需要更多的時間。

剛纔看到有人在這裏使用Microchip PIC上的浮點數,經常看到(浮在微控制器上),如果編譯器有一個庫,它允許人們嘗試它,但它們很快就會用完閃光燈和/或內存和他們的表現是可怕的。

因此,在某些方面,它是關於瞭解變量與您在Windows或Linux上使用的大小不一樣,事情需要更長時間,資源少得多,調試是或可能有點不同,就像脫離大衆汽車的錯誤,這是你駕駛過的唯一的一輛汽車,然後乘坐皮卡車或廂式貨車,每次轉彎時都會夾住路邊石或停放的汽車,無法停在燈光下等等。最終你會習慣它。與移動卡車不同的是,當你搞砸時,你通常不會傷害處理器中的碎片,你可以讓軟件冒出來並確保系統可用,但希望更多的時候程序不會生成或不運行,或者運行速度非常慢,每次都要坐牢,跑過站在角落的行人。

在這個時代(實際上很長一段時間,但現在很平凡),你可以找到各種模擬器/模擬器,你可以試着去感受這些平臺。性能可能不正確,但如果你只有1024字節的RAM和幾K字節的閃存,你會立即感覺到,並想知道爲什麼只有幾行高級代碼消耗這麼多的指令。理解一些事情,比如可能在8位MCU上,我應該使用大多數8位變量,這樣我就不會燒這麼多的代碼(除非編譯器算出來,仍然是浪費),同樣在16位使用大多數16位和32位大多數32位。 (試圖在更大的平臺上「保存」內存實際上會花費更多的週期,如果它沒有本機的指令或者添加額外的指令來做簽名擴展或剪輯),則必須簽署擴展或剪輯每個操作。

相關問題