中央處理器體系結構

中央處理器體系結構

中央處理器(CPU,Central Processing Unit)是一塊超大規模的積體電路,是一台計算機的運算核心(Core)和控制核心( Control Unit)。它的功能主要是解釋計算機指令以及處理計算機軟體中的數據。目前中央處理機結構主要有馮·諾依曼結構、哈佛結構、重疊結構、流水結構、並行處理結構等。

基本概念

中央處理器(CPU,Central Processing Unit)是一塊超大規模的積體電路,是一台計算機的運算核心(Core)和控制核心( Control Unit)。它的功能主要是解釋計算機指令以及處理計算機軟體中的數據。中央處理器主要包括運算器(算術邏輯運算單元,ALU,Arithmetic Logic Unit)和高速緩衝存儲器(Cache)及實現它們之間聯繫的數據(Data)、控制及狀態的匯流排(Bus)。它與內部存儲器(Memory)和輸入/輸出(I/O)設備合稱為電子計算機三大核心部件。目前中央處理機結構主要有馮·諾依曼結構、哈佛結構、重疊結構、流水結構、並行處理結構等。

CPU基本結構

從功能上看,一般CPU的內部結構可分為:控制單元、邏輯運算單元、存儲單元(包括內部匯流排和緩衝器)三大部分。其中控制單元完成數據處理整個過程中的調配工作,邏輯單元則完成各個指令以便得到程式最終想要的結果,存儲單元就負責存儲原始數據以及運算結果。渾然一體的配合使得CPU擁有了強大的功能,可以完成包括浮點、多媒體等指令在內的眾多複雜運算,也為數字時代加入了更多的活力。

邏輯部件

英文Logic components;運算邏輯部件。可以執行定點或浮點算術運算操作、移位操作以及邏輯操作,也可執行地址運算和轉換。

暫存器

暫存器部件,包括暫存器、專用暫存器和控制暫存器。 通用暫存器又可分定點數和浮點數兩類,它們用來保存指令執行過程中臨時存放的暫存器運算元和中間(或最終)的操作結果。 通用暫存器是中央處理器的重要部件之一。

控制部件

控制部件,主要是負責對指令解碼,並且發出為完成每條指令所要執行的各個操作的控制信號。其結構有兩種:一種是以微存儲為核心的微程式控制方式;一種是以邏輯硬布線結構為主的控制方式。

微存儲中保持微碼,每一個微碼對應於一個最基本的微操作,又稱微指令;各條指令是由不同序列的微碼組成,這種微碼序列構成微程式。中央處理器在對指令解碼以後,即發出一定時序的控制信號,按給定序列的順序以微周期為節拍執行由這些微碼確定的若干個微操作,即可完成某條指令的執行。簡單指令是由3~5個微操作組成,複雜指令則要由幾十個微操作甚至幾百個微操作組成。

CPU的邏輯單元

更細一點,從實現的功能方面看,CPU大致可分為如下八個邏輯單元:

(1)指令暫存器 :它是晶片上的指令倉庫,有了它CPU就不必停下來查找計算機記憶體中的指令,從而大幅提高了CPU的運算速度。

(2)指令解碼器 :它負責將複雜的機器語言指令解譯成運算邏輯單元(ALU)和暫存器能夠理解的簡單格式,就像一位外交官。

(3)控制單元 :既然指令可以存入CPU,而且有相應指令來完成運算前的準備工作,背後自然有一個扮演推動作用的角色——它便是負責整個處理過程的操作控制器。根據來自解碼單元的指令,它會生成控制信號,告訴運算邏輯單元(ALU)和暫存器如何運算、對什麼進行運算以及對結果進行怎樣的處理。

(4)暫存器 :它對於CPU來說非常的重要,除了存放程式的部分指令,它還負責存儲指針跳轉信息以及循環操作命令,是運算邏輯單元(ALU)為完成控制單元請求的任務所使用的數據的小型存儲區域,其數據來源可以是高速快取、記憶體、控制單元中的任何一個。

(5)邏輯運算單元(ALU) :它是CPU晶片的智慧型部件,能夠執行加、減、乘、除等各種命令。此外,它還知道如何讀取邏輯命令,如或、與、非。來自控制單元的訊息將告訴運算邏輯單元應該做些什麼,然後運算單元會從暫存器中間斷或連續提取數據,完成最終的任務。

(6)預取單元 :PU效能發揮對其依賴非常明顯,預取命中率的高低直接關係到CPU核心利用率的高低,進而帶來指令執行速度上的不同。根據命令或要執行任務所提出的要求,何時時候,預取單元都有可能從指令高速快取或計算機記憶體中獲取數據和指令。當指令到達時,預取單元最重要的任務就是確保所有指令均排列正確,然後傳送給解碼單元。

(7)匯流排單元 :它就像一條高速公路,快速完成各個單元間的數據交換,也是數據從記憶體流進和流出CPU的地方。

(8)數據高速快取 :存儲來自解碼單元專門標記的數據,以備邏輯運算單元使用,同時還準備了分配到計算機不同部分的最終結果。

通過以上介紹可以看出CPU雖小,方寸之地卻能容納大世界,內部更像一個發達的裝配工廠,環環相扣,層層相套。正因為有了相互間的協作配合,才使得指令最終得以執行,才構成了圖文並茂、影像結合的神奇數字世界。

CPU的體系結構

下面對CPU的馮·諾伊曼結構、哈佛結構和並行處理結構做出介紹。

馮·諾伊曼結構

(Von Neumann architecture),也稱普林斯頓結構,是一種將程式指令存儲器和數據存儲器合併在一起的電腦設計概念結構。下圖是馮·諾伊曼結構圖:

中央處理器體系結構 中央處理器體系結構

本結構隱約指導了將儲存裝置與中央處理器分開的概念,因此依本結構設計出的計算機又稱儲存程式型電腦。 最早的計算機器僅內涵固定用途的程式。現代的某些計算機依然維持這樣的設計方式,通常是為了簡化或教育目的。例如一個計算器僅有固定的數學計算程式,它不能拿來當作文書處理軟體,更不能拿來玩遊戲。若想要改變此機器的程式,你必須更改線路、更改結構甚至重新設計此機器。當然最早的計算機並沒有設計的那個可程式化。當時所謂的“重寫程式”很可能指的是紙筆設計程式步驟,接著制訂工程細節,再施工將機器的電路配線或結構改變。

而儲存程式型電腦的概念改變了這一切。藉由創造一組指令集結構,並將所謂的運算轉化成一串程式指令的執行細節,讓此機器更有彈性。借著將指令當成一種特別型態的靜態資料,一台儲存程式型電腦可輕易改變其程式,並在程控下改變其運算內容。馮·諾伊曼結構與儲存程式型電腦是互相通用的名詞,其用法將於下述。而哈佛結構則是一種將程式資料與普通資料分開儲存的設計概念,但是它並未完全突破馮·諾伊曼架構。

儲存程式型概念也可讓程式執行時自我修改程式的運算內容。本概念的設計動機之一就是可讓程式自行增加內容或改變程式指令的記憶體位置,因為早期的設計都要使用者手動修改。但隨著索引暫存器與間接位置存取變成硬體結構的必備機制後,本功能就不如以往重要了。而程式自我修改這項特色也被現代程式設計所棄揚,因為它會造成理解與除錯的難度,且現代中央處理器的管線與快取機制會讓此功能效率降低。

哈佛結構

哈佛結構(Harvard architecture)是一種將程式指令儲存和數據儲存分開的存儲器結構。中央處理器首先到程式指令儲存器中讀取程式指令內容,解碼後得到數據地址,再到相應的數據儲存器中讀取數據,並進行下一步的操作(通常是執行)。程式指令儲存和數據儲存分開,數據和指令的儲存可以同時進行,可以使指令和數據有不同的數據寬度,如Microchip公司的PIC16晶片的程式指令是14位寬度,而數據是8位寬度。

哈佛結構的微處理器通常具有較高的執行效率。其程式指令和數據指令分開組織和儲存的,執行時可以預先讀取下一條指令。 結構圖如圖所示:

中央處理器體系結構 中央處理器體系結構

並行處理結構

儘管發展至今的前四代計算機在硬體和性能上有很大的差異,但它們都是從一個基本的設計——馮諾依曼處理機衍生出來的。這些機器都是順序的,即每次使用一個處理部件完成一個運算。

它們的控制部件是集中順序的,存貯器是線性編址、固定寬度的,它們使用低級的順序性的機器語言。為了提高順序式機器的速度,就必須提高每個部件的運行速度。第五代計算機要求的速度將比用這種方法所能達到的速度高得多,因而,第五代計算機將是並行的機器,它的體系結構將使計算機一次完成許多個運算。並行機器的開發工作已經進行了多年,數組處理機從商業的角度已證明了它的生命力。這種機器主要由於與傳統的順序指令流的馮諾依曼編程方法很好地結合起來而獲得成功。

美國史丹福大學的麥可. 弗林(Michael Flynn)將這種機器的特點描述為:單指令流多數據流(SIMD) 結構。SIMD機器最適於處理規則的稠密數組帶問題。如圖象處理、矩陣運算和物理模擬等問題。它們不象單處理機那樣通用,一般地是作為馮諾依曼主機的附加處理機 。

相關詞條

熱門詞條

聯絡我們