正如大多數人所知道的那樣,cpu的名字叫做**處理器,它是計算機的大腦,可是對cpu的了解僅限於此的話,對我們來說其實是毫無用處,今天我們就深入的了解這個由數萬個電晶體構成的小東西,是如何成為計算機的大腦的。
當你在編**的時候,你真的只是編**嗎 ?
作為乙個程式設計師或者程式愛好者,我們最基本的工作就是程式設計,可是你真的知道程式到底是什麼嗎?其實,程式無非就是指令和資料,是指示計算機的每一步動作的一組指令。我們編的程式,目的就是想讓電腦按照我們的需求,替我們完成一些我們想要的讓他完成的事情,可是僅僅單憑這個程式,就能夠讓cpu像人類的大腦那樣進行思考嗎?顯然這是不可能的,cpu還需要編譯器將我們編的程式轉化成機器語言(計算機可以識別的語言)。具體流程如下圖:
了解到程式在計算機裡是怎麼處理到cpu,接下來,我們就就該聊一下cpu要幹的事兒的,為什麼cpu可以被叫做計算機的大腦而其他的電腦元件卻不可以。
組成cpu的四大金剛
cpu作為乙個計算機的中樞,當然需要鎮的住場子的看家本領,cpu裡的住著四位大仙,每個大仙都有自己獨特的本領,他們通力合作,完成著人類世界傳達過來的各種難題接下來,我們分別介紹一下:
暫存器暫存器的主要功能就是暫存指令,資料等處理物件,就像乙個藏經閣一樣,存放這個我們需要參悟的道理。
控制器控制器可以把記憶體上的指令,資料讀入暫存器,並根據指令的執行結果來控制整個計算機
運算器運算器可以運算從記憶體讀入暫存器的的資料
時鐘時鐘可以發出cpu計時的訊號
明白了這四位大仙的工作內容,我們就需要看一下他們四個是怎樣工作的呢?
程式啟動後,根據時鐘發過來的訊號,控制器就會從記憶體中讀取指令和資料,通過對這些指令的解釋執行,運算器就會對這些資料進行運算,然後再由控制器對運算結果進行控制。
作為乙個程式設計師,我們必須要更深刻的了解暫存器(高階語言編譯後的機器語言,是通過cpu內部的暫存器來處理的,例如高階語言編寫的a=a+1,編譯成機器語言是利用暫存器進行運算和儲存),對於我們來說,cpu無非就是各種暫存器的集合。其中程式計數器、 累加暫存器、標誌暫存器、指令暫存器和棧暫存器都只有乙個,其他的暫存器一般有多個,每個暫存器各司其職完成著我們的需求。
當我們去**買電腦時,我們總會考慮電腦的的記憶體,從而考慮麼到底是什麼?清除。
其實,物理上有稜有角的記憶體,在程式上可以很流暢的按照邏輯使用的。在物理上,記憶體是個電子元件,上面有很多引腳,通過引腳可以進行數碼訊號,電源,控制訊號, 拋開物理面,在邏輯,我們可以記憶體想象成座高樓,每層都存貯著同的資料,然對於程式來說,還存這資料型別不同的資料
型所佔的樓是不一樣的就假設儲存23這個數一樣,用char,short,long三種資料型儲所佔樓層是不一的,char型別只有一節,short只有兩個位元組,所以佔兩層,而long有四個位元組,存123需要占用層樓,所以程式中資料型別的不同,導致在物理上所佔的記憶體也是不一樣的。所以使用記憶體是我們作為程式設計師必不可少的技能,使用的手段有陣列,鍊錶,二叉樹等資料結構,今後我會針對使用記憶體所需要的資料結構技能寫一篇文章。
創新說到底是對人性的理解
創新說到底是對人性的理解 賈伯斯做任何乙個東西,都問自己乙個問題 如果這個東西我是客戶我會滿意嗎?什麼是對我最方便的?他要手機用乙個手指就可以操作,工程師說技術上不可能,但賈伯斯說不可能也要做到。最後做到了,這就是一種對人性的理解,對真善美的理解。這是乙個成功企業家的必備條件。我把企業家分為三類。第...
對程式設計師來說CPU是什麼
問題 程式是什麼?指示計算機每一步動作的一組指令。程式是由什麼組成的?指令和資料。什麼是機器語言?cpu可以直接識別並使用的語言。正在執行的程式儲存在什麼位置?記憶體,硬碟和磁碟等媒介上儲存的程式被複製到記憶體後才能執行。什麼是記憶體位址?用來表示指令和資料儲存位置的數值。計算機的構成元件中,負責程...
1024程式設計師節的由來,程式設計師到底是一幫什麼怪物
1024程式設計師節是中國程式設計師的共同節日。1024是2的十次方,二進位制計數的基本計量單位之一。程式設計師 英文programmer 是從事程式開發 維護的專業人員。程式設計師就像是乙個個1024,以最低調 踏實 核心的功能模組搭建起這個科技世界。1g 1024m,而1g與1級諧音,也有一級棒...