1、存儲世界的兩個祖師爺:RAM & ROM 編程
{注:所說性能高低好壞是在其餘規格大小前提一致的狀況下比較而言的!}緩存
RAM: 易失性隨機高速高價存儲(掉電丟失、可讀出可寫入)架構
ROM: 非易失性非隨機低速低價存儲(掉電不丟失、只讀)性能
2、RAM祖師爺的兩個兒子:阿修羅(SRAM)、因陀羅(DRAM)spa
{注:所說性能高低好壞是在其餘規格大小前提一致的狀況下比較而言的!}3d
一、阿修羅(SRAM):blog
【父親特性+】靜態高價高性能低集成的經常使用來做爲介於CPU與內存間的高速緩存(不用刷新)接口
二、因陀羅(DRAM):ip
【父親特性+】動態低價低性能高集成的經常使用來做爲計算機內存(週期刷新)內存
3、ROM祖師爺的四個後代 :
ROM(掩膜ROM)、PROM(可一次性編程)、EPROM(紫外線擦除可改寫ROM)、
EEPROM(電擦除可改寫ROM)
第一代火影:ROM(掩膜ROM)
第二代火影:PROM(可一次性編程)
第三代火影:EPROM(紫外線擦除可改寫ROM)
第四代火影:EEPROM(電擦除可改寫ROM)
4、兩祖師爺後代各有優缺點,可是兩個祖師爺後代的長處和短處又能夠互補,
因此兩個祖師爺的後代進行聯姻,產出了強大無比的一代---第七代火影:FLASH(閃存)
5、優秀的混血兒:FLASH
結合了ROM和RAM的長處,成爲:
第七代火影:非易失性隨機高速低價存儲常見如U盤、硬盤等。
兩個第七代火影:
一、明處---鳴人:NOR FLASH->非易失讀出快寫入慢具備XIP性能有SRAM接口主要壟斷1~16M市場用於「代碼存儲」(XIP == EXCUTE IN PLACE, 例如 MCU FLASH );
二、暗處--佐助:NAND FLASH->非易失讀出慢寫入快主要論斷>16M市場用於「數據存儲」(例如SD卡)
6、拓展---單片機的存儲-----【一拳超人】
1、51的內存問題引起的鬥爭!!!
就是在片外,程序存儲和數據存儲是在一塊兒的,而在片內cache這一層又進行分開。嚴謹的來說應該叫作「混合架構」
單片機的運行本質是寄存器之間的尋址,取指,執行,是數據的處理和運算,像一個司令部同樣掌管着一切可是也較爲複雜,內存像是祕書部同樣,坐着數據交換的工做,上傳下達。
戰爭程序在內存中存儲,一旦觸發,將會按照事先預約好的做戰計劃嚴格的一步一步
嚴格執行!
2、C51是哈式架構仍是馮式架構呢?
從表面上看,是哈佛結構,程序存儲器和數據存儲器是分開的。透過現象看本質,首先看一句英文描述:The Harvard architecture is a computer architecture with physically separate storage and signal pathways for instructions and data. 哈佛結構須要知足兩點:
第一點就是程序和數據存儲要分開存儲,
第二點是程序和數據要有單獨的讀取路徑,
顯然51單片機不知足第二點,由於51單片機共用數據線和地址線,雖然指令是分開的。真正的哈佛結構能夠看下cortex-M3內部框圖,在手冊裏是顯式的說明了的是哈佛結構。
從上面的架構圖中能夠看到,cortex-M3內部是具備兩條單獨的數據路徑的,分別用於指令和數據。再來引伸一點,看看cortex-A9內部架構,以及官方的描述。
哈佛結構是一種將程序指令存儲和數據存儲分開的存儲器結構。中央處理器首先到程序指令存儲器中讀取程序指令內容,解碼後獲得數據地址,再到相應的數據存儲器中讀取數據,並進行下一步的操做(一般是執行)。程序指令存儲和數據存儲分開,可使指令和數據有不一樣的數據寬度,如Microchip公司的PIC16芯片的程序指令是14位寬度,而數據是8位寬度。哈佛結構的微處理器一般具備較高的執行效率。其程序指令和數據指令分開組織和存儲的,執行時能夠預先讀取下一條指令。目前使用哈佛結構的中央處理器和微控制器有不少,除了上面提到的Microchip公司的PIC系列芯片,還有摩托羅拉公司的MC68系列、Zilog公司的Z8系列、ATMEL公司的AVR系列和安謀公司的ARM九、ARM10和ARM11,51單片機也屬於哈佛結構.
PC機的代空間和數據空間是同一空間,因此是馮氏結構;
51因爲IO口不夠,但代碼空間和數據空間是分開的,因此算是哈佛結構.
三、C51的內存是FLASH仍是RAM
答案:都是,一個存儲程序、一個存儲數據
FLASH閃存是屬於內存器件的一種,"Flash"。閃存則是一種非易失性( Non-Volatile )內存,在沒有電流供應的條件下也可以長久地保持數據,其存儲特性至關於硬盤,這項特性正是閃存得以成爲各種便攜型數字設備的存儲介質的基礎。
各種 DDR 、 SDRAM 或者 RDRAM 都屬於揮發性內存,只要中止電流供應內存中的數據便沒法保持,所以每次電腦開機都須要把數據從新載入內存。
快閃存儲器(英語:flash memory-閃存),是一種電子式可清除程序化只讀存儲器的形式,容許在操做中被屢次擦或寫的存儲器。這種科技主要用於通常性數據存儲,以及在計算機與其餘數字產品間交換傳輸數據,如儲存卡與U盤。閃存是一種特殊的、以宏塊抹寫的EEPROM。早期的閃存進行一次抹除,就會清除掉整顆芯片上的數據。