CPU其實(shí)只認(rèn)識(shí)“0”和“1”我們經(jīng)常會(huì)聽(tīng)說(shuō)到某某芯片由多少百億個(gè)晶體管組成這樣的科技新聞,。沒(méi)錯(cuò),,CPU就是超大規(guī)模的集成電路,由數(shù)量超級(jí)多的晶體管組成,,而晶體管只有“開(kāi)”和“關(guān)”兩種狀態(tài),,剛好可以用“0”和“1”來(lái)代表這兩種狀態(tài),所以CPU是采用二進(jìn)制來(lái)進(jìn)行運(yùn)算的,。 CPU是什么?CPU是Central Processing Unit的縮寫(xiě),,中文名全稱為中央處理器,。CPU的組成包括了運(yùn)算邏輯、寄存器和控制部件,,它可以解釋指令和進(jìn)行數(shù)據(jù)運(yùn)算處理,。因?yàn)镃PU本身就是超大規(guī)模的數(shù)字電路,,只認(rèn)識(shí)“0”和“1”,所以所有的指令和數(shù)據(jù)都需要由“0”和“1”組成,。 二進(jìn)制只有“0”和“1”怎么運(yùn)算?所有運(yùn)算邏輯我們都可以理解為“與”,,“或”,,“非”,“異或”四種哦 與門(mén):多個(gè)條件中,,所有條件成立才算成立,,
或門(mén):多個(gè)條件中,只要有一個(gè)條件成立,,就算成立
非門(mén):其實(shí)就是反相
異或門(mén):可以理解為,,兩個(gè)條件不一樣,才算成立
當(dāng)然還可以由這四種門(mén)延申出“與非門(mén)”,,“或非門(mén)”,,“與或非門(mén)”,“異或非門(mén)”等,。 CPU為什么可以運(yùn)行我們的程序呢?上面說(shuō)到CPU只認(rèn)識(shí)“0”和“1”,,那它為什么可以運(yùn)行我們的程序呢,?CPU的確不可以直接運(yùn)行我們編寫(xiě)的程序。但如果直接只用“0”和“1”的組合來(lái)寫(xiě)程序,,那是相當(dāng)?shù)臒┧?,也難以找到錯(cuò)誤,是非常不現(xiàn)實(shí)的,。聰明的人類為了解決這個(gè)大麻煩,,就發(fā)明了匯編語(yǔ)言,用一些容易理解和記憶的字符來(lái)代替“0”和“1”組成的指令,。 例如:
當(dāng)然還是需要通過(guò)匯編器把這些用匯編語(yǔ)言編寫(xiě)的程序翻譯為“0”和“1”組成的十六進(jìn)制機(jī)器碼,。 隨著計(jì)算機(jī)技術(shù)的發(fā)展,,寫(xiě)的程序也越來(lái)越復(fù)雜了,,發(fā)現(xiàn)用匯編語(yǔ)言編寫(xiě)程序的效率也相當(dāng)?shù)停缓舐斆鞯娜祟愑职l(fā)明了我們現(xiàn)在用的各種高級(jí)語(yǔ)言,,比如C,C++,PHP,Python等等,,當(dāng)然這些由高級(jí)語(yǔ)言編寫(xiě)的程序就需要通過(guò)編譯器'翻譯'為CPU能夠識(shí)別的十六進(jìn)制機(jī)器碼。 匯編器或者編譯器可以理解代碼與CPU溝通的“橋梁”了,,通過(guò)它進(jìn)行“翻譯”,,CPU就可以認(rèn)識(shí)代碼了。 |
|
來(lái)自: 啟云_9137 > 《汽車(chē)電子》