CPU工作流程
計算機五大組成部分的基本工作流程就是:輸入單元=>主存儲器=>CPU=>主存儲器=>輸出單元
而CPU會從內存中取指令->解碼->執行,然后再取指->解碼->執行下一條指令,周而復始,直至整個程序被執行完成。
所以總結CPU的大致工作流程就是:取指一>解碼一>執行,詳細見下圖

CPU分類和指令集
# x86架構64位(重要)
x86是針對cpu的型號或者說架構的一種統稱。64位指的是cpu一次性能從內存中取出多少位二進制指令,64bit指的是一次性能從內存中取出64位二進制指令。
cpu具有向下兼容性:64的cpu既能運行32位的程序也能運行64位的程序;換句話說,32位的程序可以在32位的cpu上運行也可以在64位的cpu上運行。;64位的程序只能在64位的cpu上運行。
# cpu指令集(了解)
# 1.1、精簡指令集(了解)
精簡指令集(Reduced Instruction Set Computing,RISC):這種CPU的設計中,微指令集較為精簡,每個指令的運行時間都很短,完成的動作也很單純,指令的執行效能較佳;但是若要做復雜的事情,就要由多個指令來完成。
SPARC架構的計算機常用於學術領域的大型工作站中,包括銀行金融體系的主服務器也都有這類的計算機架構;
PowerPC架構的應用,如Sony出產的Play Station 3(PS3)使用的就是該架構的Cell處理器。
ARM是世界上使用范圍最廣的CPU了,常用的各廠商的手機、PDA、導航系統、網絡設備等,幾乎都用該架構的CPU。
# 1.2、復雜指令集
復雜指令集(Complex Instruction Set Computer,CISC)與RISC不同,在CISC的微指令集中,每個小指令可以執行一些較低階的硬件操作,指令數目多而且復雜,每條指令的長度並不相同。因此指令執行較為復雜所以每條指令花費的時間較長,但每條個別指令可以處理的工作較為豐富。常見的CISC微指令集CPU主要有AMD、Intel、VIA等的x86架構的CPU。
# 總結:
CPU按照指令集可以分為精簡指令集CPU和復雜指令集CPU兩種,區別在於前者的指令集精簡,每個指令的運行時間都很短,完成的動作也很單純,指令的執行效能較佳;但是若要做復雜的事情,就要由多個指令來完成。后者的指令集每個小指令可以執行一些較低階的硬件操作,指令數目多而且復雜,每條指令的長度並不相同。因為指令執行較為復雜所以每條指令花費的時間較長,但每條個別指令可以處理的工作較為豐富。
內核態與用戶態(重要)
代表cpu的兩種工作狀態
1、內核態:運行的程序是操作系統,可以操作計算機硬件
2、用戶態:運行的程序是應用程序,不能操作計算機硬件
內核態與用戶態的轉換
應用程序的運行必然涉及到計算機硬件的操作,那就必須有用戶態切換到
內核態下才能實現,所以計算機工作時在頻繁發生內核態與用戶態的轉換
多線程與多核芯片
2核4線程:
2核代表有兩個cpu,4線程指的是每個cpu都有兩個線程=》假4核
4核8線程
4核代表有4個cpu,8線程指的是每個cpu都有兩個線程=》假8核
存儲器
存儲器是計算機第二重要的部分。目前速度快+容量大+價格便宜是人們所希望的。但是魚和熊掌不可兼得,於是就產生了如下存儲器結構

RAM:內存
ROM:“只讀內存”
存放計算機廠商寫死計算機上的一段核心程序=》BIOS
CMOS:存取速度慢,斷電數據丟失,耗電量極低
硬盤:
機械硬盤:磁盤
磁道:一圈數據,對應着一串二進制(1bit代表一個二進制位)
8bit比特位=1Bytes字節
1024Bytes=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB
1024TB=1PB
200G=200*1000*1000B
扇區:
一個扇區通過為512Bytes
站在硬盤的解讀,一次性讀寫數據的最小單為為扇區
操作系統一次性讀寫的單位是一個block塊=》8扇區的大小=4096Bytes
柱面
固態硬盤
IO延遲(重要)
# 機械硬盤轉速
7200轉/min
120轉/s
1/120轉/s=轉一圈需要花費8ms
平均尋道時間:機械手臂轉到數據所在磁道需要花費的時間,受限於物理工藝水平,目前機械硬盤可以達到的是5ms
平均延遲時間:轉半圈需要花費4ms,受限於硬盤的轉速
IO延遲=平均尋道時間+平均延遲時間
優化程序運行效率的一個核心法則:能從內存取數據,就不要從硬盤取
總線
操作系統的啟動流程(重要)
BIOS介紹:
BIOS:Basic Input Output System
BIOS被寫入ROM設備
裸機:
cpu
ROM:充當內存,存放BIOS系統
CMOS:充當硬盤
操作系統的啟動流程(*****)
1.計算機加電
2.BIOS開始運行,檢測硬件:cpu、內存、硬盤等
3.BIOS讀取CMOS存儲器中的參數,選擇啟動設備
4.從啟動設備上讀取第一個扇區的內容(MBR主引導記錄512字節,前446為引導信息,后64為分區信息,最后兩個為標志位)
5.根據分區信息讀入bootloader啟動裝載模塊,啟動操作系統
6.然后操作系統詢問BIOS,以獲得配置信息。對於每種設備,系統會檢查其設備驅動程序是否存在,如果沒有,系統則會要求用戶安裝設備驅動程序。一旦有了全部的設備驅動程序,操作系統就將它們調入內核
應用程序的啟動流程(*****)
1、雙擊exe快捷方式--》exe文件的絕對路徑,就是在告訴操作系統說:我有一個應用程序要執行,應用程序 的文件路徑是(exe文件的絕對路徑)
2、操作系統會根據文件路徑找到exe程序在硬盤的位置,控制其代碼從硬盤加載到內存
3、然后控制cpu從內存中讀取剛剛讀入內存的應用程序的代碼執行,應用程序完成啟動
