day1 計算機硬件組成與工作原理
1、python是一門編程語言,什么是編程語言?
編程語言其實就是一門語言,不過這門語言是用來人與計算機溝通
人為什么要跟計算機溝通?
為了奴役計算機
銀行行長------人的語言-------員工
接收用戶輸入的賬號
接收用戶輸入的密碼
判斷輸入的賬號等于正確的賬號,并且輸入的密碼等于正確的密碼
告訴用戶登錄成功
否則:
告訴用戶賬號或密碼錯誤
程序員--------編程語言-------計算機
用編程語言翻譯上述邏輯
2、什么是編程?
編程是吧做事的步驟/業(yè)務(wù)邏輯給翻譯下來
注意:
先想好業(yè)務(wù)邏輯
再翻譯/編程
3、什么是程序?
代碼寫到文件中,放有代碼的文件就是程序,或者叫軟件
4、計算機硬件
原則:所有的計算機硬件都是在模仿人的某一功能或器官
cpu:負責數(shù)學運算與邏輯運算,執(zhí)行指令==============人腦
內(nèi)存:負責臨時記憶數(shù)據(jù)==============================人腦的記憶功能
優(yōu)點:存取IO速度都快
缺點:斷電數(shù)據(jù)丟失
硬盤:負責永久記憶數(shù)據(jù)==============================筆記本
優(yōu)點:永遠保存數(shù)據(jù),斷電數(shù)據(jù)不丟失
缺點:存取IO速度都慢
輸入設(shè)備:鍵盤、鼠標
輸出設(shè)備:顯示器、打印機
程序的運行和三大核心硬件的關(guān)系:
程序最先放在硬盤中
程序的運行是先把程序的代碼從硬盤讀入內(nèi)存,然后cpu從內(nèi)存讀取指令然后運行
5、IO問題和程序優(yōu)化的思路
1、讀操作
我們要做的是優(yōu)化數(shù)據(jù)讀取,減少IO讀取次數(shù),可以事先加載到內(nèi)存
能從內(nèi)存讀就不要從硬盤讀
如果原始的數(shù)據(jù)是存放于硬盤中的,并且該數(shù)據(jù)經(jīng)常被用到,那我們需要把硬盤中的這
塊數(shù)據(jù)事先讀到內(nèi)存中(緩存)
2、寫操作
在內(nèi)存中攢一大波,一次性寫入
cpu出廠會集成了一些指令集。從內(nèi)存中獲取指令->解碼->執(zhí)行指令
內(nèi)存中存取的是高低電頻,方便表達所以稱內(nèi)存中存放二進制
8bit = 1Byte
1024B = 1KB
1024KB = 1MB
1024KB =1GB
1024GB = 1TB
1024TB = 1PB
6、x86-64是什么
x86指的是cpu的型號,指x86架構(gòu)的cpu,存放復雜指令集
64指的是,cpu一次取64位數(shù)據(jù),可以向下兼容
7、cpu的兩種工作狀態(tài)(同時只能存在一種狀態(tài))
內(nèi)核態(tài):指放開了控制硬件的指令集,可以控制計算機硬件
用戶態(tài):公開運算器的指令集,可以進行運算