<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 處理器(CPU)架構和原理分析

處理器(CPU)架構和原理分析

作者: 時(shí)間:2018-08-03 來(lái)源:網(wǎng)絡(luò ) 收藏

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

本文引用地址:http://dyxdggzs.com/article/201808/385335.htm

本文我們以Intel為例對的工作原理做簡(jiǎn)單介紹,僅僅是簡(jiǎn)單介紹,那么AMD,ARM,MIPS甚至PowerPC你應該會(huì )觸類(lèi)旁通才對。

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

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

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

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

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

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

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

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

總的來(lái)說(shuō),CPU從內存中一條一條地取出指令和相應的數據,按指令操作碼的規定,對數據進(jìn)行運算處理,直到程序執行完畢為止。

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

不管是復用還是分開(kāi),對我們理解CPU的運行原理沒(méi)啥影響,上圖沒(méi)畫(huà)總線(xiàn)的目的就是怕有些人太過(guò)于追求細節,一頭扎下去,浮不起來(lái),不能從宏觀(guān)上藐視敵人。

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

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

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

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

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

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

4、 修改指令計數器,決定下一條指令的地址。

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



關(guān)鍵詞: 處理器 CPU

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>