談位元組編址字訪問的位址資訊浪費問題

2021-10-03 08:29:50 字數 624 閱讀 9750

有個問題一直困擾著我,以32位arm微處理器來說,他是按位元組編址(8bits)然後按字訪問(32bits)的,可是為什麼會造成位址資訊的浪費?為什麼位址的最低兩位始終為0?

突然!我想明白了

按位元組編址,就是說儲存單元是以位元組為單位,而32位的機器字長為32位,每個資料需要用32位來表示,所以乙個資料需要連續的四個位元組來儲存。

比如0x00000000~0x00000003著四個單元儲存第一資料,之後的0x00000004~0x00000007儲存下乙個資料

發現了沒!位址的最後乙個16進製制位都是0、4、8、c(其對應的二進位制為:0000、0100、1000、1100

看到了吧!位址的最後兩位也就是最低兩位都是0,這樣也就造成了位址資訊的浪費。同樣,在64位機器中,最低三位始終為0。這些被浪費的位址是由於資料的連續存放,無法從乙個資料的中間去訪存,只需要訪問資料的首位即可。

如果32位機器按照半字(兩個位元組)定址,那麼最後乙個二進位制位會是0

按字編址 按位元組編址 按半位元組編址問題及其解釋

先拿出問題 首先應該分辨字 位元組 半字何意 位 bit 計算機中最小的資料單位,每個位只能為0或者1 位元組 byte 8個二進位制位構成乙個位元組,儲存空間的基本計量單位 字 由若干位元組組成 半字 字的一半 接下來解決問題,題幹閱讀,有一1mb容量,字長為32位 按位元組編址,1mb 1b 2...

如何區分按位元組編址與按字編址

設有乙個1mb容量的儲存器,字長32位,問 按位元組編址,字編址的定址範圍以及各自的定址範圍大小?如果按位元組編址,則 1mb 2 20b ps 1mb 1024kb,1kb 1024btye,1024是2的10次方 1位元組 1b 8bit 2 20b 1b 2 20 位址範圍為0 2 20 1,...

按位元組定址and按字編址

按位元組定址,儲存空間的最小編址單位是位元組,按字編址,儲存空間的最小編址單位是字,最小編址單位的選擇,和儲存容量 位址匯流排寬度都有關聯 同樣的儲存容量,粒度小了,位址長度就需要更長 就是根據不同的方式尋找記憶體位址,計算機中大多數暫存器的尺寸是乙個字長。計算機處理的典型數值也可能是以字長為單位。...