為了解在計算機系統(tǒng)中,程序是如何運行的,首先需要了解計算機系統(tǒng)的硬件組織。
1、總線
總線是貫穿整個系統(tǒng)一組電子管道,它攜帶信息字節(jié)并負責在各個部件間傳遞。通??偩€被設(shè)計成傳送特定長的字節(jié)塊,也就是字(word)。字中的字節(jié)數(shù)是一個基本的系統(tǒng)參數(shù),各個系統(tǒng)中都不盡相同。如32位操作系統(tǒng)一個字長是4個字節(jié),64位操作系統(tǒng)一個字長是8個字節(jié)。
位(bit),音譯為“比特”,表示二進制位。位是計算機內(nèi)部數(shù)據(jù)儲存的最小單位。
字節(jié)(byte) ,計算機中數(shù)據(jù)處理的基本單位,通常情況下一字節(jié)等于8位。
字 (word),計算機進行數(shù)據(jù)處理時,一次存取、加工和傳送的數(shù)據(jù)長度稱為字。一個字通常由一個或多個(一般是字節(jié)的整數(shù)位)字節(jié)構(gòu)成。
2、I/O設(shè)備
I/O(輸入/輸出)設(shè)備是系統(tǒng)與外部世界的聯(lián)系通道,通常包括:
用戶輸入的鍵盤和鼠標;
用戶輸出的顯示器;
長期存儲數(shù)據(jù)和程序的磁盤驅(qū)動器(磁盤);
網(wǎng)絡(luò)設(shè)備等。
每個I/O設(shè)備都通過一個控制器或適配器與I/O總線相連??刂破骱瓦m配器的區(qū)別主要在于它們的封裝方式??刂破魇荌/O設(shè)備本身或者主板上的芯片組;適配器則是一塊插在主板槽上的卡。它們的功能都是在I/O總線和I/O設(shè)備之間傳遞信息。
3、主存
主存是一個臨時存儲設(shè)備,在處理器執(zhí)行程序時,用來存放程序和程序處理的數(shù)據(jù)。從物理上來說,主存是由一組動態(tài)隨機存取存儲器(DRAM)芯片組成;從邏輯上來說,存儲器是一個線性的字節(jié)數(shù)組,每個字節(jié)都有其唯一的地址(數(shù)組索引),這些地址是從零開始的。
一般來說,組成程序的每條機器指令都由不同數(shù)量的字節(jié)構(gòu)成。與C程序變量相對應(yīng)的數(shù)據(jù)項的大小是根據(jù)類型變化的,比如在x86-64機器上 ,short類型的數(shù)據(jù)需要2個字節(jié),int和float類型需要4個字節(jié),而long和double類型需要8個字節(jié)。
4、處理器
處理器CPU是解釋或執(zhí)行存儲在主存中指令的引擎。處理器的核心是一個大小為一個字的存儲設(shè)備(或寄存器),成為程序計數(shù)器(PC)。在任何時刻,PC都指向主存中的某條機器語言指令(即含有該條指令的地址)。
從系統(tǒng)通電開始,直到系統(tǒng)斷電,處理器一直在不斷地執(zhí)行程序計數(shù)器指向的指令,再更新程序計數(shù)器,使其指向下一條指令。處理器看上去是按照一個非常簡單的指令執(zhí)行模型來操作的,這個模型是由指令集架構(gòu)決定的。在這個模型中,指令按照嚴格的順序執(zhí)行,而執(zhí)行一條指令包含執(zhí)行一系列的步驟。處理器從程序計數(shù)器指向的內(nèi)存處讀取指令,解釋指令中的位,執(zhí)行該指令指示的簡單操作,然后更新PC,使其指向下一條指令,而這條指令并不一定和內(nèi)存中剛剛執(zhí)行的指令相鄰。
這樣的簡單操作并不多,它們圍繞著主存、寄存器文件和算數(shù)/邏輯單元進行。寄存器文件是一個小的存儲設(shè)備,由一些單個字長的寄存器組成,每個寄存器都有唯一的名字。算數(shù)/邏輯單元計算新的數(shù)據(jù)和地址值。CPU在指令的要求下可能會執(zhí)行下面這些操作。
加載:從主存復制一個字節(jié)或一個字到寄存器,以覆蓋寄存器原來的內(nèi)容。
存儲:從寄存器復制一個字節(jié)或一個字到到主存的某個位置,以覆蓋這個位置上原來的內(nèi)容。
操作:把兩個寄存器的內(nèi)容復制到ALU,ALU對這兩個字做算術(shù)運算,并將結(jié)果存放到一個寄存器中,以覆蓋該寄存器原來的內(nèi)容。
跳轉(zhuǎn):從指令本身中抽取一個字,并將這個字復制到程序計數(shù)器中,以覆蓋PC中原來的值。
處理器看上去是它的指令集架構(gòu)的簡單實現(xiàn),但實際上現(xiàn)代處理器使用了非常復雜的機制來加速程序的執(zhí)行。
-
控制器
+關(guān)注
關(guān)注
114文章
17490瀏覽量
188418 -
cpu
+關(guān)注
關(guān)注
68文章
11186瀏覽量
221225 -
計算機
+關(guān)注
關(guān)注
19文章
7721瀏覽量
92261
發(fā)布評論請先 登錄
在調(diào)試器中品味計算機系統(tǒng)的喚醒過程
什么是計算機系統(tǒng)、計算機硬件和計算機軟件?
什么是計算機系統(tǒng)?硬件和軟件哪個更重要?
嵌入式計算機系統(tǒng)概述
計算機系統(tǒng)概論
計算機系統(tǒng)維護概述
什么是計算機系統(tǒng)的容錯性
計算機系統(tǒng)如何應(yīng)對大模型時代的挑戰(zhàn)與機遇

評論