注:本文是作者以前發表在其個人博客,現在發布到“聚豐開發”專欄
不經意間,“酷睿雙核”已經成為電腦CPU性能達標的代名詞,雙核從字面意思理解就是里面有兩個CPU的核,原來一臺電腦只有一個CPU核處理事情,如果用了雙核CPU,就有兩個CPU核來處理事情,這樣速度和效能會更高。
這樣在一般人眼里,雙核儼然代表了先進的技術和先進的性能,當然同時也代表著先進的價格,不信可以去回顧一下市場價格,同一時期雙核電腦CPU要比單核的價格高不少。
從性能和價格上電腦CPU和單片機是沒有可比性,如果說電腦CPU是大佬,那么單片機就是大佬馬仔的馬仔的馬仔的馬仔的馬仔。既然雙核電腦CPU性能比單核的要強大不少,作為和電腦CPU八百年前祖上是一家的單片機,如果也用雙核技術,想必性能也會提升不少。
理論上講設計出雙核單片機完全沒有問題,只是單片機要求價格便宜,要是設計出一款雙核單片機,假設性能可以提升一倍,但價格也要上升許多,恐怕不會有多少人可以用。
在我的潛意識里,一直都認為雙核單片機是一種相對昂貴的產品,應該沒有機會和現在大量價格不超過人民幣1塊錢的普通單片機進行競爭,直到去年底接觸到***應廣科技的一款雙核單片機,才徹底改變了我這種認識。
在介紹這種雙核單片機之前,讓我們一起了解一下目前市場上價格不超過人民幣1塊錢的一些單片機,這些單片機的具體性能參數不做介紹,這里只列舉大致參考價格(可能存在少許偏差)。
義隆 EM78P153 市場參考價0.7~0.8元
飛凌 兼容版153 市場參考價0.55~0.6元
博巨興 兼容版153 市場參考價0.45~0.55元
麥肯、佑華等公司性能相當型號 市場參考價 0.6~0.7元
在讓我們來看一下這款單片機的一些性能參數:
內置2個FPPA處理單元
1k Word OTP 程序存儲器
64 Bytes RAM 數據存儲器
包含跳轉指令在內的絕大多數指令為單周期指令
支持位操作
支持硬件延時和等待指令 *注1 *注2
13條雙向IO口+1條輸入口
3通道8位A/D轉換器
IO支持VDD/2電壓驅動LCD
內部低速RC、內部高速RC、外部振蕩器、外部RC、外部時鐘可選
休眠電流<1uA
工作電壓 2.5~5.5V
工作溫度 -40~105攝氏度
(*注1:該單片機支持delay 100指令,該指令為延時等待100+1個周期)
(*注2:該單片機支持wait1 pa.0指令,該指令為當pa.0為高時才執行下一條指令)
以我個人的經驗,現在市面上的單片機,如果想找出一款支持PWM、ADC、UART中任意一種功能的型號,價格一般都超過人民幣1塊錢,而且一般都只支持其中的一到兩種,除非是價格達到2~3元的型號。而如果選用前面列舉參數的單片機,本身硬件已經直接支持ADC,而且還可以通過軟件在不影響主程序的前提下實現高速PWM和UART功能。
上圖為該雙核單片機的內部構架示意圖,從圖可見該單片機內部有兩個核,分別為FPP0和FPP1,每個核自己有獨立的程序指針(PC)、堆棧指針(SP)、累加器(ACC)和狀態寄存器(CF)。設計原理并不復雜,是讓這兩個核共享系統時鐘,第一個系統時鐘周期執行FPP0程序,第二個系統時鐘周期執行FPP1程序,依次間隔往復,這樣就可以讓兩個核各自運行自己的程序。
兩個核都可以訪問控制RAM和特殊功能寄存器,因為在一個系統周期內只有一個核在工作,所以不會出現兩個核同時寫某個RAM或寄存器的狀況。為了讓大家更清晰地理解這個雙核單片機的工作機理,下面我以問答的方式對部分特性進行說明。
1.兩個核的程序放在什么地方?如何執行?
樣例代碼:
地址 指令
0x000 goto main0
0x001 goto main1
...
main0:
...
main1:
...
回答:單片機上電后FPP0的程序指針指向0x000,FPP1的程序指針指向0x001,但是單片機系統只啟動FPP0,FPP0跳轉到main0開始執行該位置的代碼,FPP1需要在main0代碼設置相應控制寄存器位才能啟動。
系統上電只啟動FPP0是為了便于程序統一初始化各特殊功能寄存器,如果在FPP0和FPP1中都分別進行初始化,很有可能造成系統配置混亂。
2.如果我在main1中使用跳轉指令跳轉到main0中,會有什么后果?
goto main0
goto main1
...
main0:
...
main0_loop:
...
goto main0_loop
...
main1:
...
goto main0 //***這里跳轉到main0中***//
...
回答:編譯器會報警出錯,所以后果就是代碼錯誤無法通過編譯,需要刪除該代碼。
3.會不會出現兩個核同時寫某個RAM變量而導致寫失敗的情況?
回答:每個系統時鐘周期只有一個核會工作,所以不會出現兩個核在同一時刻寫同一地址的情況。
4.既然FPP1需要FPP0的程序來啟動,那不啟動FPP1時是不是FPP0運行速度會增快一倍呢?
回答:啟動FPP1與不啟動FPP1不影響FPP0的運行速度,FPP0的速度總是系統時鐘的一半,這個是由系統硬件自動進行分配的,不啟動FPP1的影響是在屬于FPP1的那一半時間單片機沒有執行代碼。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
單片機
+關注
關注
6039文章
44583瀏覽量
636518
發布評論請先 登錄
相關推薦
雙核單片機之初體驗
在市面上的單片機,如果想找出一款支持PWM、ADC、UART中任意一種功能的型號,而如果選用前面列舉參數的單片機,本身硬件已經直接支持ADC,而且還可以通過軟件在不影響主程序的前提
發表于 11-23 17:31
?6526次閱讀
RTOS實現雙核MCU消息通信
手機、電腦多核的CPU你可能經常看見,但多核的單片機相對來說就不那么常見了。隨著需求的增加、技術的進步,單片機已不再局限于單核了,因此,近幾年陸續出現了雙核的
發表于 06-07 14:45
?1211次閱讀
S12X系列雙核單片機的整車控制器CAN結點設計
本文介紹了Freescale公司MC9S12X系列雙核單片機在混合動力汽車整車控制器中應用的優點,給出了其進行CAN總線通信的硬件接口設計與執行流程。
發表于 09-11 16:56
?8277次閱讀
雙核單片機之初體驗--2
注:本文是作者以前發表在其個人博客,現在發布到“聚豐開發”專欄? ? ?5. 應廣雙核單片機支持中斷嗎?回答:? ? ? ?應廣雙核
雙核單片機之初體驗--3
注:本文是作者以前發表在其個人博客,現在發布到“聚豐開發”專欄10.能否通過一些應用實例來讓大家了解應廣雙核單片機針對某些應用場合的便捷性?? ? ? 例1:? ? ? 目前價格低于0
單片機應用系統設計技術——雙單片機串口通信實驗
雙單片機串口通信實驗一、實驗目的二、實驗內容三、實驗步驟四、C代碼如下五、實驗結果六、實驗體會一、實驗目的1、 掌握單片機串口通信的設計方法; 2、 了解
發表于 11-05 13:50
?15次下載
STM32H5 DA 之初體驗(帶 TrustZone)
電子發燒友網站提供《STM32H5 DA 之初體驗(帶 TrustZone).pdf》資料免費下載
發表于 02-19 14:19
?0次下載
評論