0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

為什么單片機內部的RAM這么少?

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-10-30 11:38 ? 次閱讀

也許大家都注意到了,在過去的 20 多年的時間里,微控制器MCU)經歷了跨越式的發(fā)展,這反映在很多方面,比如更高的系統(tǒng)時鐘、更多的外設模塊、更加便利的調試手段、32 位的內核等等。但 MCU 內部的數(shù)據(jù)內存空間則始終在十幾 K(16~32KB)的左右徘徊,雖然有些基于 Cortex M4 核單片機有多達 265kB RAM 的型號,但是在眾多單片機型號陣列中,它們是寥寥無幾。

那么,究竟什么原因使得單片機很容易擁有多達數(shù) MB 的程序 Flash 空間,而數(shù)據(jù)內存只有那么小呢?

△ 小型封裝的 MCU

在所有影響單片機內 RAM 增加的原因中,一個基礎的問題就是 RAM 會占用很多硅片面積,這也會直接引起芯片價格的增加。這是因為在同樣的硅片上,占用硅片面積大會使得 MCU 數(shù)量就會減少,特別是在晶圓片的邊界部分造成更大的浪費。禍不單行,面積大的 IC 也更會產生缺陷,使得成品率下降。

第二個原因就是制作 RAM 的工序復雜??梢酝ㄟ^不同手段優(yōu)化 RAM 生產工藝,但在制作 MCU 過程中, 同一芯片不可能經歷過多的工序。有一些芯片加工服務廠商專門生產 DRAM,這是利用特殊的半導體電容技術來極大減少 RAM 所占用的硅片面積。但 DRAM 需要通過不停刷新來維持其內部數(shù)據(jù)。為了延遲 DRAM 單元保持數(shù)據(jù)的能力,就要求晶體管漏電流小,這也會造成晶體管的運行速度降低。這需要在速度和數(shù)量之間做折中,但這種折中工藝不利于制作高速邏輯電路。

△ IC 和晶片

此外,大容量 RAM 電路在后期的測試階段也會消耗大量的時間,從而增加生產的時間成本。所以,經濟原因造成生產 RAM 的專門廠商興起。

功耗是另外一個限制因素。單片機系統(tǒng)通常對功耗有限制,很多情況下,單片機通過進入睡眠狀態(tài)來減少耗電量。普通的 SRAM 耗電量很小,通過備用電池往往可以工作很多年。但 DRAM 則需要通過不斷刷新來維持存儲的數(shù)據(jù)。一旦停止刷新,由于漏電流的存在,DRAM 的內容在不到一秒鐘的時間內就會消失。所以,單片機中不能夠使用 DRAM 而只能使用占用硅片面積更大的 SRAM。

在現(xiàn)代 CPU 技術中,往往在新品中保留數(shù)量較少的 SRAM 作為緩存(Cache),而將大容量的 DRAM 作為 CPU 外部的數(shù)據(jù)存儲空間。

有一些非常酷的手段可以將不同生產工藝的 RAM 和 MCU 制作工藝融合在一起,例如多芯片封裝技術(Multi-Chip Package),將 RAM 新品放在 MCU 芯片上面堆疊一起進行封裝,這比在電路板上將 RAM 與 MCU 集成更加節(jié)省系統(tǒng)體積,也提高數(shù)據(jù)傳輸速率。

AMD 的帶有堆疊封裝的 MCU

最后一個原因,那就是在絕大多數(shù)單片機應用的場合所需要的 RAM 的容量都比較少。比如在嵌入式控制領域,很多很多傳感器信息都可以用極少字節(jié)的數(shù)據(jù)來表示,用于控制的參數(shù)和控制邏輯占用數(shù)據(jù)空間也很少。

所以當需要大量 RAM 的應用出現(xiàn)的時候,往往就會直接采用集成有大容量 DRAM 的電路板來工作。通過外部集成大容量 RAM 芯片要遠比 MCU 內部集成的 RAM 更加經濟。

除了前面的原因之外,單片機指令集也會限制 RAM 訪問空間。比如 Microchip 公司的單片機,PIC10LF320,是 12bit 的指令,它只能夠范圍 128 字節(jié)的 RAM 空間。對于 8031 單片機,直接尋址的 RAM 空間也只有 128 字節(jié)。如果訪問更大的外部存儲空間,則需要借助于執(zhí)行效率更低的間接指令。

單片機總線結構分為 Harvard 結構和 Von Neumann 結構,后者中,程序和數(shù)據(jù)存儲空間是在同一個訪問空間中。如果單片機中集成了大量的 Flash 區(qū),那么留給數(shù)據(jù) RAM 空間訪問地址就少了。

此外,高效的 C 語言編譯器,可以有效重復應用有限的 RAM 空間完成所需要的任務。在復雜的應用中,往往會采用多個單片機協(xié)同完成,這大大提高系統(tǒng)實時特性。巧妙的設計方案會避免嵌入式系統(tǒng)對大容量 RAM 的需求。所以,有人認為,正是由于沒有大量需要高 RAM 容量的應用要求,是造成現(xiàn)在單片機內部 RAM 少的真正原因。

別忘了,早期那些令我們著迷的電子游戲,雖然有著炫酷的圖形界面,但它們連程序帶數(shù)據(jù)總共也只有 8k 字節(jié)的存儲空間,比如吃豆子游戲,太空入侵游戲等。讓我們向早期的這些極簡風格嵌入式編程人員致敬吧。

參考資料

[1]Why do microcontrollers have so little RAM?

審核編輯 黃昊宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6026

    文章

    44455

    瀏覽量

    630918
  • RAM
    RAM
    +關注

    關注

    8

    文章

    1351

    瀏覽量

    114372
收藏 人收藏

    評論

    相關推薦

    單片機燒錄程序的線比單片機上的還能燒錄嗎

    的存儲器通常分為兩類:ROM(只讀存儲器)和RAM(隨機存取存儲器)。ROM用于存儲程序代碼,而RAM用于存儲程序運行過程中的數(shù)據(jù)。燒錄過程就是將程序代碼寫入ROM中。 單片機燒錄方法 單片機
    的頭像 發(fā)表于 09-02 09:54 ?297次閱讀

    簡述單片機定時器的工作原理

    單片機定時器的工作原理是一個復雜而精細的過程,它涉及到單片機內部的多個組件和機制。
    的頭像 發(fā)表于 08-19 18:20 ?846次閱讀

    單片機內存和程序大小有什么關系嗎?怎么選用不同內存大小的單片機?

    單片機內存和程序大小有什么關系嗎?怎么選用不同內存大小的單片機?僅從成本考慮嗎?
    發(fā)表于 05-16 06:03

    單片機RAM不夠用怎么解決?

    來自一位用戶的咨詢,麻煩幫忙解答。越詳細越好,有圖有真相。如有相關的視頻、文檔也可以輔助說明,謝謝。 單片機RAM不夠用怎么辦? 單片機都有RAM,如果我們一下子定義了一大堆的變量,使
    發(fā)表于 02-02 07:35

    怎么根據(jù)外圍電路配置單片機gpio的時鐘

    的時鐘。 一、時鐘信號的基本原理 時鐘信號是單片機內部各個模塊同步運行的基礎,是單片機操作和功能的支持。單片機通常有內部時鐘源和外部時鐘源兩種形式。
    的頭像 發(fā)表于 01-31 10:57 ?992次閱讀

    單片機內部時鐘電路的工作原理

    單片機時鐘電路是一種用于產生穩(wěn)定時鐘信號的電路,它是單片機正常工作的基礎,決定了單片機的運行速度和性能。具體的設計和配置取決于單片機的型號和應用需求。
    發(fā)表于 01-16 15:33 ?5300次閱讀
    <b class='flag-5'>單片機內部</b>時鐘電路的工作原理

    單片機原理及應用有哪些

    廣泛應用于各個領域,如家電、汽車、通信、醫(yī)療等。 單片機的原理主要包括內部結構和工作原理。其內部結構通常包括CPU、存儲器、I/O接口和定時/計數(shù)器等模塊。CPU是單片機的核心,負責指
    的頭像 發(fā)表于 01-15 16:25 ?1779次閱讀

    基于51單片機的正弦信號發(fā)生器的設計

    的正弦信號發(fā)生器。 一、51單片機簡介 51單片機是以英特爾公司的MCS-51單片機為核心的一族單片機,主要用于嵌入式系統(tǒng)和電子設備上。51單片機內
    的頭像 發(fā)表于 12-07 16:20 ?1497次閱讀

    STC15F2K60S2單片機內部EEPROM讀寫操作的介紹

    STC15系列單片機內部集成了大容量的EEPROM,其與程序空間是分開的。
    的頭像 發(fā)表于 11-08 17:41 ?1641次閱讀
    STC15F2K60S2<b class='flag-5'>單片機內部</b>EEPROM讀寫操作的介紹

    單片機定時/計數(shù)器的工作方式

    定時器是單片機內部的特殊功能模塊。
    的頭像 發(fā)表于 10-31 15:48 ?4481次閱讀
    <b class='flag-5'>單片機</b>定時/計數(shù)器的工作方式

    利用單片機內部的ADC采集音頻靠譜不?

    利用單片機內部的ADC采集音頻靠譜不
    發(fā)表于 10-31 06:00

    單片機RAM少有哪幾點原因?

    單片機RAM少有哪幾點原因? 正文: 單片機是指把整個計算機系統(tǒng)集成在一個芯片之內,具有微型化、低功耗、低成本等特點的集成電路。單片機系統(tǒng)中RAM
    的頭像 發(fā)表于 10-29 16:23 ?614次閱讀

    請問89C51單片機內包含哪些主要邏輯功能部件?

    單片機89C51單片機內包含哪些主要邏輯功能部件?
    發(fā)表于 10-27 08:11

    請問51單片機內核的中斷是如何實現(xiàn)的?

    51內核的最基礎的中斷源請求有外部中斷、定時器中斷和串口中斷,同時還有其他的中斷源,比如ADC、SPI、PWM等。 我看資料說在中斷函數(shù)中使用了using n,中斷不再保存R0-R7的值??。那到底如何實現(xiàn)單片機內核的中斷比較好,對于優(yōu)先級的設置有哪些坑呢?
    發(fā)表于 10-25 06:53

    51系列單片機內部和外部時鐘振蕩器工作原理及作用?

    51系列單片機內部及外部時鐘振蕩器工作原理及應用
    發(fā)表于 10-25 06:10