CPU相關技術

Download Report

Transcript CPU相關技術

CPU資料處理
陳以德 助理教授: 濟世CS912
07-3121101 轉 2782
[email protected]
學習目標






電腦分類與速度
算術邏輯單元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 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-apentium-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 內部用來暫時存放資
料的地方, 是相當重要的一個元件。
 暫存器其實就是記憶體, 位於記憶體階層的最上層,
主要是為了配合 CPU 的高速運算而設置。
匯流排
 電腦上各元件傳送資料的管道就是匯流排 (Bus)
 內部匯流排 (Internal Bus):CPU 內部用來傳送資料的通
道。控制單元、算術/ 邏輯單元及暫存器在讀取、存放資
料時, 都是經過內部匯流排
 系統匯流排 (System Bus, 或 Processor System Bus):
CPU 與主機板上晶片組傳送資料的通道
 擴充匯流排 (Expansion Bus):晶片組和主機板上除了
CPU 之外的各元件傳送資料的通道
匯流排示意圖(需改畫)
位址匯流排
中
央
處
理
單
元
記憶體單元
控制匯流排
資料匯流排
輸入/輸出單元
CPU相關技術(二)
教室
桌面
CPU
Cache
memory
書店
Cache
memory
RAM
Cache 或 Prefetch 的觀念
世界
RAM
硬碟
CPU相關技術(三)
 平行處理:






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
CPU相關技術(五)
Instruction word
Memory
ALU
(FU)
ALU
(FU)
ALU
(FU)
ALU
(FU)
VLIW(EPIC)
ALU
(FU)
CPU
CPU
SMP
CPU
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相關技術
晶片組
23