記憶體是按位元組編址的,所以單位是位元組哈,1位元組可是等於8位的。因為計算的範圍一般比較小,所以就記住兩個就夠了。記住幾個常用的 2的10次方為1024即1KB
2的20次方=(2的10次方)的平方,即1MB就行了
如果要求更大的,那就再記住 2的40次方=(2的10次方)的4次方=1GB ,一般就夠用了。
DFFFF-A0000 = 3FFFF
一眼看不出來大小滴,或許你要用筆算,不過用這個方法兩眼就能看出來:
3FFFF展開為2進位就是2的18次方,是吧,即
2的10次方乘以2的8次方=1K*256即256KB
或者直接2的20次方/2的2次方=2的18次方。一般選就近原則。1MB/4=256KB
32K*8bit=256Kb=(256KB/8bit)
在網上找的另外一道題:
電腦SRAM容量為4K x 8,配置地址首地址為:06800H,則其末地址是多少
a.38800H B.10800H C.077FFH D.07800H
分析:
公式:
記憶體容量=末地址-首地址+1
4K*8bit = 4KB即2的平方乘以2的10次方,2的12次方,12/4=3(轉為16進位)即1000H
01000H=末地址-6800H+1H
末地址=01000H+6800H-1H
末地址=077FFH
原文位置:http://blog.chinaunix.net/uid-26495963-id-3050545.html
電腦記憶體和外存的編址方式有按字和按位元組編址兩種方式。
按位元組定址,指的是儲存空間的最小編址單位是位元組,按字編址,是指儲存空間的最小編址單位是字,以上題為例,總的儲存空間容量是一定的,按字編址和按位元組編址所需要的編碼數量是不同的,按字編址由於編址單位比較大(1字=32bit=4B),從而編碼較少,而按位元組編址由於編碼單位較小(1位元組=1B=8bit),從而編碼較多。
以下是自己的一些理解:
一定要理解:ARM儲存空間的最小單位是位元組,每次最少訪問一個位元組的單元,當然你可以只改變其中的一個bit。。。
我們常說的記憶體大小為4GB=4*1024M=4*1024*1024K=4*1024*1024*1024B
這裡的B是Byte的簡寫,而不是bit不要搞混了,或者不理解其中的含義。
電腦裡面單位進位:
1K= 1024B(位元組)=2^10
1M = 1024 K = 2^20
1G = 1024 M = 2^30
地址線根數對應範圍空間大小計算過程
800~FF256B2^8 = 256B
160000~FFFF62K2^16 = 2^6K = 64K
2000000~FFFFF1M2^20 = 2^10K = 1M
24000000~FFFFFF16M2^24 = 2^4*M = 16M
280000000~FFFFFFF256M2^28 = 2^8 M = 256M
3200000000~FFFFFFFF4G2^32 = 2^2*G = 4G
下面是16條地址線的舉例:
記憶體位址空間:一個cpu的地址匯流排寬度為16,那麼可以定址64K個記憶體單元,這64K個可尋到的記憶體單元就構成了這個cpu的記憶體位址空間
下面以實際三星S5PV210來看:
地址空間範圍:0x00000000 ~ 0x1FFFFFFF 按上面的計算可得到結果為 512M