Download as pdf or txt
Download as pdf or txt
You are on page 1of 48

บทที่ 5

การออกแบบหนวยประมวลผล
(Processor Design)
อ.สรพรรค ภักดีศรี
คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)
1
วัตถุประสงค
5.1. เพื่อใหเขาใจความหมายของหน-วยประมวลผล
5.2. เพื่อใหเขาใจองคประกอบของหน-วยประมวลผล
5.3. เพื่อใหเขาใจสถาปตยกรรมของหน-วยประมวลผล
5.4. ตัวอย-างสถาปตยกรรมของหน-วยประมวลผล
5.5. เพื่อใหเขาใจการวัดสมรรถนะหน-วยประมวลผล

คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)


2
5.1. หนวยประมวลผล
• หน-วยประมวลผล (Processor) ทําหนาที่ประมวลผลเป;นหลัก หนาที่อื่นเป;นหนาที่ของ
อุปกรณส-วนอื่น
• หน-วยประมวลผลกลาง (CPU : Central Processing Unit) หมายถึงการนําหน-วย
ประมวลผล หน-วยประมวลผลทางคณิตศาสตรและตรรกะ (ALU) และหน-วยควบคุม
(Control Unit) มารวมกันในชิปเดียวกัน
Central Processing Unit
Control Unit
Input Device ALU Output Device

Memory Unit

คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)


3 ที่มา: https://en.wikipedia.org/wiki/Von_Neumann_architecture.
5.2. องคประกอบของหนวยประมวลผล
จากรูปเป;นการออกแบบระบบคอมพิวเตอรตามแนวคิดของ จอหน วอง นอยย
แมน
Central Processing Unit
Control Unit
ALU

Input Device Register Output Device


I/O Interface

Memory Unit

คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)


4 ที่มา: https://en.wikipedia.org/wiki/Von_Neumann_architecture.
5.3. สถาปตยกรรมของหนวยประมวลผล
• สถาปตยกรรมของหน-วยประมวลผล (ฮารดแวร) และ สถาปตยกรรม
ชุดคําสั่ง (ISA : Instruction Set Architecture) เป;นสิ่งที่บ-งบอกถึง
ลักษณะเฉพาะที่สําคัญของหน-วยประมวลผล
เช-น จํานวนและประเภทของรีจิสเตอร, วิธีการกําหนดวิธีการอางถึงขอมูลใน
หน-วยความจําของหน-วยความจํา และการออกแบบชุดคําสั่งต-าง ๆ
(Instruction Sets)
• ปจจุบันนี้แบ-งออกเป;น 2 กลุ-มหลักคือ CISC (Complex Instruction Set
Computing) และ RISC (Reduced Instruction Set Computing)
คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)
5
5.3. โครงสร#างการประมวลผลคําสั่งใน CISC และ RISC
ขันที 1 ขันที 2 ขันที 3 ขันที 4 ขันที 1
CISC
คําสังที 1 คําสังที 2

RISC คําสังที 1 คําสังที 2 คําสังที 3 คําสังที 4 คําสังที 5

• CISC (Complex Instruction Set Computing)


กลุ-มของคอมพิวเตอรที่มีชดุ คําสัง่ ที่ซับซอน มีหลายขั้นตอน เนนความยืดหยุ-น
• RISC (Reduced Instruction Set Computing)
กลุ-มของคอมพิวเตอรที่มีชดุ คําสัง่ ที่ง-ายซับซอน ขั้นตอนไม-มาก เนนความเร็วในการ
ประมวลผลคําสั่ง (ใชเวลาประมวลผลนอยที่สดุ )
คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)
6
5.3. คุณลักษณะของคอมพิวเตอรแบบ CISC
• มีการรวมเอาคุณสมบัติดานต-าง ๆ เช-น วิธีการอางถึงขอมูลในหน-วยความจํา
(Addressing Modes) หรือประเภทคําสั่ง (Instruction Type) หลายๆประเภท
เขาดวยกันเพื่อเพิ่มความยืดหยุ-นในการออกแบบโครงสรางและการเขียนคําสั่ง
ควบคุม
• สถาปตยกรรมแบบ CISC มีจํานวน วิธีการอางถึงขอมูลในหน-วยความจํา หลาย
แบบ
• ลักษณะนี้ส-งผลใหชุดคําสั่งที่ใชมีหลายแบบ และใชเวลาในการประมวลผล
แตกต-างกัน
• คําสั่งจะมีความซับซอน มีหลายขั้นตอนของการประมวลผล
คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)
7
5.3 คุณลักษณะของคอมพิวเตอรแบบ RISC
• หนึ่งชุดคําสั่งต-อรอบการประมวลผล (1 Instruction = 1
Cycle)
• ความยาวของชุดคําสั่งคงที่
• ติดต-อกับหน-วยความจําดวยคําสั่งโหลดและสโตรเท-านั้น
• การใชการกําหนดวิธีการอางถึงขอมูลในหน-วยความจําที่เรียบ
ง-าย
• การใชโอเปอเรชันที่เรียบง-ายและมีจํานวนจํากัด
คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)
8
5.3. เปรียบเทียบหนวยประมวลผลตระกูล CISC และ RISC
CISC RISC
จํานวนคําสั่ง 300-500 คําสั่ง 100-150 คําสั่ง
ความยาวคําสั่ง ไมแนนอน คงที่ 32-64บิต
เวลาประมวลผล 1 คําสั่ง 3 คล็อกขึ้นไป 1 คล็อก
หนวยความจํา 90% 5% (Load/store)
วิธีการอ#างถึงข#อมูลใน หลายแบบ 2-3 แบบ
หนวยความจํา
ความซับซ#อนของคําสั่ง มาก น#อย
ประสิทธิภาพ Intel Core i7-5960x (Haswell-E SPARC64 XIfx
(จํานวนคําสั่ง/วินาที) 8cores/16thread) 3 GHz DDR4-2133, 2 MB The XIfx processor has 32 cores. It
L2, 20 MB L3 (176.16 GFLOPS) runs at 2.2 GHz, has a peak
performance of 1,100 GFLOPS.
จุดเดน ความยืดหยุนในการเพิ่ม ปรับเปลี่ยน ประมวลผลคําสั่งให#เสร็จโดยเร็ว
(Microcoded)
คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร (Hardwired)
บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)
9
5.4. กรณีตัวอยาง CISC : Motorola MC68000
Motorola นําเสนอ MC68000 ในปx 1979
• จุดเด-น:
– ใชกับเครื่องเวิรคสเตชันของ Sun
– ใชกับคอมพิวเตอรส-วนบุคคล Macintosh
– ใชกับเครื่องพีดีเอ เช-น Palm Pilot
– ชุดคําสั่งมีประสิทธิภาพและง-าย
– สนับสนุนภาษโปรแกรมระดับสูงรวมทั้งระบบปฏิบัติการ
– เขาถึงหน-วยความจําแบบ Flat memory map
ส-วนอินเทลใชแบบ segment memory
– ชุดคําสั่งแบบ 32 บิต ขนาดของบัสขอมูลแบบ 32 บิต
คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)
10 ที่มา: http://ocw.utm.my/file.php/79/02-68k-Architecture.ppt.pdf
5.4. กรณีตัวอยาง CISC : Motorola MC68000
• จัดไดว-าเป;นหน-วยประมวลผลแบบ 32 บิตตัวแรกของหน-วย
ประมวผลแบบไมโครโปรเซสเซอร
• การจัดเรียงขอมูลในหน-วยความจําแบบ Big Endian
• มีรีจิสเตอรที่ใชงานทั่วไป (General purpose) จํานวน 8 ตัว
ขนาด 32 บิต, รีจิสเตอรชี้ตําแหน-ง 7 ตัว และรีจิสเตอรชี้
ตําแหน-งสแต็ก

คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)


11 ที่มา: http://ocw.utm.my/file.php/79/02-68k-Architecture.ppt.pdf
5.4. กรณีตัวอยาง CISC : Motorola MC68000
• สถาปตยกรรมของหน-วยประมวลผลและหน-วยความจํา
– CPU register

– รีจิสเตอรใชงานทั่วไป เช-น คํานวณ ขนาด 32 บิต จํานวน 8 ตัว D0…D7

– รีจิสเตอรชี้ตําแหน-ง เช-น พอยตเตอร ขนาด 32 บิต จํานวน 8 ตัว A0…A7

– รีจิสเตอรชี้ตําแหน-งของคําสั่ง (Program Counter) ขนาด 32 บิต จํานวน

1 ตัว
– รีจิสเตอรแสดงสถานะหรือผลลัพธการประมวลผล (Status register) ขนาด

16 บิต จํานวน 1 ตัว

คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)


12 ที่มา: http://ocw.utm.my/file.php/79/02-68k-Architecture.ppt.pdf
5.4. กรณีตัวอยาง CISC : Motorola MC68000
วิธีการอ#างถึงข#อมูลในหนวยความจํา รูปแบบ
Register Direct Addressing
Data Register Direct Dn
Address Register Direct An
Absolute Data Addressing
Absolute short xxx W
Absolute long xxx L
Program Address Relative Addressing
Relative with offset d16 (PC)
Relative with index offset d8 (PC, Xn)
Register Indirect Addressing
Register Indirect (An)
PostIncremental Register Indirect (An)+
Predecrement Register Indirect -(An)
Register Indirect with offset d16 (An)
Index Register Indirect with offset d8 (An, Xn)
Immediate Data addressing
Immediate #xxx
Quick Immediate #1-#8
Implied Addressing
Implied Register SR USP SP PC
คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)
13 ที่มา: http://www.slideshare.net/mkazree/chp2-introduction-to-the-68000-microprocessor-copy
5.4. กรณีตัวอยาง CISC : Motorola MC68000(1979)
• รูปแบบคําสั่งของ MC68000 (Instruction Formats)
<label> opcode<.size> <operands> <;comments>
label กําหนดตําแหน-งของคําสั่งในหน-วยความจํา
Opcode คําสั่งดําเนินการ เช-น Move, Add, Sub เป;นตน
<.size> กําหนดขนาดของตัวถูกดําเนินการเช-น B, W หรือ L
<operands> ขอมูลที่นํามาประมวลผล
<;comments> หมายเหตุหรือคําอธิบาย
คําสัง การดําเนินการ
MOVE.W #100, D0 [D0] <- 100
MOVE.W $100, D0 [D0] <- [M($100)]
ADD.W D1,D0 [D0] <- [D0] + [D1]
MOVE.W D1, 100 [M(100)] <- D0
DATA DC.B 20 [DATA] <- 20
คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)
14 ที่มา: http://ocw.utm.my/file.php/79/02-68k-Architecture.ppt.pdf
5.4. กรณีตัวอยาง RISC : The SPARC (1987)
• สถาปตยกรรมของหนวยประมวลผลและหนวยความจําของ SPARC
– มีริจิสเตอรหลายตัวแบ-งเป;นกลุ-มหลักไดแก- Integer register และ
Floating-point register
– ชุดคําสั่งมีขนาดคงที่ 32 บิต
– รองรับหน-วยความจําไดถึง 232 ไบต
– มีการใชเทคนิค MMU (Memory Mapping Unit) ทําใหสามารถอางอิงเนื้อ
ที่บนหน-วยความจําไดมากขึ้น

คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)


15
5.4. กรณีตัวอยาง RISC : The SPARC

• พัฒนาโดย Sun Microsystems ในปx 1987


• ปจจุบันเป;นหน-วยประมวลผลแบบ 64 บิต เดิม 32 บิต
• มีรีจิสเตอรใชงานทั่วไป 32 ตัว และรีจิสเตอรขอมูลตัวเลข
ทศนิยมอีก 32 ตัว

คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)


16
5.4. กรณีตัวอยาง RISC : The SPARC
• การกําหนดวิธีการอางถึงขอมูลในหน-วยความจําของ SPARC
(Addressing Modes)
– ใชวิธีการอางถึงขอมูลในหน-วยความจําไม-กี่แบบ และเป;นแบบที่ง-าย
– register + register
– register + sign-extended, immediate 13-bit constant

คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)


17
5.4. กรณีตัวอยาง RISC : The SPARC
• Integer registers ขนาด 32 บิต จํานวน 32 ตัว r0-r31
แบ-งไดเป;น Global register, Out registers, Local registers และ In
registers
• Floating-point registers ขนาด 32 บิต จํานวน 32 ตัว f0-f31

คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)


18
5.4. ตัวอย-างอินเทล Core Architecture

คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)


ที่มา: https://en.wikipedia.org/wiki/Intel_Core_(microarchitecture) 19
5.4. ตัวอย-างอินเทล Core Architecture
• ป] 2008 อินเทลได#นําเสนอสถาปตยกรรม Nehalem ซึ่งเป`นสถาปตยกรรมพื้นฐานของ Core
i3 i5 และ i7 มีคุณสมบัติพื้นฐานดังนี้ ( Video: How to build core i7)
1. สนับสนุน Hyper-threading
2. หน-วยความจําแคชมีขนาด 4–12 เมกกะไบต
3. ใช branch predictor และ translation lookaside buffer ถึง 2 ระดับ
4. สนับสนุนมัลติคอรทั้ง 2 4 หรือ 8 คอร
5. ใชเทคนิค Intel QuickPath Interconnect แทน front side bus แบบเดิม
6. หน-วยความจําแคช ระดับ 1 ขนาด 64 KB ต-อคอร และหน-วยความจําแคช ระดับ 2 ขนาด
256 KB ต-อคอร
คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)
ที่มา: https://en.wikipedia.org/wiki/Intel_Core_(microarchitecture) , https://www.youtube.com/watch?v=tKX8bdHWgu8
5.4. ตัวอย-างอินเทล Core Architecture
7. ผนวก PCI Express และ DMI เขากับหน-วยประมวลผลโดยตรงไม-ตอง
ผ-าน Northbridge
8. ผนวก memory controller เขากับหน-วยประมวลผลโดยตรง และ
สนับสนุนช-องทางการรับส-งขอมูล 2-4 ช-องทาง
9. รองรับ Intel Virtualization Technology รุ-นที่ 2 ที่สนับสนุนExtended
Page Table, VPIDs และ non-maskable interrupt
10. รองรับคําสั่ง SSE และ POPCNT
11. รองรับ Macro-op fusion แบบะ 64 บิต
12. รองรับไปป‡ไลน 20-24 สถานะ
คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)

ที่มา: https://en.wikipedia.org/wiki/Intel_Core_(microarchitecture)
อินเทล ไฮเปอรเทรดดิ้ง (Hyper Threading(Video))

• ไฮเปอรเทรดดิ้ง เป;นเทคนิคของหน-วยประมวลผลอินเทล ทีสามารถจําลองให


เสมือนมีหน-วยประมวลผลเพิ่มขึ้นเป;น 2 เท-า ทําใหสามารถรองรับการประมวลผลเท
รดไดมากกว-าไม-มี ไฮเปอรเทรดดิ้ง
• จากการทดสอบโดยใชซอฟตแวรจากหลายแห-งพบว-ามีสมรรถนะการประมวลผล
เพิ่มขึ้น ทั้งนี้มีปจจัยที่เกี่ยวของและมีผลกระทบดวย
•จากรูปพบว-าหน-วยประมวลผลที่ไม-มี ไฮเปอรเทรดดิ้ง ประมวลผลไดครั้งละ 1 เทรด
ส-วนหน-วยประมวลผลที่มี ไฮเปอรเทรดดิ้ง ประมวลผลไดครั้งละ 2 เทรด

คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)


ที่มา: : https://en.wikipedia.org/wiki/Hyper-threading
อินเทล ไฮเปอรเทรดดิ้ง (Hyper Threading(Video))

Physical Logical Physical processor resource Throughput


allocation
R1
Without HT

Thread2 Thread1 R2

R3

R1

R2
Without HT

R3

คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)


ที่มา: http://www.techpowerup.com/reviews/Intel/Core_i5_661/14.html
อินเทล ไฮเปอรเทรดดิ้ง (Hyper Threading(Video))

หน-วยความจํา

หน-วยประมวลผล

คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)


ที่มา: https://en.wikipedia.org/wiki/Hyper-threading
Intel QuickPath Interconnect (Video)

-Intel QuickPath Interconnect (QPI)เป;นเสนทางที่ใชเชื่อมต-อแบบ จุด-ต-อ-


จุด ภายในหน-วยประมวผล โดยอินเทล ในปx 2008 เพื่อเพิ่มศักยภาพการแข-งขัน
กับสถาปตยกรรมระบบบัสของ AMD ชื่อ Hyper Transport ที่ใชมาตั้งแต-ปx
2003
-หน-วยประมวลผลอินเทลที่เริ่มใช QPI เช-น Intel Core i7-9xx ร-วมกับชิปเซต
X58 และหน-วยประมวลผลอินเทล Xeon รหัส Nehalem ในปx 2009 และอินเทล
Itanium ในปx 2010 รหัส Tukwila
-ใหอัตราการรับส-งขอมูลสูงสุดที่ 25.6 GBps ที่ความถี่ 3.2 GHz
คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)
ที่มา: http://www.techpowerup.com/forums/threads/intel-reveals-some-more-nehalem-information-at-recent-core-i7-presentation.73073/
Intel QuickPath Interconnect (Video)

คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)


ที่มา: https://en.wikipedia.org/wiki/Intel_QuickPath_Interconnect
Intel Virtualization Technnology (Video)

•- อินเทล VT เป;นเทคโนโลยีดาน การจําลองเครื่องเสมือนในระดับฮารดแวรสําหรับหน-วย


ประมวลผลอินเทลแบบ 32 บิต ที่สนันสนุนใหหน-วยประมวลผลสามารถรองรับการสรางเครื่อง
เสมือนที่ใชระบบปฏิบัติการที่แตกต-างกันไดหลายๆเครื่องพรอมๆกันใหมีประสิทธิภาพและมีความ
ปลอดภัย
•เทคโนโลยีการจําลองเครื่องเสมือนไดรับการยอมรับในยุคแรกๆโดยการใชความสามารถของ
ซอฟตแวรเพียงอย-งเดียวทําใหประสิทธิภาพไม-ดีในปลายปx 1990
•ในปx 2006 ทั้งอินเทลและเอเอ็มดีไดสนับสนุนการจําลองเครื่องเสมือนในระดับฮารดแวรแมยังมี
ขอจํากัดอยู- แต-ทําใหประสิทธิภาพของการจําลองเครื่องเสมือนดีเพิม่ ขึ้น
•และมีการเพิ่มสมรรถนะการจําลองเครื่องเสมือนในระดับฮารดแวรดานไอโอ ใหดีขึ้นดวย
เทคโนโลยี VT-d

คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)


27 ที่มา: https://en.wikipedia.org/wiki/X86_virtualization#Intel_Virtualization_Technology_for_x86_.28Intel_VT-x.29
Intel Virtualization

คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)


28 ที่มา: https://en.wikipedia.org/wiki/Hardware_virtualization/
Intel Virtualization Technnology (Video)
• ช-วงแรกๆ ประมาณ 2005 จะเป;นรูปแบบที่ใชซอฟตแวร ในการจัดการเครื่องเสมือน (VMM
Software)
• ช-วงถัดมาเนนการสนับสนุนการประมวลผลของหน-วยประมวลผล (Hardware VT support
(VT-x/i))
• ช-วงต-อมาเนนที่ระดับชิปเซ็ต เพื่อสนับสนุนไอโอและหน-วยประมวลผลใหดีขึ้น(Better IO/CPU)
• ช-วงต-อมาเนนที่การถ-ายโอนขอมูลกับอุปกรณไอโอและการแบ-งปนทรัพยากร (Better IO
device and device sharing)

คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)


29 ที่มา: https://en.wikipedia.org/wiki/X86_virtualization#Intel_Virtualization_Technology_for_x86_.28Intel_VT-x.29
Intel VT-d

VM VM VM VM
Application OS Application OS Application OS Application OS
Driver A Buffer Driver A Buffer Driver A Buffer Driver A Buffer

VMM VMM
Virtual Device Emulation

Driver A Buffer Driver A Buffer I/O Device Hardware

I/O Device Hardware DMA Remap


Device A Device B Device A Device B

คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)


ที่มา: http://archive.linuxgizmos.com/virtualization-stack-supports-new-intel-processor-capabilities 30
Intel SSE Instruction Sets
• SSE4 (Streaming SIMD Extensions 4) เป;นชุดคําสั่งดานมัลติมีเดียที่ใชกับหน-วย
ประมวลผลอินเทลสถาปตยกรรมคอร และหน-วยประมวผล เอเอ็มดี

Intel SSE (1999) Intel SSE 2(2000) Intel SSE3 (2004) Intel SSSE (2006) Intel SSE 4(2007)

70 คําสัง 144 คําสัง 13 คําสัง 32 คําสัง 47 คําสัง


- single precision - Double precision - Complex - Decode - Video
vector. vector. arithmetic accelerators
- Streaming - 128 bit vector - Graphic building
operations integer blocks
- Coprocessor
accelerators

คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)


ที่มา: https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions
Intel Macro Fusion
-Macro-fusion เป;นเทคโนโลยีใหม-ของหน-วยประมวลผลอินเทล ที่สามารถรวมคําสั่ง
แบบ 32 บิตจํานวน 2 คําสั่งใหเป;น 1 คําสั่ง
-ตัวอย-างเช-น กรณีไม-มี Macro-fusion มีการอ-านคําสั่งมา 4 คําสั่ง เพื่อถอดรหัสพรอมๆ
กันใชเวลา 1 สัญญาณนาฬิกา หากมีคําสั่งที่ 5 เพิ่มมาตองใชเวลาในการถอดรหัสเพิ่มอีก
1 สัญญาณนาฬิกา
-แต-กรณีมี Macro-fusion มีการอ-านคําสั่งมา 5 คําสั่ง เพื่อถอดรหัสพรอมๆกันใชเวลา
ทั้งหมด 1 สัญญาณนาฬิกา โดยจะนําคําสั่งบางคําสั่งมารวมกันเช-น คําสั่ง cmp และ
jne มารวมกันแลวถอดรหัสพรอมกัน (เป;นคําสั่งเดียว) อินเทลเรียกว-า CMP +
Condition Branch Jne.
คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)
ที่มา: http://www.anandtech.com/show/1998/3
Intel Micro-op Fusion
Instruction Queue Without Macro-fusion Instruction Queue Intel Macro-fusion
inc ecx - อ่านทัง 4 คําสังจากคิวของคําสัง inc ecx - อ่านทัง 5 คําสังจากคิวของคําสัง
store [mem3],ebx
- แต่ละคําสังจะถูกถอดรหัสเป็ นไมโครอ - แต่ละคําสังจะถูกถอดรหัสเป็ นไมโครอ
store [mem3],ebx
อปต่างหาก ในสัญญาณนาฬิกาเดียวกัน อปต่างหาก ในสัญญาณนาฬิกาเดียวกัน
jne targ - คําสังที 5 จะถูกถอดรหัสเป็ นไมโคร jne targ - คําสังที 5 จะถูกถอดรหัสเป็ นไมโคร
cmp eax, [mem2] ออปในสัญญาณนาฬิกาถัดไป cmp eax, [mem2] ออปในสัญญาณนาฬิกาถัดไป
load eax, [mem1] load eax, [mem2]

dec0 dec1 dec2 dec3 dec0 dec1 dec2 dec3


inc ecx

store [mem3],ebx inc ecx

jne targ store [mem3],ebx

cmp eax, [mem2] cmpjne eax, [mem2], targ

load eax, [mem1] load eax, [mem1]

คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)


ที่มา: http://www.anandtech.com/show/1998/3
Intel Turbo Boost Technology (Video)

Intel® Turbo Boost Technology 2.0 เป;นเทคโนโลยีเร-งความเร็ว


ประสิทธิภาพของหน-วยประมวลผลและกราฟ•กสําหรับสถานการณที่มี
โหลดการทํางานสูงใหโดยอัตโนมัติเพื่อใหคอรของหน-วยประมวลผล
ทํางานใหเร็วขึ้นกว-าความถี่ของสัญญาณนาฬิกาปกติ ภายใตเงื่อนไขคือ
ไม-ใชพลังงานไฟฟŽาและอุณหภูมิเกินขีดความสามารถที่รองรับ

คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)


ที่มา: http://www.techpowerup.com/reviews/Intel/Core_i5_661/14.html
Intel Turbo Boost Technology (Video)
สถานะการณ์ปกติ 4 คอร์ แบบเทอร์ โบ < 4 คอร์ แบบเทอร์ โบ
ความถี

Core0

Core1

Core2

Core3

Core0

Core1

Core2

Core3

Core0

Core1

Core2

Core3
ทุกคอร์ ทํางานทีความถีเท่ากัน ทุกคอร์ ทํางานทีความถีเท่ากันแบบเทอร์ โบเมือ บางคอร์ ทํางานทีความถีสูงเมือต้ องการพลังใน
ต้ องการพลังในการประมวลผลสูง การประมวลผลสูง

คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)


ที่มา: http://www.techpowerup.com/reviews/Intel/Core_i5_661/14.html
Intel Hyper Pipeline

• อินเทล Intel Hyper Pipeline เป;นเทคโนโลยีที่ใชการแบ-งขั้นตอน


การประมวลผลออกเป;นฃัน้ ตอนย-อยหลายๆขั้นตอน
• แต-ละขั้นตอนจะมีอุปกรณรับผิดชอบการทํางานนั้นๆ ทําใหสามารถ
ทํางานหลายๆงานไดในหลายๆขั้นตอน ในเวลาเดียวกัน (Overlapping)
• จุดเด-นของหน-วยประมวลผลอินเทลคือการใฃ ไปป‡ไลนที่มีหลาย
ขั้นตอนมากกว-าหน-วยประมวลผลจากค-ายอื่น

คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)


ที่มา: http://cheezkiz.blogspot.com/
อินเทล Intel Hyper Pipeline
ป] รุน ความเร็ว ทรานซิสเตอร ขนาด จํานวนขั้นตอนคําสั่งแบบสาย
ทอ
1978 8086 4.77 MHz 29K 3000nm 2
1982 80286 8 MHz 134K 1500nm 3
1985 80386 16 MHz 275K 1000nm 3
1989 80486 25 MHz 1.2M 1000nm 5
1993 Pentium 60 MHz 3.1M 800nm 5
1995 Pentium Pro 150 MHz 7.5M 600nm 12
1997 Pentium II 233 MHz 7.5M 350nm 12
1999 Pentium III 450 MHz 9.5M 250nm 12
2000 P4-Willamette 1400 MHz 42M 180nm 20
2001 Itanium 733 MHz 25M 180nm 10
2002 P4-Northwood 2000 MHz 55M 130nm 20
Itanium2 1000 MHz 220M 180nm 8
2004 P4-Prescottวเตอร
คพ320:โครงสรางและสถาปตยกรรมคอมพิ 3400 MHz 125M
บทที่ 5 การออกแบบหน่ 90nm(Processor Design)
วยประมวลผล 3
ที่มา: http://www.geek.com/chips/what-is-a-processors-pipeline-561598/
อินเทล EM64T
• เป;นคุณสมบัติทีทําใหหน-วยประมวลผลแบบ 32 บิต (ฮารดแวร)สามารถประมวลผล
คําสั่งไดทั้งแบบ 32 หรือ 64 บิตได
• X86 เช-น Pentium 4, Dual Core, Core 2 Duo, Xeon เป;นหน-วยประมวลผล
แบบ 32 บิต (ฮารดแวร)
• Itanium เป;นหน-วยประมวลผลแบบ 64 บิต (ฮารดแวร) ทั้ง OS และ
Applications ตองเป;น 64 เท-านั้น
OS Application
Mode 1 32 32
Mode 2 64 32
Mode 3 64 64
คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)
ที่มา:
5.5. การวัดสมรรถนะของหน-วยประมวลผล
• เป;นการวัดเปรียบเทียบสมรรถนะของหน-วยประมวลผล ซึ่งมีหลากหลายยี่หอ หลายรุ-น
หลายสถาปตยกรรมที่แตกต-างกัน
1. MIPS – (Million Instructions per Second)
2. Flops – (Floating-Point Operation per Second)
3. อื่นๆ Clock Speed

คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)


5.5. การวัดสมรรถนะของหน-วยประมวลผล
ตัวอย-างเช-น
Intel Core i7-5960x (Haswell-E 8cores/16thread) 3 GHz DDR4-
2133, 2 MB L2, 20 MB L3 (สมรรถนะ176.16 GFLOPS)
SPARC64 Xifx. The XIfx processor has 32 cores. It runs at 2.2 GHz,
(สมรรถนะ 1,100 GFLOPS)

คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)


Tianhe2 – Fastest Super Computer 2014
Site: National Super
Computer Center in
Guangzhou
Manufacturer: NUDT
Cores: 3,120,000
Linpack Performance 33,862.7 TFlop/s
(Rmax)
Theoretical Peak 54,902.4 TFlop/s
(Rpeak)
Nmax 9,960,000
Power: 17,808.00 kW
Memory: 1,024,000 GB
Processor: Intel Xeon E5-2692v2
12C 2.2GHz
Interconnect: TH Express-2
Operating System: Kylin Linux
Compiler: icc
Math Library: Intel MKL-11.0.0
คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร MPI:
บทที่ 5 การออกแบบหน่ MPICH2 with a
วยประมวลผล (Processor Design)
customized GLEX
ที่มา: http://www.tianhe2.org/ channel 41
5.5. การวัดสมรรถนะของหน-วยประมวลผล
ผลการวัดสมรรถนะดาน จํานวนคําสั่งทศนิยมที่ประมวลผลไดต-อหนึ่งวินาที (GLOPS) ดวย
โปรแกรม Sisoft Sandra 2015
หน่ วยประมวลผล GFLOPS
Intel Core i7-5960x (Haswell-E 8c/16t) 3 GHz (Turbo 3.5 GHz), DDR4-2133, 2 MB L2, 20 MB L3
176.16
Intel Core i7-3960x (Sandy Bridge-E 6c/12t) 3.3 GHz (Turbo 3.9 GHz), DDR3-1600, 1.5 MB L2,
15 MB L3 133.47
112.76
Intel Core i7-4790k (Haswell 4c/8t) 4 GHz (Turbo 4.4 GHz), DDR3-1600, 1 MB L2, 8 MB L3

Intel Core i7-980x (Gulftown 6c/12t) 3.33 GHz (Turbo 3.6 GHz), DDR3-1066, 1.5 MB L2, 12
MB L3 108
Intel Core i7-4790 (Haswell 4c/8t) 3.6 GHz (Turbo 4 GHz), DDR3-1600, 1 MB L2, 8 MB L3
102
AMD FX-8350 (Vishera 8c/8t) 4 GHz (Turbo 4.2 GHz), DDR3-1866, 8 MB L2, 8 MB L3
คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design) 72.73
ที่มา: http://www.tomshardware.com/charts/cpu-charts-2015/-04-SiSoftware-Sandra-2015,3696.html
5.5. การวัดสมรรถนะของหน-วยประมวลผล
ผลการวัดสมรรถนะดาน จํานวนคําสั่งทศนิยมที่ประมวลผลไดต-อหนึ่งวินาที (GLOPS) ดวย
โปรแกรม Linpack ของซูเปอรคอมพิวเตอร (มิถุนายน 2558)
RMAX RPEAK
RANK SITE SYSTEM CORES (TFLOP/S) (TFLOP/S)
1
National Super Computer Center in Tianhe-2 (MilkyWay-2) - TH-IVB-FEP Cluster, Intel Xeon E5-2692 12C
Guangzhou 2.200GHz, TH Express-2, Intel Xeon Phi 31S1P 3,120,000 33,862.70 54,902.40

China NUDT
2 DOE/SC/Oak Ridge National Titan - Cray XK7 , Opteron 6274 16C 2.200GHz, Cray Gemini
Laboratory interconnect, NVIDIA K20x 560,640 17,590.00 27,112.50
United States Cray Inc.
3
DOE/NNSA/LLNL Sequoia - BlueGene/Q, Power BQC 16C 1.60 GHz, Custom
1,572,864 17,173.20 20,132.70
United States IBM
4 RIKEN Advanced Institute for
K computer, SPARC64 VIIIfx 2.0GHz, Tofu interconnect
Computational Science (AICS) 705,024 10,510.00 11,280.40
Japan Fujitsu
5 DOE/SC/Argonne National
Mira - BlueGene/Q, Power BQC 16C 1.60GHz, Custom
Laboratory 786,432 8,586.60 10,066.30
United States IBM
6 Swiss National Supercomputing Piz Daint - Cray XC30, Xeon E5-2670 8C 2.600GHz, Aries interconnect ,
Centre (CSCS) NVIDIA K20x 115,984 6,271.00 7,788.90
คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)
Switzerland Cray Inc.
ที่มา:http://top500.org/lists/2015/06/
5.5. การวัดสมรรถนะของหน-วยประมวลผล
• โปรแกรมวัดสมรรถนะ (Software Benchmark) (Video Intel vs AMD Benchmarking)
ตัวอย-างเช-น
Sisoft Sandra, PC Marks, 3D Marks, XVid, DivX, Microsoft Office, Linpack เป;นตน

คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)


ที่มา: https://www.youtube.com/watch?v=-Lxondsz1a4
บรรณานุกรมทายบท
• Von Neumann architecture. อางอิงจาก https://en.wikipedia.org/wiki/Von_Neumann_architecture.
• Highly Parallel Processing on a Chip. อางอิงจาก http://www.par.univie.ac.at/workshop/hppc.
• 68000 Architecture. อางอิงจาก http://ocw.utm.my/file.php/79/02-68k-Architecture.ppt.pdf
• Introduction to 68000 Microprocessor. อางอิงจาก http://www.slideshare.net/mkazree/chp2-introduction-to-the-68000-microprocessor-copy.
• Intel Core Architecture. อางอิงจาก https://en.wikipedia.org/wiki/Intel_Core_(microarchitecture).
• How to build core i7?. อางอิงจาก https://www.youtube.com/watch?v=tKX8bdHWgu8.
• Hyper Threading. อางอิงจาก https://en.wikipedia.org/wiki/Hyper-threading.
• Intel Hyper Threading Technology Demo. อางอิงจาก https://www.youtube.com/watch?v=kkrqyEpINSQ.
• Intel Quick Path Interconnect. อางอิงจาก https://en.wikipedia.org/wiki/Intel_QuickPath_Interconnect.
• Intel Quick Path . อางอิงจาก https://www.youtube.com/watch?v=XPBX3cl_clE
• Intel Quick Path . อางอิงจาก http://www.techpowerup.com/forums/threads/intel-reveals-some-more-nehalem-information-at-recent-core-i7-
presentation.73073/
• What is virtualization? อางอิงจาก https://www.youtube.com/watch?v=V9AiN7oJaIM.
• x86 virtualization. อางอิงจาก https://en.wikipedia.org/wiki/X86_virtualization#Intel_Virtualization_Technology_for_x86_.28Intel_VT-x.29.
• Intel VT-d. อางอิงจาก http://archive.linuxgizmos.com/virtualization-stack-supports-new-intel-processor-capabilities
• Hardware Virtualization. อางอิงจาก https://en.wikipedia.org/wiki/Hardware_virtualization.

คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)


45
บรรณานุกรมทายบท
• Streaming SIMD Extensions. อางอิงจาก https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions.
• Intel Macro-op Fusion. อางอิงจาก http://www.anandtech.com/show/1998/3.
• Intel Turbo Boost. อางอิงจาก http://www.techpowerup.com/reviews/Intel/Core_i5_661/14.html.
• Intel Hyper Pipeline. อางอิงจาก http://cheezkiz.blogspot.com.
• What is a processor pipeline? อางอิจาก http://www.geek.com/chips/what-is-a-processors-pipeline-561598.
• tianhe2. อางอิงจาก http://www.tianhe2.org/
• Intel Virtualization Technnology. อางอิงจาก http://www.vwmin.org.
• Virtualization stack supports new Intel processor capabilities อางอิงจาก http://archive.linuxgizmos.com/virtualization-stack-supports-new-intel-
processor-capabilities/
• Virtualization. อางอิงจาก http://www.itworksite.com/products/virtualization/
• Intel E8000 "Wolfdale" Dual-Core Processors. อางอิงจาก http://www.overclockers.com.au/article.php?id=662024.
• Intel core versus AMDK8 architecture. อางอิงจาก http://www.anandtech.com/show/1998/3.
• Computer Architecture. อางอิงจาก http://cheezkiz.blogspot.com.
• CPU Charts 2015. อางอิงจาก http://www.tomshardware.com/charts/cpu-charts-2015/-04-SiSoftware-Sandra-2015,3696.html.
• TOP 10 Sites for June 2015. อางอิงจาก http://top500.org/lists/2015/06.
• Intel vs AMD Benchmaking. อางอิงจาก https://www.youtube.com/watch?v=-Lxondsz1a4.

คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)


46
แบบฝ“กหัดทายบท
1. จงเลือกอธิบายรายละเอียดของหน-วยประมวลผล Sun Sparc T5, Intel Core i7, AMD 64,
Intel Itanium2, Apple A7, SS Qualcomm Snapdragon 600
ว-า CISC/RISC, จํานวนคําสั่ง, ขนาดคําสั่ง, การอางถึงขอมูลในหน-วยความจํา, ขนาด/จํานวน
รีจิสเตอร มา 1 รายการ
2. จงอธิบายและเปรียบเทียบคุณลักษณะของแนวคิด CISC และ RISC ต-างกันอย-างไร
3. จงอธิบายคุณลักษณะพื้นฐานของหน-วยประมวลผล 68000 และ Sparc
4. จงอธิบายคุณลักษณะของหน-วยประมวลผลอินเทล Core i7 มาอย-างนอย 5 ขอ
5. หากตองการวัดสมรรถนะของหน-วยประมวลผลระหว-าง AMD Fx8350 , Intel Core i7-
5960, Intel Xeon E5-2692 และ Sparc T5-2 ทําไดอย-างไรและดูผลอย-างไร จงอธิบาย

คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)


คพ320:โครงสรางและสถาปตยกรรมคอมพิวเตอร บทที่ 5 การออกแบบหน่ วยประมวลผล (Processor Design)
48

You might also like