淺析計算機的原理(一)

瀏覽數:98 

1.計算機就是一個大的虛擬化系統,CPU在同一時間只能處理一個程序(進程)

2.操作系統將CPU虛擬化了,才能看起來在同一時間處理多個進程

3.系統開機的時候需要上電自檢POST,啟動計算機的自舉能力(就是利用BIOS實現自舉)

4.程序=指令+數據。指令和數據必須載入內存才能實現其功能

5.計算機的體系結構(馮.諾唯漫計算機體系之父):

運算器(數據/控制總線):一般只能進行加運算、邏輯運算(減、乘、除都可以換算成加法運算和邏輯運算),負責運算

加法器:包含加數、被加數、輸出和;一個加法器只能運算一次加法運算,用2進制運算(電路的閉合來控制,閉合有電流就理解為邏輯運算的1,斷開就是邏輯運算的0)

寄存器:在線路復用的情況,存在在運算器中暫時寄存加數的設備

控制器(控制總線):和上面的運算器一起組成了CPU,負責控制到什么地方取數據

存儲器(內存)(數據總線):是一個編址的存儲設備,每個字節8位,都有全局唯一編址(平面編址),負責存儲數據和指令

RAM:隨機易失性存儲器

ROM:只讀存儲器,開機的時候會自動映射在內存的最前面,用來實現探測所有設備的加電自檢

輸出設備:更用戶交互,輔助計算機的運行,比如硬盤、網卡

輸入設備:更用戶交互,輔助計算機的運行,比如硬盤、鍵盤、鼠標、網卡

思考1:在很多IO設備的時候,CPU是如何知道是哪個輸入設備進來的數據?又是怎么知道發給哪個輸出設備呢?

答:在CPU附近有一個終端控制芯片,直接和CPU相連,此芯片用不同的線路跟不同的輸入和輸出相連,感知不同鏈路的信號的時候,直接匯報給CPU,這樣CPU就感知了不同的輸入和輸出設備

思考2:CPU的頻率是用來干什么的?

答:加法器在運算時,每次的頻率是能完成一次事件,比如加數、被加數、輸出和

思考3:什么是南橋設備?什么是北橋設備?

答:北橋設備是離CPU比較近的設備,是高速總線控制器,用來控制所有和CPU交互的數據

 南橋設備是低速總線控制器,用來控制輸入輸出設備等IO設備,匯總之后連接到北橋輸送到CPU

思考4:什么是一級緩存?二級緩存?

答:當CPU的頻率運算高于內存數據的讀取速度,就需要一個緩存數據的技術,這就是緩存。所以計算機的主頻再高,也不能說明計算機的速度快,還要看內存的速度。緩存是衡量計算機性能的標準,一般緩存高的計算機價格都比較貴。

思考5:什么是程序的局部性原理?

答:程序是遵循局部性原理的,局部性分為時間的局部性和空間的局部性

 時間的局部性:程序在其他時間可能再次被訪問

空間的局部性:程序周邊的數據有可能也會被訪問到。所有程序都必須依賴芯片才能工作。

5.程序的就是指令和數據的組成,要讓機器能夠讀懂程序,程序就必須用二進制進行編寫,這樣的程序叫做機器語言(太困難);后來芯片的生產商,將芯片的語言附帶了微碼,每個芯片都支持微碼編程,這樣的編程叫做匯編語言,必須將匯編語言編譯成計算機能夠讀懂的語言(機器語言),所以需要一個編譯器(也是一個軟件),但是不同芯片廠商的微碼是不一樣的,所以一般Inter的芯片的匯編語言是不能用在摩托羅拉的芯片上,所以匯編語言是嚴重依賴硬件芯片的,這就是我們所謂的低級語言。后來才出現的我們現在的高級語言,不管哪種高級語言,都在做基于不同硬件芯片的相同程序開發環境,其實就是用匯編語言寫出一個能夠虛擬相同環境的API接口,透明化底層硬件的不同,在API上層可以利用不同的高級語言進行程序的編譯,無需考慮底層硬件的不同。

CPU怎么在同一時間處理多個程序?出現了操作系統進程的概念

CPU的時間片(slice):假設5ms

內存的分段機制、虛擬地址空間

操作系統的定義:是一種管理硬件資源,控制CPU的時間片和內存分段等分配給不同的程序的軟件,完成進程的啟動、終止、切換等操作。是一種通用軟件,不負責具體工作,負責協調其他程序工作。有了操作系統,所有程序(進程)都不能直接跟硬件打交道,需要通過操作系統內核調用來跟底層交互。由于內核調用太過于底層,所以被做成很多相對上層的各種各樣的接口,這樣很多個上層接口的集合叫做操作系統的庫。C語言寫程序就是利用編譯好的不同的庫來進行編譯的。也就是說Window上開發的程序是通過Window的庫開發的,Linux則是用Linux的庫進行開發的。(底層硬件----操作系統----庫----上層的程序軟件)。為了人機能夠更加有效交互,還得需要一個技術--Shell

6.硬件架構(CPU芯片的不同系列)

ARM:手機移動CPU架構(安卓、IOS),省電,性能好

x86:inter或者AMD的CPU架構(32位、64位)

安騰:屬于inter,從惠普收購的

alpha:惠普的CPU

UltraSparc:SAN公司的,SAN現在屬于Oricle

Power:第一個單核主頻超過4G的CPU,IBM的CPU

M68K:摩托羅拉CPU

PowerPC:是蘋果、IBM、摩托一起開發的

7.OS介紹

Windows

Linux

Unix

HP-UX

Solaris

SCO UNIX

Unixware

OS/2