CPU資料處理 陳以德 助理教授: 濟世CS912 07-3121101 轉 2782 itchen@kmu.edu.tw
學習目標 電腦分類與速度 算術邏輯單元Arithmetic/Logic Instructions 指令集 匯流排 CPU相關技術 晶片組
電腦分類 超級電腦(Supercomputer)、大型主機(Mainframe) 醫院主機、氣象用電腦、軍事用電腦 迷你電腦、工作站(Work Station) IC設計、學校主機 個人電腦(Personal Computer) 筆記型電腦(Notebook)、平板電腦(Tablet PC) PDA(個人數位助理, Personal Digital Assistant) 、智慧型手機 內嵌式電腦 電視遊樂器、印表機、汽車、洗衣機、手機內也有電腦
電腦速度 「電腦速度」,真正的指標是電腦解決問題的時間 (有時難以量度),一般有以下的幾種參考指標: CPU clock rate:目前最高大約是3-4G Core and Thread 核心與執行緒 MIPS(million instructions per second) MFLOPS(每秒鐘百萬次浮點運算) 註:浮點運算:1.37 x 10103這類的運算 以上這些指標,過度重視CPU的表現,而忽略了電 腦整體的表現,其實IO以及記憶體速度也會影響 電腦的速度。
電腦效能 CPU time : 真正使用 CPU 的時間 Instruction time 指令時間: 控制單元從讀取到解讀 完指令的時間 Execution time: ALU 從運算, 運算完存入暫存器的 時間 Throughput :每單位時間所完成的process數量 Turn around time :一件工作被提出至完成的時間 CPI cycles per instruction: 指令所需平均週期數
指令集 RISC:精簡指令集電腦 CISC:複雜指令集電腦 使用少量、較常用的, 且功能較簡單的基本指令, 來完成 複雜的指令 透過將指令較簡單且種類減少, 所以每個指令執行的速 度較快 CISC:複雜指令集電腦 設計較為複雜, 功能強大, 因此可以很容易處理很複雜的 指令, 但每個指令耗時較長 透過大量的指令種類,以減少所需指令數量
CISC v.s. RISC CISC RISC 使用電晶體數 多 少 指令個數 指令功能 單一指令功能強 僅常用基本指令 所需指令週期 長 短 Pipeline執行效能 較差 較佳
電腦速度(二) 測速程式: SPEC (http://www.spec.org),測運算速度 TPC (http://www.tpc.org ),測跑資料庫速度 WinBench(http://www.winbench.com),測PC速度 CPU Speed Professional, Super PI, Hyper PI 隨著電腦的硬體架構越來越複雜,電腦速度的問題就越來越 難以用單一指標來評定,常常必須視電腦的用途來決定採用 何種機器。 例如:Athlon和Pentium 4,Athlon整數運算比P4快,而浮點 運算比P4慢的狀況(大部分的辦公室工作用到的都是整數運算)
CPU Branch Predictor Level 1 Cache Instruction Decode and Prefetch Unit Execution Unit Integer ALU Core ******** Floating Point Unit Registers Bus Interface 64-bit Bus 32-bit Busses Data Cache http://www.pctechguide.com/cpu-architecture/basic-structure-of-a-pentium-microprocessor
各式CPU 圖片取自 Intel, AMD, ARM, Apple
CPU相關技術(一) CPU全名 Central Processing Unit (中央處理單元 CPU 包含控制(CU, Control Unit)及算術/邏輯(ALU, Arithmetic/Logic Unit )兩大單元 匯流排寬度與處理器位元數(32、64位元) 指令Prefetch、內含Cache memory (隔壁書店的例子) 指令大多數是依序進行的 利用程式執行Locality (時間、空間)的特質來加速 現在執行的指令與資料,等一下可能會用到(時間) 目前執行的指令與資料附近的資料,等一下可能會用到(空間)
CPU之暫存器 暫存器 (Register) 是 CPU 內部用來暫時存放資 料的地方, 是相當重要的一個元件。
匯流排 電腦上各元件傳送資料的管道就是匯流排 (Bus) 內部匯流排 (Internal Bus):CPU 內部用來傳送資料的通 道。控制單元、算術/ 邏輯單元及暫存器在讀取、存放資 料時, 都是經過內部匯流排 系統匯流排 (System Bus, 或 Processor System Bus): CPU 與主機板上晶片組傳送資料的通道 擴充匯流排 (Expansion Bus):晶片組和主機板上除了 CPU 之外的各元件傳送資料的通道
匯流排示意圖(需改畫) 中央處理單元 位 址 匯 流 排 記憶體單元 輸入/輸出單元 控 制 匯 流 排 資 料 匯 流 排
CPU相關技術(二) Cache memory CPU RAM Cache memory RAM 硬碟 教室 桌面 世界 書店 Cache memory CPU RAM Cache memory RAM 硬碟 Cache 或 Prefetch 的觀念
CPU相關技術(三) Pipeline: 類似工廠輸送帶 Super Scalar:一次可以執行兩個以上的指令 平行處理: Pipeline: 類似工廠輸送帶 Super Scalar:一次可以執行兩個以上的指令 SMP:一台機器有兩個以上相同的CPU SIMD:同一個指令下達給一群硬體一同工作 Vector machine:一個指令直接處理一組資料 VLIW(EPIC):一次直接對很多不同的執行單元下命令 亂序執行、分支預測 A=B+1 C=A x 3 D=B x 4 E=B-6 Super scalar: 3 out of order: 2
CPU相關技術(四) origin pipeline SIMD Super Scalar Vector machine 讀資料 讀指令 執行 存回答案 讀指令 讀資料 執行 存回答案 *********** 讀資料 讀指令 執行 存回答案 讀資料 讀指令 執行 存回答案 pipeline 讀資料 讀指令 執行 存回答案 讀資料 執行 存回答案 讀資料 讀指令 執行 存回答案 讀資料 讀指令 執行 存回答案 SIMD 讀資料 執行 存回答案 Super Scalar 讀資料 讀指令 執行 存回答案 Vector machine 讀指令 讀資料 執行 執行 執行 存回答案
CPU相關技術(五) Instruction word Memory CPU CPU CPU VLIW(EPIC) SMP ALU (FU) ALU (FU) ALU (FU) ALU (FU) ALU (FU) VLIW(EPIC) SMP
CPU相關技術(六) 散熱問題:散熱片、散熱風扇、導熱管、水冷 Hyper Threading:同時執行多執行緒的程式 Multi-Core(多核心):一個CPU晶片裡面真的有 兩個以上的CPU(每個Core裡面還可以是 Hyper Threading) 散熱問題:散熱片、散熱風扇、導熱管、水冷 Power問題:自動降速 SpeedStep技術、 Cool'n' Quiet技術
多核心 若將 CPU 比喻為煮咖啡: 單核心就像只有一位店員, 一次只能煮一杯咖啡 雙核心就像是兩位店員, 可以同時煮兩杯咖啡 加上 Hyper-Threading 技術, 那麼這位店員就能 一次煮兩杯咖啡, 不過必須輪流煮這兩杯咖啡 雙核心就像是兩位店員, 可以同時煮兩杯咖啡 若雙核心再加上 Hyper-Threading 技術, 那麼 這兩位店員就可以同時煮四杯咖啡!
CPU 的工作時脈 CPU 時脈的計算方式如下: CPU 的內頻 = CPU 的外頻 × 倍頻係數 內頻 (Internal Clock):是 CPU 內部在工作時的頻 率, 以 Pentium 4 3.2G 的CPU 為例, 其內頻即是 3200 MHz 外頻 (External Clock):是主機板供給 CPU 的時 脈頻率 倍頻係數 (Clock Multiplier Factor):將主機板供給 的外頻*倍頻係數,就會得到內頻
晶片組 晶片組主機板上裝置、元件間溝通與控制的樞紐 通常晶片組由北橋 (North Bridge)與南橋(South Bridge)晶片所組成 北橋近來整合進 CPU 內部 北橋 CPU、記憶體、顯示卡等高速裝置 南橋 PCI、USB、RS-232、IDE、BIOS、音效、 網路等週邊設備
SUMMARY 電腦分類與速度 算術邏輯單元Arithmetic/Logic Instructions 指令集 匯流排 CPU相關技術 晶片組