軟件行業(yè)非常迅速,以前流行C,C++java,spring,現(xiàn)在springcloud,docker,微服務(wù),k8s云原生等概念火熱,還有各種各樣的新技術(shù)在不斷的涌現(xiàn)出來。但是計算機底層原理 這幾十年一直并沒有太大的變化,與其不斷去嘗試新技術(shù),不如耐住性子,深入學習底層的知識,好好修煉“內(nèi)功”。
計算機的軟硬件概念
計算機系統(tǒng)由"軟件"和"硬件"2大部分組成

其中軟件如果按應(yīng)用范圍分類,一般分為系統(tǒng)軟件和應(yīng)用軟件:
- 系統(tǒng)軟件是各類操作系統(tǒng),如windows、Linux、UNIX等,還包括操作系統(tǒng)的補丁程序及硬件驅(qū)動程序,都是系統(tǒng)軟件類。
- 應(yīng)用軟件可以細分的種類就更多了,如工具軟件、游戲軟件、管理軟件等都屬于應(yīng)用軟件類。
其中計算機硬件經(jīng)過發(fā)展歷程:
- 電子管時代,速度每秒幾千次~幾萬次
- 晶體管時代,速度每秒幾萬次~幾十萬次
- 中小規(guī)模集成電路時代,速度每秒幾十萬次~幾百萬次
- 大規(guī)模、超大規(guī)模集成電路時代,速度每秒上千萬次~萬億次
馮·諾依曼體系結(jié)構(gòu)
1946年,第一臺計算機ENIAC誕生,人類進入計算機時代,馮諾依曼和其他計算機科學家們 提出了計算機"存儲程序"的計算機設(shè)計理念,即將計算機指令進行編碼后存儲在計算機的存儲器中,需要的時候可以順序地執(zhí)行程序代碼,從而控制計算機運行。還定義計算機基本結(jié)構(gòu)為 5 個部分,分別是運算器、控制器、存儲器、輸入設(shè)備、輸出設(shè)備,這就是馮.諾依曼計算機。

實線箭頭表示 數(shù)據(jù)線,虛線箭頭表示 控制線和反饋線
馮·諾依曼計算機特點:
- 計算機由 運算器、存儲器、控制器、輸入設(shè)備和輸出設(shè)備 五大部件組成, 側(cè)重于硬件抽象
- 將計算機的計算和記憶分開,負責計算的部分由運算器和控制器組成,負責記憶的部分稱為存儲器
- 指令和數(shù)據(jù)均用 二進制數(shù) 表示
- 指令和數(shù)據(jù)以同等地位存放于存儲器內(nèi),并可 按地址尋訪
- 指令由操作碼和地址碼組成,操作碼用來表示操作的性質(zhì),地址碼用來表示操作數(shù)在存儲器中的位置
- 指令在存儲器內(nèi)按順序存放。通常,指令是順序執(zhí)行的,在特定條件下,可根據(jù)運算結(jié)果
或根據(jù)設(shè)定的條件改變執(zhí)行順序
- 以運算器為中心
現(xiàn)代計算機系統(tǒng)與馮·諾依曼計算機差別不大,最大的區(qū)別馮·諾依曼計算機 是 以運算器為中心的 ,而現(xiàn)代計算機 以儲存器為中心:

接下來,我們分別介紹一下這幾個重要組成部分
- 存儲器
存儲器是用來存放數(shù)據(jù)和程序。存儲器 包含主存和輔存
- 運算器
運算器也叫算數(shù)邏輯單元,是進行算數(shù)運算和邏輯運算的部件,在控制器的控制下,對取自內(nèi)存儲器的數(shù)據(jù)進行算術(shù)運算或邏輯運算,并將運算的結(jié)果送到內(nèi)存儲器。
- 控制器
控制器用來控制、指揮程序和數(shù)據(jù)的輸人、運行以及處理運算結(jié)果。計算機在工作時,控制器首先從內(nèi)存儲器中按順序取出一條指令,并對該指令進行譯碼分析,根據(jù)指令的功能向相關(guān)部件發(fā)出操作命令,使這些部件執(zhí)行該命令所規(guī)定的任務(wù),執(zhí)行之后再取出第二條指令進行分析執(zhí)行。如此反復(fù),直到所有指令都執(zhí)行完成。
- 輸入設(shè)備
輸入設(shè)備用來將人們熟悉的信息形式轉(zhuǎn)換為機器能識別的信息形式,常見的有鍵盤、鼠標等
- 輸出設(shè)備
輸出設(shè)備可將機器運算結(jié)果轉(zhuǎn)換為人們熟悉的信息形式,如打印機輸出、顯示器輸出等。
- 中央處理器(CPU)
由于運算器和控制器在邏輯關(guān)系和電路結(jié)構(gòu)上聯(lián)系十分精密,特別是大型集成電路時代的到來,所以往往會將運算器和控制器集成到同一個芯片上,統(tǒng)稱 在中央處理器(CPU),其功能是從內(nèi)存儲器中取出指令、解釋指令并執(zhí)行指令。
- CPU中 還有一個常見的組件,寄存器
寄存器是CPU內(nèi)部用來存放數(shù)據(jù)的一些小型的存儲區(qū)域,用來暫時存放參與運算的數(shù)據(jù)以及運算結(jié)果。寄存器由電子線路組成,存取速度非??欤cCPU的速度相當,寄存器的成本較高,因而數(shù)量較少。CPU內(nèi)部的寄存器類型有指令寄存器、程序計數(shù)器、數(shù)據(jù)寄存器、地址寄存器以及狀態(tài)寄存器等。
總線
總線是貫穿整個系統(tǒng)的是一組電子管道,稱作總線,它攜帶信息字節(jié)并負責在各個計算機部件間傳遞。通??偩€被設(shè)計成傳送定長的字節(jié)塊,也就是字(word)。字中的字節(jié)數(shù)(即字長)是一個基本的系統(tǒng)參數(shù),各個系統(tǒng)中都不盡相同?,F(xiàn)在的大多數(shù)機器字長要么是4個字節(jié)(32位),要么是8個字節(jié)(64位)。本文我們不對字長做任何固定的假設(shè)
另外計算機最小的存儲單位是 字節(jié)( byte ) ,1 字節(jié)等于 8 位(1Byte=8bit),而 位/比特(bit) 是計算機最小的數(shù)據(jù)傳輸單位。1 字節(jié)等于 8 位(1Byte=8bit)這個換算規(guī)則大家需要牢記
我們順便把內(nèi)存相關(guān)的知識串起來:計算機將8個bit歸為一組,為字節(jié),每一個字節(jié)都對應(yīng)一個內(nèi)存地址。內(nèi)存的地址是從 0 開始編號的,然后自增排列,最后一個地址為內(nèi)存總字節(jié)數(shù) - 1。CPU只需要知道某個數(shù)據(jù)類型的地址, 就可以直接去到對應(yīng)的內(nèi)存位置去提取數(shù)據(jù)了。
總線可分為 3 種:
- 地址總線 ,一般用于指定 CPU 將要操作的內(nèi)存地址;
- 數(shù)據(jù)總線 ,一般用于讀寫內(nèi)存的數(shù)據(jù);
- 控制總線 ,一般用于發(fā)送和接收信號,比如中斷、設(shè)備復(fù)位等信號,CPU 收到信號后,通過控制總線進行響應(yīng);
-
cpu
+關(guān)注
關(guān)注
68文章
11281瀏覽量
225097 -
二進制
+關(guān)注
關(guān)注
2文章
809瀏覽量
43045 -
儲存器
+關(guān)注
關(guān)注
1文章
94瀏覽量
18122
發(fā)布評論請先 登錄
計算機的基本組成及工作原理
計算機的基本組成和工作原理是什么
計算機的組成原理是什么?
計算機組成原理是什么
計算機組成原理
計算機組成原理 精選資料分享
微型計算機是由哪些部件組成的
計算機組成原理
計算機由哪幾部分組成?計算機系統(tǒng)的層次結(jié)構(gòu)是怎樣的?
計算機動環(huán)系統(tǒng)是由哪些部分組成的
計算機及系統(tǒng)組成
計算機的基本是由什么組成?(下)
計算機的基本是由什么組成?(上)
評論