關於多核心的東西,我以前也玩過,我之所以引用 Bee 的文章,
我是很贊同他對於多核心組譯器的見解。
當然啊,我玩過的那一個多核心也不是Bee 所提的那些國外高檔的東西,
但至少當初第一版的開發平台,我也算有稍微參與過。
Bee 所提的那些組譯環境是如何?我也沒看過,所以,我也不知道該如何搭腔?!
以我自己過去的經驗:我認為這些號稱多核心的東西,我想他們在核心架構有他
過人或特殊之處,但對於一般系統開發者來撰寫程式時,我是覺得應該還是要盡量
以一般普羅大眾的習慣來處理,這樣子,一般人可能會比較容易接受。
換句話講:您的硬體架構搭配您的組譯開發環境,本來就是相輔相成的~
但您還是要做到讓一般人感覺:他還是寫一般傳統的單核心的東西之習慣。
因為您之所以採用多核心的目的:無非就是想提升微控器的執行效能,
但您也不能要求一般工程師硬要配合您的特殊硬體架構去撰寫程式技巧的...
這就有點違背人家高階語言那一種:與硬體無關的語法習慣,
因為畢竟您不能要求寫韌體工程師或是一般程式設計師的硬體觀念都是那麼強的。
結果您一定得要求每個應用工程師去鑽研微控器的硬體架構之後,才有辦法發揮
硬體效能的話?!那對於產品的推廣能力與市場效益絕對有嚴重的負面效應。
您看人家為什麼要推所謂的Embedded System 的平台?!
無非就是為了節決許多與硬體無關的跨平台軟體開發的移植性...
所以我想這是許多想做特殊架構微控器產品的設計工程師們所必須要考慮的。
就如同Bee 所說的:為了玩這些多核心,還一堆人在網路搜尋組譯器的設定?
搞了老半天還老是摸不到頭緒?...那我們不是要稱讚這些會玩的人,
而是我們會質疑這樣子的東西,會有多少人會真正花心思去鑽研?!
您看:Intel 的微處理器在號稱Dual core 或是N 核心之後,
您有看到說:微軟有配合修改他任何一隻程式語言的組譯器嗎?!
傳統的程式語言組譯器所組譯完成的軟體,還不是可以兼容到新一代的多核微處理器嗎?!
這一點的市場推廣與訴求就非常的成功...一般人也很容易接受。
據我所知:有一些園區的IC 設計公司在一些產品上會採用兩顆ARM 在做產品設計,
結果也是用了兩組人在撰寫與維護兩支完全不同的Embedded System...真是辛苦啦。
----
剛好今天有位老同事跟我推薦新一代的微控器:ARM based 的Cortex-M0。
當初我說Cotex-M3 的競爭優勢已經很嚇人了~沒想到他們竟然還推出更低階產品。
擺明就是要衝著傳統 8 bit MCU 市場...從以下您可以看到他的基本架構,
您也看到了:他已經把他的邏輯設計壓在 12000 Gate Counts 左右...這幾乎跟一般
傳統 8 bit MCU 同樣的等級了!...而且他們還都是採用比較先進,比較有經濟規模
的晶圓製程(不好意思,就是TSMC 的.18um製程)!<--- IP詳細規格可以點入察看。
我們就可以想像得到他的成本之低與經濟效能表現了。
(現在做系統還是要懂得看這一種IP的規格所代表的產品意義...是很重要的啦!)
所以國內廠商也順勢推出該 IP 的標準產品,有興趣者可以到以下所提的公司網站
搜尋相關的技術與產品規格書...當然我也把他的價格Highlight 起來...
這是兩個月前的新聞。0.55 美金?我是不知道他們跟ARM licence Cortex-M0 IP 的成本?
但這個價格的確很吸引人...我朋友私底下跟我說:這個價格還一般標準報價,
其實實際他們的價格比這個還低一點...有興趣者可以去問問。...
(真的!...從這個趨勢來看,我們一直強調數位內容所帶來的產品附加價值,
而數位內容靠的無非就是程式容量與執行效能...您說:8 bit 真的守得住這龐大的攻勢嗎?!)
您可以想想:花不到0.55 美金...您可以玩到50MHz 32 bit 的ARM 微處理器...
還是Flash 外加一大堆SRAM...還有ADC 等一大堆周邊。
您可以反過來問一些標準的8 bits 8051 或PIC ...把這些東西加進去之後他們的售價會在哪?!
重點是:他們的產品訴求就是我們這篇文章的重點:他的開發環境號稱可以讓您從
傳統的8051 直接轉換到ARM 平台之上...這一點就是我說的重點,盡量做到與硬體無關
的軟體開發環境...這樣子就對了。
我朋友一直跟我推薦說:您就把他當一般8051 寫就對了。要搶市場就是要如此!
---
今晚有位朋友從大陸回來,剛好邀我過去聚餐...席間,幾位朋友就強烈的推薦我一隻
美國股市明牌:ARMH (ARM HOLDINGS ADR)....
您說:從最夯的手機與行動運算產品,到這個低價微控器,幾乎都快被他搶光了...
真的很難保證說:Intel 的微處理器市場霸主地位會不會受到威脅?真的很難說了。
您說呢?!
---
Cortex-M0: smallest, lowest power ARM processor available
---
MCU技術專輯 Cortex M0, 另一個類8051泛用型MCU 2010/11/04-DIGITIMES企劃
新唐科技(Nuvoton)原屬於華邦電子(Winbond)邏輯事業群,18年來便針對各微控制器進行研發與業務推廣,2008年獨立成為一家資本額20.7億的公司,有消費性電子事業群、專門開發各種MCU微控制器;電腦週邊事業群,開發周邊控制晶片;以及製造事業群,已自有的6吋晶圓廠為客戶做晶圓代工服務。
兼顧低功耗高效能的32位元MCU架構
新唐認為從技術觀點上,ARM Cortex-M0為一個32位元MCU架構,有極為成熟的Keil RVMDK、IAR EWARM等開發套件與生態環境,以自家ARM7TDMI/Cortex M0/M3相比,光是以180奈米成熟製程製作下的Cortex M0,僅需要12K個邏輯閘,最低耗電模式下僅85μW;中斷巢狀化階層數與效能上,Cortex M0為0.9DMIPS/MHz,略輸Cortex M3的1.25DMIPS/MHz,略優於ARM7TDMI的0.75~0.95DMIPS/MHz,Cotrtex M0/M3節電管理也優於ARM7TDMI。
跟8位元MCU常勝軍8051相比,Cortex M0憑藉32位元指令架構,執行效能遠勝過8051以及坊間PIC18F242/MSP430FG4619等8/16bit MCU有3~3.5倍,若使用Keil uLib函示庫最佳化,執行效能差距更達4~5倍,這也是新唐選擇Cortex M0作為進軍低價8/16bit MCU核心的原因。
新唐的NuMicro M051(M052/M054/M058/M0512)系列,採取ARM Cortex-M0 32bit MCU核心IP,工作時脈50MHz,具備Thumb-2壓縮指令集技術,指令集向前相容到Cortex-M3/M4以及ARM7TDMI,以及45DMIPS執行效能。NuM051系列工作電壓為2.5~5.5V,內建頻率振盪器、獨立4KB 程式/資料SRAM,以及內嵌8~64KB FlashROM儲存程式碼設計。
芯海戰術 遍及各種應用
NuC120 USB產品線系列,則針對USB OTG外接周邊裝置的需要,提供較大的128KB Flash,供程式執行與資料讀寫的SRAM容量增加到16KB,並整合直接記憶體存取(Direct Memory Access;DMA)通道,額外提供1組USB控制電路, I2S、GP I/O、看門狗計時器(Watchdog Timer)、真實時鐘Real Time Clock,RTC)等周邊電路;同時因應各種不同的對外針腳數密度(LQFP48/64/100),提供4/6/8組PWM節能計時器,針對需要USB介面連接的行動裝置、儲存周邊裝置等應用為主。
NuC130/140系列同樣提供128KB Flash ROM與16KB SRAM,並整合車用電子常見的CAN/LIN匯流排控制介面,I2C/SPI/SSI串列匯流排,同時因應各種不同的對外針腳數密度(LQFP48/64/100),提供4/6/8組PWM節能計時器,NuC140額外提供1組USB OTG匯流排控制器,來分別針對車用電子、醫療電子,以及需要USB OTG功能的行動裝置或儲存周邊裝置等應用為主。
NuC101系列提供1組USB、1組I2C、1組UART以及2組SPI Bus,以LQFP48或QFN36對外腳位封裝設計,可作為PC/NB的鍵盤、觸控板或觸控面板的微控制器等應用。
在往上的市場區隔,新唐將會有更高階的NUC150/160以及NUC200系列,內嵌Flash記憶體容量進一步擴大到512KB,同時程式執行/資料讀寫SRAM加大到64KB,並內建1組12bit A/D類比數位轉換電路、1組10/100Mbps乙太網路埠、步進馬達變頻控制器,進一步作為工業控制或寬頻網路通訊應用之用。
MCU授權比比皆是 開發偵錯套件與Web即時服務加值
在面對ARM Cortex核心授權廠商比比皆是的情形下,新唐藉由18年來MCU開發與業務行銷經驗,以及從2000年進入ARM架構MPU領域研究、累積10年經驗與80位專屬技術工程師的人力支援,在公司Web網站上提供充足的技術文獻,以及討論區等技術諮詢/支援。同時為了來加速客戶開發MCU應用的學習時間,新唐提供自行研發的4 cm x 10 cm 的Tiny SDK微型系統開發套件、Nu-Link ICE整合開發環境連接偵錯套件、EVB評估工程樣本PCB板,以及Bu-LB學習PCB板等等。
另外新唐提供了完整的中介軟體與驅動程式,包含由micrium提供的uC/OS-II、FreeRTOS等OS,自行撰寫的MiniNVTFAT、USB/SD讀卡機驅動程式,與開放源碼授權的EFSL、FatFS檔案系統機驅動程式。
32bit MCU將向下壓擠4/8/16bit MCU市場
目前32bit MCU市場報價仍在4美元,而16bit MCU報價降到1.5美元,進而壓擠到8bit MCU低於1美元單價,以及4bit低於0.3美元的報價。新唐科技在2009年初宣布取得ARM Cortex-M0核心IP授權,以NuMicro系列MCU進軍32位元MCU市場,最低報價僅0.55美元。預計將憑藉著成本優勢,對既有的 8位元及32位元微控制器市場區段造成衝擊。
新唐副總經理黃瑞明認為,以市調預測MCU市場,ARM架構MCU營收將在2010年超越MIPS並遙遙領先。無論從速度、性能或價格來比較,32位元的NuMicro M051以及NuC1xx系列,都預計會將MCU帶入嶄新的應用世代,並且加速32bit MCU的世代交替現象。
疑!我還以為我的文章跑來這了。仔細看多了三個問號。
回覆刪除之前在玩CUDA時,有一些新手一直問。怎麼教就是不會懂。最後我建議他回去玩OpenMP,還被唸說我沒耐心。
唉!連X86的多執行緒都沒搞清楚,還怪人不會教。在C#上就將for改為parallel.for就這樣。而OpenMP也只是去編譯器設定中,將選項勾起來就可以了。
但重點是,要自己去Run過才行!
不過Forth的人跑去看,這個我沒有想到。Forth喜歡自己修改機器碼,這個在多核心上好像不被公開。才會有組譯器問題。
不過現在多核心隨手可得。接下來又是軟體的問題。
因為老闆只會說:為何你的程式滿載只有50%,是不是雙核心不會用,這個是軟體問題。
想在這波多核心轉換中活下來,軟體工程師真的不能不會去調一下編譯器設定。
這位同學啊....我文章的意思是說:真的沒有人,包括您老闆在內,
刪除真的沒有人想去深入探討這個軟體的編譯器的問題。
人家只是在乎最後整體的市場經濟效益...
就如同您自己說的:在未來ARM 將比x86 的行銷數量遠超過數十倍...
誰會去管ARM 或x86 的這些小細節呢?!....就像我們還在討論大學生PPT 的事時,
我們有留意到人家Facebook 的成功之處嗎?!
一樣是寫軟體的工程師與科技宅男,一樣選擇鍾愛於自己所興趣的~
但為何創造出來的東西與市場規模是不一樣的?!這個是我們想知道的!
不是嗎?!