記憶體的分類
在常見的有
ROM,Flash,SRAM,DRAM,SDRAM
若要以存取的方式來分類,可分為
1.對稱式(symmetrical) ex:rom,ram,flash
2.非對稱式(asymmetrical),ex: dram,sdram
若將記憶體視為一連串的儲存元位,而且因為"由線性到矩陣"(工數嗎?)
的建立,其記憶體單元.
一,非對稱式 (asymmetrical)
若你需要其中一筆資料時,你則要提供 列,行 的資料,並分送給記憶体中
的列位置解碼器及行位置解碼器
優:存取動作難,因為其行,列位址線共用.故需分二次送出
缺:只需要少量的位址線.1024=32x32==>6條(5+1)
pre-charge time and refresh time
二,對稱式(symmetrical) 若你想把其中的列,行一次送出給記憶体,把其列,行的解碼.由記憶体本身
來解碼時.此時,則稱為非對稱式
優:存取動作簡單
缺:受限於位址線(需要行列一起,送出
深入了解内存
http://www.tweakers.fr/timings.html
http://www.pcdog.com/edu/sqlserver/2005/12/u128509.html
ARM核心與SOC(system on chip)
SOC=核心內容(CPU)+ohter
CPU中含有:(邏輯運算單元,乘法器,移位器,指令解碼,暫存器外)
1.cache
2.write buffer
3.debug interface
而SoC就是把系統要用的功能全部放在CPU中,即為系統整合。
以市場不同的SoC,通常它會具有以下:
1.運算式引擎:DSP(digital Signal Processor)
2.內建記憶体:Flash Memory、RAM或是ROM。
3.匯流排界面:提供與外部記憶体或Device溝通.
4.其它特殊功能界面:其它功能的Controller(IP Controller,LCD controller)
cache及write buffer是因其CPU核心和外部介面中存取速度之差別,使得CPU得降低速度,所以加上這二個來做為暫存。
1.cache
分為Instructure Cache 及data Cache並分別對指令存取及對資料存取。
來降低cpu 對外部記憶体的存取時間:
在Cache中會有一個機制在,它會使得資料的存取時降低其對外部memory存取以及它是屬於對稱式RAM(random access memory)。
void memread()
{
int *p,i;
p=(*int)0xc00000000;
while(1)
i=*p;
}
///end
如上,若有Cache在時,CPU就只會對外部memory存取一次而已;反之則每次都需對外部進行存取。
2.write buffer
指的是ARM對外部memory寫入時,用來做buffer用,而它是與CPU是獨立運作的。
3.debug interface
沒有留言:
張貼留言