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