1.內存的邏輯結構
內存是由 一個個的存儲單元構成的,一個存儲單元里面呢可以存儲一個二進制代碼 如 00110110011111101,而這個單元里面存儲的大小稱為存儲字長
2.地址線
地址線用於保存 CPU 所要處理的數值的地址
一根地址線為其通電,通高電壓代表 1,低電壓代表 0,一個地址線可以代表一位 0/1。兩根地址線可以代表 00,01,10,11四個值,24根地址線組成的0,1排列組合可以代表 224 個值。
結合存儲單元,24根地址線可以為 224個存儲單元進行編址
3.數據線
數據線用於保存數據真正的值。32位的數據線可以保存32位大小的數據
通過地址線找到要處理數據的地址,再將數據寫入數據線中,CPU 就可以處理數據
3.按字節尋址,按字尋址的區別
如果是按字節尋址,就是說這一個存儲單元的內容我都要處理。如果說是按字尋址,則說明我只需要處理 存儲單元中的某一部分
既然按字節尋址需要的是一個字節的某個部分,則還要保存它是第存儲單元的第幾個字節,那還要拿出相應個數的地址線說明所在字節
4.字節和字
一個字節普遍是8位二進制
以 ASCII 編碼為例,一個字母占 1個字節,也就是說 ‘ a ’ 這個字母是 在ASCII 中的序號為96,轉換成二進制進行存儲‘01100001’ 組成的。一個漢字是 兩個字節
字是由若干個字節構成
5.計算練習
一台 IBM370 字長為32位,主存的地址線為24位,分別計算按字節尋址,按字尋址的范圍。如果是一台 PDP-11,地址線位數不變,那按字節尋址,按字尋址的范圍分別又是多少。
首先看第一個機型
它是 IBM 370,字長為 32,我們可以理解為:它的數據線為 32根,也就是CPU 一次可以處理 32位的數據。按照八位一個字節這樣一個長條可以將它的字長分為 4 個字節
那么按字節尋址,就是有幾個長條
2^20^=1M
2^24^=2^20^*2^4^=1M * 16=16M
也就是說按字節尋址它的尋址范圍是 16 M
如果是按字尋址,上面講到要為字中的字節編碼,這個字長為32,被分成 4 個字節,就需要地址線單獨拿出最后的兩根保存字節的地址。
於是乎,這24根要刨去兩根,還有 22根用來按字尋址,所以按字尋址的范圍是
2^22^=2^20^*2^2^=1M *4=4M
其次是第二個機型
第二個結構與第一個結構的不同在於第二個結構它的字長為16,地址線個數沒變,小橫條的個數沒變,變得是一個小橫條中的字節個數。
如果小橫條沒變,那么按字節尋址的范圍就沒變,還是 16M
如果說數據線有 16根,則代表字長數為 16,8位一個字節,他可以被分為 2個字節,如果實在小橫條第一個位置就用1表示,如果是小橫條第二個位置用0表示。所以用一根地址線就可以了,剩下的 23根用來表示尋址范圍
2^23^=2^20^ * 2^3^=8M
所以尋址范圍是 8M