燚智能周教授--智能硬件開發實戰派--前期内容回顧
單片機芯片裡面有什麼?詳解嵌入式和單片機硬件系統架構
上一篇文章,我們講了單片機、手機、嵌入式系統裡面有CPU、PMU、ROM和RAM。
本文重點講一講什麼是ROM,什麼是RAM,在各個種嵌入式系統中如何使用。
大部分人,會把電腦的内存、手機的内存、運行内存、數據存儲這些東西搞混。
看了這篇文章你就明白了!
電腦的ROM是硬盤,不會和電腦内存搞混淆。電腦的内存是DDR内存條,也不會搞混淆。但手機内存很容易被搞混了。
最早的非智能手機,大家都不會宣傳内存這個概念。後來有了TF卡,但經銷商們都把TF卡叫做内存卡。于是手機内存就變成了“内部存儲”的概念了,相當于電腦的硬盤而不是電腦的内存。像Iphone這樣的隻宣傳存儲容量有64G 128G,不宣傳DDR有多少,也無形中推廣了“手機内存就是手機内部存儲空間”這個錯誤的稱呼。
到Android手機大量宣傳RAM有多少G的時候,消費者早已對内存混淆了。為什麼别人的手機内存有16G,你的隻有2G呢?(因為别人是16G的内部存儲空間,你的是2G的運行内存)。所以現在手機廠商宣傳的時候會标注2G、4G、6G的運行内存。
圖:4GB eMMC
圖:128Mbit(16MB)NOR Flash
-
我明明可以往硬盤裡寫數據,為什麼叫隻讀存儲器呢?
這一點在單片機上更容易解釋一些:把固件(系統軟件)燒錄進Flash,然後就不能修改了。不管用戶怎麼重啟,怎麼使用,都不會影響到固件。
也就是說,固件是不可被寫入的,因此叫做“隻讀存儲器”。
對于手機來講也是這樣子,内部存儲中有一部分空間用于存放系統軟件,不管你怎麼使用也不會把系統軟件用壞了。這一部分也可以理解為“隻讀存儲器”。
實際使用的時候會把内置存儲和Flash分成兩個部分,一塊可以被寫入,一塊不能被寫入。可以被寫入的地方用來存儲通訊錄、照片、音樂、APP之類的,不可被寫入的地方用來存放操作系統的軟件。
手機的ROM,從最早的NOR Flash發展到NAND Flash,現在清一色全都是eMMC了(和TF卡是一個東西)。單片機的Flash還是維持在小容量的NOR Flash。
RAM,Random-Access Memory
随機存儲器,就是電腦的内存條。用于存放動态數據。(也叫運行内存)
系統運行的時候,需要把操作系統從ROM中讀取出來,放在RAM中運行。
圖:電腦内存條,由很多内存顆粒組成
圖:手機用的内存芯片,一顆抵得上電腦的一條
圖:智能家居主控芯片,采用電腦版的DDR内存顆粒
電腦的DDR,全稱是Double Data Rate SDRAM。這麼看起來就和單片機的SRAM以及RAM有些挂鈎了。本質上都是一樣的東西。
-
RAM的随機存儲器的“随機”是什麼意思呢?難道硬盤和eMMC不是想讀哪裡就讀哪裡麼?
現在的ROM,也能夠“随機存儲”,但是計算機剛發明的時候,是用紙帶、磁帶來當作ROM使用的,紙帶和磁帶繞成一卷,隻能順序讀寫,不是随機讀寫,不能想讀哪裡讀哪裡。因此才有了RAM的“随機存儲”一說。
-
已經有了ROM,為什麼還要RAM呢?
ROM的速度遠比RAM慢,慢幾個數量級。電腦太卡了,加了内存,就快了。這就是因為Windows發現内存不夠用,挪用了硬盤充當内存使用。慢了幾個數量級,運行速度自然就慢了。雖然現在的ROM能當RAM用,但是沒有人這麼用。
-
那麼反過來RAM能不能當ROM用呢?
是可以的,隻要不斷電,RAM可以當作一個超快速的ROM來使用。但是如果斷電了就杯具了,RAM的存儲方式需要提供持續的電源,如果沒電裡面的數據就全部丢失。大家經常會遇到電腦斷電辛辛苦苦寫的資料都沒有了,就是因為RAM不能斷電保存數據。
對于内部空間寸土寸金的智能手機來講,不可能像電腦那樣塞一根内存條進去,所以普遍采用MCP芯片,把eMMC和DDR放到一顆芯片裡去,做成一個二合一的芯片。(MCP)
圖:X20的64GB ROM 4GB RAM二合一芯片
中低端手機采用二合一芯片,原本需要2顆芯片的面積,現在隻需要一顆。
高端機的ROM和RAM的容量要求更高,不能合并到一顆芯片裡去了,于是就把DDR擺在CPU頭頂上,把eMMC放在外面,這樣依然隻占了一顆芯片的面積。
空間更緊張的智能穿戴設備上,例如高通骁龍2100平台,幹脆把DDR和eMMC都擺到CPU頭上,外面一顆存儲芯片都沒有。(叫做ePOP封裝,目前業界最大隻能做到4GB 512MB的容量)。
圖:拆開的DDR和高通CPU。DDR是蓋在上面的
圖:疊在一起的ePOP封裝的DDR eMMC(上層)和骁龍2100(下層)
燚智能周教授
往期回顧:
七彩燈硬件設計和燈效設計解析
什麼是電容?如何選型更合适的電容?-硬件工程師必修課
锂電池相關的硬件設計五大禁忌
,