電腦最基本的架構是什麼? 下圖就是一個最基本電腦的架構(圖例為von Neumann architectures)
計算機系統架構有最基本的
1. central processing unit (CPU)
2. memory- 包含了data還有instructions,當給定記憶體位置時可以被read, write
當一個計算機系統的memory包含了data及instructions就稱為von Neumann manchine
CPU有許多內部的佔存器可以存取值
其中一種暫存器-program counter (PC),稱為暫存器那他存什麼呢? 存指令的地址(address)
舉例來說: CPU從memory擷取指令,經過解碼,再執行他。program counter並沒有直接的決定反而是間接的告訴這台機器下一個指令是什麼。透過改變指令我們可以決定CPU的動作
其中另一種可以取代von Neumann style的是Harvard architecture(幾乎跟von Newmann一樣老)
下圖即為Harvard 架構
In Harvard architecture, we can see that it has separate memories for data and program.
那麼Harvard架構中的Program Counter要指到哪裡呢? 他是指到program memory而不是data memory. 因此在這種架構中很難寫self-modifying programs(programs 寫進data值然後直接把值當作instruction)
Reference:
[1]Computers as Components - Principles of Embedded Computing Sy
stem Design Ch.2
沒有留言:
張貼留言