หน่วยประมวลผลกลาง (central processing
unit)หรือที่นิยมเรียกย่อ ๆ ว่า ซีพียู CPU เป็นส่วนตีความ และประมวลผล
ตามชุดของคำสั่งเครื่องจากซอฟต์แวร์หน่วยประมวลผลเปรียบเสมือนเป็นสมองของ
คอมพิวเตอร์ ในการทำหน้าที่ตัดสินใจหรือคำนวณ จากคำสั่งที่ได้รับมา เช่น
การเปรียบเทียบ การกระทำการทางคณิตศาสตร์ ฯลฯ โดยมีกระบวนการพื้นฐานคือ
อ่านชุดคำสั่ง (fetch) ตีความชุดคำสั่ง (decode)
ประมวลผลชุดคำสั่ง (execute)
อ่านข้อมูลจากหน่วยความจำ (memory)
เขียนข้อมูล/ส่งผลการประมวลกลับ (write back)
สถาปัตยกรรมของหน่วยประมวลผลกลาง ประกอบไปด้วย ส่วนควบคุมการประมวลผล (control unit) และ ส่วนประมวลผล (execution unit) และจะเก็บข้อมูลระหว่างการคำนวณ ไว้ในระบบรีจิสเตอร์ การทำงานของหน่วยประมวลผลกลางแบ่งออกตามหน้าที่ได้เป็นห้ากลุ่มใหญ่ๆ ดังนี้ โดยทำงานทีละคำสั่ง จากคำสั่งที่เรียงลำดับกันไว้ตอนที่เขียนโปรแกรม
Fetch – การอ่านชุดคำสั่งขึ้นมา 1 คำสั่งจากโปรแกรม ในรูปของระหัสเลขฐานสอง (Binary Code from on-off of BIT)
Decode – การตีความ 1 คำสั่งนั้นด้วยวงจรถอดรหัส (Decoder circuit) ตามจำนวนหลัก (BIT) ว่ารหัสนี้จะให้วงจรอื่นใดทำงานด้วยข้อมูลที่ใด
Execute – การทำงานตาม 1 คำสั่งนั้น คือ วงจรใดในไมโครโปรเซสเซอร์ทำงาน เช่น วงจรบวก วงจรลบ วงจรเปรียบเทียบ วงจรย้ายข้อมูล ฯลฯ
Memory – การติดต่อกับหน่วยความจำ การใช้ข้อมูที่อยู่ในหน่วยจำชั่วคราว (RAM, Register) มาใช้ในคำสั่งนั้นโดยอ้างที่อยู่ (Address)
Write Back – การเขียนข้อมูลกลับ โดยมีหน่วยจำ Register ช่วยเก็บที่อยู่ของคำสั่งต่อไป ภายหลังมีคำสั่งกระโดดบวกลบที่อยู่
การทำงานแบบขนานในระดับคำสั่ง (ILP)
การทำงานของหน่วยประมวลผลกลางแบบมี pipeline
โดยการทำงานเหล่านี้ถ้าเป็นแบบพื้นฐานก็จะทำงานกันเป็นขั้นตอนเรียงตัวไป เรื่อยๆ แต่ในหลักความเป็นไปได้คือการทำงานในแต่ละส่วนนั้นค่อนข้างจะเป็นอิสระออก จากกัน จึงได้มีการจับแยกกันให้ทำงานขนานกันของแต่ละส่วนไปได้ หลักการนี้เรียกว่า pipeline เป็นการทำการประมวลผลแบบขนานในระดับการไหลของแต่ละคำสั่ง (ILP: Instruction Level Parallelism) โดยข้อมูลที่เป็นผลจากการคำนวณของชุดก่อนหน้าจะถูกส่งกลับไปให้ชุดคำสั่งที่ ตามมาในช่องทางพิเศษภายในหน่วยประมวลผลนั่นเอง
การทำงานของหน่วยประมวลผลกลางแบบมี pipeline และเป็น superscalar
การทำงานแบบขนานสามารถทำให้มีความสามารถเพิ่มขึ้นได้อีกคือเพิ่มการทำงาน แต่ละส่วนออกเป็นส่วนที่เหมือนกันในทุกกลุ่มแต่ให้ทำงานคนละสายชุดคำสั่งกัน วิธีการนี้เรียกว่าการทำหน่วยประมวลผลให้เป็น superscalar วิธีการนี้ทำให้มีหลายๆ ชุดคำสั่งทำงานได้ในขณะเดียวกัน โดยงานหนักของ superscalar อยู่ที่ส่วนดึงชุดคำสั่งออกมา (Dispatcher) เพราะส่วนนี้ต้องตัดสินใจได้ว่าชุดคำสั่งอันไหนสามารถทำการประมวลผลแบบขนาน ได้ หลักการนี้ก็เป็นการทำการประมวลผลแบบขนานในระดับการไหลของแต่ละคำสั่ง (ILP: Instruction Level Parallelism) เช่นกัน
การทำงานแบบขนานในระดับกลุ่มชุดคำสั่ง (TLP)
การทำงานของโปรแกรมคอมพิวเตอร์แต่ละโปรแกรมสามารถแบ่งตัวออกได้เป็นระดับ กลุ่มชุดคำสั่ง (Thread) โดยในแต่ละกลุ่มสามารถทำงานขนานกันได้ (TLP: Thread Level Parallelism)
ระเบิดศึก
ยุค Intel Pentium Classic กับ AMD 5×86 และ AMD K5
[ 11 Apr. 1999 ]
Intel Pentium ( Classic )
AMD จะสามารถเทียบรอยเท้าของ Intel ทั้งในด้านของ Performance และ ส่วนแบ่งตลาดได้หรือไม่? Intel จะสามารถขจัดคู่แข่งทั้งหลายออกไป และจะยังคงเป็นผู้ครอบครองตลาด CPU แต่เพียงผู้เดียวอีกหรือไม่? ปัจจุบันนี้ CPU รุ่นล่าสุดจากทั้ง 2 ค่าย ค่ายไหน มีประสิทธิภาพ ต่อ ราคา ที่สูงที่สุด? และ จำเป็นหรือไม่ ที่ เราๆ ท่านๆ ซึ่งเป็นเพียงผู้บริโภค จะต้องรู้เรื่องเหล่านี้ด้วย? ซึ่งสำหรับคำถามนี้ ตอบได้ทันทีว่า จำเป็นครับ เพราะว่า แต่ละค่ายนั้น ก็มีจุดเด่น จุดด้อย ที่ต่างกัน และมีความสามารถที่เด่นๆ ต่างกัน เรา ซึ่งเป็นผู้บริโภค ก็ย่อมจะเลือก ในสิ่งที่ดีที่สุด และ เหมาะสมที่สุด กับตัวเรา
นี่จึงเป็นเหตุให้เรามาวิเคราะห์ และ ศึกษาถึงการแข่งขันกันระหว่าง 2 ค่ายนี้กันนะครับ ทั้งในด้านของเทคโนโลยี และ การตลาด กันนะครับ
เมื่อนานมาแล้ว … A History So Far …
เรื่องมันเกิดขึ้นหลังจากที่ AMD นั้น ได้แยกตัวออกมาจาก Intel และได้จับตลาดการผลิต chip ต่างๆ มากมายหลายรายการ แต่ก็เพิ่งจะมีศักยภาพ ในการผลิต chip CPU เทคโนโลยีสูงได้ เมื่อไม่กี่ปีก่อนหน้านี้ โดยแรกเริ่มนั้น ผลิตในปริมาณไม่มากนัก และ ทำผลิตออกมาเพื่อ
ภายใต้ชื่อรุ่นของ CPU ที่เป็นตัวเลขได้ ยังมี Processer จากค่าย Texas Instrument, UMC, IBM,IDT, และ Cyrix ที่ได้ส่วนแบ่งทางเทคโนโลยีอันนี้ไปผลิตขายอีกด้วย และ AMD ก็ได้ใช้วิธีนี้ ผลิต CPU Compatible ตามหลัง intel มาเรื่อยๆ
เป็น Generation ที่ 6 ของทาง AMD โดยได้เพิ่มคำสั่งด้าน MMX เข้าไปด้วยเช่นกัน (เรียกกันว่า MMX Enhanced) ซึ่งจะว่าเลียนแบบก็ได้ หรือจะว่าไม่เลียนแบบก็ได้ … เพราะถึงแม้จะมีคำสั่ง MMX เหมือนกัน แต่โครงสร้างการทำงานของคำสั่งไม่เหมือนกัน และ สำหรับ CPU ของ AMD รุ่นนี้ ที่ Clock เท่าๆ กัน ก็มีความเร็วที่สูงกว่า Intel MMX ที่ Clock เท่าๆกัน … ส่วนหนึ่งก็เป็นเพราะ มีการเพิ่ม cache ระดับหนึ่ง ใน CPU เป็น 2 เท่าของ Pentium MMX ( K6 มี 64K แต่ Pentium MMX มี 32 K ) และ K6 นี้ เป็น CPU ใน Generation ที่ 6 ในขณะที่ Pentium MMX นั้น เป็น CPU ใน Generation ที่ 5 ของ Intel ส่วนทาง IBM และ Cyrix นั้นก็ได้วางโครงการผลิต CPU ตระกูล 6x86MX ที่มีคำสั่ง MMX ออกมาเช่นกัน … และในรุ่นนี้นั่น ไม่ค่อยจะได้ส่วนแบ่งในตลาดซักเท่าไหร่
แต่หลังจากนั้นเพียงไม่นาน AMD ก็ได้ประกาศเปิดตัว AMD K6-2 ขึ้น ซึ่ง โดยพื้นฐานเดิมๆ ก็มาจาก AMD K6 เดิมนั่นเอง เพียงแต่ได้แก้ไขบางส่วนเช่นปัญหาเรื่องความร้อนลงไปบ้าง และ สิ่งสำคัญ ที่เพิ่มเข้ามาบน K6-2 และ เป็นตัวที่ทำให้ AMD มีเอกลักษณ์เฉพาะของตัวเอง ไม่ใช่ เดินตามหลัง Intel อีกต่อไป นั่นก็คือ คำสั่งใหม่ๆ ที่เพิ่มเติม เข้ามาแบบ MMX ซึ่งเป็น SIMD enhance อีก 21 คำสั่ง โดยจะช่วยในการประมวลผลด้าน 3D .. ซึ่งความคิดนี้เกิดขึ้นจากที่ว่า โดยพื้นฐานของ CPU ของ AMD แล้ว จะมีความสามารถในการประมวลผล ด้านเลขทศนิยม ด้อยกว่าทาง CPU ของ Intel และ เกมส์ 3D ต่างๆ นั้น ก็ใช้ ทศนิยมในการคำนวนเป็นหลัก ทำให้ AMD พัฒนา 3Dnow! นี้ขึ้นมา
ใช่ว่า 3Dnow! ที่เกิดขึ้นมานี้ จะเป็นที่ติดตลาดในทันที เพราะ คำสั่งดังกล่าว ต้องการ Driver ที่สนับสนุน และ ต้องมีการเปลี่ยนแปลง code บางส่วน ของเกมส์ต่างๆ เพื่อให้ ใช้ความสามารถนี้ได้ … ซึ่งในระยะแรกก็ดูเหมือนว่าลำบากอยู่เหมือนกัน จนกระทั่งยักษ์ใหญ่แห่งวงการ API 3D Game นั่นคือ Microsoft ผู้พัฒนา API DrirectX ได้ออก DirectX Ver 6.0 เพื่อมา Support 3Dnow! ของ AMD ทำให้ card 3D ต่างๆ ทั้งของ 3Dfx, nVidia, Matrox, S3, 3Dlabs และตัวอื่นๆ สามารถใช้ 3Dnow! ได้ แล้วผู้ผลิตเหล่านั่น ยังได้ประกาศว่าจะทำ Driver ของ Product ของตน ให้สนับสนุนฟังก์ชัน 3Dnow! จึงทำให้ Software และ เกมส์ต่างๆ หันมาสนับสนุนกันมากขึ้น
แต่ถึงอย่างไรก็ตาม จากรายงานที่ออกมาเมื่อเดือน มกราคม ( เมื่อต้นปี 1999 ) ก็พบว่า AMD นั้น มีส่วนแบ่งในตลาดมากถึง 43.9% ในขณะที่ทาง Intel นั้นกลับ ลดลงมาเหลือเพียง 40.3% นี่คงเป็นการบ้านให้ทาง Intel ต้องคิดหนักทีเดียว … กับคู่แข่งอย่าง AMD
:: เพิ่มเติม ::
ระเบิดศึก
ยุค Intel Pentium Classic กับ AMD 5×86 และ AMD K5
[ 11 Apr. 1999 ]
Intel Pentium ( Classic )
เพื่อแก้ปัญหาการอ้างชื่อรุ่นของ CPU ในการขาย CPU เลียนแบบจากทาง AMD และ Cyrix ทาง Intel จึงตัดสินใจจดลิขสิทธิ์ชื่อ CPU ของตน แต่ ชื่อที่เป็นตัวเลขนั้น ไม่สามารถจดทะเบียนลิขสิทธิ์ได้ จึงได้ทำการเปลี่ยนชื่อ CPU ใน generation ที่ 5 ของตนเป็น Pentium ( Pentium มีรากศัพท์มาจาก Penta ที่แปลว่า 5 ) ซึ่งต่อมา ก็เรียกว่า Pentium Classic และพร้อมๆ กันนั้นเอง ก็ได้เกิด slogan ของ Intel ซึ่งจะติดมาพร้อมๆกับ CPU ของตนว่า “Intel Inside” เพื่อสร้างความมั่นใจให้แก่ลูกค้าของตน ว่าได้ CPU ของตน ( Intel ) แน่ๆ
ทาง Intel ได้ประกาศตัว CPU Intel Pentium ในปี 1993 โดยเพิ่ม Cache ภายใน หรือ L1 Cache เป็น 2 เท่าจากรุ่น 486 คือ จาก 8 K เป็น 16 K แต่แบ่งหน้าที่การทำงานของ Cache เป็น 2 ส่วน คือ เป็น Data Cache ใช้สำหรับเก็บข้อมูลที่จะใช้ประมวลผล มีขนาด 8 K และ อีกส่วนหนึ่ง เป็น Instruction Cache ซึ่งใช้เก็บคำสั่งต่างๆ ที่จะใช้ในการประมวลผล อีก 8 K
ในส่วนของทรานซิสเตอร์ภายใน ก็เพิ่มจาก 486 ซึ่งมีประมาณ 1.2 ล้านตัว ไปเป็น 3.1 ล้านตัว และ ในส่วนของการประมวลผล ก็เปลี่ยนจากเดิมมาเป็น 32 Bit แต่ในส่วนของ FPU นั้นใช้ 64 Bit ดังนั้น pin ตรง interface ที่ใช้ ก็ต้องรองรับการส่ง/รับ ข้อมูลขนาด 64 Bit ด้วย ทำให้ต้องเปลี่ยน Interface ด้วย ทำให้ CPU Intel Pentium ไม่สามารถใช้บน Mainboard ของ 486 ได้ เรียก Interface นี้ว่า SPGA ซึ่งมีจำนวนช่องขาสำหรับใส่ pin ทั้งหมด 296 ขา หรือ ที่เราเรียกกันจนติดปากว่าเป็น Socket 7 นั่นเอง และ ไฟเลี้ยงของ CPU ก็เปลี่ยนมาเป็น 5 Volt ใน Pentium รุ่นแรกๆ ( Pentium 60 และ Pentium 66 ) แต่ต่อมา3.3 Volt เพราะการใช้ไฟที่ 5 Volt นั้น ทำให้ความร้อนที่เกิดขึ้นสูงมาก จึงได้ลดไฟเลี้ยงลง รวมถึงเปลี่ยนมาใช้ system bus ที่ 50 , 60 และ 66 MHz ด้วย
CPU Intel Pentium นี้ ได้เพิ่ม Architecture เข้าไปใหม่ที่เรียกว่า “super-scalar” ซึ่งก็ทำให้ประสิทธิภาพโดยรวมเพิ่มขึ้นมาจาก 486 มาก โดยเฉพาะประสิทธิภาพในด้านการประมวลผลเลขจำนวนเต็ม ที่เพิ่มขึ้นเป็นเท่าตัวเลยทีเดียว
เรามาดูลักษณะเด่นๆ ของ Intel Pentium กันดีกว่า
• เป็น Superscalar Architecture
• Dynamic Branch Prediction ( เกี่ยวกับการทำนายผลการคำนวนล่วงหน้า )
• สำหรับหน่วยประมวลผลเลขจำนวนเต็มเป็น Pipeline ( 2 Pipeline )
• หน่วยประมวลผลเลขทศนิยม ก็เป็น Pipeline ( 1 Pipeline )
• Improved Instruction Execution Time
• แบ่ง Cache ออกเป็น 8 K สำหรับข้อมูล และ อีก 8 K สำหรับ คำสั่ง
• ในส่วนของ Cache ข้อมูล จะเป็น Cache แบบ WriteBack
• 64-Bit Data Bus
• Bus Cycle Pipelining
• Address Parity
• Internal Parity Checking
• Functional Redundancy Checking
• Execution Tracing
• สนับสนุนการทำงานแบบ Symmetric MuliProcessing หรือ SMP ทำให้สามารถใช้ Dual CPU ช่วยกันประมวลผลได้
แต่อย่างไรก็ตาม ในช่วงที่ Pentium วางตลาดไม่นาน ก็มีข่าวที่ทำให้ทาง Intel ต้องสะอึก นั้นก็คือในช่วงปลายปี ( ประมาลเดือน พฤศจิกายน ) 1994 ( พ.ศ. 2537 ) มีการพบ Bug หรือข้อผิดพลาดในการคำนวนเลขทศนิยม ซึ่งเกิดขึ้นกับการหาร จนเป็นข่าวและทำให้ผู้ซื้อเกิดความลังเลอยู่พอสมควร ทำให้ Intel ต้องเร่งแก้ปัญหานี้ และ ออกแถลงการณ์แก้ข่าวจนวุ่นเลยทีเดียว โดยทาง Intel ก็ยินดีเปลี่ยน CPU ที่มีปัญหานั้นให้ ( รุ่นที่มีปัญหาคือรุ่นแรกๆ ได้แก่ Pentium 60 และ Pentium 66 )
AMD 5×86 และ AMD K5
สำหรับ AMD นั้น เมื่อแยกตัวออกมาจาก Intel และ ผลิต CPU เลียนแบบ CPU ของ Intel โดยใช้ Microcode ของ Intel ซึ่งก็ผลิตมาจนถึงรุ่น AMD 5×86 ซึ่งก็เป็น CPU ที่มีความเร็วมากถึง 133 MHz ใช้ตัวคูณที่ 4 ( 33×4 ) ทำให้ประสิทธิภาพโดยทั่วๆไป นั้นใกล้เคียงกับ ระดับ Intel Penium 75 เลยทีเดียว แต่โดยสถาปัตยกรรมภายในแล้ว ก็เหมือนๆกับ 486DX นั่นเอง เพราะ ไม่ใช่ Superscalar Design เพียงแต่ มันเพิ่มความเร็วขึ้นมาเท่านั้นเอง แต่ก็มีบ้างสำหรับบางคำสั่ง ที่มันสามารถทำงานได้เสร็จภายใน 1 รอบสัญญาณนาฬิกา
AMD 5×86 นั้น มี Cache ภายใน หรือ L1 Cache ขนาด 16 K และ เป็นแบบ Write Back เป็น CPU แบบ 32 Bit และ ใช้ความกว้างของเส้นทางข้อมูล 32 Bit รวมถึงสามารถอ้างตำแหน่งได้ 32 Bit ด้วย
โดยสถาปัตยกรรมของ AMD K5 นั้นได้ spec ต่างๆ เป็นเท่าตัวของ Intel Pentium และได้มีการใช้ P-Rating ( หรือ PR ) เป็นตัววัดประสิทธิภาพ เทียบกับ CPU ของ Intel Pentium ซึ่งประสิทธิภาพของ AMD K5 นั้น ก็จัดได้ว่าดีเยี่ยมทีเดียว เพียงแต่ รุ่นนี้ออกมาช้า และขาดการโปรโมทที่ดี ทำให้ไม่ได้รับการนิยมเท่าที่ควร ทั้งๆ ที่ความสามารถนั้น ก็เทียบเท่ากับ Intel Pentium ( จะมีก็แต่ในส่วนของ FPU ที่ยังคงตามหลังอยู่ ) และ ราคานั้น ก็ถูกกว่า Intel Pentium อยู่พอสมควรเช่นกัน
เรามาดูลักษณะเด่นๆ ของ AMD K5 บ้างดีกว่า
o 4-issue core with full out-of-order execution and completion
o แบ่ง L1 Cache เป็นสองส่วน คือ 8 K สำหรับ Cache ข้อมูล และ อีก 16 K สำหรับ Cache คำสั่ง
o ในส่วนของ Cache ข้อมูล จะเป็น Cache แบบ WriteBack
o Dynamic, block-oriented branch prediction with speculative execution
o 5-stage RISC-like pipeline
o 6 parallel functional units
o High-performance FPU
o Validated software compatibility
o Static clock control with AMD-patented Digital Phase Lock Loop (DLL) circuitry
o 64-bit Pentium-compatible และใช้ Socket 7 เช่นเดียวกับ Pentium
o ใช้ System Bus เป็น 60 และ 66 MHz
o Compatibility with existing 586-class systems and supporting designs
o ใช้ไฟเลี้ยง CPU 3.52 MHz
ช่วงต้นยุคที่ 6 ( ของ CPU )
[ 11 June 1999 ]
Intel Pentium Pro ( P64C )
ในราวๆ เดือนพฤศจิกายน ปี ค.ศ. 1995 Intel ก็ได้เปิดตัว CPU ในยุคที่ 6 ของตน โดยมี CodeName ว่า “P6″ ซึ่งพัฒนาและปรับปรุงการทำงานเพิ่มเติมขึ้นมาอีก พอสมควรจาก Pentium Classic แต่ได้มีการย้าย Cache ภายนอก ( หรือ Cache ระดับ 2 , L2 Cache ) ซึ่งปกติแล้วจะวางอยู่บน Mainboard มาไว้ที่ แผ่น Silicon เดียวกันกับ CPU เลย ( แต่ไม่ได้อยู่ ภายใน CPU ) เพื่อเพิ่มความเร็วในการทำงานของ L2 Cache และ การเพิ่มความเร็วในการเข้าถึง และดึง ข้อมูลจากใน Cache … แต่ก็ด้วยเหตุที่ต้องรวมเอา Cache เข้าไปด้วยนี้เอง ทำให้ราคาของ CPU นั้นสูงเอามากๆ
Intel ได้เปลี่ยนแนวคิดของตัวเอง โดยหันมาใช้การประมวลผลแบบ RISC ใน CPU ของตนบ้าง ด้วยการดัดแปลงชุดคำสั่งสำหรับ x86 ของตนให้เป็น ชุดคำสั่ง ของ RISC ที่เล็กกว่า เร็วกว่า และ ง่ายกว่าเดิม เรียกว่าเป็นชุดคำสั่ง RISC86
Pentium Pro มี ชุด Pipeline 3 ชุด ซึ่งมากกว่า Pentium Classic ซึ่งมีเพียง 2 ชุด และมีการแยกขั้นตอนการทำงานออกเป็นถึง 14 ขั้นตอน และยังสนับสนุนการ ทำงานแบบคาดเดาคำสั่งที่จะต้องเรียกใช้ล่วงหน้าได้ ซึ่งเรียกว่า Speculative Execution แต่ Intel เรียกการทำงานนี้ว่าเป็น Dynamic Execution
อีกสิ่งหนึ่งที่เปลี่ยนไป ก็คือ Interface ที่ใช้ ซึ่งจากเดิมใช้บน Socket 7 ก็หันมาใช้ที่ Socket 8 แทน ทำให้ไม่สามารถใช้งานได้กับ Mainboard ของ Pentium Classic แน่นอน จะใช้รุ่นนี้ ก็ต้องซื้อ Mainboard ใหม่ด้วย
สิ่งที่น่าแปลกใจ สำหรับ Pentium Pro อย่างหนึ่ง ก็คือ ขนาดของ Cache ภายใน หรือ Cache ระดับ 1 ที่ยังคงมีเพียง 16 K เท่านั้น เท่าๆ กับ Pentium Classic เลย แต่ก็ชดเชยจุดด้อยตรงนี้ด้วย Cache ระดับ 2 ที่มีขนาดใหญ่ และมีให้เลือกหลายรุ่น คือรุ่นที่มี Cache ระดับ 2 ขนาด 256 KB, 512 KB หรือ 1 MB และ ทำงานด้วยความเร็วเดียวกับ CPU เพราะอยู่บน Silicon เดียวกัน
Pentium Pro นี้ โดยมากจะถูกนำมาใช้เป็น Server มากกว่าที่จะเป็น Desktop PC เพราะ มันสนับสนุนการทำงานแบบ SMP หรือ Symmetric MultiProcessing ซึ่งทำให้ใช้ CPU ได้ หลายตัว บน Mainboard ตัวเดียวกันได้ ทำให้ช่วยเพิ่มเสถียรภาพในการทำงาน สนับสนุนเรื่องของ Fault Tolerant ด้วย เมื่อ CPU ตัวใดตัวหนึ่งเสียหาย อีกตัวหนึ่งก็จะทำงานแทนที่ได้ และยังช่วยสนับสนุนการประมวลผลแบบขนานอีกด้วย
Intel Pentium MMX ( P55C )
ในช่วงต้นปี ค.ศ. 1997 Intel ก็ได้เปิดตัวเทคโนโลยีใหม่ของตน คือ MMX หรือ MultiMedia eXtension ขึ้นมา โดยมีจุดประสงค์ เพื่อให้ช่วยเพิ่มความสามารถในด้าน Multimedia เพราะในปัจจุบันนี้ Computer และงานด้าน Multimedia แทบจะแยกกันไม่ออกแล้ว ด้วยเหตุนี้เอง ทาง Intel จึงได้รวมชุดคำสั่ง MMX เข้ามาใน CPU ตระกูล Pentium ของตนด้วย เพื่อเป็นจุดขายใหม่ และ สร้าง มาตรฐานใหม่ของตนขึ้นมา
มาดูกันดีกว่าครับ ว่า Pentium MMX หรือ P55C นี้ มีอะไรเปลี่ยนแปลงไปจาก Pentium Classic หรือ P54C บ้าง
อันดับแรกเลย คือชุดคำสั่ง MMX ไงละครับ อันนี้ของแน่อยู่แล้ว ต่อมาคือขนาดของ Cache ภายใน ที่เพิ่มขึ้นมาเป็นเท่าตัวจากเดิม ซึ่งมี Data Cache 8 K และ Instruction Cache 8 K ก็ถูกเพิ่มอีกเท่าตัวเป็น Data Cache 16 K และ Instruction Cache 16 K ในส่วนที่เปลี่ยนแปลงอีกอย่าง ก็คือ เรื่องของ ไฟเลี้ยง ซึ่ง Pentium Classic นั้น ใช้ไฟเลี้ยง 3.3 Volt แต่ Pentium MMX นั้น จะใช้ไฟเลี้ยงเป็น 2.8 Volt ที่ CPU core แต่ ในส่วนของ CPU I/O ยังคงเป็น 3.3 V.
ในรายละเอียดปลีกย่อยของสถาปัตยกรรมภายใน ก็ได้มีการนำเอาเทคโนโลยีบางส่วนจาก Pentium Pro ซึ่งจัดเป็น CPU ในยุคที่ 6 ของ Intel ( P6 ) ที่เปิดตัวออกมาก่อนหน้านี้ไม่นานนัก ได้แก่ ความสามารถในเชิงของ Branch Target Buffer หรือ BTB ซึ่งเกี่ยวข้องกับการทำนายผลการคำนวนล่วงหน้า … ช่วยเพิ่มความเร็วในการประมวลผลได้อีกทางหนึ่ง
นอกจากนี้ยังมีการพัฒนา / ปรับปรุง ในเชิงของ Return Address Prediction อีกด้วย อีกทั้งยังสามารถทำการถอดรหัส และแยกการทำงานออกเป็น 2 Pipe พร้อมๆกันได้ เป็น Pipe จำนวนเต็ม และ MMX ซึ่งสามารถทำงานไปพร้อมๆกันได้เลย
สรุปรายละเอียด ของ CPU Intel Pentium MMX
o มีตั้งแต่รุ่นความเร็ว 166 MHz ถึง 233 MHz
o ใช้เทคโนโลยี ขนาด 0.35 micron
o Cache ระดับ 1 มีขนาดเป็นเท่าตัวของ Pentium Classic คือเป็น 32 K
o Die Size มีขนาด 141 ตารางมิลลิเมตร
o เพิ่มจำนวนของการ Write Buffer จาก 2 เป็น 4
o นำเทคโนโลยีเรื่อง Branch Prodiction ( Branch Target Buffer ) จาก Pentium Pro มาใช้
o พัฒนาเรื่อง Return Stack ซึ่งแรกเริ่มเดิมทีนั้นมีใน Cyrix/IBM 6×86
o เพิ่ม step การทำงานของ U และ V Pipeline อีก 1 step
o พัฒนาเกี่ยวกับการทำงานแบบขนานของ Pipeline U และ V
o ชุดคำสั่ง MMX
o ใช้ไฟเลี้ยงใน CPU core 2.8 V แต่ ใช้สำหรับ CPU I/O เป็น 3.3 V.
AMD K6
ในวันที่ 2 เมษายน ปี ค.ศ. 1997 ทาง AMD เอง ก็ได้ทำการเปิดตัว CPU ในรุ่นที่ 6 ของตนขึ้นมาบ้าง เพื่อหมายจะมาแข่งกับ Intel Pentium MMX นั่นก็คือ AMD K6
ยังคงจำเรื่องของ NextGen ได้ไหมครับ บริษัทนี้ถูก AMD ซื้อและทำการรวมเทคโนโลยีเข้ามาด้วย ซึ่งในขณะที่ซื้อนั้น ทาง NextGen ก็ได้ออกแบบ CPU ในรุ่นที่ 6 ของตนไว้แล้ว คือ Nx686 ซึ่ง AMD ก็เลยได้ถือโครงสร้างที่น่าสนใจของ Nx686 มารวมเข้ากับ เทคโนโลยีของตน และ เพิ่มชุดคำสั่ง MMX ของตนเองเข้าไปด้วย ทำให้ได้ K6 ออกมา
o
สำหรับในรุ่นแรกนั้น AMD ได้เปิดตัวที่ความเร็ว 166, 200 และ 233 MHz ซึ่งมี transistor ภายใน 8.8 ล้านตัว และใช้เทคโนโลยี ขนาด 0.35 micron และต่อมาก็ได้เปิดตัว รุ่นความเร็วที่ระดับ 266 และ 300 MHz แล้วก็ได้หันมาใช้เทคโนโลยีขนาด 0.25 micon ด้วย ซึ่งในช่วงนั้นเอง ก็ได้ทำการตัดราคา CPU ของตนลงอีก ด้วย เพื่อหมายจะแข่งกับ Intel Pentium MMX ( คงไม่หวังจะแข่งกับ Pentium Pro ละครับ เพราะ เน้นตลาดคนละด้านกัน )
สิ่งที่ AMD K6 มีเพิ่มเติมเหนือไปกว่า Intel Pentium MMX ที่เห็นได้ชัดๆ ก็คือ ขนาดของ Cache ภายใน หรือ Cache ระดับ 1 ( L1 Cache ) ซึ่งจะมีขนาดเป็นเท่าตัวของ Intel Pentium MMX ซึ่งก็คือ มี Data Cache 32 K และ Intruction Cache 32 K
มีความเร็วตั้งแต่ 166MHz ถึง 300MHz
o ใช้เทคโนโลยีขนาด 0.25 และ/หรือ 0.35 micron
o จัดเป็น CPU ในรุ่นที่ 6 ของ AMD
o เป็น RISC86 CPU ซึ่งมีสถาปัตยกรรมดังนี้
§ มี 7 หน่วยประมวลผลแบบขนาน
§ สามารถถอดรหัสของ x86 ไปยัง RISC86 ได้ทีละหลายๆคำสั่ง
§ สามารถทำนายผลการประมวลผลล่วงหน้าได้ 2 ระดับ ( Branch Prediction )
§ สามารถคาดเดาคำสั่งที่จะต้องทำงานล่วงหน้าได้ ( Speculative Execution )
§ สนับสนุนการทำงานแบบ Out-Of-Order Execution ( เป็น Feature ที่ใช้ใน Pipeline )
§ สนับสนุนการทำงานแบบ Data Forwarding ( เป็น Feature ที่ใช้ใน Pipeline )
o มีชุดคำสั่งเพิ่มเติมเพื่อจัดการกับด้าน MultiMedia ซึ่งก็คือชุดคำสั่ง MMX นั่นเอง
ตารางเปรียบเทียบ สรุปความสามารถด้านต่างๆ ระหว่าง Intel Pentium MMX , Intel Pentium Pro และ AMD K6
Processor Feature AMD K6 Pentium Pro Pentium MMX
RISC core Yes / 6 issue Yes / 5 issue No
Superscalar Yes
Speculative execution Yes No
Out of order execution Yes No
Data forwarding Yes No
Register renaming Yes No
Simple x86 decoders – 2 1
Sophisticated x86 decoders 2 1 1
Long x86 decoders 1 – -
Vector x86 decoders 1 – -
Execution Pipelines 6 5 2
Branch prediction Yes
Advanced 2 level branch prediction Yes No
Branch history table entries 8,192 512 256
Branch target cache entries 16 0
Branch prediction accuracy 95% 90% 75-80%
MMX technology Yes No Yes
High performance FPU Yes
L1 instruction and data cache 32K + 32K 8K + 8K 16K + 16K
Industry compatible SMM Yes
Latency ( ยิ่งน้อยยิ่งดี ) 2 clock 5-7 clock 2 clock
เมื่อจักรพรรดิตกบัลลังก์
[ 07 August 1999 ]
Intel Pentium II ( Klamath/Deschute )
ในกลางปี 1996 Intel ก็ได้ส่งตัว CPU ในตระกูล x86 ตัวใหม่ของตน ออกสู่ท้องตลาด นั่นก็คือ Intel Pentium II ซึ่งจะว่าไปแล้ว ก็เหมือน Pentium Pro ที่ถูกพัฒนาขึ้นมาอีกระดับหนึ่งนั่นเอง เพราะโดยสถาปัตยกรรมทั่วๆไปแล้ว ก็ไม่ต่างจาก Pentium Pro เลย เพียงแต่มีการปรับแต่งบางอย่างให้มีความสมดุลย์ และ มีประสิทธิภาพเพิ่มขึ้น เช่นมีการใส่คำสั่ง MMX เข้าไป และมี การปรับแต่ง Interface เสียใหม่ โดยจากเดิมนั้นใช้ Interface แบบ Socket เช่น Intel Pentium Pro ใช้ Socket 8 หรือ Intel Pentium MMX ใช้ Socket 7 ( และ/หรือ Socket 5 ) ก็หันมาใช้ Interface เป็นแบบ Slot แทน และเปลี่ยน Package ของ CPU จากที่เป็น PGA ( Pin-Grid Array ) มาเป็น SECC ( Single Edge Contact Cartridge ) ซึ่งมีลักษณะ เหมือนกับ กล่องวีดีโอเทป และ ได้มีการย้ายตำแหน่งของ Cache ระดับ 2 ออกมาไว้ต่างหาก ถึงแม้ว่าจะอยู่ใน SECC เหมือนกับ CPU แต่ก็ไม่ได้บรรจุไว้บน Chip ของ CPU อย่าง Pentium Pro และ ทำงานด้วยความเร็วเป็นครึ่งหนึ่งของความเร็ว CPU ( เช่น CPU ความเร็ว 300 MHz เจ้า Cache ระดับ 2 นี้ ก็จะทำงานที่ความเร็วเพียง 150 MHz เท่านั้น ) และยังได้เพิ่มขนาดของ Cache ระดับ 1 เป็น 32K ซึ่งเป็น 2 เท่าของ Intel Pentium Pro เลยทีเดียว
รูปข้างล่างนี้ แสดง Package ของ Intel Pentium II ทั้งด้านหน้า และ ด้านหลัง
CPU Intel Pentium II นั้น มี 2 รุ่น … รุ่นแรกที่ออกสู่ท้องตลาดนั้น ใช้เทคโนโลยีขนาด 0.35 Micron และ ใช้ไฟเลี้ยง ( Vcore ) 2.8 Volt มี Code Name ว่า Klamath ซึ่ง CPU รุ่นนี้จัดว่ามีความร้อนสูง ต่อมา ทาง Intel จึงได้ทำการลดขนาดของแผ่นเวเฟอร์ลง หันมาใช้เป็นขนาด 0.25 Micron แทน และใช้ไฟเลี้ยงเป็น 2.0 Volt แทน โดยรุ่นนี้จะมี Code Name ว่า Deschute
Intel Pentium II Xeon
Pentium II Xeon นั้น ถูกพัฒนาเพื่อเน้นให้ใช้งานสำหรับ Server โดยเฉพาะ ถึงแม้ว่าสถาปัตยกรรมโดยทั่วๆ ไป จะคล้ายๆ กับ Pentium II แต่สิ่งที่แตกต่างกันอย่าง เห็นได้ชัดนั้น ก็มีไม่น้อยเช่นกัน
Intel Celeron ( SEPP / PPGA 370 )
ถึงแม้ว่า Intel Pentium II ที่ออกมานั้น จะมีประสิทธิภาพที่ดูแล้วเด่น และ น่าสนใจมากๆ แต่ก็ติดปัญหาที่ราคานั้น จัดว่าสูงมาก ทำให้ไม่สามารถเข้ามามีส่วนแบ่งในตลาดระดับล่างได้ … ทาง Intel จึงได้เปิดตัว Celeron ขึ้น โดยใช้โครงสร้างภายในมาจาก Intel Pentium II รุ่น Deschute นั่นเอง เพียงแต่ตัดเอา Cache ระดับ 2 ออก และ เปลี่ยน Package เล็กน้อย เป็น SEPP ( Singel Edge Processor Package )และได้ผลิตออกมา 2 รุ่นคือ ที่ความเร็ว 266 และ 300 MHz โดยมี CodeName ว่า Covinton ซึ่งราคานั้น ก็จัดว่าถูกกว่า Pentium II ที่ความเร็วเท่าๆ กัน ครึ่งต่อครึ่งเลยทีเดียว
รูปแสดงการเปรียบเทียบให้เห็นถึงความแตกต่างของ CPGA ( 321 Pin ใช้กับ Socket 7 ) และ PPGA ( 370 Pin ใช้กับ Socket 370 )
รูปแสดงรูปร่าง และ รายละเอียดของ SEPP ของ Celeron รุ่น Mendocino Core
รูปเปรียบเทียบ SEPP, SECC ตั้งแต่ Celeron ( Covinton ) , Celeron ( Mendocino ) และ Pentium II ( Deschute )
และintelก็ได้ออก Pentium 3มา
ซึ่งINTEL และ AMD ได้แข่งขันกันมาเลื่อยๆ จนถึงปัจจุบัน คือดังนี้
Intel ได้ออกรุ่น
Pentium 4 มาและก็ตามมาด้วย Pentium 4 ht ซึ่งจะมีcore2อัน และก็ตามมาด้วย Pentium D และ
intel core 2 duo, intel core 2 quad, Core 2 Extreme,Corei3, Corei5, Corei7
amd ได้ออกรุ่น
Athlon , Athlon x2, phenom
และรุ่นอื่นๆ อีกมากมาย