中央处理单元.ppt
《中央处理单元.ppt》由会员分享,可在线阅读,更多相关《中央处理单元.ppt(122页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、著作權所有 旗標出版股份有限公司第第 2 章章中央處理單元1本章提要本章提要n2-1 CPU 的功用n2-2 CPU 的工作原理n2-3 CPU 的分類22-1 CPU 的功用的功用n什麼是 CPUnCPU 在電腦中扮演的角色3什麼是什麼是 CPUnCPU 的全名是 Central Processing Unit(中央處理單元),也就是一般人俗稱的處理器處理器(Processor);它在整部電腦的重要性,就宛如大腦之於人的地位一般!nCPU 負責系統中資料的運算(例如:加、減、乘、除)與邏輯判斷(例如大於、等於、小於)等核心工作,是電腦中最重要、最複雜的一個元件,電腦若沒有了 CPU,將無法正
2、常運作!4什麼是什麼是 CPUnCPU 除了計算的工作外,還必須指揮、協調其它元件之間執行、搭配的步調,我們也才得以順利操作、使用電腦上的所有軟硬體。n所以 CPU 的能力往往是用來評斷電腦執行效能的主要指標!5什麼是什麼是 CPU6CPU 在電腦中扮演的角色在電腦中扮演的角色n在第一章我們曾經提過電腦的五大單元,其中 CPU 就包含了控制單元控制單元及算術算術/邏輯單邏輯單元元兩大單元,其地位可見一斑!我們再來複習一下電腦的五大單元:7CPU 在電腦中扮演的角色在電腦中扮演的角色8CPU 在電腦中扮演的角色在電腦中扮演的角色n電腦的運作必定包含輸入輸入運算運算輸出輸出這 3 個過程。n舉例來
3、說,我們將自己的名字用鍵盤輸入到電腦,電腦螢幕便將名字顯示出來,這些輸入與輸出的過程對我們而言很容易理解,但是運算呢?我們的操作(如按滑鼠左鈕 2 下這個動作)要怎麼運算呢?9CPU 在電腦中扮演的角色在電腦中扮演的角色n其實對 CPU 而言,我們對電腦的操作會轉成一連串的指令,而探究指令的本質,其實就是數字資料(0 和 1)的組合,實際上在電腦中的所有的資料、指令都是數字。而將數字拿來做數學運算本來就是再正常不過的了!n接下來我們會一探 CPU 的內部結構,並理解電腦的運作是怎麼從輸入、經過運算、到最後產生輸出。102-2 CPU 的工作原理的工作原理n在了解 CPU 的工作原理之前,我們先
4、從 CPU 的結構開始認識起。112-2-1 CPU 的構造的構造nCPU 的構造包含了控制單元控制單元(CU,Control Unit)、算術算術/邏輯單元邏輯單元(ALU Arithmetic/Logic Unit)、暫存器暫存器(Register)等,並透過匯流排匯流排(Bus)來溝通:12CPU 的構造的構造#快取記憶體(Cache Memory)雖然也會設置在 CPU 內部,不過就傳統 CPU 的結構(Architecture)來說,快取記憶體並不屬於 CPU 的一部份。13控制單元控制單元n控制單元控制單元(Control Unit)負責控制資料流和指令流。n當我們輸入指令(如鍵盤
5、或滑鼠的操作)時,控制單元會讀取並解譯指令,以便將需要運算的資料送到算術算術/邏輯單元邏輯單元進行運算,並將運算完成的資料流或指令流,送到輸出或輸入單元。n其實說穿了,控制單元的主要任務就是在控制控制輸出與輸入而已。14算術算術/邏輯單元邏輯單元n算術算術/邏輯單元邏輯單元(Arithmetic/Logic Unit),從字面上來理解就是負責算術運算及邏輯運算。簡單地說,算術運算就是加、減、乘、除等運算,而邏輯運算則是 AND、OR、NOT 等運算,這些都是數學上再熟悉不過的運算方法了。15暫存器暫存器n暫存器暫存器(Register)是 CPU 內部用來暫時存放資料的地方,是相當重要的一個元
6、件。n暫存器其實就是記憶體,也是位於記憶體階層的最上層,主要是為了配合 CPU 的高速運算而設置。16暫存器暫存器n雖然暫存器的存取速度相當快,但因成本太高,所以通常只能配置幾個位元組(Bytes)的容量。每個暫存器的大小(寬度)也決定了 CPU 所能處理的字組(Word)大小。#字組(Word)是一個單位,表示 CPU 在一個指令週期(詳細後述)所處理的資料量。若 CPU 一次能處理 32 位元大小的字組,則這個 CPU 就稱為 32 位元 CPU。17暫存器暫存器nCPU 裏的暫存器有很多個,依功能的不同會分別配置在控制單元及算術/邏輯單元中。n通常,對程式設計者而言,一個 CPU 可以看
7、成是一群暫存器的組合,只要學習 CPU 的指令,並且熟習暫存器的用法,便可以順利的控制 CPU 動作了。18暫存器暫存器19暫存器暫存器n不同架構的 CPU其暫存器種類、數量都不同,以下介紹 x86 系列 CPU 中幾種較常見的暫存器:一般用途暫存器一般用途暫存器(General Purpose Register):一般用途暫存器是用來存放運算的資料、指令或位址。一般用途暫存器依其功能而有不同的名稱,以下是幾種常見的一般用途暫存器:20暫存器暫存器n資料暫存器(Data Register):資料暫存器即用來存放資料的地方。n累加器(Accumulator):累加器通常會被單獨拿出來介紹,因為累
8、加器是算術/邏輯運算單元中相當重要的部份,是用來存放運算過程及運算結果的資料。n指令暫存器(Instruction Register):通常設置在控制單元內,用來存放目前被執行的指令。n程式計數器(Program Counter):用來記錄 CPU 下一個要執行指令所存放的位址。21暫存器暫存器位址暫存器位址暫存器(Address Register):用來記錄資料存放在記憶體的位址,也稱為指位器指位器(Pointer)。常見位址暫存器有以下幾種:n堆疊暫存器(Stack Register):堆疊暫存器是用來記錄堆疊最頂端位址的暫存器。堆疊(Stack)是一種重要的資料結構(Data Struc
9、ture)。所謂的資料結構指的是資料組織與管理的方法。以堆疊而言,就是規定資料元素必須依著後進先出(LIFO,Last In First Out)之次序來存取。例如下圖我們將甲、乙、丙、丁這 4 個資料依次堆入(Push)堆疊:22暫存器暫存器23暫存器暫存器n當我們想由堆疊取出(Pop)資料時,其次序會是丁、丙、乙、甲。也就是說,像 甲 這個最早被 Push 的資料是最後才會被 Pop 的。這是因為堆疊是一種單一出入口的資料結構體,自然就會造成後進先後進先出出 這樣的特性了。以此例來說,堆疊暫存器記錄的就是丁的位址。24暫存器暫存器n基底暫存器基底暫存器(Base Register):基底暫
10、存器是基底定址法在做暫存器定址時所使用的暫存器。基底定址法就是以基底暫存器所指位址為起點,再加上一固定距離來得到資料所在的位址。舉例來說,如果要從堆疊區取資料,那麼必須先指定基底的位置,再依指定的距離找到要存取的位置:25暫存器暫存器26暫存器暫存器n如上圖所示,假設我們要取丁,那麼可以指定乙的位址為基底,加上 2 Bytes 的距離就可以找到丁的位址;或是以丙的位址為基底,加上 1 Bytes 的距離也可以找到丁的位址。#所謂定址法(Addressing Mode)就是 CPU 尋找資料所在位置的方法。簡言之,就是 CPU 存取(Access)資料的途徑,因此 CPU 除了可以對暫存器定址,
11、也可以對主記憶體定址。27暫存器暫存器n索引暫存器索引暫存器(Index Register):索引暫存器是索引定址法在做暫存器定址時使用的暫存器。索引定址法的原理與基底定址法是一樣的,但這時是以固定之位址(如堆疊的開頭)為基底,再加上索引暫存器儲存的值以得到資料所在位址。同樣以從堆疊區取資料為例:28暫存器暫存器29暫存器暫存器n如上圖所示,假設我們要取丁,此時會固定以甲為基底,再加上 3(索引暫存器所記錄的值)的距離來找到丁的位址。索引定址法和基底定址法最大的不同,就是說我們無須、也無法指定基底的位址。30暫存器暫存器旗標暫存器旗標暫存器(Flag Register):旗標暫存器是一種比較特
12、殊的暫存器,是用來記錄 CPU 在處理運算時的狀態,或運算之後的狀態。31CPU 如何執行指令如何執行指令n認識了控制單元控制單元、算術算術/邏輯單元邏輯單元及暫存器暫存器之後,我們就可以開始來瞭解指令是如何在 CPU 當中運作的。n當我們操作電腦而產生指令時,指令會放在記憶體中,接著 CPU 會讀取指令,再由控制單位進行解譯指令的工作。指令解譯完成後,會由控制單位或算術/邏輯單元執行指令。而在上述過程中,CPU 會使用暫存器來存放處理前及處理後的資料。32CPU 如何執行指令如何執行指令n上述 CPU 執行指令的一連串過程,就稱之為機器週期機器週期(Machine Cycle),亦可稱為指為
13、指令週期令週期(Instruction Cycle)。n過程中,控制單元從讀取指令到解譯完成的時間叫做指令時間指令時間(Instruction Time),而算術/邏輯單元從運算到運算完成並存入暫存器的時間,叫做執行時間執行時間(Execution Time),如下圖所示:33CPU 如何執行指令如何執行指令34CPU 如何執行指令如何執行指令#圖 2-8 為指令執行流程的示意圖,實際上指令並不一定在算術/邏輯單元中執行,也可能是由控制單元來執行的。35CPU 如何執行指令如何執行指令n通常我們用指令週期衡量 CPU 運算的速度。一個指令週期所需的時間,大約幾百萬分之一秒,也就是說一秒鐘可以執
14、行幾百萬個的指令。n而用來計量 CPU 運算速度的單位稱為 MIPS(Millions of Instruction Per Second,每秒百萬個指令),意即 CPU 一秒鐘可以執行幾百萬個的指令。MIPS 值越高,代表CPU 的運算速度越快。36匯流排匯流排n電腦上各元件傳送資料的管道就是匯流排匯流排(Bus)。從字面上解讀,取其匯流 之意,就大致可以明白這個傳送資料的管道,是由許多不同的管道整合在一起的。n這樣做的好處在於管道(也就是主機板上的電子線路)容易安排,也能確保所有元件都能互相傳送資料。37匯流排匯流排n舉例來說,就像高速公路也是採用匯流 的概念一樣,不同的地點都以交流道和高
15、速公路銜接,而不是地點和地點之間各自連接。n如此,就算新增加了一個地點,只要此地點有交流道連上高速公路,還是可以確保我們一定能到達該處。38匯流排匯流排n電腦中匯流排主要分為三大類:內部匯流排內部匯流排(Internal Bus):CPU 內部用來傳送資料的通道。控制單元、算術/邏輯單元及暫存器在讀取、存放資料時,都是經過內部匯流排。系統匯流排系統匯流排(System Bus,或 Processor System Bus):CPU 與主機板上晶片組傳送資料的通道,在 2-2-2 節會詳細介紹。39匯流排匯流排擴充匯流排擴充匯流排(Expansion Bus):晶片組和主機板上除了 CPU 之外
16、的各元件傳送資料的通道。40匯流排示意圖匯流排示意圖41何謂晶片組何謂晶片組n早期主機板必須佈滿許多電阻、電容、IC 晶片、與複雜的電子線路,才能供應主機板所需的各項功能,不但製造成本高,維修時更是困難重重。n不過,拜半導體科技突飛猛進之賜,現在只要以 2、3 顆晶片便能取代原先眾多的元件與線路,在功能上更是有過之而無不及。這幾顆晶片必須整組運用在同一塊板子上,因此便稱為晶片組晶片組。42何謂晶片組何謂晶片組n通常晶片組是由北橋北橋(North Bridge)與南南橋橋(South Bridge)晶片所組成的。n所以用最簡單的一句話來解釋,晶片組就負責整個主機板上所有裝置、元件間溝通與控制的樞
17、紐。而北橋與南橋晶片所負責的元件如表:43CPU 的規格與技術名詞的規格與技術名詞n在了解 CPU 的架構和一些重要的元件之後,接著要介紹一些 CPU 常見的規格和技術名詞,認識這些規格和技術名詞,對於實務上學習 CPU 是相當有幫助的。44CPU 的工作時脈的工作時脈n一般描述 CPU 的效能時,都是以 CPU 運作的時脈頻率,也稱為工作時脈來描述,早期其單位為 MHz(每秒百萬次);如 Celeron 950、Duron 800 就是指其時脈頻率分別為 950 MHz 與 800 MHz。n近來則發展到 GHz(每秒十億次)的速度,像是 Pentium 4 3.2 G、Duron 1.8G
18、 等;當然頻率愈高、執行效能愈快,但相對價格也愈貴!45CPU 的工作時脈的工作時脈#現在 AMD 的 CPU 如:Athlon 64,其所標示的數值並不是 CPU 真正的執行頻率、而是指其效能可獲致的結果!#例如 Athlon 64 3200+代表該 CPU 的效能可比擬、甚至超越 Pentium 4 的 3.2 G,但是其實際工作時脈只有 2.0 GHz 左右而已。46CPU 的工作時脈的工作時脈nCPU 時脈的計算方式如下:CPU 的內頻=CPU 的外頻 倍頻係數47CPU 的工作時脈的工作時脈n關於內頻、外頻、和倍頻係數說明如下:內頻內頻(Internal Clock):是 CPU 內
19、部在工作時的頻率,以 Pentium 4 2.8G 的 CPU 為例,其內頻即是 2800 MHz。外頻外頻(External Clock):是主機板提供給 CPU 的時脈頻率。倍頻係數倍頻係數(Clock Multiplier Factor):以內頻除以外頻,會得到一係數,此係數即稱為倍頻係數,也就是內頻和外頻相差的倍數。48什麼是超頻?什麼是超頻?n所謂的超頻,就是讓原本時脈較低的 CPU 以更高的時脈運作。n超頻的方法不外乎是調高外頻或倍頻係數,以提昇 CPU 的時脈。不過 CPU 廠商為了本身產品的區隔,不希望 CPU 被超頻使用,而大多把倍頻係數鎖住了。因此,現在要超頻,通常只能從外
20、頻來著手。49什麼是超頻?什麼是超頻?n既然超頻可以得到額外的效能,何樂而不為呢?n不過超頻可是有相當風險的,因為迫使 CPU 以更高時脈運作,當然會產生更高的溫度,不僅 CPU 本身有燒壞的可能,對於其它週邊也是一大考驗。n若是為了多一點效能,而不慎燒毀 CPU 或硬碟.等其它元件,都是很不划算的。50快取記憶體快取記憶體nCPU 利用暫存器來進行資料的存取和運算,但暫存器和主記憶體的速度差異實在太大,若從暫存器直接和主記憶體進行輸出或輸入,可能造成 CPU 長時間的閒置,只為了等待主記憶體將資料送進來。n為了提升系統的效能,於是在暫存器和主記憶體之間,配置了快取記憶體快取記憶體(Cache
21、 Memory)。51快取記憶體快取記憶體n快取記憶體是位於記憶體階層的第二層,相較於主記憶體,仍是屬於速度快、成本高的記憶體,因此通常也只能配置容量遠少於主記憶體的容量。n快取記憶體的容量雖然小,但可以存放較常使用的指令或資料。n由於 CPU 讀取需要的指令或資料時,會直接到快取記憶體尋找,若找不到需要的資料才會到主記憶體中讀取。52快取記憶體快取記憶體n因此,若 CPU 在快取就能找到需要的資料,便無需再到主記憶體讀取,而資料傳送的時間就便能大幅縮短了;這樣的工作方式正是快取記憶體能夠提高效能的最主要原因。n快取記憶體通常與 CPU 直接整合在一起,因此我們是無法自行增減快取記憶體的大小。
22、快取記憶體依層級(Level)區分為 Level1(L1,資料/指令快取)與 Level2(L2,記憶快取)等 2 種。53快取記憶體快取記憶體n在高階伺服器版本的 CPU 上,還會看到有第 3 層快取(L3 Cache),其速度以 L1 快取最快,接著依次是 L2 和 L3。通常我們較會注意到的是 L2 Cache 的大小,目前 CPU 使用的 L2 快取已經多達 1 MB。54快取記憶體快取記憶體n理論上 Cache 愈大、CPU 的效能愈好,也因此目前新型的 CPU 都不斷加大快取記憶體。不過,快取記憶體一旦超過一個額度後,其帶來的效益差異將變得不明顯了。n目前主流 CPU 多為 1,0
23、24 KB(1 MB)或 512 KB,入門級產品則縮減為 256 或 128 KB。55傳輸頻寬傳輸頻寬n傳輸頻寬傳輸頻寬(Bandwidth)是指單位時間內可傳送/接收的資料量(Bytes/Sec);在電腦上各元件之間會使用不同的傳輸頻寬,如北橋晶片和 CPU 之間的系統匯流排、和記憶體之間的擴充匯流排.等,都有不同的傳輸頻寬,這些頻寬都是可以計算出來的。在計算前,必須先瞭解頻寬是如何算出來的:傳輸頻寬=傳輸頻率(MHz)資料寬度(Bits)56傳輸頻傳輸頻寬寬n以使用 800 MHz 系統匯流排的 Pentium 4 CPU 為例,其 CPU 的資料寬度為 64 位元,故可傳輸的資料頻寬
24、就是:(800 MHz 64 Bits)=51,200 MBits/Sec=6,400 MBytes/Sec 6.4 GB/Sec57CPU 的指令集的指令集n從字面上來看,指令集指令集(Instruction Set)是一群指令的集合;而指令則是CPU 提供的服務。系統只要說明:請執行 xxxx 服務,所需的相關資料有:yyy,zzz,www,.,CPU 就會依序執行。n不過這是系統內部的運作,當中的執行細節完全由 CPU 廠商來決定。您所要了解是:指令集提供的服務是影響 CPU 效能的重要關鍵。我們可舉 2 個例子來體會這個事實:58CPU 的指令集的指令集n相同指令相同指令,需要不同執行
25、週期需要不同執行週期假設A、I 兩個相同頻率的 CPU 都執行相同的指令,I 需要 3 個執行週期,A 只需 2 個;則在相同時脈下,A 的效能自然比 I 快。n組合指令較慢組合指令較慢另一種情形則是:有些服務並非單一指令所提供,而是由多道指令組合而成;您可以想像,這類組合指令所需的執行週期自然比單一指令來得長。59CPU 的指令集的指令集n談到 CPU 的指令集,就不能不提到 CISC 和 RISC 這兩種分類,所以接著我們要來認識 CISC 與 RISC。60CISC 與與 RISCnCISC(Complex Instruction Set Computer)稱為複雜指令集複雜指令集,是指
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中央 处理 单元
限制150内