170 likes | 382 Views
學習目標. 列出 Von Neumann machine 的元件以及它們的功能。 描述 Von Neumann machine 的擷取 - 解碼 - 執行週期。 描述電腦記憶體如何組織與存取。. 程式儲存化概念. 圖 5.1 The von Neumann 架構. The von Neumann 架構. Stored Program 程式儲存在記憶體中,執行時一行一行讀出,加以執行。. 記憶體. 記憶體是記憶細胞(每個都擁有獨一無二的實體位址)的集合體. 暫存器. 暫存器 (Register) 在 CPU 中的記憶體為 暫存器 (Register) 。
E N D
學習目標 • 列出Von Neumann machine的元件以及它們的功能。 • 描述Von Neumann machine的擷取-解碼-執行週期。 • 描述電腦記憶體如何組織與存取。
程式儲存化概念 圖 5.1 The von Neumann架構
The von Neumann架構 • Stored Program • 程式儲存在記憶體中,執行時一行一行讀出,加以執行。
記憶體 • 記憶體是記憶細胞(每個都擁有獨一無二的實體位址)的集合體
暫存器 • 暫存器(Register) • 在CPU中的記憶體為暫存器(Register)。 • 暫存器可以用來存放將要進行運算或運算完畢的資料。
暫存器(Cont.) • Program counter( PC)指向下一個要執行的指令。(儲存下一個要執行的指令的位址) • MAR(memory Address Register):儲存要進/出記憶體資料的位址。 • MBR(Memory Buffer Register):為一緩衝區,儲存要進/出記憶體資料的資料。 • 指令暫存器(instruction register, IR)儲存剛從記憶體取出而將要執行的指令。
資訊的流動 • 這些部份經由一組稱為匯流排(bus)的排線連接到另一個部份。 圖 5.2資料流過范紐曼機器
擷取-執行週期 • 擷取下一個指令 • 將指令解碼 • 取得資料(如果有需要) • 執行指令
3.5 程式的執行流程 • 電腦的運作其實就是程式的執行,程式由是由許多指令(instruction)組成,這些指令將被循序地執行。 • CPU執行一個指令的過程稱之為機器週期(machine cycle)。 • 通常指令的執行被分為許多階段,以DLX機器而言,一個指令將被分為5個步驟 • 指令擷取(IF) • 指令解碼(ID) • 指令執行(EX) • 記憶體存取(MEM) • 結果回存(WB) • 其中指令擷取與指令解碼所花費的時間合稱為指令時間(I-Time;Instruction-Time)。 • 指令執行、記憶體存取、結果回存所花費的時間合稱為執行時間(E-Time;Execution-Time)。 • 機器循環週期=I-Time+E-Time。
程式的執行流程 DLX的機器循環週期 【註】: 一個指令究竟被分為幾個階段來執行,每種電腦的設計都有一些不同,有些電腦執行一個指令只需要4個階段IF、ID、EX、WB,有些電腦則將指令執行切割成更多階段,讀者若對其他各類電腦指令的運作有興趣,請參閱計算機結構之專書。
指令擷取 • MARPC,PC PC+1 • MBR M[MAR] • IR MBR
4-2-2 機器循環週期 • 過程1:擷取指令 • (1).程式計數器(Program Count, PC)暫存器把指向的位址(例如A)送到記憶體位址暫存器(Memory Address Register, MAR)暫存器,準備提取運算碼 • (2).PC暫存器自動再指向下一個指令的位址(例如A+1)。 • (3).MAR依據位址(例如A),找到記憶體中的運算碼(例如ADD),並將運算碼送到記憶體緩衝暫存器(Memory Buffer Register, MBR)。所以MBR目前所存放的就是即將要被執行的指令
4-2-2 機器循環週期 • 過程2:解碼 • (4).MBR將運算碼(ADD)送到指令暫存器(instruction register, IR)。 • (5).IR將運算碼送給解碼器(Decoder)。 • (6).解碼器將運算碼(ADD)解析為許多微指令,若需要運算時會通知算術邏輯單元,若需要再提取資料時,會進行過程3的動作。此時運算碼(ADD)需要提取下一運算元。
4-2-2 機器循環週期 • 過程3:擷取運算元 • 類似於過程1的動作: • (7).程式計數器(Program Count, PC)暫存器把指向的位址(例如A+1)送到MAR,準備提取運算元。 • (8).PC暫存器自動再指向下一個指令的位址(例如A+2)。 • (9).MAR依據位址(例如A+1),找到記憶體中的運算元(例如Y),並將運算元送到MBR。所以MBR目前所存放的就是即將要被計算的運算元。
4-2-2 機器循環週期 • 過程4:執行指令 • (10).MBR把運算元(B)送到ALU並與累加器共同執行運算。 • (11).所得之結果送回MBR。
4-2-2 機器循環週期 • 過程5:存放結果 • (12).視指令狀況把運算結果再送回主記憶體中儲存。