標籤:電腦 控制器 寄存器 作業系統 儲存空間
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
淺析電腦的原理(一)