在這篇和前一篇中間有一個馮紐曼結構的小故事的課程影片
因為是老師利用先前餐館的案例來暖身介紹,和這篇的內容大同小異
因此就沒有做詳細的筆記,如果有興趣的人可以自己去找影片來看
計算機結構的簡化模型
先前曾經提過架構的五大元素
其中 CPU 和記憶體是透過系統總線(匯流排)來傳輸資料
(Source:http://en.wikipedia.org/wiki/System_bus)
系統總線又可以分成控制、地址以及資料三個部分
CPU 和記憶體中有各自對應的結構
今天就先從存儲器,也就是記憶體開始介紹
在設計計算機時要先確定地址的編址方式
例如如果存儲器按 Byte 編址,則每個存儲單元可以存放 8位的二進位數。
每個存儲單元的地址是唯一的,不同存儲單元地址互不相同。
當 CPU 想要訪問某個存儲單元時
必須先透過地址總線將地址發送到 MAR(Memory Address Register) 儲存
如果地址總線寬度為 n,則 CPU 能管理的存儲單元最多是 2^n 個
CPU 想要讀取的數據則儲存在 MDR(Memory Data Register) 這個暫存器當中,
數據將會透過數據總線來傳送,數據總線寬度通常是存儲單元位寬的整數倍
最後控制總線與控制邏輯相連,用於接收來自 CPU 的讀寫訊號,以及回傳是否完成的訊息
心得
存儲器大致上由上述的幾個部分組成
不過這讓我想到之前在上作業系統時那個更加複雜難懂的記憶體管理
畢竟記憶體就這麼大,大家都想要用怎麼辦呢
厲害的作業系統就用了奇妙的方式層層對應,硬是把有限的記憶體空間放大
或是將閒置下來的就先搬到別的地方去,把位子空出來給有需要的人之類的
難怪必修課要先修完計組才能修作業系統
就是一個打怪練等挑戰大魔王然後大大魔王然後大大大魔王的無限迴圈的節奏阿 Orz