電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

83
電電電電電電電電電電電 電電電電 電 電電電電 電電電 、體、、 電電電電電電電 電電電電電CPU 電電電電電電 電電電體( Main memory 電電電電電電電電 電電電Bus 電電電 CPU 電電電電 電電電 電電電電電電電電電電電電電電 IC

Upload: meira

Post on 14-Jan-2016

167 views

Category:

Documents


1 download

DESCRIPTION

電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組. 主機板上的元件 中央處理器( CPU )是電腦的心臟 主記憶體( Main memory )是存放程式的地方 匯流排( Bus )是連結 CPU 與主記憶體的橋樑 晶片組是用來協調匯流排速度的 IC 。. 電腦系統單元: 中央處理器、主記憶體、匯流排 、晶片組. 電腦硬體的 5 大單元中,最核心部分(系統單元)是 中央處理器 與 主記憶體 ,而連結這兩者的橋樑是 匯流排 ,. 電腦系統單元: 中央處理器、主記憶體、匯流排 、晶片組. 中央處理器是電腦執行運算的單元 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

電腦系統單元:中央處理器、主記憶體、匯流排、晶片組

主機板上的元件中央處理器( CPU )是電腦的心臟主記憶體( Main memory )是存放程式的地方匯流排( Bus )是連結 CPU 與主記憶體的橋樑晶片組是用來協調匯流排速度的 IC 。

Page 2: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

電腦系統單元:中央處理器、主記憶體、匯流排、晶片組

• 電腦硬體的 5 大單元中,最核心部分(系統單元)是中央處理器與主記憶體,而連結這兩者的橋樑是匯流排,

Page 3: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

電腦系統單元:中央處理器、主記憶體、匯流排、晶片組

• 中央處理器是電腦執行運算的單元– 當資料由輸入單元輸入後,主記憶體可用來暫時存放運算時所需要

的資料– 當中央處理器運算完畢之後,也會先暫時將運算結果存放在主記憶

體中,然後再輸出到輸出單元。– 由於主記憶體會因失去電源而喪失資料,因此還需要儲存裝置(次

要記憶體)來保存資料。• 主機板又稱母板 (motherboard) 是電腦主機內部的一片由

玻璃纖維製成的板子– 上有許多電路與多種插槽

• CPU 插槽、主記憶體插槽、介面卡插槽。– 所有的電腦組件都必須直接或間接地連結到主機板,並根據主機板

的設計使電腦正常運作

Page 4: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

電腦系統單元:中央處理器、主記憶體、匯流排、晶片組

拆開機殼後就可以看到主機板

主機板上有各式插槽

Page 5: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

大綱• 3.1 中央處理器( CPU)

– 3.1.1 CPU的組織單元– 3.1.2 CPU的種類– 3.1.3 CPU及主機板規格

• 3.2 主記憶體(Main Memory)– 3.2.1 動態隨機存取記憶體 (DRAM)– 3.2.2 靜態隨機存取記憶體 (SRAM)– 3.2.3 唯讀記憶體 (ROM)

• 3.3 電腦的速度表示方法• 3.4 匯流排 (Bus) 與晶片組 (Chipset)

– 3.4.1 系統匯流排– 3.4.2 I/O 匯流排– 3.4.3 晶片組 (Chipset)

• 3.5 程式的執行流程• 3.6 電腦結構的最新設計

– 3.6.1 階層式記憶體 3.6.2管線

– 3.6.3 超純量處理器 3.6.4平行處理

– 3.6.5 RISC與 CISC

• 3.7 重點回顧• 本章習題

Page 6: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

• 中央處理器– CPU( Central Processing Unit)– 處理器( Processor)或微處理器(MicroProcessor)– 電腦最重要的一個元件– 其功能有如人類的大腦,主要負責算術邏輯運算及執行程式。

• CPU的組織單元– CPU 的組織元件

• 暫存器• 控制單元• 算術邏輯單元

中央處理器( CPU)

中央處理器(左半部為 CPU 的組織元件)、記憶體與匯流排

Page 7: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

CPU的組織單元

• 暫存器 (Register)– 在 CPU 中的記憶體為暫存器 (Register) 。– 暫存器可以用來存放將要進行運算或運算完畢的資料。– ALU 只針對暫存器內的資料進行運算,並且將結果存放在暫存器中。– 暫存器的種類有很多,我們可以依照特性及功能來加以分類。

控制與狀態暫存器 使用者可見暫存器

讀寫無法被使用者(程式設計人員)更改其內容,它的內容是由系統所設定。

可以由使用者(程式設計人員)依照需要來設定內容,以便完成某些程式功能。

功能 此類暫存器的功能通常是提供控制程式及記錄程式執行狀態之用。

用來暫時存放特定資料,或無特定用途。

暫存器依特性分類表

Page 8: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

暫存器依功能分類表

暫存器功能名稱 分類 功能指令暫存器(instruction register)

控制與狀態暫存器

存放最近從記憶體取出的指令。通常不是目前正在執行的指令就是下一次可能被執行的指令。

程式計數暫存器(program counter; PC)

控制與狀態暫存器

存放下一個準備要被執行的指令在記憶體中的位址。

ALU 緩衝暫存器(ALU buffer register)

控制與狀態暫存器 暫時存放 ALU 的運算結果。

記憶體緩衝暫存器(memory buffer register)

控制與狀態暫存器

暫時存放由記憶體讀出的資料,或 CPU 準備把資料寫入記憶體之前也會先將資料暫存於此處。

程式狀態字組(program status word;PSW)

控制與狀態暫存器

存放程式的狀態資訊,通常字組中的每一個位元都有其特別功能(有些可能保留不用),例如正負符號 (Sign) 、溢位 (Overflow) 、遮罩位元(Mask bit) 、保護鑰匙 (Protected key) 、中斷代碼 (Interrupt code) 、中斷有效/失效控制(Interrupt enable/disable) 、使用者模式/監督模式 (user mode/supervisor mode) 等等。

中斷向量暫存器(interrupt vector register)

使用者可見暫存器 (讀 )

記錄系統的中斷向量。

條件碼暫存器(condition code register)

使用者可見暫存器 (讀 )

用來存放指令的執行狀態,該狀態將由 CPU 負責寫入,但程式設計師仍可讀取暫存器內容。

Page 9: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

暫存器依功能分類表 (續 )

暫存器功能名稱 分類 功能資料暫存器(data register)

使用者可見暫存器 用來存放資料的暫存器。

記憶體位址暫存器(memory address register)

使用者可見暫存器 存放準備要存取的主記憶體位址。

位址暫存器(address register)

使用者可見暫存器

也是用來存放記憶體位址,但通常用於某個連續記憶體空間的起始位址,例如:做為記錄堆疊頂端的指標暫存器 (stack pointer register) 、做為記錄程式或資料在記憶體起始位址的基底暫存器(base register) 、做為記錄陣列索引的暫存器(index register) 。

通用暫存器(general purpose register)

使用者可見暫存器

沒有特定用途的暫存器,可以用來存放資料、指令或位址,程式設計師可以善用這些暫存器,加快程式執行的速度,多數編譯器亦充分利用此類暫存器,對高階語言程式進行最佳化。因此,此類暫存器數量越多, CPU 的執行效率越高,但成本也就越高(記憶體速度越快者,價格越貴,而暫存器是最快速的記憶體)。

Page 10: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

CPU的組織單元

• 控制單元( Control Unit;簡稱 CU )– 功能是控制流程及協調輸入、輸出、記憶、算術邏輯等 4 大單元的運作。

• 讀取指令、解釋指令、產生控制訊號控制 ALU 及暫存器完成指令工作。– 當指令進入 CPU 之後,控制元件就會先進行指令解碼 (Decode) ,並按照指

令種類執行對應的微程式,發出不同的訊號完成該指令所需要完成的各項功能,最後執行邏輯電路以便取得下一個指令。

– 控制單元通常包含• (1) 記錄指令運作順序的微程式( microprogram )• (2) 取得下一指令的邏輯電路• (3)驅動元件的解碼器( decoder )• (4)眾多選擇器( multiplexer )。

Page 11: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

CPU的組織單元

– 控制單元的製作方式分為兩種• 硬體線路控制( hardwired control )• 微程式控制( microprogrammed control )

– ,目前大多數使用的是微程式控制技術。硬體線路控制 微程式控制

製作原理

將每個指令透過有限狀態自動機加以設計,然後再用邏輯電路來實作。每一個指令將會有一組相對應的邏輯電路。

每個指令加以分解為許多步驟,並使用微指令來描述這些步驟的動作,每一個指令實際上將會對應到一組微程式。

優點執行速度快 指令數量或內容可改變(只要

重新設計微程式即可,不需要更改邏輯電路)。

缺點 指令集被固定不可改變 執行速度較慢

Page 12: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

CPU的組織單元

• 算術邏輯單元( Arithmetic and Logic Unit;簡稱 ALU )– 執行程式中各類運算的實體單位– 運算可以分為兩大類:

• 算術運算:加、減、乘、除等等的數值運算,• 邏輯運算: AND、 OR、 NOT、 Exclusive OR、 Shift (位元平移)、 Rotate (位元旋轉)等的邏輯運算。

– 其中 AND、 OR、 NOT 是三種基本的邏輯運算子,這三種邏輯運算可以組合出所有的邏輯運算。

– 不同種類的 CPU 提供的指令也不相同• 所有的 CPU 都會提供 AND、 OR、 NOT 等運算,但對運算元位元數的規定則不一定相同(與暫存器長度有關)

• 大多數的 CPU 都會提供 1、 8、 16、 32、 64 位元的AND、 OR、 NOT 運算。

Page 13: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

– AND 邏輯運算子• 只有在兩個運算元同時為真 (true) 時,結果才會為真。

CPU的組織單元

A B A AND B

False False False

False True False

True False False

True True True

A B A B

0 0 0

0 1 0

1 0 0

1 1 1

【註】:在二進制系統中,常常使用 1 來代表真 (true), 0 代表 (false) 。

真值表: A AND B 真值表: A B

Page 14: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

CPU的組織單元

– OR 邏輯運算子• 只有在兩個運算元同時為假 (false)時,結果才會為假。

A B A OR B

False False False

False True True

True False True

True True True

A B A+ B

0 0 0

0 1 1

1 0 1

1 1 1

真值表: A OR B 真值表: A + B

Page 15: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

– NOT 邏輯運算子• 只有一個運算元,並且會將運算元反相( inverse)做為輸出結果。

CPU的組織單元

【遮罩】:遮罩 (mask) 代表透過某些運算,使得某些位元保留,而其他位元(稱之為遮罩位元)統一為某種特定遮罩格式,意即遮罩有過濾的意涵。 AND與 OR 運算都可以當作遮罩運算例如,我們希望將某個位元組 11100100 的左半邊 4 個位元都變為 0 (右半邊的位元保留),則可以透過 11100100 AND 00001111 來加以完成,其結果為 00000100 。

如果我們希望將某個位元組 11100100 的左半邊 4 個位元都變為 1 (右半邊的位元保留),則可以透過 11100100 OR 11110000 來完成,其結果為 11110100 。

A NOT A

False True

True False

A ~A

0 1

1 0

真值表: NOT A 真值表: ~ A

Page 16: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

– Exclusive OR(XOR) 邏輯運算子• 大多數的 CPU也都提供了 XOR運算的指令

– 設計 XOR的邏輯電路非常簡單且不會耗費過多的資源

– 並且 XOR可以變化出許多樣的指令效果。

• 只有在兩個來源運算元的值不同時,結果才會為真,因此稱之為Exclusive OR(互斥或)。

CPU的組織單元

A B A XOR B

False False False

False True True

True False True

True True False

A B A B⊕

0 0 0

0 1 1

1 0 1

1 1 0

真值表: A XOR B

真值表: A B⊕

Page 17: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

CPU的組織單元

– Shift與 Rotate 運算• Shift (位元平移)與 Rotate (位元旋轉)運算必須考慮暫存器長度,同時又分為向左及向右兩類 Shift與 Rotate 。

• Shift移出的位元將被丟棄,而由 0補上空位。因此,向左位移 n個位元,代表原本的值 *2n

• Rotate移出的位元則會進入另一端,構成循環式移動。

邏輯表示符號:AND、 OR、 NOT、 XOR 的表示符號通常如下

Page 18: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

CPU的組織單元

• 範例(向左 shift 2 位元):

• 範例(向右 rotate3 位元):

Page 19: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

• 由不同公司開發的 CPU 種類非常多– 最有名的當然是 Intel公司的 x86 系列、 Pentium (奔騰)系列、 Core 2 系列、 Celeron、 Xeon 等

– AMD公司的 K6、 Athlon XP/64/64 X2/64 FX、 Duron– VIA公司的 Cyrix III– Compaq公司的 Alpha( 21x64 系列)– Sun公司的 SPARC– Motorola公司的 680x0– Apple/Motorola/IBM公司合作開發的 PowerPC 等等

CPU的種類

各家廠牌的 CPU

Page 20: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

CPU的種類

– 隨著電腦系統及主機板的種類不同,所使用的 CPU 種類也不一樣• 個人電腦( IBM-PC )常採用 Intel公司的 Pentium 系列、 Celeron 或 AM

D公司及 VIA公司所開發的相容 CPU 。• 早期Mac 電腦則必須採用 PowerPC做為中央處理器• 下表為各類系統適用的 CPU

系統 電腦 使用的 CPU 生產公司及 CPU 晶片

386/486/Pentium systems

IBM PC x86 系列

Intel

8086、 8088、 80286、 80386、 80486、 Pentium(奔騰)、 Pentium Pro、 Pentium II、 Pentium III、 Pentium 4、 Pentium D/EE、 Celeron、 Xeon…

AMDK5、 K6、 K6III、 Athlon、 Athlon XP、 Athlon 64、 Duron…

VIA Cyrix III( C3)…

多核心 systems

多核心 IBM PC

多核心 iMacx86-64 系列

IntelPentium D/EE雙核心、 Core 2 Duo、 Core 2 Extreme、 Core 2 Quad

AMD Athlon 64 X2、 Phenom

Page 21: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

系統 電腦 使用的 CPU 生產公司及 CPU 晶片

Motorola systems

Atari …

Amiga …

Mac …

680x0 系列 Motorola68030、 68040、 68060…

PowerPC systems

Mac …

iBook

G4

PowerPC 系列Apple/

Motorola/

IBM合作PowerPC

Sparc systems

Ultra …

hSparc …

IPX …

SS5 …

Sparc 系列 Sun Sparc

Alpha systems

AS400 …

AS1000 …

Cabriolet …

Jensen …

UDB …

AlphaServer …

21x64 系列 Compaq

21064、 21064A、 21066、 21066A、 21164、21164A、 21264、 21264A、 21264DP…

Other CPU systems

RM9000 …

ELKS …

S390 …

Crusoe …

Mips

Intel x86

IBM

Crusoe

Mips

Intel

IBM

Transmeta

Mips

Intel 8088/286 ELKS

IBM

Crusoe

Page 22: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

CPU 及主機板規格

• 對於某一個特定的主機板而言,它只能插上某些規格的 CPU 與主記憶體。

• CPU 及主機板的規格– 主機板規格範例( GA-

8KNXP ):【圖片與規格取自技嘉網站】

– 規格請見課本

技嘉的 GA-965P-DQ6 主機板

Page 23: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

CPU 及主機板規格• CPU『工作頻率』

– 指的是 CPU內部執行運算的工作頻率,也稱為『內頻』– 例如 Pentium 4 3.06G的 3.06G就是『工作頻率』。

• 主機板的 FSB(Front Side Bus;前端匯流排 )頻率– FSB其實就是『外頻』,它代表 CPU之外的外部設備工作頻率。– 由於外部設備是透過匯流排連結到 CPU,因此外頻也就是匯流排速率 (Bus speed),單位一般以MHz來表示。

• 外頻與內頻的倍數關係稱之為『倍頻』– 『 CPU 工作頻率 = 內頻 = 外頻 × 倍頻』

• 倍頻通常以 0.5的倍率成長,也就是 1,1.5,2,2.5,….等等– 以往調整主機板外頻與倍頻是透過主機板上的開關 (jumper),目前則改採在 BIOS中直接設定。

• 『封裝』– 將晶片給包裝起來,所有的晶片都需要經過封裝的程序建立接腳與外界溝通,並且保護其內部元件。

– CPU的封裝方式有許多種,例如 OPGA、mPGA、 CPGA、 FC-PGA、 FC-PGA、 OOI、 PPGA、 S.E.C.C、 S.E.C.C.2、 S.E.P. 封裝等等。

Page 24: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

CPU 及主機板規格

• 主機板上的 CPU插槽腳座恰好對應於 CPU的接腳– 由於封裝決定了 CPU的接腳數,所以不同腳座必須使用不同的插槽,其接腳數也都不同。

– 常見的 CPU插槽腳座有 Socket 7、 Socket 379、 Slot 1、 Slot 2、 Slot A、Socket A、 Socket 423、 Socket 478、 Socket 754、 Socket 775/T、 Socket 939、 Socket 940 。

CPU (AMD Athlon 64) 的正反面,採用 PGA封裝

CPU Pentium II ,採用 SECC封裝

Page 25: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

CPU 及主機板規格

主機板上的 CPU 插槽 (Slot 1)

插在主機板上面的 CPU( slot 1 與 Intel Pentium II )

Page 26: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

CPU 及主機板規格

主機板上的 CPU 插槽 (Socket 775)

主機板上的 CPU 插槽 (Socket 940)

Page 27: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

CPU 及主機板規格

插在主機板上面的 CPU( Socket A與 AMD Athlon )

Page 28: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

CPU 及主機板規格

• 主機板規格書中會記載該主機板所使用的主記憶體類型– 前一世代為 168 pin的 SDRAM– 目前最流行的則是 184 pin的 DDR SDRAM或 240 pin的 DDR II

SDRAM 。(詳見 3.2.1節)

Page 29: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

主記憶體( Main Memory )• 主要記憶體簡稱主記憶體(又稱為內部記憶體),目前以半導體元件製

成,特性為存取速度快、成本高。– 主記憶體依照存取特性又可以分為隨機存取記憶體 (Random Access Memory;簡稱 RAM) 及唯讀記憶體 (Read Only Memory;簡稱 ROM) 。

RAM ROM

揮發性 揮發性 非揮發性讀取 可讀取資料 可讀取資料

寫入 可寫入資料傳統的 ROM 只能寫入資料一次。

EPROM 、 EEPOM等可程式化的ROM可透過特殊方式重新寫入資料。

容量 較大 非常小擴充 通常可擴充至數百MB 以上 無法擴充功能 儲存電腦運作中的各類一般程式與資料。 儲存固定不變的程式,例如開機程式。

RAM與 ROM比較表

Page 30: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

主記憶體( Main Memory )

– RAM 分為動態隨機存取記憶體 (DRAM) 與靜態隨機存取記憶體(SRAM) 兩種。

• DRAM 也就是一般購買電腦時常聽到的 RAM (一般未特別說明主記憶體時,通常指的就是 DRAM )

• SRAM 速度較快,一般是用在需要快速記憶體的場合,例如快取記憶體 (Cache) 。

SRAM與 DRAM比較表

SRAM DRAM

揮發性 揮發性(無法在電源消失時保存資料)充電 不需要 需要

成本及價格 高 低容量 較小 較大速度 較快 較慢

Page 31: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

主記憶體( Main Memory )

【註】:主要記憶體包含 RAM(DRAM、 SRAM)與 ROM ,但一般我們所謂的主記憶體若未特別提及,則通常指的是 RAM ,而且是 DRAM 。

Page 32: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

動態隨機存取記憶體 (DRAM)

• DRAM 的全名為 Dynamic Random Access Memory ,中文可譯為『動態隨機存取記憶體』,通常充當電腦系統的主記憶體元件(也就是一般俗稱的RAM )。– 所有準備要執行的程式都必須存放在主

記憶體中, CPU才能夠執行程式。– DRAM 無法在電腦的電源消失時保持資

料• DRAM 從過去到現在,隨著技術的進步,

也出現了許多種類:– Conventional DRAM

• 非常早期使用的 DRAM• 整個記憶體被切割成陣列

記憶體的陣列配置方式

Page 33: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

動態隨機存取記憶體 (DRAM)

• 在上圖中,記憶體的大小受到位址匯流排與資料匯流排的影響,由於位址匯流排經過解碼器解碼,因此記憶體大小的如下:

• 16 位元的位址匯流排與 16 位元的資料匯流排(字組為 16 位元),則記憶體大小為 216×16bits ,也就是 128KBytes 。

– FPM DRAM (Fast Page Mode DRAM)

• 486/Pentium 時代常見的 DRAM 。• 內部以分頁 (page) 為單位,供 CPU 存取資料,具有快速切換分頁的效果。• 一般為 30-Pin或 72-Pin 記憶體模組。• FPM 之所以稱為 Fast Page ,是因為它以更快的速度存取位於同一列的資料(也就是同一分頁)。

• 存取速度約為 70ns~60ns(ns為 10-9秒 ) 。

記憶體大小 = 2 位址匯流排寬度 × 字組寬度 = 2 位址匯流排寬度 × 資料匯流排寬度

Page 34: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

動態隨機存取記憶體 (DRAM)

– EDO RAM (Extended Data Out RAM)• Pentium 等級電腦必備的主記憶體元件。• EDO與 FPM技術的差別在於

– (1)EDO 不採用分頁方式,而是將資料放在連續的記憶體位置內。

– (2)EDO延長了資料輸出的時間,使得下一次讀取記憶體的動作可以在這一次資料傳送尚未完成時就開始

– (3) 記憶體控制器能夠在下達指令的過程中省略數個步驟,以便節省時間。

• EDO技術只比 FPM技術快了 15%~20% 左右• EDO RAM 的市場需求較大,因此平均售價得以降低,

而取代了 FPM 的市場。• 由於 EDO RAM 無法支援高速的系統時脈(超過

66MHz ),因此後來又被 SDRAM 取代。

EDO RAM

BEDO RAM 是 Burst EDO RAM 的簡稱,它將原有的 EDO RAM 改良,在EDO RAM 中加入管線技術,使得記憶體的存取時間更快, Burst EDO RAM可以適用於更高速的系統時脈,在效能上,和後來出現的第一代 SDRAM差不多,不過由於價格較高,被 SDRAM擊敗。

Page 35: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

動態隨機存取記憶體 (DRAM)

– SDRAM (Synchronous DRAM) • 在 1996年底,出現了一種新的 DRAM技術-『 Synchronous DRAM;同步動態存取記憶體;簡稱 SDRAM』。

• 為了因應更高時脈的高效能 CPU, SDRAM 最採用『同步』特性(早期的 DRAM 為非同步),『同步』代表記憶體的時脈與電腦時脈相同,使得記憶體控制器能夠掌握準確的時鐘週期,如此一來, CPU 就不需要延後下一次的資料存取。

• 透過 Interleaving與 Bursting技術,加快記憶的讀取速度,並且SDRAM擁有多種不同的速度,以便和系統時鐘同步。

– 市面上曾經出現的 SDRAM有 PC66/100/133/150 等等,恰好搭配主機板的 66/100/133/150 等外頻,而外頻又可以透過倍頻方式獲得 CPU 所需的內部頻率,因此,整個系統的效能得以完全發揮。

• 資料傳輸寬度為 64 位元,一般採用 DIMM 記憶體模組,且分為buffered與 unbuffered 兩種,工作電壓有 3.3及 5伏特等規格。但市面上常見的 SDRAM則通常採用 unbuffered及 3.3伏特電壓的規格,封裝則採用 TSOP 。

Page 36: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

動態隨機存取記憶體 (DRAM)

• 值得注意的是, SDRAM和 SRAM 完全不同, SDRAM 仍舊屬於 DRAM 的架構,因此必須充電,充電則將產生時間延遲的問題。

– 【記憶體模組設計】• 常見的記憶體模組可分為

SIMM、 DIMM、 RIMM三大類。

SDRAM

【註】:廣義的 SDRAM專指 Synchronous DRAM ,也就是包含 PC XXX SDRAM及 DDR SDRAM ,但一般市面上所稱之 SDRAM產品,通常是狹義的SDRAM ,也就是 PC XXX SDRAM 。

Page 37: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

動態隨機存取記憶體 (DRAM)

– DRDRAM (Direct Rambus DRAM)• DRDRAM是 Intel與 RAMBus公司合作開發的一種記憶體規格,使用的記憶體模組為 RIMM ,封裝方式使用的是 μBGA 。與主機板的接觸點為 184 pin ,工作頻率可達 800MHz 。

• Direct Rambus 與傳統 DRAM 的結構及介面皆不相同。早期記憶體的資料傳輸寬度大多為 64 位元,而 Direct Rambus卻只有 16位元(最新技術為 32 位元)。

– Direct Rambus 去除了傳統 SDRAM 所存在的時間延遲問題,因此使得整體速度更為驚人。

– 它以 800MHz 的速度透過狹窄的 16 位元匯流排來傳輸資料(此匯流排稱為 Direct Rambus Channel ),並在時鐘週期波峰及波谷都可執行作業(稱為 double clocked ),使得每個RDRAM 模組上的記憶體能夠提供每秒 1.6GB 的高速頻寬。

Page 38: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

動態隨機存取記憶體 (DRAM)

• 後來, RAMBus公司又推出了 32 位元 RIMM 模組的 DRDRAM ,包含

– 工作頻率為 800MHz 的 RIMM 3200 (頻寬為 3.2GB/s )

– 工作頻率為 1066MHz 的 RIMM 4200 (頻寬為 4.2GB/s )

– 工作頻率為 1200MHz的 RIMM 4800 (頻寬為 4.8GB/s )

– 工作頻率為 1600MHz的RIMM 6400 (頻寬為 6.4GB/s )。

– 其速度非常之快,同時也支援了雙通道技術,接腳則改為 242pin(雙通道技術容後說明)。並且RAMBus公司也正在設計 64 位元 RIMM 模組

DRDRAM 與主機板

Page 39: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

動態隨機存取記憶體 (DRAM)

• 雖然 DRDRAM 的速度非常快,但仍可能被淘汰,原因大致有下列幾點:

– (1)工作時脈過高,因此通常必須搭配散熱片。– (2)DRDRAM 的技術門檻較高,因此在記憶體顆粒的良率上,表現並不理想。

– (3)DRDRAM採用不同的製程,因此必須使用新的設備製作。– (4) 最重要的一點, DRDRAM 並非開放的標準,每一家製造

DRDRAM 的廠商都必須支付 RAMBus公司 2%權利金。• 由於 DRDRAM價格較為昂貴,因此,在 PC 中使用 DRDRAM相對來說屬於少數,但 DRDRAM確常見於某些電視遊樂器的設計中,主要的原因仍然在於其速度上的優勢。

Page 40: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

動態隨機存取記憶體 (DRAM)

– DDR SDRAM (Double Data Rate SDRAM) • DDR SDRAM (又稱 DDR RAM )是目前最新的 SDRAM 。• 與主機板接觸點是 184 pin( DDRII為 240pin ),能夠在時鐘周期的波峰及波谷傳送資料。

• DDR 是開放標準,並且延續 SDRAM 的設計,採用 TSOP封裝,因此相對於 DRDRAM, DDR SDRAM 更容易獲得製造商的喜愛。

• DDR SDRAM 是目前個人電腦主記憶體的主流,其規格發展非常快,計有 DDR、 DDRII、 DDRIII三種規格

– 其中, DDR、 DDRII 都已有產品問世,而 DDRIII 暫時僅限於高速繪圖卡使用

• DDR 之所以稱為 Double Data Rate ,是因為它可以達到雙倍資料傳輸速率的緣故

– 舉例來說, DDR-266與 PC133 都是在同樣的 133MHz頻率下工作,但 DDR-266 的傳輸速率是 266MHz ,為 PC133 的兩倍,這是因為它在一個時鐘週期中,可以傳送兩次資料(分別在波峰及波谷)。

Page 41: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

動態隨機存取記憶體 (DRAM)

184 Pin的 DDR RAM 與主機板

Page 42: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

動態隨機存取記憶體 (DRAM)

各類 DRAM比較表 -1

DRAM 應用場合 存取速度 模組 接腳 特色

FPM DRAM主記憶體低價位顯示記憶體

慢 SIMM30 Pin

在 EDO DRAM 出現之前,大多數 DRAM, 都是 FPM DRAM 。

EDO DRAM主記憶體低價位顯示記憶體

比 FPM DRAM快約5-20%

SIMM72 Pin

取代了 FPM DRAM

下一次讀取動作可在這一次資料傳送尚未完成時就開始

PC xxx SDRAM 主記憶體 66/100/133/150 MHz DIMM168 Pin

取代了 EDO RAM

早期 Pentium 主機板支援的主流記憶體

DRDRAM主記憶體電視遊樂器記憶體

資料寬度 16/32 位元,可達 800/1600 MHz

RIMM184/242Pin

必須由 Intel及 Rambus授權

DDR SDRAM 主記憶體目前最快的 DDRII-800 之內頻為 800 MHz 、外頻為400MHz

DDR DIMM

184/240pin

取代了 SDRAM

波峰與波谷都可以傳送資料,所以是 SDRAM的兩倍。是目前的主流並仍在發展中。

Page 43: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

動態隨機存取記憶體 (DRAM)

• Dual-Channel Memory(雙通道記憶體 ) – 在主機板上插入 DRAM 時,是否有特殊規定呢?

• 486PC 時代使用 32bit 記憶體匯流排,如果使用 8bit 的 30Pin DRAM ,一次須插上 4隻。

• Pentium PC 時代使用 64bit 記憶體匯流排,如果使用 32bit的72PinDRAM ,一次須插上 2隻。

• 這種限制直到 168Pin SDRAM 的產生之後,就解除了。使用 SDRAM或DDR SDRAM ,只需要插上一隻就可以運作。

– 之前為何必須要同時使用多隻記憶體才能夠讓電腦正常運作?• 因為資料在記憶體與 CPU 之間的傳送頻寬必須達到一定目標,因此預先以多通道方式建立在主機板上,須同時插上多隻記憶體,才能填滿每個通道的資料傳送目標。

– 到了 SDRAM及 DDR SDRAM 之後,只需要插入一隻記憶體,電腦就可以正常運作

• 由於 CPU 效能提升迅速,光靠記憶體技術本身來提升傳輸頻寬是來不及跟上的,因此,廠商們透過同時使用多隻記憶體以提升頻寬,這個方法就是雙通道記憶體( Dual-Channel Memory )技術。

Page 44: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

動態隨機存取記憶體 (DRAM)

– 在雙通道記憶體推出時,當時最快速也最普及的前端匯流排為 FSB 800 ,傳輸速率理論可達 6.4GB/s ,但當時 DDR 800 SDRAM價格非常昂貴,因此大多數人使用的是 DDR 400或 DDR 533 SDRAM 。

• 如果使用支援雙通道技術的主機板,可以採用插上兩隻 DDR 400 SDRAM 的方式,將頻寬達到 6.4GB/s 的水準,加快了記憶體與CPU 的資料傳送效率。

• 必須主機板上的北橋晶片組也支援的狀況下才能成行。• 支援雙通道技術的主機板上仍舊可以只插入單一隻 DDR SDRAM ,不過速度也就侷限在該 DDR SDRAM 的速度。

– 雙通道技術的主導權在於主機板設計廠商• 目前 DRDRAM與 DDRII SDRAM 都可以使用雙通道技術• 前提是主機板必須提供此功能。

Page 45: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

靜態隨機存取記憶體 (SRAM)

• SRAM(Static Random Access Memory) ,中文稱為靜態隨機存取記憶體。名稱中的『靜態』是它與動態隨機存取記憶體 (Dynamic RAM) 最大的不同。– DRAM 儲存每一個位元都必須使用 1 個電晶體和 1 個電容,電容是維持電壓

的來源,由於電容會慢慢放電,因此必須充電。• 由於 DRAM實際上運作時,一直在重複著充電、放電的過程,故稱之為『動態』隨機存取記憶體。

– SRAM 使用 4~6 個電晶體來儲存 1 個位元,不需要反覆充電(所以速度較快),因此稱之為『靜態』隨機存取記憶體。

• 由於 SRAM 使用的電晶體較多,因此價格較貴,通常只應用於需要高速小量記憶體的場合。

• Pentium 主機板上面的外部快取記憶體 (L2 Cache)、 Pentium II/III的 L2 Cache on die 通常採用 SRAM 。

• 快取記憶體的觀念也被應用於硬碟中,所以有些附有快取記憶體的硬碟也使用 SRAM做為磁碟快取 (disk cache) 。

Page 46: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

靜態隨機存取記憶體 (SRAM)

Maxtox硬碟上面使用Samsung出廠的 SRAM(disk cache)Pentium III 450的 SRAM(L2 Cache on die)

Page 47: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

唯讀記憶體 (ROM)

• ROM (Read Only Memory;唯讀記憶體 )和前兩小節介紹的 RAM 有著完全不同的特性

• ROM (Read Only Memory;唯讀記憶體 )– 可以在無電力的狀況下保存資料。– 傳統的 ROM 只能寫入資料一次,爾後就只能夠讀取資料而無法寫入資料。

後來的可程式化 ROM 可以更新其內的資料,例如: EPROM、 EEPROM• 清除此類 ROM裡面原有資料的方式有所不同,例如使用紫外線清除資料以及較高電壓清除資料。

• BIOS與 CMOS – BIOS( Basic Input/Output System;基本輸入輸出系統)是一套程式,儲

存在主機板上的 ROM裡面,這套程式包含了電腦系統最重要的基本輸入輸出程序、系統開機時的檢查程序等等。當透過它來開機時,它會對系統各項硬體進行測試和初始化,以保證系統能夠正常運作。

– 透過 BIOS 的設定程式,可以對於 CMOS 儲存的參數進行讀取與修改。

Page 48: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

唯讀記憶體 (ROM)

【韌體】硬體是電腦的實際元件,軟體是某些資料的排列方式。電腦的運作是在固定不變的硬體之中執行各式各樣的軟體(例如程式),因此,可以完成各種的工作。然而如果我們將軟體程式寫死在某一個硬體內,使得該硬體不再能夠接受其他具有變化的資料,則我們將之稱為韌體 (Firmware) ,例如 BIOS 就是一種韌體,因為它雖然是一套軟體程式,但卻被寫死在 ROM 之內不再更動(或極少更動)。

BIOS 設定畫面• 快閃記憶體 (Flash Memory或 Flash ROM)– 一種固態,不易揮發,而且可以重複寫入的記憶體。– 由於目前的電腦都支援隨插即用的特性, BIOS 的更新頻率也大為增加,因此

目前的 BIOS 通常是存放在快閃記憶體以加快更新資料的速度。– 關於快閃記憶體,我們將在第四章作更深入的說明。

Page 49: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

電腦的速度表示方法

• CPU 的工作頻率常常被拿來當做簡述一部電腦速度的指標,例如Pentium 4 3.06GHz

• 時脈 (timer或 clock speed)– 是類似一種時鐘的裝置,單位通常以『頻率』來表示,它可以表示晶片的執

行效率,一般為 MHz或 GHz( Hz是 Second 的倒數)。– 主機板上的時脈產生器 (clock generator) 是用來產生時脈,供給 CPU 、晶片

組,做為運作速度的參考。• 除了使用 CPU 的工作頻率來描述一台電腦的速度之外,也可以使用

MIPS、MFLOPS、 TPS 等來描述一台電腦的速度(或稱之為電腦的產能則更恰當)– MIPS(Million Instructions Per Second) 代表一秒鐘可以完成多少百萬個指令– MFLOPS(Million Floating Operations Per Second) 代表一秒鐘可以完成多少百萬個浮點運算

– TPS(Transactions Per Second) 代表一秒鐘可以完成多少個交易。

Page 50: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

電腦的速度表示方法

【時脈的迷思】現今的 CPU 效能比較已經不能單單以時脈做為單一指標,同時脈的 Intel Pentium 4 效能明顯不及同時脈的 AMD Athlon XP 。例如:一顆 Pentium 4 2GHz 與實際時脈 1.6 GHz的Athlon XP 2000+ 一樣快(這與實際執行的軟體種類有關)。

例如 Athlon XP 2000+ 代表的是效能比 Pentium 4 2G 還要好一點,其中的 2000 對應的就是 Intel CPU的 2G 時脈,而「 +」則是代表還要好一點(有時候您也會看到「 -」號,則代表差一點)。

在過去,大家還不了解 AMD 的命名策略時,有些不肖廠商(或無知廠商)會以 AMD Athlon XP 上標示的數值當作時脈來販賣,以誤導消費者。事實上, Athlon XP 2000+ 的工作時脈並非 2GHz ,而是 1.6GHz ,但效能卻比 2GHz的 Pentium 4 還要好一點。

由於多核心 PC 時代的來臨,代表著 Intel 也已經認知到追求 CPU 的高時脈並非提升電腦效率的唯一途徑(實際上也不可能無限制的提升 CPU 時脈,因為會產生散熱等問題),故未來MIPS 也可能是評估 PC 效能常見的計算單位。

Page 51: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

匯流排 (Bus) 與晶片組 (Chipset)

• 匯流排 (Bus) 連接電腦各個子系統,它的功能是用來傳送指令、資料或控制訊號。

• 匯流排分為內部匯流排與外部匯流排兩類。– 內部匯流排的功能是 CPU 內部元件(例如算術邏輯單元、控制單元、暫存器

等等)的連結。– 外部匯流排的功能則是連結 CPU 與主記憶體、 I/O 元件。

• 外部匯流排分為 CPU-Memory 匯流排(亦稱為 Memory Bus 或系統匯流排)與 I/O 匯流排( I/O Bus )兩種。前者傳輸速率較快,後者則遷就於I/O 裝置,因此傳輸速率較慢。

匯流排的分類

Page 52: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

匯流排 (Bus) 與晶片組 (Chipset)

• 所謂的匯流排 (Bus) 結構是一種資料傳輸線路,它透過不同的介面卡插槽或接點,讓多個設備共用相同的傳輸管道

– 在匯流排的每一個端點都可以在某個時間內佔據匯流排以便傳輸資料– 當有其他裝置正在使用匯流排時,其他匯流排就必須等待。– 下圖是 I/O 匯流排常見的示意圖。

Page 53: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

系統匯流排• 系統匯流排的用途是傳送主記憶體的資料,因此又稱為記憶體匯流排,而

系統匯流排的傳輸速率也就是前面提及的 FSB(Front Side Bus) 速率。– 事實上, CPU 在存取主記憶體資料時,必須透過位址線與資料線來完成,首先 CPU 將要存取的記憶體位置透過位址線傳送出去並鎖定位址後,再透過資料線讀取或寫入資料,最後再將位址線的鎖定解除(請參考圖 3-18 )。

– 位址線與資料線都不是單一條線,而是由多條線路組合而成,因此也分別稱之為位址匯流排與資料匯流排

• 而一般所謂的系統匯流排 ( 記憶體匯流排 ) 指的就是傳送記憶體資料的資料匯流排。

【字組大小與系統匯流排的關係】我們在第二章時曾經提及字組大小 (Word Size) 並無明確定義為多少位元,事實上,字組大小代表該電腦系統一次可以存取的位元數量,許多人將之認定為電腦等級,例如 16 位元電腦的字組大小為 16個 bits、 32 位元電腦的字組大小為 32個 bits 。而字組大小受到系統匯流排(記憶體匯流排;資料匯流排)的影響,所以 64 位元的電腦代表著使用的系統匯流排寬度為 64 位元。

Page 54: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

I/O 匯流排

• 與外部介面卡連結的 I/O 匯流排常見的標準有下列幾種:– ISA(Industry Standard Architecture;工業標準架構 )與

EISA(Extended ISA;延伸工業標準架構 ) :• ISA 最大資料寬度為 16 位元,由於首度使用在 AT(286) 系統, ISA匯流排亦稱之為 AT 匯流排 (AT Bus) 。

• 通常 ISA 插槽顏色為黑色,時脈為 8MHz ,可以插上許多的介面卡,例如網路卡、音效卡等

– ISA 只適合用於低速的介面卡,目前 ISA 匯流排已經很少使用並且逐漸被 PCI 匯流排所取代。

• 在 1993年, Intel與Microsoft曾合作提出支援隨插即用的 EISA ,最大資料寬度可達 32 位元,通常插槽為咖啡色,但時脈仍為 8MHz 。

– EISA 在硬碟的資料傳輸上,表現較為突出,但在顯示卡等其他方面的資料傳輸上,則並無明顯的改善,因此已經不再使用(目前看到的咖啡色插槽多為 AGP 而非 EISA )。

Page 55: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

I/O 匯流排– PCI(Peripheral Component Interconnect) :

• PCI是 Intel發展的高速匯流排規格,目前市面上的主機板都配有此種匯流排插槽,一般為白色插槽

• PCI本身是 32 位元的匯流排,不過也支援 64 位元 CPU 所需要的 64 位元資料傳輸。

• PCI 可使用 33或 66MHz 時脈,在 64 位元傳輸時,採用 66MHz 時脈,傳輸速率可以達到 533MBps ,如下表所列,充分顯示了 PCI 的高效能傳輸速度。

寬度 速度 效能32 bits 33 MHz 133 MBps

32 bits 66 MHz 266 MBps

64 bits 33 MHz 266 MBps

64 bits 66 MHz 533 MBps PCI 的效能表

Page 56: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

I/O 匯流排

• PCI規格雖然是由 Intel 制定,但由於 PCI 使用晶片組控制,因此 PCI 可支援不同的 CPU (包含非 Intel相容的 CPU )

– 在 PCI 匯流排上,可以掛載支援 PCI架構的各類不同功能的 IC ,例如:網路卡、 SCSI 卡、圖形加速卡等等。

• PCI僅限於低速 I/O 使用,後來又為了 Gigabit網路、高速 SCSI、 RAID等高速要求,又推出了 64 位元 133MHz的 PCI-X ,並與北橋晶片直接連結。但無論是 PCI或 PCI-X 將來都會被 PCI-Express 所取代。

【傳輸速率】:資料的傳輸速率單位,一般使用『MB/sec』或『 bps』來表示, MB/s中的 B 代表的是 Byte ,而 bps(Bits Per Second) 代表一秒鐘可以傳輸多少個位元,因此 bps值越大,傳輸速率越快。請注意,有時候即使看到的是大寫的 Bps ,但實際上指的仍是 bit 而非 byte 。

Page 57: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

I/O 匯流排– AGP(Accelerated Graphics Port) :

• 功能特定,是 Intel 為了提高顯示卡的3D繪圖功能所發展的匯流排標準

• AGP 是以 PCI標準為基礎所建立的高效能界面,其效率為 PCI 的四倍。

• AGP 又分為 1x、 2x、 4x、 8x 等時脈週期,而 8x 可提供的頻寬高達 2.1GB/s 。

• AGP 提供了獨立插槽– 由於 AGP 是針對 3D繪圖功能所設計,因此 3D繪圖卡可以不必和音效卡、 SCSI 卡、網路卡等共享PCI 的頻寬與插槽。

• 最近由於 PCI-E 匯流排的高速特性, 3D高速繪圖卡也漸漸改採 PCI-E匯流排,新主機板有些已不提供 AGP 插槽。

同時支援 3 種匯流排的 Petium II 主機板

Page 58: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

I/O 匯流排

– PCI-E(PCI Express) :• 雖然 AGP具備快速傳輸特性,但 AGP僅提供一個插槽,無法使用在非螢幕的其他種類 I/O擴充,因此,在 1998年 Intel 又基於 PCI研發新的匯流排規格,並在 2002年 7月制定出新的 PCI Express串列匯流排標準,又稱之為 3GIO 匯流排 (3 Generation I/O bus;第三代 I/O 匯流排 ) 。

• PCI-E 匯流排的工作電壓可降至 0.8V ,其主要目標在於取代 PCI/PCI-X/AGP ,規格有 1x,2x,4x,8x,16x,32x 等, pin 插槽接腳也不同, 1x為36-pin、 4x為 84-pin、 8x為 98-pin、 16x為 164-pin

– 1x 用來取代 PCI, 4x、 8x 用來取代 PCI-X

– 16x 用來取代 AGP 。– 以 16x 為例,它可提供 4GB/s 的頻寬,足足比 AGP 8x 多了一倍。

• 在 PCI-E 16x 以外的連接上,採用了開關 (Switch) 的概念,以解決多個裝置訊號衝突的問題。

Page 59: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

I/O 匯流排

PCI Express規格 取代目標 效能

1xPCI-X

250MB/s

2x 500MB/s

4xPCI-X

1GB/s

8x 2GB/s

16x AGP 4GB/s

32x 新型態的 I/O 8GB/sPCI-Express 的效能表

PCI-E 的插槽接腳有多種選擇

Page 60: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

I/O 匯流排

同時支援 PCI與 PCI-E 的雙核心主機板

Page 61: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

晶片組 (Chipset)

• 晶片組 (Chipset) 是提供各項功能的一組晶片,在主機板上用來管理資料流,例如:管理 DMA 、處理中斷、管理輸出入匯流排間的資料傳輸等等。– 目前市面上的主機板晶片組具有整合功能,並以單純的兩片晶片為主,

也就是北橋晶片與南橋晶片。• 北橋晶片通常負責 CPU- 記憶體及 CPU-AGP或 CPU-PCI

Express 16x 之間的訊號處理,因此速度較快。• 南橋晶片一般處理與 I/O 有關的動作。

– 目前也有一些廠商將南北橋晶片做在一起,成為單一整合型晶片。

Page 62: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

晶片組 (Chipset)

主機板的南橋晶片組( VIA8235 )

各式各樣的晶片組

Page 63: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

晶片組 (Chipset)

技嘉主機板的 PCI、 AGP 插槽與晶片組

Page 64: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

晶片組 (Chipset)

技嘉主機板的 PCI、 PCI-Expess 插槽與晶片組

Page 65: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

晶片組 (Chipset)

含 AGP 匯流排的晶片組與匯流排連結圖(線條越粗代表傳輸速率越快)

Page 66: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

晶片組 (Chipset)

含 PCI-Expess 匯流排的晶片組與匯流排連結圖

Page 67: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

程式的執行流程• 電腦的運作其實就是程式的執行,程式由是由許多指令 (instruction) 組成,

這些指令將被循序地執行。– CPU 執行一個指令的過程稱之為機器週期 (machine cycle) 。

• 通常指令的執行被分為許多階段,以 DLX 機器而言,一個指令將被分為5 個步驟– 指令擷取 (IF)– 指令解碼 (ID)– 指令執行 (EX)– 記憶體存取 (MEM)– 結果回存 (WB)

• 其中指令擷取與指令解碼所花費的時間合稱為指令時間 (I-Time;Instruction-Time) 。

• 指令執行、記憶體存取、結果回存所花費的時間合稱為執行時間 (E-Time;Execution-Time) 。

• 機器循環週期 =I-Time+E-Time 。

Page 68: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

程式的執行流程

DLX 的機器循環週期【註】:一個指令究竟被分為幾個階段來執行,每種電腦的設計都有一些不同,有些電腦執行一個指令只需要 4 個階段 IF、 ID、 EX、WB ,有些電腦則將指令執行切割成更多階段,讀者若對其他各類電腦指令的運作有興趣,請參閱計算機結構之專書。

Page 69: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

電腦結構的最新設計

• 上述的電腦核心結構是早期的設計基礎,這些基礎仍然沿用至今,但也為了提昇效率而發展了一些新的設計架構,包含『階層式記憶體』、『管線』、『超純量』、『 RISC與 CISC』等等。

• 3.6.1 階層式記憶體( Hierarchical Memory )– 記憶體的速度越快,成本就越高,而容量也就越小。– 『階層式記憶體』是一種有效配置各種記憶體的方法。

• 距離 CPU越近的記憶體速度越快,容量越小。– 若將 CPU 的暫存器也當做一個階層的記憶體,則四層的記憶體分別是『 CPU( 暫存器 ) 』、『快取記憶體』、『主記憶體』、『硬碟』。

Page 70: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

階層式記憶體( Hierarchical Memory )

階層式記憶體

Page 71: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

階層式記憶體( Hierarchical Memory )

– 前半部的『 CPU-快取記憶體-主記憶體』階層式記憶體之所以能夠有效的提昇電腦的效能,是因為大多數的程式執行時都具有區域性( locality )原則。而區域性又分為時間區域性與空間區域性兩種。

• 時間區域性:剛剛被存取過的東西,在不久的將來很可能將再被存取。例如:程式中的迴圈。

• 空間區域性:位址相近的東西,往往會在短時間內先後被存取。例如:程式中使用陣列資料結構。

– 簡單的說,由於區域性原則,我們可以預測「某些東西」可能會在短時間內被存取,因此,將「這些東西」放在最快速的記憶體內,將有助於提昇整體效率。

• 由於快取記憶體 (cache) 是由 SRAM 製作而成,而主記憶體是用DRAM技術製作而成,所以快取記憶體比主記憶體速度更快。因此,我們將會把「這些東西」從主記憶體搬移到快取記憶體中。

Page 72: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

階層式記憶體( Hierarchical Memory )

– 後半部的『 CPU/快取記憶體-主記憶體-硬碟』階層式記憶體是為了提高工作量而設計

• 目前大多數的作業系統都屬於多工式的作業系統,也就是必須同時處理多項工作,但當工作太多時,主記憶體的容量將可能不夠用,此時就會透過虛擬記憶體 (Virtual Memory)技術將硬碟中的某個空間當作是虛擬的記憶體,把暫時未執行到的工作放到虛擬記憶體(即硬碟),等到要執行該工作時,再將程式或資料載入到主記憶體中,這個切換的動作稱之為置換(swap) 。

• 例如:有時候您會發現當您開啟多項工作時,例如聽MP3 ,上網,打Word 作業,繪圖、、、等,突然有段短暫時間,電腦似乎停頓下來,且硬碟不斷地被存取,此時可能就是電腦正在做置換的工作。

– 快取記憶體的置換方法是由硬體來控制,而虛擬記憶體的置換方法則是由軟體(作業系統)來加以控制。

• 快取記憶體的觀念已經被應用在許多資訊場合• 瀏覽網路的 Proxy• 高速硬碟的磁碟快取 (disk cache) 。

Page 73: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

管線( pipelining )

• 管線 (pipeline)技術是透過增加工作量 (throughput) 提昇電腦整體效率的一種方法。– 由於指令執行的各個階段所使用的元件不同,因此在前面的指令尚未完成時

(但已完成某些階段的工作),就將後面的指令開始執行,如此一來,只要各個階段不衝突,就可以增加指定時間內所完成的指令總量。

– 一個最完美(各階段指令毫不衝突)的管線增速恰為管線的級數。– DLX 機器使用管線技術執行 10 個指令的圖示如下

管線式 DLX 執行指令順序

Page 74: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

管線( pipelining )– 如果每一級所需要花費的時間不相等時,使用管線所獲得的增速就沒有那麼理想了,假設 DLX 指令執行的 5 個階段分別需要花費 10ns、 12ns、 10ns、 15ns、 10ns ,此時,若想要管線化,就必須以花費最多的那一級( 15ns )做為每一級所需要的時間,如下圖所示。

– 在此階段中,原本未使用管線執行 10 個指令需要 (10+12+10+15+10)*10=570ns ,而使用管線執行 10 個指令則需要 (10-1)*15+75=210ns ,增速只有 570/210=2.7 ,因此,要使用管線來增加效能,必須配合指令分解動作的特性。

步驟所需時間不等

Page 75: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

管線( pipelining )

• 管線危障– 使用管線可能會遇到一種狀況,使得下一個指令無法在預定的時脈週期中被執行,此種情況稱之為危障 (hazard) 。

• 例如管線中的某一個指令恰好必須使用尚未完成指令的結果做為來源時,則會發生危障。

• 管線危障分為很多種類,而危障最簡單的解決方式就是暫停管線一個週期,但這將有損管線的整體效能,除此之外,專家們還發明了許多解決各種危障的方法,讀者若有興趣,可以參閱計算機結構專書。

Page 76: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

超純量處理器( Superscalar Processor )

• 如果在處理器中增加每個元件的數量,則每個元件增多一倍時,就可以一次發出 2 個指令,依此類推,增加元件數量能夠提升電腦的效率,而這就是所謂的超純量處理器。

超純量處理器的執行時間

Page 77: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

超純量處理器( Superscalar Processor )

– 通常超純量處理器會搭配管線技術一起實作,以提高更多的電腦效能。

– 就和管線危障一樣,超純量處理器同樣會遇到同類的問題,如果和管線一起實作,則問題就更明顯了,同樣地,這必須透過其他較深入的演算法來加以解決,由於牽扯技術甚多,在此就不再多談。

超純量處理器(含管線)的執行時間

Page 78: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

平行處理 (Parallel Processing)

• 平行處理是一種提昇電腦效能的方法,平行處理電腦系統內的 CPU 不只一個,每一個 CPU 都可以獨立執行工作,而記憶體的部分則可以分為兩部分– 一部份是配置給每一個 CPU私用的記憶體,稱之為本地端記憶體– 另一部份則是供給所有 CPU 使用的公用記憶體,稱之為分享記憶體。

• 平行處理系統運作時,會將程式分割為許多片段(稱之為行程),分別交由不同的 CPU 來執行,最後再將這些片段的執行結果統合在一起,完成整個工作。– 最顯著的平行處理系統就是超級電腦,其特性為運用大量的硬體資源,解決需要大量計算的工作。

Page 79: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

平行處理 (Parallel Processing)

• 同樣的道理,程式中某些資料變數可能有先後關係,因此也需要一套完整的方法來加以控制,保證最後的結果是正確的,這部分的工作通常交由作業系統來負責。而一個程式即使被分配到各個 CPU 去分頭執行部分片段,有時候並不會縮短它的完成時間(因為必須等待其他行程處理完畢),這通常是由於程式特性所導致,而這部分的工作則必須由程式設計師或平行編譯器來加以控制。

平行處理電腦的記憶體結構圖

Page 80: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

RISC與 CISC

• 每一種 CPU 的指令集都不盡相同,而指令集的設計也會影響電腦的執行效率。目前指令集的設計可以分為兩大類:RISC(Reduced Instruction Set Computing;精簡指令集 )與CISC(Complex Instruction Set Computing;複雜指令集 ) 。– RISC的指令較為『單純精簡』,因此可以在一個時脈週期內就完成

• 電腦的硬體設計變成非常單純,可以使用硬體線路控制(hardwired control) 來製作。

• 比較容易配合管線或超純量技術提昇整體效率。• RISC 的機器有 PowerPC(Mac 電腦的 CPU )、 Sun SPARC(工作站等級)、 IBM RS/6000、 DLX 等等。

Page 81: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

RISC與 CISC

– CISC 的指令種類及功能非常多樣且豐富,一個指令就可以完成許多工作• 由於提供的指令非常多,因此通常採用微程式控制 (microprogrammed

control) 來製作• 由於指令複雜,所以使用管線與超純量技術製作容易發生危障問題,反而不容易提昇整體效率。

• CISC 的機器有 Intel x86、Motorola 680x0 等等。• 一般來說,同樣功能的程式,若使用 RISC 指令來撰寫,通常程式碼會較長,而

使用 CISC 指令來撰寫,程式碼將會精簡許多,但這並不代表 CISC 機器就會執行的比較快

– 因為,一方面 RISC 的每個指令所需要的執行時間比較短,另一方面則是因為 RISC管線化的危障比較少的緣故。

• 究竟 RISC與 CISC ,孰優孰劣?– 至今尚無明確解答,因此兩種指令集設計都被產品化,但依據實際測試結果,

RISC 在伺服器級的電腦表現較優。– 工作站以上的電腦通常採用 RISC 指令集設計,例如 Sun SPARC– CISC則通常被使用做為個人電腦的 CPU 指令集,例如 Intel x86 。

Page 82: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

RISC與 CISC

RISC與 CISC 特性比較

RISC CISC

指令種類 少,通常低於 100道 多,通常在 2 00 ~ 300道以上

指令功能 簡單 複雜控制單元 硬體拉線控制 微程式控制指令格式 固定且可平行解碼,速度快 不固定,必須循序解碼指令長度 固定 不固定管線 單純 複雜應用領域 特定領域,如工作站 非特定,如個人電腦

產品 PowerPC、 Sun SPARC、 DLX

Intel x86、Motorola 680x0

Page 83: 電腦系統單元: 中央處理器、主記憶體、匯流排、晶片組

邏輯電路 , 組合電路 , 可參閱附件講議 A.4~A.6主記憶體的原理 ( 正反器記憶原理 ) , 可參閱附件講議 A.7