當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]本文我們以Intel為例對CPU的工作原理做簡單介紹,僅僅是簡單介紹,那么AMD,ARM,MIPS甚至PowerPC你應(yīng)該會觸類旁通才對。

 一直以來,總以為CPU內(nèi)部真是如當(dāng)年學(xué)習(xí)《計(jì)算機(jī)組成原理》時書上所介紹的那樣,是各種邏輯門器件的組合。當(dāng)看到納米技術(shù)時就想,真的可以把那些器件做的那么小么?直到看了Intel CPU制作流程及AMD芯片的制作流程的介紹不禁感慨,原來科技是如此的發(fā)達(dá)。

本文我們以Intel為例對CPU的工作原理做簡單介紹,僅僅是簡單介紹,那么AMD,ARM,MIPS甚至PowerPC你應(yīng)該會觸類旁通才對。

還記得那是1968年7月18日,鮑勃-諾斯和戈登-摩爾的新公司在美國加利福尼亞州,美麗的圣弗朗西斯科灣畔芒延維尤城的梅多費(fèi)大街365號開張了。并在成立不久斥資15000美元從一家叫INTELCO的公司手中買下了Intel名稱的使用權(quán)。由此Intel這位半導(dǎo)體巨人開始了他在IT行業(yè)傳奇般的歷史。

1971年11月15日,這一天被當(dāng)作全球IT界具有里程碑意義的日子而被寫入許多計(jì)算機(jī)專業(yè)教科書。Intel公司的工程師特德·霍夫發(fā)明了世界上第一個微處理器—4004,這款4位微處理器雖然只有45條指令,而且每秒只能執(zhí)行5萬條指令。甚至比不上1946年由美國陸軍賓夕法尼亞大學(xué)研制的世界第一臺計(jì)算機(jī)ENIAC。但它的集成度卻要高很多,一塊4004的重量還不到一盅司。 他因發(fā)明了微處理器,被英國《經(jīng)濟(jì)學(xué)家》雜志稱為“第二次世界大戰(zhàn)以來最有影響的科學(xué)家之一”。Intel公司的CPU發(fā)展歷程如下表所示:

 

 

以及后面的Pentium 1,2,3和4,再到酷睿、酷睿2,這里就不再一一列舉。Intel從8086開始,就進(jìn)入了我們所謂的x86時代。而80386的誕生則標(biāo)志著Intel正是進(jìn)入了32位微處理器的時代。從80386到Pentium 4這個年代的CPU,就是傳說中的IA-32時代。

我們都知道CPU的根本任務(wù)就是執(zhí)行指令,對計(jì)算機(jī)來說最終都是一串由“0”和“1”組成的序列。CPU從邏輯上可以劃分成3個模塊,分別是控制單元、運(yùn)算單元和存儲單元,這三部分由CPU內(nèi)部總線連接起來。如下所示:

 

 

控制單元:控制單元是整個CPU的指揮控制中心,由指令寄存器IR(Instruction Register)、指令譯碼器ID(Instruction Decoder)和操作控制器OC(Operation Controller)等,對協(xié)調(diào)整個電腦有序工作極為重要。它根據(jù)用戶預(yù)先編好的程序,依次從存儲器中取出各條指令,放在指令寄存器IR中,通過指令譯碼(分析)確定應(yīng)該進(jìn)行什么操作,然后通過操作控制器OC,按確定的時序,向相應(yīng)的部件發(fā)出微操作控制信號。操作控制器OC中主要包括節(jié)拍脈沖發(fā)生器、控制矩陣、時鐘脈沖發(fā)生器、復(fù)位電路和啟停電路等控制邏輯。

運(yùn)算單元:是運(yùn)算器的核心??梢詧?zhí)行算術(shù)運(yùn)算(包括加減乘數(shù)等基本運(yùn)算及其附加運(yùn)算)和邏輯運(yùn)算(包括移位、邏輯測試或兩個值比較)。相對控制單元而言,運(yùn)算器接受控制單元的命令而進(jìn)行動作,即運(yùn)算單元所進(jìn)行的全部操作都是由控制單元發(fā)出的控制信號來指揮的,所以它是執(zhí)行部件。

存儲單元:包括CPU片內(nèi)緩存和寄存器組,是CPU中暫時存放數(shù)據(jù)的地方,里面保存著那些等待處理的數(shù)據(jù),或已經(jīng)處理過的數(shù)據(jù),CPU訪問寄存器所用的時間要比訪問內(nèi)存的時間短。采用寄存器,可以減少CPU訪問內(nèi)存的次數(shù),從而提高了CPU的工作速度。但因?yàn)槭艿叫酒娣e和集成度所限,寄存器組的容量不可能很大。寄存器組可分為專用寄存器和通用寄存器。專用寄存器的作用是固定的,分別寄存相應(yīng)的數(shù)據(jù)。而通用寄存器用途廣泛并可由程序員規(guī)定其用途,通用寄存器的數(shù)目因微處理器而異。這個是我們以后要介紹這個重點(diǎn),這里先提一下。

我們將上圖細(xì)化一下,可以得出CPU的工作原理概括如下:

 

 

總的來說,CPU從內(nèi)存中一條一條地取出指令和相應(yīng)的數(shù)據(jù),按指令操作碼的規(guī)定,對數(shù)據(jù)進(jìn)行運(yùn)算處理,直到程序執(zhí)行完畢為止。

上圖中我沒有畫總線,只是用邏輯方式對其進(jìn)行呈現(xiàn)。原因早期Intel的微處理器,諸如8085,8086/8088CPU,普遍采用了地址總線和數(shù)據(jù)總線復(fù)用技術(shù),即將部分(或全部)地址總線與數(shù)據(jù)總線共用CPU的一些引腳。例如8086外部地址總線有20根,數(shù)據(jù)總線復(fù)用了地址總線的前16根引腳。復(fù)用的數(shù)據(jù)總線和地址總線雖然可以少CPU的引腳數(shù),但卻引入了控制邏輯及操作序列上的復(fù)雜性。所以,自80286開始,Intel的CPU才采用分開的地址總線和數(shù)據(jù)總線。

不管是復(fù)用還是分開,對我們理解CPU的運(yùn)行原理沒啥影響,上圖沒畫總線的目的就是怕有些人太過于追求細(xì)節(jié),一頭扎下去,浮不起來,不能從宏觀上藐視敵人。

OK,總結(jié)一下,CPU的運(yùn)行原理就是:控制單元在時序脈沖的作用下,將指令計(jì)數(shù)器里所指向的指令地址(這個地址是在內(nèi)存里的)送到地址總線上去,然后CPU將這個地址里的指令讀到指令寄存器進(jìn)行譯碼。對于執(zhí)行指令過程中所需要用到的數(shù)據(jù),會將數(shù)據(jù)地址也送到地址總線,然后CPU把數(shù)據(jù)讀到CPU的內(nèi)部存儲單元(就是內(nèi)部寄存器)暫存起來,最后命令運(yùn)算單元對數(shù)據(jù)進(jìn)行處理加工。周而復(fù)始,一直這樣執(zhí)行下去,天荒地老,??葜€,直到停電。

如果你對這段話還是覺得比較暈乎,那么就看我們老師是怎么講的:

1、取指令:CPU的控制器從內(nèi)存讀取一條指令并放入指令寄存器。指令的格式一般是這個樣子滴:

 

 

操作碼就是匯編語言里的mov,add,jmp等符號碼;操作數(shù)地址說明該指令需要的操作數(shù)所在的地方,是在內(nèi)存里還是在CPU的內(nèi)部寄存器里。

2、指令譯碼:指令寄存器中的指令經(jīng)過譯碼,決定該指令應(yīng)進(jìn)行何種操作(就是指令里的操作碼)、操作數(shù)在哪里(操作數(shù)的地址)。

3、 執(zhí)行指令,分兩個階段“取操作數(shù)”和“進(jìn)行運(yùn)算”。

4、 修改指令計(jì)數(shù)器,決定下一條指令的地址。

 

 

關(guān)于CPU我們從宏觀上把握到這個程度就OK了,后面我們會逐步進(jìn)入微觀階段,依次介紹80X86寄存器及其用途,NASM匯編和AT&T的區(qū)別,以及C代碼中嵌入的匯編語言的寫法。之所以介紹匯編語言目的不是說用匯編去寫代碼,那是相當(dāng)?shù)牟滑F(xiàn)實(shí),除非你是硬件驅(qū)動工程師。稍微偏上層一點(diǎn)的開發(fā)人員懂點(diǎn)低等的東西,對自己理解整個系統(tǒng)的架構(gòu)和原理是相當(dāng)有好處的。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉