再看計算機體系基礎

CPU基礎

CPU即處理器,是計算機中控制數據操控的電路。它主要由三部分構成:算術/邏輯單元、控制單元和寄存器單元。它們的做用分別爲執行運算、協調機器活動以及臨時存儲。算法

cpu

CPU與主存

CPU中的寄存器分爲通用寄存器和專用寄存器,通用寄存器用於臨時存放CPU正在使用的數據,而專用寄存器用於CPU專有用途,好比指令寄存器和程序計數器。CPU與主存的經過總線進行通訊,CPU經過控制單元可以操做主存中的數據。bash

執行兩個數值相加的過程大體爲:從主存讀取第一個值放到寄存器1->從主存讀取第二個值放到寄存器2->兩個寄存器保存的值做爲輸入送到加法電路->將加法結果保存到寄存器3->控制單元將結果放到主存中。數據結構

cpu與主存

程序等同數據

原始的計算機並不像現代計算機同樣將程序保存起來,之前的人們只對數據進行保存,而設備執行的步驟做爲計算機的一部分而被內置在控制單元中。這樣就很不靈活,最多隻能經過從新佈線來提高靈活性。將程序與數據視做相同本質是很大的思想突破,由於人們一直認爲它們是不一樣的事物,數據應該存放在主存中而程序應該屬於CPU的一部分。機器學習

將程序做爲數據同樣保存在主存中大有好處,控制單元可以從主存讀取程序,而後對它們解碼並執行。當咱們要修改執行程序時能夠在計算機的主存中修改,而沒必要對CPU更改或從新佈線。分佈式

指令系統

程序包含了大量的機器指令,CPU對這些指令進行解碼並執行。CPU分爲兩類體系:精簡指令集計算機(RISC)和複雜指令集計算機(CISC)。RISC提供了最小的機器指令集,計算機效率高速度快且制形成本低。而CISC提供了強大豐富的指令集,能更方便實現複雜的軟件。性能

機器指令分爲三類:數據傳輸類、算術/邏輯類與控制類。學習

數據傳輸類指令用於將數據從一個地方移動到另外一個地方。好比將主存單元的內容加載到寄存器的LOAD指令,反之將寄存器的內容保存到主存的STORE指令。此外,CPU與其它設備(鍵盤、鼠標、打印機、顯示器、磁盤等)進行通訊的指令被稱爲I/O指令。編碼

算術/邏輯類指令用於讓控制單元請求在算術/邏輯單元內執行運算。這些運算包括算術、與、或、異或和位移等。人工智能

控制類指令用於指導程序執行。好比轉移(JUMP)指令,它包括無條件轉移和條件轉移。spa

指令格式

指令寄存器與程序計數器

CPU將主存的指令加載進來解碼並執行,其中涉及兩個重要寄存器:指令寄存器與程序計數器。指令寄存器用於存儲正在執行的指令,而程序計數器則保持下一個待執行的指令地址。

CPU向主存請求加載程序計數器指定的地址的指令,將其存放到指令寄存器中,加載後將程序計數器的值加2(假如指令長度爲2個字節)。

指令如何執行

好比咱們要計算11+22,假設過程爲:將主存地址爲00的內容加載到寄存器1中->將主存地址爲01的內容加載到寄存器2中->將寄存器1和寄存器2的數據相加並將結果保存到寄存器3->將寄存器3的結果存儲到主存地址爲02的位置->中止。

這個過程CPU涉及到四個操做:加載(load)、存儲(store)、加法(add)和中止(halt)。能夠對這些操做進行編碼,好比能夠分別用一、二、三、0000表示。

1100
1201
3312
2302
0000
複製代碼

指令執行

控制器

CPU與其餘設備的通訊通常經過控制器來實現,控制器可能在主板上,也可能以電路板形式插到主板。控制器自己能夠當作是小型計算機,也有本身簡單的CPU。之前每鏈接一種外設都須要購買對應的控制器,而如今隨着通用串行總線(USB)成爲通用的標準,不少外設均可以直接用USB控制器做爲通訊接口。每一個控制器都鏈接在總線上,經過總線進行通訊。

cpu與控制器

每一個控制器可能被設計成對應一組地址引用,主存則會忽略這些地址引用。當CPU往這些地址上發送消息時,實際上是直接穿過主存而到控制器的,操做的是控制器而非主存。這種模式稱爲存儲映射輸入/輸出。此外,這種模式的另一種實現能夠在機器指令中提供特定的操做碼,專門用於與控制器通訊,這樣的操做碼稱爲I/O指令。

直接存儲器存取

直接存儲器存取(DMA)是一種提高外設通訊性能的措施,CPU並不是老是須要使用總線,在總線空閒的時間裏控制器可以充分利用起來。由於控制器都與總線相鏈接,而控制器又有執行指令的能力,因此能夠將CPU的一些工做分給控制器來完成。好比在磁盤中檢索數據時,CPU能夠將告知控制器,而後由控制器找到數據並放到主存上,期間CPU能夠去執行其餘任務。這樣能節省CPU資源。不過DMA會使總線通訊更加複雜,並且會致使總線競爭問題。總線瓶頸源自馮諾依曼體系結構。

專一於人工智能、讀書與感想、聊聊數學、計算機科學、分佈式、機器學習、深度學習、天然語言處理、算法與數據結構、Java深度、Tomcat內核等。

相關文章
相關標籤/搜索