68精品久久久久久欧美,最近中文字幕完整在线看一,久久亚洲男人天堂,最近中文字幕完整视频高清1

你好!歡迎來(lái)到深圳市穎特新科技有限公司!
語(yǔ)言
當(dāng)前位置:首頁(yè) >> 技術(shù)中心 >> 存儲(chǔ)閃存 >> Nor Flash芯片內(nèi)執(zhí)行(XIP)

Nor Flash芯片內(nèi)執(zhí)行(XIP)

關(guān)鍵字:什么是nor flash芯片 nor flash的特性 作者:admin 來(lái)源: 發(fā)布時(shí)間:2019-06-25  瀏覽:56

前言:這個(gè)所謂的芯片內(nèi)執(zhí)行(XIP)對(duì)于我這種一根筋的人是很難理解的,一直總覺(jué)得CPU是只能在RAM中運(yùn)行程序,為何能夠在Nor Flash中執(zhí)行程序呢,這里面就有個(gè)概念容易混淆,也可能是翻譯理解的問(wèn)題。

所謂片內(nèi)執(zhí)行不是說(shuō)程序在存儲(chǔ)器內(nèi)執(zhí)行,CPU的基本功能是取指、譯碼、運(yùn)行。Nor Flash能在芯片內(nèi)執(zhí)行,指的是CPU能夠直接從Nor flash中取指令,供后面的譯碼器和執(zhí)行器來(lái)使用。

NOR Flash和Nand Flash

上面2種flash是現(xiàn)在市場(chǎng)上兩種主要的非易失閃存技術(shù)。Intel于1988年首先開(kāi)發(fā)出NOR Flash 技術(shù),徹底改變了原先由EPROM(Electrically Programmable Read-Only-Memory電可編程序只讀存儲(chǔ)器)和EEPROM(電可擦只讀存儲(chǔ)器Electrically Erasable Programmable Read - Only Memory)一統(tǒng)天下的局面。緊接著,1989年,東芝公司發(fā)表了NAND Flash 結(jié)構(gòu),強(qiáng)調(diào)降低每比特的成本,有更高的性能,并且像磁盤(pán)一樣可以通過(guò)接口輕松升級(jí)。NOR Flash 的特點(diǎn)是芯片內(nèi)執(zhí)行(XIP ,eXecute In Place),這樣應(yīng)用程序可以直接在Flash閃存內(nèi)運(yùn)行,不必再把代碼讀到系統(tǒng)RAM中。NOR 的傳輸效率很高,在1~4MB的小容量時(shí)具有很高的成本效益,但是很低的寫(xiě)入和擦除速度大大影響到它的性能。NAND的結(jié)構(gòu)能提供極高的單元密度,可以達(dá)到高存儲(chǔ)密度,并且寫(xiě)入和擦除的速度也很快。應(yīng)用NAND的困難在于Flash的管理和需要特殊的系統(tǒng)接口。通常讀取NOR的速度比NAND稍快一些,而NAND的寫(xiě)入速度比NOR快很多。

這樣我們就知道程序能直接在Nor flash中執(zhí)行的原因就是XIP。

XIP:execute in place,即芯片內(nèi)執(zhí)行,指應(yīng)用程序可以直接在flash閃存中取指然后譯碼、執(zhí)行,不必再把代碼讀到系統(tǒng)RAM中,flash內(nèi)執(zhí)行時(shí)指Nor flash不需要初始化,可以直接在flash內(nèi)執(zhí)行代碼,但往往只執(zhí)行部分代碼,比如用于初始化RAM等。

Nand Flash器件的IO口比較少,通過(guò)串行地進(jìn)行讀寫(xiě)數(shù)據(jù),硬件接口少了,勢(shì)必會(huì)帶來(lái)復(fù)雜的軟件成本,一般使用8個(gè)引腳來(lái)進(jìn)行傳輸控制、地址和數(shù)據(jù)信息,由于時(shí)序非常復(fù)雜,所以一般CPU最好集成NAND控制器,另外由于Nand flash沒(méi)有掛接在地址總線上,所以如果想用Nand flash作為系統(tǒng)的啟動(dòng)盤(pán),就需要CPU具備特殊的功能,比如s3c2440在被選擇為NandFlash啟動(dòng)方式時(shí)會(huì)在上電時(shí)自動(dòng)讀取NandFlash的4k數(shù)據(jù)到地址0的SRAM中。如果CPU不具備這種特殊功能,用戶不能直接運(yùn)行NandFlash上的代碼,因?yàn)槭褂肗and Flash必須要各種初始化,復(fù)雜邏輯。

Nor Flash能夠在片內(nèi)執(zhí)行,Nand Flash不能,區(qū)別如下圖:


Nor Flash 和Nand Flash的片內(nèi)執(zhí)行區(qū)別

這張圖里的很直觀,但是需要用心看,左邊是普通的flash,可以理解成是Nand Flash,CPU想要從Nand Flash中讀取數(shù)據(jù),必須要先通過(guò)在RAM中計(jì)算地址,各種時(shí)序計(jì)算,然后通過(guò)MMU轉(zhuǎn)換地址,然后給Nand flash發(fā)送命令,注意是命令,不是地址,Nand Flash根據(jù)命令進(jìn)行相應(yīng)的操作,如果是讀命令,則返回對(duì)應(yīng)地址的數(shù)據(jù)到RAM中,如果是寫(xiě)命令,則進(jìn)行寫(xiě)操作。

而右邊的圖,是針對(duì)Nor Flash的,這個(gè)很明顯,CPU可以像讀內(nèi)存一樣,直接跟Nor flash交互,即可以直接從Nor Flash中取指令,然后交給譯碼模塊和執(zhí)行模塊進(jìn)行執(zhí)行,可以說(shuō),相比較Nand flash,Nor flash的操作對(duì)于CPU來(lái)說(shuō),簡(jiǎn)直就像是面對(duì)面一樣。

進(jìn)一步, 為什么Nor Flash可以實(shí)現(xiàn)XIP,而Nand flash就不行呢?

有一個(gè)概念:嵌入式系統(tǒng)中代碼的執(zhí)行方式:

(1)完全映射:嵌入式系統(tǒng)程序運(yùn)行時(shí),將所有代碼從非易失存儲(chǔ)器(Flash、ROM等)復(fù)制到RAM中運(yùn)行。

(2)按需分頁(yè):只復(fù)制部分代碼到RAM中,這種方法對(duì)RAM中的頁(yè)進(jìn)行導(dǎo)入/導(dǎo)出管理,如果訪問(wèn)位于虛存中但不在物理RAM中會(huì)產(chǎn)生頁(yè)錯(cuò)位,這時(shí)才將代碼和數(shù)據(jù)映射到RAM中。

(3)XIP:在系統(tǒng)啟動(dòng)時(shí),不將代碼復(fù)制到RAM,而是直接在非易失性存儲(chǔ)位置執(zhí)行,RAM中只存放需要不斷變化的數(shù)據(jù)部分,如下圖所示:


完全映射和XIP的比較

如果非易失性存儲(chǔ)器(Flash)的讀取速度與RAM相近,則XIP可以節(jié)省復(fù)制和解壓的時(shí)間,Nor flash和rom的讀取速度比較看(約100ns),比較適合XIP,而Nand flash的讀取操作是基于扇區(qū)的,速度相對(duì)很慢(us級(jí)),因此不適合實(shí)現(xiàn)XIP系統(tǒng),不過(guò)Nand flash的寫(xiě)速度比Nor的快,更適合做存儲(chǔ)和下載系統(tǒng)。

解釋二:

兩種芯片的結(jié)構(gòu)不同

  • NOR flash之所以可以片內(nèi)執(zhí)行,就是因?yàn)樗螩PU去指令譯碼執(zhí)行的要求。CPU送一個(gè)地址出來(lái),Nor flash就能給出一個(gè)數(shù)據(jù)讓CPU執(zhí)行,中間不需要額外的處理操作。
  • NAND flash不一樣是因?yàn)閚and flash有地址,數(shù)據(jù),命令共用IO口的問(wèn)題,cpu把地址發(fā)出來(lái)之后,并不能直接得到數(shù)據(jù),還需要控制線的操作才能完成。就是他沒(méi)有專用的SRAM接口。

解釋三:

芯片內(nèi)執(zhí)行主要是是看芯片可不可以線性存儲(chǔ)代碼(假如硬件支持芯片接口),只要能保證芯片的存儲(chǔ)空間是線性的(也就是無(wú)壞塊),都可以片上執(zhí)行,在讀取Flash時(shí)候,容易出現(xiàn)“位翻轉(zhuǎn)(bitconvert),在Flash的位翻轉(zhuǎn)(一個(gè)bit位發(fā)生翻轉(zhuǎn))現(xiàn)象上,NAND的出現(xiàn)幾率要比NorFlash大得多。這個(gè)問(wèn)題在Flash存儲(chǔ)關(guān)鍵文件時(shí)是致命的,所以在使用NandFlash時(shí)建議同時(shí)使用EDC/ECC等校驗(yàn)算法。 ”

但是,如果能保證不出錯(cuò),也還是可以進(jìn)行XIP,可以在其上執(zhí)行代碼的:

“所謂XIP,就是CODE是在FLASH上直接運(yùn)行. NANDFLASH只是不適合做XIP,但并不是不能做XIP“

要一段CODE能夠正確的運(yùn)行,要保證它的CODE是連續(xù)的,正確的.

由于一些電氣特性的原因,NOR FLASH能夠做到這一點(diǎn),不存在壞道或壞塊,所以能夠做XIP.

而對(duì)于NAND FLASH, 它只保證它的BLOCK 0是好的,其他的塊并不保證,雖然出錯(cuò)的幾率比較低,但還是有出錯(cuò)的可能,所以CODE可能無(wú)法連續(xù)正確地執(zhí)行。

但只要你有額外的保障措施,比如說(shuō)在執(zhí)行CODE之前去做一次ECC校驗(yàn),來(lái)確保CODE是連續(xù)正確的.那你也可以做XIP. 有人這么做了,而且也證明是成功的。

編輯:Simon  最后修改時(shí)間:2019-06-26

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬(wàn)眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號(hào)-4

太仓市| 双辽市| 博野县| 永德县| 兖州市| 海口市| 拉萨市| 拜城县| 玛多县| 福泉市| 淄博市| 涞源县| 射洪县| 从化市| 安顺市| 泰州市| 棋牌| 马鞍山市| 北京市| 崇明县| 六枝特区| 朔州市| 夏邑县| 融水| 长丰县| 柳江县| 灵台县| 永和县| 衢州市| 双辽市| 金塔县| 佛冈县| 桓台县| 安义县| 宝丰县| 瑞安市| 阳曲县| 龙胜| 孝感市| 崇文区| 上蔡县|