在三星獵戶座雙四核、高通600和800的非同步四核以及Tegra4的4+1核心面前,M7協處理器的意義究竟有多大?

如題,M7主要是能獨立控制感測器,那非同步四核這樣的處理器動用一個核心一樣能夠控制感測器,理論上耗電量不會有很大差距吧


聲明:

這裡的「協處理器」專門指代Apple(NXP) M7這樣用於負責感測器低功耗運行的部件

而非基帶晶元里的CPU或DSP等輔助用途的處理器。

其實,基帶晶元,eMMC等晶元都是單片機,裡面都有CPU。

--------------------------------

『M7主要是能獨立控制感測器,那非同步四核這樣的處理器動用一個核心一樣能夠控制感測器,理論上耗電量不會有很大差距吧』

我們拿搭載MSM8974(也就是800系列的主打產品)的Nexus5來舉例:

這個手機有「協處理器」(估計是整合在MSM8974裡面了),和非同步運行的CPU(krait v3)。

-------------------------------------

場景一:

Nexus5有一個永不關閉的計步器,它依靠這個「協處理器」做到了「永不關閉」的特性。

這個時候我們試圖把Nexus5的耗電降至最低:

1,打開飛行模式,這可以關閉基帶乃至射頻功放等耗電部件。

2,把Nexus5丟一邊,過一個星期再來看看,估計這個時候電池掉了三分之一

場景二:

1,用傳統的辦法:讓Nexus5Hotplug一個CPU,讓它監聽感測器的數據,這裡不妨用氣壓感測器,它的電流小於0.01mA,功耗可以忽略不計。

2,把Nexus5丟一邊,過24小時再來查看,發現手機已經(耗盡電量)自動關機

其實,Hotplug一個CPU,讓它運行在最低頻率(384Mhz),就是平添100毫瓦級別的功耗。

詳情見Anandtech的MDP8960評測

MDP8960使用MSM8960晶元(28nm LP),性能比MSM8974(28nm HKMG)稍差。

----------------------------------------

實際上的區別沒有這麼誇張,但如果這樣的App用上「協處理器」的API話

行者騎行軟體

估計可以提高一倍的續航。


不一樣的。沒有M7的話,一個應用需要隔一段時間就喚醒自己,然後接受一會各個感測器的數據,然後分析一下你是在幹嘛呢,然後再睡過去。有了M7,這些事情都是M7代辦的。M7一直檢測著,並分析你在做什麼運動,並把結果存儲好,最多可以存儲7天。比如你的應用可以一天才喚醒一次,直接從M7里讀這一天的數據就行了。


Cortex-M3和cortex-a系列的耗電量差距不是差別一點大(有人有興趣再往下寫)

---2013.12.31 12:23開始碼字 答主在2013年的最後一天晚上還要考試,純粹是冒死寫答案,求贊---

一,先講功耗

M7聽蘋果吹那麼凶,其實本質上就是一個Cortex-M3內核的NXP LPC處理器,而三爽,高通和蘋果的東西都是基於Cortex-A系列改的CPU,這個耗電量的問題,其實看看Cortex-M系列和Cortex-A系列的介紹就知道了。

ARM公司在經典處理器ARM11以後的產品改用Cortex命名,並分成A、R和M三類,旨在為各種不同的市場提供服務。「A」系列面向尖端的基於虛擬內存的操作系統和用戶應用;「R」系列針對實時系統;「M」系列對微控制器。

關鍵還是功耗的問題,先看看Cortex-M3(同一個內核的差別不大),答主沒有用過NXP LPC,但實驗室其他學長用過,我只用過STM32,據說功耗差不多,STM32是3.3V供電,幾十毫安數量級的電流3.3V*30mA(取以較大的值)=99mw。

再看看Cortex-A系列的功耗吧,其實這個專門用於移動設備的東西功耗不好測,根據任務不同功耗變動太大。Cortex-A系列中,目前最省電的是Cortex-A7,找一個Cortex-A7的晶元來試試。三爽的5410的4+4核,有4個核就是A7的,

貼一張圖大家湊合著看,一般的應用的功耗就是百毫瓦數量級。

而高通S4,Scorpion核心雙核功耗是在450mw-750mw浮動。

這點大家可以看到功耗差別,而且對於這款M7在蘋果的應用中的用途其實就收集數據和簡單處理並儲存。就可以關閉很多的M7的許多其他功能(我懷疑這款LPC是蘋果向NXP定製的,沒有其他功能了),只保留基本運算和一些對感測器以及CPU的匯流排。這樣功耗就更丟了,剛才那個M7功耗是對一般的Cortex-M3的stm32.如果是定製的,功耗肯定更低。

---------答主複習去了,不好意思,還沒寫完,2014再寫。------

---------答主考完EDA了,滾回來寫答案了。1.3還要考通信電子線路-------------------------

(補充上文LPC的具體型號 LPC18A1 )

關鍵還要看看M7在IOS裡面起什麼樣的作用,就目前的資料來看,主要作用是在鎖屏,CPU睡眠的時候帶CPU收集感測器數據,並進行一些簡單的預處理並儲存。常用的感測器就是陀螺儀,氣壓計,加速度計,GPS。M7收集的數據我目前看到的有加速計、陀螺儀、指南針。

iphone作為一款消費類電子產品,面向的主要還是普通大眾,一般人的運動速度快也不可能快到哪去,所以可以把幾個感測器的測量頻率都降下來,測個大概也八九不離十(跟飛機一類也用慣性導航的相比)。

就這幾個感測器,你們覺得能夠拿來做什麼?沒錯,健身。

M7協處理器還可作為健身類應用提供各種API,讓開放者更方便的開發應用軟體。比如下面這些情景:當你在走路、跑步、開車的時候,M7可以通過感測器檢測到你所處的環境,比如你從開車下來走路,M7就能對當前路徑重新計算,並通過應用反饋出來;再比如,當你睡覺了不再使用手機(沒有關機的情況下),M7可以可向CPU發送信號,對其進行降頻,並減少網路信號檢測,以延長續航

將來,M7協處理器可以做的更多。據悉,蘋果正在測試新的地圖應用,當用戶停車之後,M7可以檢測並自動記錄汽車的位置,當用戶返回時,iPhone通過地圖幫助用戶找到汽車的位置。而這只是其中一個實例。

對於目前的手機來說,智能已不再是更強的硬體配置,而是更強的感知和處理能力,這也是未來智能手機發展的趨勢。

另外,有人提到M7還可以解碼、圖型協處理、信號接受。圖形協處理估摸著沒多大用,畢竟Cortex-M3的處理能力要處理圖形,還是菜了點,圖形計算本來大多是浮點運算。

下次寫的,哪些安卓也用了類似的設計(安卓好像比蘋果還早用這東西,蘋果真是會營銷,iPhone 5S懂你「芯」:M7協處理器淺析-iPhone 5S,M7,協處理器,淺析),重點寫MOTO X。


在探照燈、白熾燈、日光燈、節能燈面前,夜燈的意義究竟有多大?

況且 M7 是為感測器數據處理優化的,耗電量和效率表現比通用 CPU 絕對好很多。


你舉出的這幾個體系有著很大差別,幾乎沒啥可比性。

按你的順序,首先說三星Exynos

「獵戶座」(既Orion)其實是Exynos4210的開發代號,並不能指代新的Exynos5系SoC,Exynos由兩個希臘語單片語合而來:Exypnos和Prasinos,分別代表「智能」與「環保」之意,不是指獵戶座。

而所謂「雙四核」對應的名詞是big.Liittle。這個架構並非三星所有,而是ARM的標準設計,本意是為了壓制Cortex-A15那讓人難以接受的功耗。原始的big.Liittle使用了兩個Cortex-A7核心與Cortex-A15協同工作(三星加到了4+4),在低負載情況下使用高能耗比的Cortex-A7節省電量,高負載下使用Cortex-A15飆性能,兩種核心一一對應,這涉及到一系列複雜的核心遷移機制,必要時可以所有核心全開。

由於某些人不理解這個東西的運作機制,加上三星一開始的驅動和當年Android使用的低版本Linux內核確實無法支持八核全開,導致了「雙四核」這個有點不倫不類的名字。而實際上三星已經承諾在最近的升級中加入八核補丁。

我不知道讀者能理解到什麼程度,打一個比方,把CPU比做一個工廠,big.Liittle其實是雇了兩種工人。大塊頭(Cortex-A15)加工速度快,但是要求的單件產品工資更高,小個子(Cortex-A7)加工速度慢一些,但是工資便宜。合理僱傭這些人,就可以讓工廠在旺季和淡季獲得最佳效益(既最長續航時間)。

然後是高通snapdragon

所謂「非同步四核」,對應的名詞應該是aSMP(asynchronous SMP)。由於N年前Intel和AMD曾經有過一個真假雙核之爭,涉及到了SMP(Symmetric multiprocessing,對稱多處理)和AMP(Asymmetric multiprocessing,非對稱多處理,也被稱為非同步)這兩個概念,導致無數扯不清這三個概念的偽科普在互聯網洪水泛濫,「膠水x核」以訛傳訛,大批錯誤信息誤導了一代又一代的人。(當然krait300以前高通的單線程效率確實渣,但確實和這個所謂「非同步」沒關係)

這個aSMP並不是同時只能有一個核心工作的AMP,而是多個核心和L2緩存可以工作在不同的電壓和頻率下,可以根據當前使用強度動態調整,達到省電的目的。(不過aSMP確實有缺點,這裡不贅述)

事實上三星從Exynos4412也開始使用aSMP了,完全是個大路貨,討論這個概念沒什麼必要。

用上面那個比方的話,工廠雇的人都是一樣的大個子,但是可以讓某一個或者某幾個員工少干一點並拿更低的工資。但大個子始終是大個子,給的工資太少會餓死的。。。

英偉達家的Tegra

這個大小核和big.Liittle相似,不過沒那麼複雜。那一顆小核心是英偉達根據Cortex-A15改進的,較高負載下Tegra4就是簡單的四核Cortex-A15,低負載下就是一顆改進的Cortex-A15省電核心工作。

(Cortex-A7其實也是Cortex-A15改的,不過是ARM自己的改動,另外值得一提的是Cortex-A7性能其實高於Cortex-A8,不能只看數字哦)

對以上三個概念的辨析,追求更多技術細節的可以參見移動CPU非同步多核和大小核的那些事

蘋果的M7

值得注意的是,剛才提到的所有核心,無論大核小核都是完整意義上的「CPU」,是屬於Cortex-A 系列的,而蘋果的伴核是Cortex-M 系列,只能算MCU。

(M7終於現身!iPhone5s拆解技術細節揭秘)

拿剛才那個比方來說,只能算工廠的一條看門狗吧。。。假設工廠晚上經常有人來騷擾,無論讓大個子或者小個子去值夜班都會浪費勞動力,但是養條狗的話就省心多了=。=

其實這條狗不止蘋果養了,蘋果也不是第一個養的。德儀家的OMAP4470就有兩個Cortex-M3伴核,架構和Apple A7的伴核相同,摩托的X8 mobile computing system搞了更高難度的東西,實現了moto X拉風的無觸摸喚醒。

but,蘋果永遠有著同一硬體平台的優勢和對生態鏈的強勢控制,Android必須等著硬體的緩慢迭代和開發者的適配,而蘋果只需告訴某些應用「不用伴核就休想進appstore」,然後世界就安靜了。


其實這種做法在對成本不敏感的領域一早就有。只不過現在這些廠商才在成本和技術成熟的階段把它應用到手機上。大多數汽車娛樂系統,其實一直就是把車內感測器的數據還有一些其他簡單任務放在單獨的單片機上處理的,需要的時候再和應用處理器交換數據。

這樣設計的最大的作用是解放CPU,不讓它一直需要顧及各種sensors上的高速中斷,這樣CPU就可以不必為了它們的數據一直處於工作狀態。這樣在設計電源管理策略的時候就要簡單的多,這樣CPU可以想睡就睡,只要需要它處理的時候醒過來處理就行。

當然這個是各個晶元廠商的微創新,這些CPU晶元開始真正為手機的應用而設計了。就像GPU,DSP以及基帶處理器一樣,專門為某種特殊計算而生,用更加複雜的硬體設計來解放CPU,簡化操作系統的設計。

其實這樣的設計會讓系統設計越來越依賴特定的硬體廠商,他們把會軟體功能逐步的搬到硬體上實現。現在手機上好多封閉的軟體模塊都是因為這些專門的硬體模塊,GPU,音頻DSP,基帶處理器,WiFi藍牙等等。


推薦閱讀:

如何看待華強北升級16G iPhone到128G 的做法?
理論上碟中諜里的 iPhone,iPad 是不是都越獄了?
如何看待蘋果公司推出翻新iPhone?
除開鎚子,哪款手機是2014最佳手機?

TAG:iPhone | 手機 | Android手機 | SoC |