軟件行業非常迅速,以前流行C,C++java,spring,現在springcloud,docker,微服務,k8s云原生等概念火熱,還有各種各樣的新技術在不斷的涌現出來。但是計算機底層原理 這幾十年一直并沒有太大的變化,與其不斷去嘗試新技術,不如耐住性子,深入學習底層的知識,好好修煉“內功”。
計算機的軟硬件概念
計算機系統由"軟件"和"硬件"2大部分組成
其中軟件如果按應用范圍分類,一般分為系統軟件和應用軟件
:
- 系統軟件是各類操作系統,如windows、Linux、UNIX等,還包括操作系統的補丁程序及硬件驅動程序,都是系統軟件類。
- 應用軟件可以細分的種類就更多了,如工具軟件、游戲軟件、管理軟件等都屬于應用軟件類。
其中計算機硬件經過發展歷程:
馮·諾依曼體系結構
1946年,第一臺計算機ENIAC誕生,人類進入計算機時代,馮諾依曼和其他計算機科學家們 提出了計算機"存儲程序"
的計算機設計理念,即將計算機指令進行編碼后存儲在計算機的存儲器中,需要的時候可以順序地執行程序代碼,從而控制計算機運行。還定義計算機基本結構為 5 個部分,分別是運算器、控制器、存儲器、輸入設備、輸出設備
,這就是馮.諾依曼計算機
。
實線箭頭表示 數據線,虛線箭頭表示 控制線和反饋線
馮·諾依曼計算機特點:
- 計算機由 運算器、存儲器、控制器、輸入設備和輸出設備 五大部件組成, 側重于硬件抽象
- 將計算機的計算和記憶分開,負責計算的部分由運算器和控制器組成,負責記憶的部分稱為存儲器
- 指令和數據均用 二進制數 表示
- 指令和數據以同等地位存放于存儲器內,并可 按地址尋訪
- 指令由操作碼和地址碼組成,操作碼用來表示操作的性質,地址碼用來表示操作數在存儲器中的位置
- 指令在存儲器內按順序存放。通常,指令是順序執行的,在特定條件下,可根據運算結果
或根據設定的條件改變執行順序
- 以運算器為中心
現代計算機系統與馮·諾依曼計算機差別不大,最大的區別馮·諾依曼計算機 是 以運算器為中心的 ,而現代計算機 以儲存器為中心:
接下來,我們分別介紹一下這幾個重要組成部分
- 存儲器
存儲器是用來存放數據和程序。存儲器 包含主存和輔存
- 運算器
運算器也叫算數邏輯單元
,是進行算數運算和邏輯運算的部件,在控制器的控制下,對取自內存儲器的數據進行算術運算或邏輯運算,并將運算的結果送到內存儲器。
- 控制器
控制器用來控制、指揮程序和數據的輸人、運行以及處理運算結果。計算機在工作時,控制器首先從內存儲器中按順序取出一條指令,并對該指令進行譯碼分析,根據指令的功能向相關部件發出操作命令,使這些部件執行該命令所規定的任務,執行之后再取出第二條指令進行分析執行。如此反復,直到所有指令都執行完成。
- 輸入設備
輸入設備用來將人們熟悉的信息形式轉換為機器能識別的信息形式,常見的有鍵盤、鼠標等
- 輸出設備
輸出設備可將機器運算結果轉換為人們熟悉的信息形式,如打印機輸出、顯示器輸出等。
- 中央處理器(CPU)
由于運算器和控制器在邏輯關系和電路結構上聯系十分精密,特別是大型集成電路時代的到來,所以往往會將運算器和控制器集成到同一個芯片上,統稱 在中央處理器(CPU),其功能是從內存儲器中取出指令、解釋指令并執行指令。
- CPU中 還有一個常見的組件,寄存器
寄存器是CPU內部用來存放數據的一些小型的存儲區域,用來暫時存放參與運算的數據以及運算結果。寄存器由電子線路組成,存取速度非常快,與CPU的速度相當,寄存器的成本較高,因而數量較少。CPU內部的寄存器類型有指令寄存器、程序計數器、數據寄存器、地址寄存器以及狀態寄存器等。
總線
總線
是貫穿整個系統的是一組電子管道,稱作總線
,它攜帶信息字節并負責在各個計算機部件間傳遞。通常總線被設計成傳送定長的字節塊,也就是字(word)。字中的字節數(即字長)是一個基本的系統參數,各個系統中都不盡相同。現在的大多數機器字長要么是4個字節(32位),要么是8個字節(64位)。本文我們不對字長做任何固定的假設
另外計算機最小的存儲單位
是 字節( byte ) ,1 字節等于 8 位(1Byte=8bit
),而 位/比特(bit) 是計算機最小的數據傳輸單位
。1 字節等于 8 位(1Byte=8bit)這個換算規則大家需要牢記
我們順便把內存相關的知識串起來:計算機將8個bit歸為一組,為字節,每一個字節都對應一個內存地址。內存的地址是從 0
開始編號的,然后自增排列,最后一個地址為內存總字節數 - 1
。CPU只需要知道某個數據類型的地址, 就可以直接去到對應的內存位置去提取數據了。
總線可分為 3 種:
- 地址總線 ,一般用于指定 CPU 將要操作的內存地址;
- 數據總線 ,一般用于讀寫內存的數據;
- 控制總線 ,一般用于發送和接收信號,比如中斷、設備復位等信號,CPU 收到信號后,通過控制總線進行響應;
-
cpu
+關注
關注
68文章
10898瀏覽量
212528 -
二進制
+關注
關注
2文章
795瀏覽量
41714 -
儲存器
+關注
關注
1文章
93瀏覽量
17508
發布評論請先 登錄
相關推薦
評論