Page 30 - สถาปัตยกรรมคอมพิวเตอร์และระบบปฏิบัติการ
P. 30
3-20 สถาปัตยกรรมคอมพิวเตอร์และระบบปฏิบัติการ
โครงสร้างแคชในซพี ียู เพนเทียม 4 (Pentium 4) 1
System bus
2
Oeuxte-loocgfu-iotcirodner caLc1hein(s1t2ruKcμtiσopns) feIntcshtur/undciettcioodne b6i4ts
L(31cMacBh)e
Integer register file FP register file
adLudonraiedtss Store Simple Simple Complex FP/ FP L(521c2aKcBhe)
adudnrietss inAteLgUer inAteLgUer inAteLgUer MuMnitX muonvite
L1 data cache (16 KB) 256 bits
3
4
ภาพท่ี 3.10 โครงสร้างแคชในซพี ยี ู เพนเทียม 4
ทมี่ า: William Stallings. (2009). Computer Organization and Architectur Designing For Performance. 8th ed., Prentice Hall
Upper Saddle River.
ภาพที่ 3.10 แสดงมุมมองโครงสร้างที่เรียบง่ายของซีพียู เพนเทียม 4 โดยเน้นการวางตำ�แหน่งของแคชทั้ง
สามคือ L1 cache มีความจุ 16 KB L2 cache มีความจุ 512 KB และ L3 cache มีความจุ 1 MB โดยโพรเซสเซอร์
คอร์ (Processor core) ประกอบด้วย 4 องค์ประกอบหลัก ดังนี้
1. หน่วยแปลงโค้ด (instruction fetch/decode unit) เครื่องคอมพิวเตอร์จะดึงคำ�สั่งของโปรแกรม ทีละ
คำ�สั่งจาก L2 แคช แปลงโค้ดคำ�สั่งเหล่านั้นเป็นคำ�สั่งย่อย ๆ เรียงตามลำ�ดับเก็บไว้ใน L1 instruction cache
2. การจัดการตรรกะทผี่ ิดเงือ่ นไข (out-of-order excution logic) เครื่องคอมพิวเตอร์จะกำ�หนดตารางการ
จัดการกับคำ�สั่งย่อย ๆ ที่ผ่านการแปลงโค้ดจากหน่วยแปลงโค้ด ภายใต้ข้อมูลที่มีอยู่และทรัพยากรเท่าที่จะหาได้
ดังนั้นคำ�สั่งย่อย ๆ เหล่านั้นอาจถูกกำ�หนดเวลาประมวลผลในลำ�ดับที่แตกต่างกัน มากกว่าที่จะดึงจากชุดคำ�สั่ง และ
เครื่องคอมพิวเตอร์จะต้องเก็บการจัดการกับคำ�สั่งย่อย ๆ ที่คาดว่าอาจถูกเรียกใช้ในอนาคต
3. หน่วยประมวลผล (execution unit) หน่วยนี้จะประมวลผลคำ�สั่งย่อย ๆ และดึงข้อมูลที่ต้องการจาก
L1 data cache และสำ�รองเก็บผลการประมวลผลไว้ในรีจิสเตอร์ ซึ่งรีจิสเตอร์ดังกล่าวมี 2 แบบ คือ รีจิสเตอร์เก็บ
เลขจำ�นวนเต็ม (integer register) และรีจิสเตอร์เก็บเลขทศนิยมหรือเลขยกกำ�ลัง (Floating Point register: FP
register)
4. หนว่ ยความจ�ำ ระบบยอ่ ย (memory subsystem) ในหน่วยนี้ประกอบด้วย L2 และ L3 แคช และระบบบัส
(system bus) ซึ่งเครื่องคอมพิวเตอร์จะใช้บริการหน่วยความจำ�หลัก (main memory) เมื่อไม่พบข้อมูลใน L1 และ
L2 แคช และการดำ�เนินการเกี่ยวกับระบบ I/O resource