文章轉自https://blog.csdn.net/lishuhuakai/article/details/8934540
我們先從一道簡單的問題說起!
設有一個1MB容量的存儲器,字長32位,問:按字節編址,字編址的尋址範圍以及各自的尋址範圍大小?
如果按字節編址,則
1MB = 2^20B
1字節=1B=8bit
2^20B/1B = 2^20
地址範圍爲0~(2^20)-1,也就是說需要二十根地址線才能完成對1MB空間的編碼,所以地址寄存器爲20位,尋址範圍大小爲2^20=1M
-
如果按字編址,則
1MB=2^20B
1字=32bit=4B
2^20B/4B = 2^18
地址範圍爲0~2^18-1,也就是說我們至少要用18根地址線才能完成對1MB空間的編碼。因此按字編址的尋址範圍是2^18。
-
以上題目注意幾點:
1.區分尋址空間與尋址範圍兩個不同的概念,尋址範圍僅僅是一個數字範圍,不帶有單位
而尋址範圍的大小很明顯是一個數,指尋址區間的大小
而尋址空間指能夠尋址最大容量,單位一般用MB、B來表示;本題中尋址範圍爲0~(2^20)-1,尋址空間爲1MB。
2.按字節尋址,指的是存儲空間的最小編址單位是字節,按字編址,是指存儲空間的最小編址單位是字,以上題爲例,總的存儲器容量是一定的,按字編址和按字節編址所需要的編碼數量是不同的,按字編址由於編址單位比較大(1字=32bit=4B),從而編碼較少,而按字節編址由於編碼單位較小(1字節=1B=8bit),從而編碼較多。
3.區別M和MB。
M爲數量單位。1024=1K,1024K=1M
MB指容量大小。1024B=1KB,1024KB=1MB.