深入理解計算機系統 之 處理器讀並解釋存儲在存儲器中的指令


系統的硬件組成

總線

攜帶信息字節並負責哉各個部件間傳遞,通常被設計成傳送定長的字節塊,也就是字。一個字的字節數是基本的系統參數,比如4個字節(32位)。

I / O設備

通過控制器與適配器與總線相連,在I/O總線與I/O設備之間傳遞信息。控制器適配器的區別是封裝方式不同,控制器是置於I/O設備本身的主板上,適配器是插在主板插槽上的卡。

主存

主存是一個臨時的存儲設備。

從物理上說 主存由一組 動態隨機存取存儲器(DRAM)芯片組成

從邏輯上說 它是一個線性的字節數組,每個字節都有其唯一的地址。

處理器

CPU是 解釋執行存儲在主存中指令  的引擎。CPU核心是寄存器和程序計數器(PC)。任何時刻,PC都指向 主存 中的某條機器指令(就是含有該條指令的地址)。

運行hello程序

hello.c中已經被編譯系統翻譯成了目標文件hello並存放在磁盤上。

當我們在鍵盤上輸入“./hello”後,shell將字符逐一讀入寄存器,再放到存儲器當中。

回車

shell將hello目標文件代碼和數據,從磁盤複製到主存。

利用DMA可以直接從磁盤到主存。

加載到主存後,處理器執行機器語言指令,將結果字符串的字節從主存複製到寄存器文件,再從寄存器複製到顯示設備。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章