part1. 計算機的基本組成原理
part2. 計算機執行原理頂層檢視
part3. 指令
指令週期
取指令和執行指令
指令格式
前面1位元組是操作碼,**指令的功能,例如加法功能。
後面3位元組用於尋找要操作的資料值。
由於資料儲存在記憶體(儲存器)中,由記憶體位址來標識,所以後3位元組本質是要操作的資料在記憶體(儲存器)中的位址,進而通過此位址來找到要操作的資料值。
part4. 程式執行的過程詳解
demo程式目的:
執行過程**:
上圖的閱讀順序,我已經用數字1-6做了標註。
第1步,取指階段
pc(程式計數器)中的資料為300(十六進製制),表示會要讀取記憶體位址300處的資料到指令暫存器ir中,
於是ir中就有了資料1940(十六進製制). 這就是取指階段要做的事情了。
ps:根據本部落格part3 指令格式部分的介紹,1940這個十六進製制數的前4位是操作碼,所以後面的940這三個位元組的含義是要操作的資料在記憶體(儲存器)中的位址。
從上圖可以看到,940儲存單元內的資料為0003.
接下來進入第2步,執行階段
第1步是取指,這步是執行。根據第1步的取指分析,所以第2步的執行,肯定是把剛才找到的資料0003存放到累加器ac中去了。
同時pc也自動加1,變成了301,這也就意味著要開始新的取指了,於是進入第3步。
第3步 新一輪的取指階段
此時pc(程式計數器)中的資料為301(十六進製制),表示會要讀取記憶體位址301處的資料到指令暫存器ir中,
於是ir中就有了資料5941(十六進製制),5941這個十六進製制數的前4位是操作碼,所以後面的941這三個位元組的含義是要操作的資料在記憶體(儲存器)中的位址。
從上圖可以看到,941儲存單元內的資料為0002.
第4步,新一輪的執行階段
對應第3步的取指,這步是執行。根據第3步的取指分析,所以第4步的執行:肯定是把剛才找到的資料0002也放到累加器ac中去,ac器將之與之前房間來的0003進行運算,得到了累加的結果5,但是此時已然存放在ac中。
同時pc再次自動加1,變成了302,這也就意味著要開始第三次取指了,於是進入第5步。
第5步 第三次取指階段
此時pc為302,所以此次取指將會讀取記憶體位址302處的資料2941到指令暫存器ir中,
這個2941中,同理,2是操作碼,941表示要操作的位址,ps:根據操作碼,之前的指令是向要操作的位址讀資料,而現在指令肯定是向要操作的位址寫資料。
第6步 第三次執行階段
將ac中的資料5就寫入到941所在記憶體中。
通過上述6個步驟,我們就解析了程式的執行過程。
.
Part1 資料系統基礎
前四章講述應用於所有資料系統的基本理念,不論是執行在單機還是分布式的機器集群上。第一章介紹我們將要使用的術語和方法。解釋 可靠性 可擴充套件性和可維護性 的具體含義,以及我們如何去達到這些目標。第二章對比若干種不同的資料模型和查詢語言,從開發者角度是不同資料庫間最明顯的區分因素。我們可以看到不同的資...
作業系統概論
作業系統 operation system,縮寫為os 是管理計算機系統資源 控制程式執行 改善人機介面和應用軟體提供支援的一種系統軟體。定義 把乙個程式在乙個資料集上的一次執行稱為乙個程序 process 程序是動態的。在現代作業系統中,把使用者的乙個計算問題或乙個應用問題作為乙個程序,把該程序中...
作業系統概論
作業系統的三個基本型別是 批處理作業系統 分時作業系統和實時作業系統。批處理作業系統的主要缺點是 缺少互動性允許多個使用者以互動方式使用計算機的作業系統稱為 允許多個使用者將多個作業提交給計算機集中處理的作業系統稱為 計算機系統能及時處理過程 控制資料並做出響應的作業系統稱為 分時作業系統 批處理作...