怎麼理解記憶體的位元組編址

2022-03-16 22:43:02 字數 541 閱讀 9576

記憶體也就是常說的記憶體條,也就是dram晶元如下圖:

計算機的記憶體是按位元組來進行編址的這句話理解為:

記憶體是按位元組編址,每個位址的儲存單元可以存放8bit的資料。我們也知道cpu通過記憶體位址獲取一條指令和資料,而他們存在儲存單元中。現在就有乙個問題。我們的資料和指令不可能剛好是8bit,如果小於8位,沒什麼問題,頂多是浪費幾位(或許按位元組編址是為了節省記憶體空間考慮)。但是當資料或指令的長度大於8bit呢?因為這種情況是很容易出現的,比如乙個16bit的int資料在記憶體是如何儲存的呢?

其實乙個簡單的辦法就是使用多個儲存單元來存放資料或指令。比如int16使用2個記憶體單元,而int32使用4個記憶體單元。當讀取資料時,一次讀取多個記憶體單元。

大端和小端儲存

little-endian 就是低位位元組排放在記憶體的低位址端,高位位元組排放在記憶體的高位址端。

big-endian 就是高位位元組排放在記憶體的低位址端,低位位元組排放在記憶體的高位址端。

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

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

記憶體 編址 指標

2 10 1k 2 20 1m 2 30 1g 2 32 4g 別忘了,上述單位都是byte位元組,記憶體是以位元組為單位編址的。可以將32位機器的記憶體 應該是虛擬記憶體 想象成乙個陣列,含有2 32個元素。記憶體位址就是這個陣列的編號,從1 0x00000001 到 2 32 0xfffffff...

記憶體定址 編址

一般常見對記憶體的理解是將他看成是乙個陣列.陣列元素肯定有個大小,陣列的元素還需要有個序號.這個陣列的序號就是記憶體的位址,而陣列元素的大小是記憶體定址的方式,最為常見的是按位元組定址,即每個陣列元素 單元 可以儲存乙個位元組大小的內容.我們將記憶體位址0x.de20起的記憶體按照位元組大小劃分,可...