網站首頁 個人範例 行業範例 行政範例 職場範例 校園範例 書信範例 生活範例 節日文化範例
當前位置:文學範文吧 > 個人範例 > 求職

mcu是什麼-mcu區別

欄目: 求職 / 發佈於: / 人氣:1.14W

mcu在我們眼裏,是一個很陌生的詞彙。那麼mcu是什麼呢?以下是本站小編整理的關於MCU相關內容,歡迎閲讀和參考!

mcu是什麼-mcu區別

mcu是什麼_mcu區別

mcu是什麼

微控制單元(Microcontroller Unit;MCU) ,又稱單片微型計算機(Single Chip Microcomputer )或者單片機,是把中央處理器(Central Process Unit;CPU)的頻率與規格做適當縮減,並將內存(memory)、計數器(Timer)、USB、A/D轉換、UART、PLC、DMA等周邊接口,甚至LCD驅動電路都整合在單一芯片上,形成芯片級的計算機,為不同的應用場合做不同組合控制。諸如手機、PC外圍、遙控器,至汽車電子、工業上的步進馬達、機器手臂的控制等,都可見到MCU的身影。

mcu區別

在20世紀最值得人們稱道的成就中,就有集成電路和電子計算機的發展。20世紀70年代出現的微型計算機,在科學技術界引起了影響深遠的變革。在70年代中期,微型計算機家族中又分裂出一個小小的派系--單片機。隨着4位單片機出現之後,又推出了8位的單片機。MCS48系列,特別是MCS51系列單片機的出現,確立了單片機作為微控制器(MCU)的地位,引起了微型計算機領域新的變革。在當今世界上,微處理器(MPU)和微控制器(MCU)形成了各具特色的兩個分支。它們互相區別,但又互相融合、互相促進。與微處理器(MPU)以運算性能和速度為特徵的飛速發展不同,微控制器(MCU)則是以其控制功能的不斷完善為發展標誌的。

CPU(Central Processing Unit,中央處理器)發展出來三個分枝,一個是DSP(Digital Signal Processing/Processor,數字信號處理),另外兩個是MCU(Micro Control Unit,微控制器單元)和MPU(Micro Processor Unit,微處理器單元)。

MCU集成了片上外圍器件;MPU不帶外圍器件(例如存儲器陣列),是高度集成的通用結構的處理器,是去除了集成外設的MCU;DSP運算能力強,擅長很多的重複數據運算,而MCU則適合不同信息源的多種數據的處理診斷和運算,側重於控制,速度並不如DSP。MCU區別於DSP的最大特點在於它的通用性,反應在指令集和尋址模式中。DSP與MCU的結合是DSC,它終將取代這兩種芯片。

1.對密集的乘法運算的支持

GPP不是設計來做密集乘法任務的,即使是一些現代的GPP,也要求多個指令週期來做一次乘法。而DSP處理器使用專門的硬件來實現單週期乘 法。DSP處理器還增加了累加器寄存器來處理多個乘積的和。累加器寄存器通常比其他寄存器寬,增加稱為結果bits的額外bits來避免溢出。同時,為了 充分體現專門的乘法-累加硬件的好處,幾乎所有的DSP的指令集都包含有顯式的MAC指令。

2. 存儲器結構

傳統上,GPP使用馮.諾依曼存儲器結構。這種結構中,只有一個存儲器空間通過一組總線(一個地址總線和一個數據總線)連接到處理器核。通常,做一次乘法會發生4次存儲器訪問,用掉至少四個指令週期。

大多數DSP採用了哈佛結構,將存儲器空間劃分成兩個,分別存儲程序和數據。它們有兩組總線連接到處理器核,允許同時對它們進行訪問。這種安排將處理器存儲器的帶寬加倍,更重要的是同時為處理器核提供數據與指令。在這種佈局下,DSP得以實現單週期的MAC指令。

典型的高性能GPP實際上已包含兩個片內高速緩存,一個是數據,一個是指令,它們直接連接到處理器核,以加快運行時的訪問速度。從物理上説,這種片內的雙存儲器和總線的結構幾乎與哈佛結構的一樣了。然而從邏輯上説,兩者還是有重要的區別。

GPP使用控制邏輯來決定哪些數據和指令字存儲在片內的高速緩存裏,其程序員並不加以指定(也可能根本不知道)。與此相反,DSP使用多個片內 存儲器和多組總線來保證每個指令週期內存儲器的多次訪問。在使用DSP時,程序員要明確地控制哪些數據和指令要存儲在片內存儲器中。程序員在寫程序時,必 須保證處理器能夠有效地使用其雙總線。

此外,DSP處理器幾乎都不具備數據高速緩存。這是因為DSP的典型數據是數據流。也就是説,DSP處理器對每個數據樣本做計算後,就丟棄了,幾乎不再重複使用。

3.零開銷循環

如果瞭解到DSP算法的一個共同的特點,即大多數的處理時間是花在執行較小的循環上,也就容易理解,為什麼大多數的DSP都有專門的硬件,用於 零開銷循環。所謂零開銷循環是指處理器在執行循環時,不用花時間去檢查循環計數器的值、條件轉移到循環的頂部、將循環計數器減1。

與此相反,GPP的循環使用軟件來實現。某些高性能的GPP使用轉移預報硬件,幾乎達到與硬件支持的零開銷循環同樣的效果。

4.定點計算

大多數DSP使用定點計算,而不是使用浮點。雖然DSP的應用必須十分注意數字的精確,用浮點來做應該容易的多,但是對DSP來説,廉價也是非 常重要的。定點機器比起相應的浮點機器來要便宜(而且更快)。為了不使用浮點機器而又保證數字的準確,DSP處理器在指令集和硬件方面都支持飽和計算、舍 入和移位。

5.專門的尋址方式

DSP處理器往往都支持專門的尋址模式,它們對通常的信號處理操作和算法是很有用的。例如,模塊(循環)尋址(對實現數字濾波器延時線很有用)、位倒序尋址(對FFT很有用)。這些非常專門的尋址模式在GPP中是不常使用的,只有用軟件來實現。

6.執行時間的預測

大多數的DSP應用(如蜂窩電話和調制解調器)都是嚴格的實時應用,所有的處理必須在指定的時間內完成。這就要求程序員準確地確定每個樣本需要多少處理時間,或者,至少要知道,在最壞的情況下,需要多少時間。如果打算用低成本的GPP去完成實時信號處理的任務,執行時間的預測大概不會成為什麼問題,應為低成本GPP具有相對直接的結構,比較容易預測執行時間。然而,大多數實時DSP應用所要求的處理能力是低成本GPP所不能提供的。 這時候,DSP對高性能GPP的優勢在於,即便是使用了高速緩存的DSP,哪些指令會放進去也是由程序員(而不是處理器)來決定的,因此很容易判斷指令是從高速緩存還是從存儲器中讀取。DSP一般不使用動態特性,如轉移預測和推理執行等。因此,由一段給定的代碼來預測所要求的執行時間是完全直截了當的。從而使程序員得以確定芯片的性能限制。

7.定點DSP指令集

定點DSP指令集是按兩個目標來設計的:使處理器能夠在每個指令週期內完成多個操作,從而提高每個指令週期的計算效率。將存貯DSP程序的存儲器空間減到最小(由於存儲器對整個系統的成本影響甚大,該問題在對成本敏感的DSP應用中尤為重要)。為了實現這些目標,DSP處理器的指令集通常都允許程序員在一個指令內説明若干個並行的操作。例如,在一條指令包含了MAC操作,即同時的一個或兩個數據移動。在典型的例子裏,一條指令就包含了計算FIR濾波器的'一節所需要的所有操作。這種高效率付出的代價是,其指令集既不直觀,也不容易使用(與GPP的指令集相比)。 GPP的程序通常並不在意處理器的指令集是否容易使用,因為他們一般使用象C或C++等高級語言。而對於DSP的程序員來説,不幸的是主要的DSP應用程序都是用匯編語言寫的(至少部分是彙編語言優化的)。這裏有兩個理由:首先,大多數廣泛使用的高級語言,例如C,並不適合於描述典型的DSP算法。其次, DSP結構的複雜性,如多存儲器空間、多總線、不規則的指令集、高度專門化的硬件等,使得難於為其編寫高效率的編譯器。 即便用編譯器將C源代碼編譯成為DSP的彙編代碼,優化的任務仍然很重。典型的DSP應用都具有大量計算的要求,並有嚴格的開銷限制,使得程序的優化必不可少(至少是對程序的最關鍵部分)。因此,考慮選用DSP的一個關鍵因素是,是否存在足夠的能夠較好地適應DSP處理器指令集的程序員。

8.開發工具的要求

因為DSP應用要求高度優化的代碼,大多數DSP廠商都提供一些開發工具,以幫助程序員完成其優化工作。例如,大多數廠商都提供處理器的仿真工具,以準確地仿真每個指令週期內處理器的活動。無論對於確保實時操作還是代碼的優化,這些都是很有用的工具。 GPP廠商通常並不提供這樣的工具,主要是因為GPP程序員通常並不需要詳細到這一層的信息。GPP缺乏精確到指令週期的仿真工具,是DSP應用開發者所面臨的的大問題:由於幾乎不可能預測高性能GPP對於給定任務所需要的週期數,從而無法説明如何去改善代碼的性能。

Tags:mcu