บทที่ 3 หน่วยประมวลผลกลางหรือซีพียู CPU
3.1 บทนำ
หน่วยประมวลผลกลางหรือซีพียู เรียกอีกชื่อหนึ่งว่า โปรเซสเซอร์ (Processor) หรือ ชิป (chip) นับเป็นอุปกรณ์ที่มีความสำคัญมากที่สุดของฮาร์ดแวร์ เพราะมีหน้าที่ในการประมวลผลข้อมูลที่ผู้ใช้ป้อน เข้ามาทางอุปกรณ์อินพุต ตามชุดคำสั่งหรือโปรแกรมที่ผู้ใช้ต้องการใช้งาน
รูปที่ 1 แสดงภาพหน่วยประมวลผลกลางหรือซีพียู
CPU เปรียบเสมือนสมองของเครื่องคอมพิวเตอร์ มีหน้าที่ในการคำนวณประมวลผลข้อมูลและเป็นศูนย์กลางการควบคุมการทำงานของอุปกรณ์ต่าง ๆ โดย CPU ประกอบด้วย 3 ส่วนหลักได้แก่
1. ส่วนควบคุม (Control Unit) เป็นศูนย์กลางการควบคุมการทำงานภายในหน่วยประมวลผล
2. ส่วนการคำนวณทางคณิตศาสตร์และตรรกะศาสตร์ (Arithmetic/Logic Unit) เป็นส่วนของการคำนวณต่าง ๆ
รูปที่ 2 แสดงการทำงานของซีพียู
3. ส่วนหน่วยความจำและรีจิสเตอร์ (Primary Memory/Register) ช่วยในการเก็บข้อมูลชั่วคราวเพื่อนำไปประมวลผลหรือจัดเตรียมข้อมูลก่อนและหลังการจัดเก็บข้อมูล
3.2 ส่วนประกอบของซีพียู
1. Bus Interface Unit (BIU) (Cbox) คือส่วนที่เชื่อมต่อระหว่าง Address Bus, Control Bus และ Data Bus กับภายนอก เช่น หน่วยความจำหลัก (Main Memory) และอุปกรณ์ภายนอก (Peripherals)
2. Memory Management (MMU) (Mbox) คือส่วนที่ควบคุมโพรเซสเซอร์ในการใช้งานแคช (Cache) และหน่วยความจำ (Memory) โดย MMU ยังช่วยในการทำ Virtual Memory และ Paging ซึ่งแปลง Virtual Memory ไปเป็น Physical Addresses โดยใช้ Translation Look-Aside Buffer (TLB)
3. Intergrated On-Chip Cache เป็นส่วนเก็บข้อมูลที่ใช้งานบ่อย ๆ ในSynchronous RAM (SRAM) เพื่อให้การทำงานของโพรเซสเซอร์มีประสิทธิภาพมากสูงสุด ใช้งานได้ทั้ง L1 และ L2 On Chip Cache
4. Perfetch Unit (Part of Ibox) คือส่วนที่ดึงข้อมูลและคำสั่งจาก Instruction Cache และ Data Cache หรือ Main Memory Based เมื่อ Prefethc Unit อ่านข้อมูลและคำสั่งมาแล้วก็จะส่งข้อมูลเหล่านี้ต่อไปใฟ้ Decode Unit
5. Decode Unit or Instruction Unit (Part of Ibox) คือส่วนที่แปลความหมาย ถอดรหัส หรือแปลคำสั่งให้เป็นรูปแบบที่ ALU และ Registers เข้าใจ
6. Branch Target Buffer (BTB) คือส่วนที่บรรจุคำสั่งเก่า ๆ ที่เข้ามาสู่โพเซสเซอร์ ซึ่ง BTB นั้นเป็นส่วนหนึ่งของ Prefetch Unit
7. Control Unit or Execution Unit คือส่วนที่เป็นศูนย์กลางคอยควบคุมการทำงานในโพเซสเซอร์ดังนี้
8. อ่านและแปลความหมายของคำสั่งตามลำดับ
9. ควบคุม Arithmetic and Logic Unit (ALU), Registers และส่วนประกอบอื่น ๆ ของโพรเซสเซอร์ตามคำสั่ง
10. ควบคุมการเคลื่อนย้ายของข้อมูลที่รับ-ส่งจาก Primary Memory และอุปกรณ์ I/O
11. ALU (Ebox) คือส่วนที่ปฏิบัติตามคำสั่งและเปรียบเทียบ Operrants ในบางโพรเซสเซอร์มีการแยก ALU ออกเป็น 2 ส่วนดังนี้
Arithmetic Unit (AU)
Logic Unit (LU)
14. Operration ที่ ALU ปฏิบัติตามเช่น
Arithmetic operations (+,-,*,/)
Comparisons (<,>,=)
Logic operations (and, or)
15. Floating-Point Unit(FPU) (Fbox) คือส่วนที่ทำการคำนวณเกี่ยวกับจำนวนตัวเลขที่เป็นจุดทศนิยม
16. Registers (Part of Ibox, Fbox, และ Ebox) คือส่วนที่ใช้สำหรับเก็บข้อมูลสำหรับการคำนวณในโพรเซสเซอร์
17. Data Register Set เก็บข้อมูลที่ใช้งานโดย ALU เพื่อใช้สำหรับการคำนวณที่ได้รับการควบคุมจาก Control Unit ซึ่งข้อมูลนี้อาจส่งมาจาก Data Cache, Main Memory หรือ Control Unit ก็ได้
18. Instruction Register Set เก็บคำสั่งที่กำลังทำงานอยู่
3.3 สถาปัตยกรรมของซีพียู
CPU แบ่งออกเป็น 2 กลุ่มตามสถาปัตยกรรมการออกแบบได้แก่
- CISC Processor (Complex-Instruction-Set-Computer) มีความสามารถในการทำงานกับภาษาระดับสูงมีชุดคำสั่งเป็นจำนวนมากซึ่งใกล้เคียงกับภาษามนุษย์ทำให้ง่ายในการเขียนโปรแกรมแต่โปรแกรมจะมีความยาวมากทำให้โปรแกรมมีขนาดใหญ่
- RISC Processor (Reduce-Instruction-Set-Computer) เป็นการลดจำนวนของชุดคำสั่งที่ใช้ในการทำวานลงทำให้ง่ายต่อการแปลความหมาย สามารถทำงานแบบ Pipe Line ได้ ซึ่้่งทำให้เขียนโปรแกรมทำได้ยากแต่ก็จะทำงานได้อย่างรวดเร็ว โดยเฉพาะเมื่อใช้คำสั่งที่เป็นคำสั่งของ RISC
เครื่องพีซีโดยทั่วไปจะมี CPU ส่วนใหญ่เป็นแบบ CISC Processor จะมีบางส่วนที่เป็นแบบ RISC Processor เช่นเครื่อง แบบแมคอินทอช (Mclntosh) ที่เน้นการประมวลผลด้าน Graphic, Floating Point ในส่วนของ RISC Processor ที่พบในปัจจุบันเช่น เครื่องแบบ Work Station Sun Sparc Station, Dee Alpha,Silicon Graphic เป็นต้น
ซีพียูแต่ละแบบอาจมีความแตกต่างกันทางด้านโครงสร้างหรือสถาปัตยกรรม แต่หลักการทำงานจะคล้ายกัน โครงสร้างหลัก ๆ ของซีพียูแบ่งเป็นหน่วยต่าง ๆ ตามหน้าที่ ดังนี้ (White 1993: 41)
- Bus Interface Unit เป็นหน่วยที่นำคำสั่งจากแรมมายังหน่วยพรีเฟตช์
- Perfetch Unit เป็นหน่วยเก็บคำสั่งไว้ในที่พักข้อมูลแล้วส่งไปยังหน่วยถอดรหัส
- Decode Unit เป็นหน่วยที่แปลคำสั่งเพื่อนำไปประมวลผล
- Excution Unit เป็นหน่วยที่ทำการประมวลผลปรพกอบด้วย 4 ส่วนใหญ่ ๆ คือ
Control Unit เป็นหน่วยควบคุมการสั่งการให้ข้อมูลเป็นไปตามลำดับที่กำหนดไว้
Protection Test Unit เป็นหน่วยตรวจสอบความผิดพลาด (Error)
Registers เป็นหน่วยความจำใช้เก็บข้อมูลชั่วคราวขณะที่ทำการประมวลผล
Arithmetic Logic Unit (ALU) เป็นหน่วยคำนวณและตรรกะ
3.4 หลักการทำงานของซีพียู
การทำงานของคอมพิวเตอร์ 1 คำสั่งจะประกอบด้วยขั้นตอนการทำงานหลายขั้นตอน ซึ่งเรียกแต่ละขั้นตอนว่ารอบการทำงาน (Machine Cycle) โดยที่อัตราความเร็วของแต่ละรอบการทำงานจะถูกควบคุมด้วยสัญญาณนาฬิกาภายในเครืื่อง (ดวงแก้ว สวามิภักดิ์ 2553:43) ซีพียูจะทำงานตามจังหวะของสัญญาณนาฬิกาโดยหน่วยรับข้อมูลล่วงหน้า (Prefatch Unit) จะควบคุมข้อมูลที่เข้าคิว (Queue) ก่อนจะมีการประมวลผล เช่น มีคำสั่งบวกเลขสองจำนวน หน้าที่ของหน่วยงานนี้ก็คือ ส่งข้อมูลให้กับหน่วยแปลรหัสคำสั่ง (Decode Unit) อยู่ตลอดเวลาจนหน่วยแปลรหัสคำสั่งไม่รู้สึกว่าว่างงาน
ในขณะเดียวกัน หน่วยจัดการหน่วยความจำแบบเซกเมนต์และแบบหน้า (Segment and Paging Unit) จะทำการเปลี่ยนตำแหน่งเสมือน (Virtual Address) ของคำสั่งบวกนั้นให้เป็นตำแหน่งจริง ๆ ทางกายภาพ เพื่อที่จะให้หน่วยติดต่อบัส (Bus Interface Unit) เข้าใจหน่วยติดต่อบัส ซึ่งเชื่อมต่อการทำงานที่เหลือเข้าด้วยกันจะดึงคำสั่งจากแรมขึ้นมา แล้วผ่านไปให้กับหน่วยรับข้อมูลล่วงหน้าอีกครั้ง
หน่วยรับข้อมูลล่วงหน้าจะส่งผ่านข้อมูลไปให้กับหน่วยแปลรหัสคำสั่ง ซึ่งจะทำการตรวจสอบว่าข้อมูลที่ส่งเข้ามานั้นเป็นอะไร ซึ่งผลก็คือ เป็นคำสั่งบวกเลข 2 จำนวน จากนั้นก็ถอดรหัสให้อยู่ในรูปแบบคำสั่งที่หน่วยดำเนินงานตามคำสั่ง (Execution Unit) เข้าใจและสามารถทำงานได้ จากนั้นจึงค่อยส่งข้อมูลไปให้กับหน่วยดำเนินงานภายในหน่วยดำเนินงานจะมีหน่วยย่อยที่เรียกว่า หน่วยควบคุม (Control Unit) หน่วยย่อยนี้จะทำหน้าที่ควบคุมการทำงานขั้นตอนต่าง ๆ ที่จำเป็นในหนึ่งคำสั่งว่าแต่ละงานต้องการอะไร และทำเมื่อไร อย่างเช่น คำสั่งการบวก หน่วยควบคุมจะส่งตำแหน่งที่อยู่เสมือนของ 2 ตัวแรกซึ่งอยู่ในหน่วยความจำไปให้กับหน่วยทดสอบการป้องกัน (Protection Test Unit)
เมื่อหน่วยติดต่อบัสพบและดึงข้อมูลจากแรมได้สำเร็จ ข้อมูลจะถูกส่งผ่านหน่วยทดสอบการป้องกันแล้วเลยไปยังรีจีสเตอร์หรือหน่วยความจำชั่วคราวภายในตัวประมวลผล ซึ่งทำหน้าที่เสมือนกับกระดาษทดเลขของตัวประมวลผล ขั้นตอนการดึงข้อมูลต่อไปก็เหมือนเดิม โดยเป็นการดึงข้อมูลตัวหลังเข้าสู่หน่วยดำเนินการแต่ไม่เก็บลงรีจิสเตอร์
หน่วยคำนวณและตรรกะ (The Arithmetic Logic Unit) หรือเรียกว่า ALU จะทำหน้าที่เสมือนเครื่องคิดเลขของตัวประมวลผล ทำหน้าที่บวกเลขตัวเลขที่เก็บอยู่ในรีจีสเตอร์ กับเลขตัวหลังที่ดึงออกมาจากหน่วยความจำโดยตรง
หน่วยควบคุม (Control Unit) จะบอกให้หน่วยติดต่อบัสเก็บผลลัพธ์ที่ได้ไว้ในแรม โดยหน่วยจัดการหน่วยความจำแบบเซกเมนต์และแบบหน้าที่จะช่วยบอกตำแหน่งจริงของหน่วยความจำทางกายภาพ โดยการแปลงตำแหน่งที่อยู่เสมือนที่ส่งมาจากหน่วยควบคุม ให้เป็นตำแหน่งจริงทางกายภาพ จึงเป็นการสิ้นสุด 1 คำสั่ง
3.5 การติดต่อระหว่างอุปกรณ์รอบข้างกับซีพียู
1. การโพลลิ่ง (Polling) ลักษณะการติดต่อแบบนี้คือ ทุก ๆช่วงเวลาหนึ่งซีพียูจะหยุดงานที่ทำไว้ชั่วคราวและไปตรวจเช็กที่แต่ละแชลแนลเพื่อดูว่า มีอุปกรณ์ใดบ้างที่ต้องการส่งข้อมูล ถ้าอุปกรณ์ต้องการส่งข้อมูล ซีพียูก็จะรับข้อมูลนั้นมา แต่ถ้าอุปกรณ์นั้นไม่ต้องการส่งข้อมูล ซีพียูก็จะไปตรวจสอบอุปกรณ์ตัวอื่นต่อไปจนกระทั่งครบทุกตัว ซีพียูก็จะกลับมาทำงานของมันตามเดิม ข้อเสียของการโพลลิ่งคือ
1. ถ้าอุปกรณ์ต่าง ๆไม่ต้องการส่งข้อมูล ซีพียูก็จะเสียเวลาตรวจเช็กอุปกรณ์ตัวอื่น
2. ถ้าอุปกรณ์ที่ต้องการส่งข้อมูลจะต้องเสียเวลารอจนกว่าซีพียูตรวจเช็กมาถึงตัวมันเท่านั้น
2. การอินเทอร์รัพต์ (Interrupt) ลักษณะการติดต่อแบบนี้จะลดข้อเสียแบบโพลลิ่งได้มาก คือเมื่ออุปกรณ์ตัวใดต้องการส่งข้อมูล มันจะส่งสัญญาณผ่านแชลแนลไปบอกซีพียู แล้วซีพียูก็จะหยุดทำงานชั่วคราวเพื่อให้อุปกรณ์ทำการส่งข้อมูลจนกระทั่งเสร็จ ซีพียูจึงกับไปทำงานที่ค้างไว้ต่อ ข้อดีคือ ซีพียูไม่ต้องเสียเวลาในการตรวจเช็กอุปกรณ์ทุกตัว และอุปกรณ์ก็ไม่ต้องเสียเวลารอ แต่ข้อเสียคือ ซีพียูอาจไม่สามารถหยุดงานที่กำลังทำอยู่ได้ทันที และในกรณีนี้อุปกรณ์ตัวนั้นต้องรอจนกระทั่งงานที่ซีพียูกำลังทำอยู่นี้เสร็จสิ้นลงเสียก่อน
3. การเมลบ๊อกซ (Mailbox) ลักษณะการติดต่อแบบนี้ ระบบต้องเสียดนื้อที่ในหน่วยความจำบางส่วนเพื่อเป็นที่สำหรับพักข้อมูล เมื่อมีอุปกรณ์บางตัวที่ต้องการส่งข้อมูล มันจะส่งข้อมูลไปไว้ในหน่วยความจำส่วนนี้และสำหรับซีพียูทุก ๆช่วงเวลาหนึ่ง ๆซีพียูจะหยุดงานที่ทำไว้เพื่อไปตรวจสอบหน่วยความจำส่วนนี้ ถ้าไม่มีข้อมูลซีพียูก็จะกลับไปทำงานเดิม แต่ถ้ามีมันก็จะรับข้อมูลเข้ามา ซึ่งการติดต่อแบบนี้เป็นการผสมผสานระหว่างการอินเทอร์รัพต์กับการโพลลิ่ง
3.6 พัฒนาการของซีพียู
บริษัทอินเทลเป็นบริษัทแรกในการผลิตซีพียู ซึ่งได้พัฒนาซีพียูรุ่นต่าง ๆ ออกมาโดยให้ชื่อรุ่นเป็นตัวเลข เช่น 8080, 8088, 8086, 80286 ประมวลผลได้เร็วกว่า 8080 ไม่น้อยกว่า 5 เท่า 80386 เป็นซีพียูตัวแรกที่ประมวลผลแบบ 32 บิตบนเครื่องคอมพิวเตอร์ส่วนบุคคลที่ใช้ระบบปฏิบัติการ MS-DOS มีชุดคำสั่งสำหรับการจัดการหน่วยความจำในลักษณะที่จะให้โปรแกรมหลายตัวสามารถทำงานไปได้พร้อม ๆ กัน (Multitasking) ในโปรเทกต์โหมด (Protected Mode) นอกจากนี้ 80386 ยังสามารถจำลองการทำงานของ 8088 หลาย ๆ เครื่องได้ในเวลาเดียวกัน ในรุ่น 80386 แบ่งย่อยไปอีกเป็น 3 รุ่นคือ 80386 DX, 80386 SX และ 80386 SL
ต่อมาบริษัทเอเอ็มดีได้ผลิตซีพียูออกมา โดยมีชื่อรุ่นเหมือนของอินเทลคือ 80386 ซึ่งมีความเร็วเท่ากับอินเทลแต่มีราคาถูกกว่า เมื่ออินเทลได้ผลิต 80486 บริษัทเอเอ็มดีก็ผลิตตามอินเทล ทำให้อินเทลต้องเปลี่ยนชื่อรุ่นการผลิตออกมาใหม่เป็นชื่อเฉพาะ เช่น เพนเทียม (Pentium) บริษัทอีเอ็มดีจึงได้ตั้งชื่อรุ่นซีพีของตนว่า K5 หลังจากนั้นอินเทลได้ออกซีพียูสำหรับเซิร์ฟเวอร์ระบบเครือข่ายชื่อ Pentium Pro และได้พัฒนาด้านคำสั่งมัลติมิเดียที่ชื่อ MMX บรรจุลงในซีพียู
เนื่องจากซีพียูของอินเทลมีราคาสูง กลุ่มผู้ใช้ที่มีรายได้ต้ำจึงนิยมใช้ของเอเอ็มดี ซึ่งมีราคาถูกกว่าอินเทลจึงได้ลดต้นทุนการผลิต Pentium II โดยการตัดหน่วยความจำแคช L2 ออก อินเทลได้ผลิต Pentium III และ Pentium III Xeon ปัจจุบันซีพียูรุ่นใหม่ที่อินเทลผลิตคือ Pentium IV ความเร็ว 1.5 GHz
ส่วนเอเอ็มดีหลังจากผลิต K5 แล้วได้ผลิต K6,K6-2 และมีชุดคำสั่งมัลติมีเดียที่ชื่อ 3 D Now บรรจุไว้ใน K6-2 ต่อมาได้ผลิต K6-3 และ K7 ในปัจจุบัน
สำหรับ Cyrix นั้นได้ผลิตซีพียู รุ่น M I และ M II ซึ่งมีราคาถูกกว่าอินเทลและเอเอ็มดีเป็นอย่างมาก ปัจจุบัน Cyrix ได้ผลิตซีพียู รุ่น M III
3.7 เอเอ็มดี เค5
- ประสิทธิภาพของ AMD K5
ประสิทธิภาพของ AMD K5 ให้ประสิทธิภาพในการรันพวก Business Application ต่ำกว่า Cyrix 6X86MX แต่ประสิทธิภาพของ FPU จะดีกว่า 6X86 (แน่นอน หากพูดถึง FPU Intel ดีที่สุด แต่คุณจะเอาไปใช้อะไรล่ะ ถ้าคุฯไม่ได้พวก CAD หรือ 3D FPU ก็ดูเหมือนจะไม่สำคัญเท่าไร) สำหรับ AMD K5 เนื่องจากผู้ผลิตเองต้องการผลิตซีพียูให้มีราคาต่ำกว่า เพื่อที่จะนำมาแข่งทางด้านการตลาดกับอินเทลได้ จึงมีผลให้ต้องการทั้งดึงทั้งดัน ทั้งปรับแต่งให้ซีพียูทำงานได้อย่างมีประสิทธิภาพสูงสุด ดังนั้นจึงปรากฏว่าเมื่อซื้อแล้ว AMD K5 จึงไม่ค่อยประสบความสำเร็จเกี่ยวกับการ Over Clock นัก สิ่งที่ผู้ซื้อกังวลเกี่ยวกับ AMD K5 นับตั้งแต่ AMD เริ่มประกาศว่าจะผลิตซีพียูโดยใช้เทคโนโลยีของตัวเอง ดังนั้นความเข้ากันได้กับซอฟต์แวร์จึงต่ำลง อย่างไรก็ตาม จากผลการสำรวจ ปรากฎว่าผู้ใช้งานไม่ค่อยประสบปัญหาเรื่องความเข้ากันได้กับซอฟต์แวร์นัก
- พัฒนาการของ AMD K5 PR เท่าเดิมแต่ประมวลผลเร็วกว่า
อย่างไรก็ตาม ช่วงแรกทีี่ AMD ผลิต K5 ออกมา โดย PR-100 วิ่งที่ความเร็ว 100 MHz นั้น นอกจากปัญหาเกี่ียวกับการออกแบบที่ยังไม่ได้มาตรฐานเท่าที่ควร และประสิทธิภาพยังไม่เป็นที่พอใจของลูกค้า AMD จึงได้ออกแบบ K5 รุ่นใหม่ออกมาสู่ตลาด ซึ่งเป็นรุ่นที่ยังคงใช้ PR เหมือนเดิม แต่คราวนี้ PR-133 รันที่ความเร็ว 100 MHz และมีประสิทธิภาพเทียบเท่า Cyrix 6X86 PR-166 หรือเพนเที่ยม 166 ทั้งนี้เพราะ Cyrix เองก็พัฒนา 6X86 เข้ามาในตลาด และ อินเทลเองก็มีประสิทธิภาพดีกว่า เมื่อไม่มีทางเลือกอื่น AMD ก็พัฒนา AMD K5 รุ่นใหม่ออกมา โดยรุ่นที่สูงสุด คือ PR166 ซึ่งมีความเร็วเทียบเท่าเพนเทียม 225 MHz หลังจากนั้น AMD ก็เริ่มพัฒนาซีพียูตระกูลใหม่ คือ AMD K6
เอเอ็มดี K6
AMD K5 นั้นเป็นยุคแรก ๆ ที่ AMD พยายามออกแบบซีพียูของตัวเอง ใช้เทคโนโลยีของตัวเองหลักจากถูก อินเทลค่อนขอดเอาว่า AMD ก็เป็นแค่ผู้ตามเทคโนโลยี เมื่อมาถึง AMD K6 AMD ใช้เทคโนโลยีของตัวเองพัฒนาเต็มตัว นอกจากพัฒนาเองแล้ว การเข้าร่วมกับ Nextgen ทำให้ AMD นำเอาโค้ด RISC86 มาใช้งานในการถอดรหัส CISC เพื่อให้การประมวลผลแต่ละคำสั่งเร็วขึ้น (ที่จริงส่วนของการจำลอง CISC เป็นหลาย ๆ RISC นั้น ก็ใช่เช่นกัน แต่ขึ้นอยู่กับว่าใครฉลาดกว่าในการถอดรหัส)
- สถาปัตยกรรมของ AMD K6
เป็นซีพียูสำหรับ Socket 7 ลักษณะตัวซีพียูบาง ๆ หน้าตาแตกต่างจากเพนเที่ยม MMX บ้างเล็กน้อย บนด้านบนของซีพียูมีโลโก้ AMD K6 ใช้ทรานซิสเตอร์ 8.8 ล้านตัว ขนาด 0.35 ไมครอนเป็นซีพียู 5 เลเยอร์ มีแคชระดับ 1 ขนาด 64 กิโลไบต์ แบ่งออกเป็นสำหรับเก็บชุดคำสั่ง 32 กิโลไบต์ และข้อมูล 32 กิโลไบต์ พอ ๆ กับ Cyrix 6x86MX
ถ้าเทียบในรุ่นเดียวกันของซีพียูแล้ว AMD K6 ดูจะเหนือกว่าซีพียูทั้งหมดในตระกูล Socket 7 โดยเทคโนโลยีที่ว่าคือ RISC86 ซึ่ง AMD กล่าวว่า จะให้ AMD นำมาใช้งานกับ Windows 95 ได้อย่างมีประสิทธิภาพ ทำงานได้อย่างรวดเร็วกว่าสาพพันธุ์อื่น ๆ
Cyrix M II Processor
- เทคโนโลยีของ Cyrix M II
Cyrix M II ตัวแรกที่ทดสอบใช้งานนั้น คือ M II 300GP ในการใช้งานนั้้น บนตัวซีพียู มีป้ายบอกว่า 66 MHz x 3.5,2.9 Volt แสดงว่าต้องกำหนดความเร็วสัญญาณนาฬิการและตัวคูณ 66 x 3.5 ซึ่งเท่ากับ 233 MHz แต่ทำไม Cyrix เขียนว่า 300GP เป็นเพราะที่ความเร็วแกน 233 MHz ประสิทธิภาพของ Cyrix เท่ากับ 300 MHz ชองเพนเที่ยม MMX ซึ่งผลการทดสอบ เมื่อเที่ยบกับ Celeron 300A ปรากฏว่าให้ประสิทธิภาพไม่แตกต่างกันมากนัก ถ้าถามว่าแล้ว Cyrix M II แตกต่างจาก 6X86MX ตรงไหน แตกต่างเฉพาะชื่อและความเร็วเท่านั้นเอง โครงสร้างภายในซองซีพียูยังเหมือนเดิมทุกประการ เฉพาะความเร็วเท่านั้นที่เพิ่มขึ้น อย่างไรก็ตาม สำหรับรุ่นที่ความเร็วสูงขึ้นไปอีก เช่น PR333 นั้นอาจจะมีการเปลี่ยนแปลงใช้สถาปัตยกรรมทรานซิสเตอร์ขนาด 0.25 ไมครอนแทน 0.35 ไมครอน
หากซื้อซีพียูวันนี้ อาจจะเห็นทั้งของ Cyrix M II ซึ่งกรีนบนตัวซีพียูว่าเป็น Cyrix M II แต่หากซื้อ IBM จะเห็นว่าเป็น IBM PR300 นั้นเป็นเฉพาะทาง IBM เองเชื่อว่าชื่อของ 6X86MX ยังคงได้รับความนิยมและถึงแม้ว้าเมื่อถึง PR300, ทั้งที่ Cyrix เอง ได้เปลี่ยนเป็นรุ่น M II อย่างไรก็ตาม เอกสารบางแห่งกล่าวว่าซีพียูของ IBM นั้นเป็นรุ่นที่ใช้ อินเทล Clock 75 MHz ซึ่งคาดว่าจะใช้ประสิทธิภาพที่ดีกว่า แต่เท่าที่ได้รับทั้งสองตัว ปรากฏว่าเป็น 66 MHz เหมือนกัน แต่ถ้าคุณเอาไปรันที่ 75, 83, 100 HMz บางครั้งก็มีโอกาสประสบความสำเร็จเช่นกัน
MMX การทดสอบและการใช้งาน
- ประสิทธิภาพที่ได้จากการรัน MMX เป็นอย่างไร
ยิ่ง อินเทล ประกาศว่า MMX นั้นยอดเยี่ยม ก็ยิ่งมีผู้กระหายที่อยากจะทดสอบประสิทธิภาพของ MMX มากขึ้นเท่านั้น ผลการทดสอบดูได้จากเว็บไซต์หลาย ๆ แห่ง ซึ่งที่แน่ ๆ ไม่ใช่เว็บไซต์ของ อินเทล หรือ MMX ผลการทดสอบยืนยันว่าเพนเทียม MMX นั้นเร็วกว่าเพนเทียมคลาสสิก ประมาณ 16-25 เปอร์เซ็นต์
3.8 เพนเที่ยม II
- อนาคตเพนเทียม II
เมื่อเพนเทียม II ออกสู่ท้องตลาดครั้งแรก อินเทลยังไม่ได้นำ Chipset ที่ออกแบบมาสำหรับเพนเทียม II ออกสู่ท้องตลาดด้วย ดังนั้นเมนบอร์ดสำหรับเพนเทียม II ในยุคแรก ๆ จึงใช้ Chipset 440FX ซึ่งเป็น Chipest ที่ออกแบบสำหรับเพนเทียมโปร ต่อมาอินเทลได้นำ Chipest 440LX ออกสู่ท้องตลาดซึ่งเป็น Chipest ที่ออกแบบมาเพื่อใช้กับเมนบอร์ดสำหรับเพนเที่ยม II โดยเฉพาะ ซึ่งมีคุณสมบัติเพิ่มเตอมคือสนับสนุน AGP (Accelerator Graphic Port) ซึ่งเป็นภาคอินเทอร์เฟซสำหรับการ์ดแสดงผลแบบใหม่ และสนับสนุนเมนบอร์ดแบบใช้ซีพียูได้หลายตัวเช่นเดียวกับ 44FX (Multiprocessor Support)
เกี่ยวกับการใช้งานด้านเครือข่าย เนื่องจากคุณสมบัติของ PLGA หรือรูปแบบของซีพียูแบบ S.E.C ทำให้ง่ายต่อการออกแบบเมนบอร์ดประเภทที่ติดตั้งซีพียูได้หลายตัว เช่น เมนบอร์ด 2 ซีพียู (Dual CPU Main-board) ซึ่งสามารถนำคอมพิวเตอร์ที่ใช้สองซีพียูกับซอฟต์แวร์ระบบปฏิบัติการสำหรับเครือข่าย เช่น Windows NT 4.0 ได้ และนอกจากนี้เพื่อสร้างความมั่นใจว่าเพนเที่ยม II จะจำงานได้ถูกต้องทุกอย่าง อินเทลได้ออกแบบเพนเที่ยม II ที่สนับสนุนตรรกะการตรวจสอบความผิดพลาด Error Correction Code (ECC) ได้ด้วย
3.9 เซลเลอรอน (Celeron)
เซลเลอรอนเป็นซีพียูตระกูลเพนเที่ยม II ของอินเทล กล่าวได้ว่าเป็นเพนเทียม II ที่ไม่มีแคชระดับสองซึ่งเพนเทียม II ที่มีโค้ดว่า คลาแมธ นั้นมีแคชระดับสอง 256/512 กิโลไบต์ เซลเลอรอนมีความเร็วต่ำสุด 266 MHz มีทรานซิสเตอร์ 7.5 ล้านตัว และขนาดของทรานซิสเตอร์ 0.25 ไมครอน ซึ่งถือเป็นขนาดเล็กลงใช้ไฟน้อยลง และความร้อนขณะประมวลผลน้อย รุ่นแรกออกแบบเพื่อใช้กับ External Bus Speed 66 MHz เหมือนคลาแมธ ตัวซีพียูเองใช้เทคโนโลยี SEPP (Single Edge Cartridge Processor Package) เช่นเดียวกัน ไม่ได้ย้อนกลับมาใช้ PGA (Pin Grid Array) เหมือน Socket 7 ดูเหมือนว่าจะเป็นเจตนาของอินเทลที่จะพยายามสร้างความแตกต่างให้กับตัวผลิตภัณฑ์อยู่ไม่น้อย ในขณะเดียวกันก็สร้างมาตรฐานของตัวเองอยู่ในตัว เพราะเซลเลอรอนใช้กับเมนบอร์ด Slot 1 ที่ออกแบบสำหรับเพนเทียม II ได้ ดูเหมือนว่าเซลเลอรอนถูกถือเป็นซีพียูที่ออกมาเพื่อรักษาตลาดระดับล่าง หรือมาแข่งกับ AMD-K6 600 MHz โดยตรง โดยทางเทคโนโลยีแล้วอินเทลแบ่งซีพียูตระกูลเซลเลอรอนอีกเป็นสองรุ่นย่อย คือ โควินตัน และเมนโดซิโน ทั้งสองรุ่นนั้นเป็นซีพียูใช้เทคโนโลยี 0.25 ไมครอนเหมือนกัน รุ่นที่กล่าวคือ โควินตัน ซึ่งเซลเลอรอนที่ออกวางตลาดก่อน ความแตกต่างของทั้งสองรุ่นคือ โควินตัน ออกมาก่อน และเมนโดซิโน จะตามมา พร้อมกับ แคชระดับสองขนาด 128 กิโลไบต์ และความเร็วเริ่มต้น 300 MHz หน้าตาแสดงชิปเซลเลอรอน จะเห็นว่าบน SEPP จะมีชิปวางอยู่ตรงกลาง ส่วนตำแหน่งที่เคยเป็นที่อยู่แคชทั้งสองข้าง ไม่ปรากฎในเซลเลอรอน ดังนั้นเซลเลอรอนจึงเป็นซีพียูที่ปราศจากแคชระดับสอง แต่ออกแบบเพื่อใช้งานกับ Slot I และใช้บนเมนบอร์ดเดียวกันกับเพนเที่ยม II คลาแมธได้
ประสิทธิภาพของเซลเลอรอนนั้นเทียบไม่ได้กับคลาแมธ เซลเลอรอนความเร็ว 233 MHz มีประสิทธิภาพดีกว่า 25-30% ถึงแม้ในทางเทคโนโลยีแล้วจะถือว่าเซลเลอรอนใช้เทคโนโลยีระดับเดียวกับคลาแมธและมีบางประการเช่น ในเรื่องของ Branch Prediction หรือ Pipelined FPU แต่ผลการทดสอบเช่นนั้นกลับเป็นการพิสูจน์ว่ายิ่งซีพียูความเร็วสูงเท่าไร แคชระดับสองยิ่งออกแบบให้มีขนาดใหญ่ขึ้น และมีความเร็วของสัญญาณนาฬิกาใกล้เคียงกับซีพียู มิฉะนั้นผลจะออกมาใกล้เคียงกับเซลเลอรอน ที่เมื่อทดสอบประสิทธิภาพเทียบกับ AMD K6-266 แล้วยังปรากฏว่าให้คะแนนต่ำกว่า AMD-K61 อีกเล็กน้อย
- แนวโน้มการพัฒนาซีพียู
ถ้าเป็นไปตามแนวความคิดของอินเทล แนวโน้มในการพัฒนาไมโครโปรเซสเซอร์ปัจจุบันนี้ ประสิทธิภาพในการคำนวณสูงไม่ได้แสดงผลออกมาในรูปแบบของการคำนวณเชิงคณิตศาสตร์เหมือนคอมพิวเตอร์ในยุคต้น ๆ อีกต่อไป ถึงแม้จะเป็นการคำนวณเชิงคณิตศาสตร์อยู่ แต่แสดงผลเป็นกราฟิกเหมือนจริง การจำลองภาพเสมือนจริง ภาพ 3 มิติ ซึ่งต้องการซีพียูที่มีประสิทธิภาพในการประมวลผลความเร็วสูง คำนวณเลขทศนืยมได้ในเชิงขนาน เพราะภาพแต่ละภาพที่แสดงนั้นเกิดจากการประมวลผลของซีพียูนับล้านคำสั่ง เพราะภาพแต่ละภาพนั้นประกอบด้วยรูปทรงเลขาคณิตที่เรียกว่า โพลีกอนจำนวนมหาศาล และหนึ่งโพลีกอน ต้องการหน่วยความจำและการประมวลผลของซีพียูด้วย เหตุผลดังกล่าวอินเทลพยายามผลักดันให้ตลาดยอมรับเทคโนโลยีใหม่ของซีพียูทั้งนี้เพราะเหตุผลที่ว่าผู้พัฒนาซีพียูอย่าง AMD ซึ่งเปลี่ยนฐานะจากลูกไล่มาเป็นคู่แข่งอย่างแท้จริงนั้นได้พัฒนา 3D Now! ออกมาเพื่อแข่งขันล่วงหน้าหลายเดือนแล้ว
สรุปท้ายบท
ปัจจุบันนี้การแข่งขันกันด้านความเร็วซีพียูนั้นเพิ่มขึ้นเรื่อย ๆ ทั้งในด้านของราคา ประสิทธิภาพรวมถึงความสามารถที่เพิ่มเติมเข้ามาใหม่ ๆ ทำให้เกิดการแข่งขันเพื่อแย่งส่วนแบ่งตลาดนั้นรุนแรงขึ้นทุกวัน ๆ ซึ่งเมื่อก่อนนั้น เราก็ต้องยกให้อินเทลเป็นเจ้าผู้ครองตลาดซีพียู แทบจะผูกขาดแต่เพียงผู้เดียว แต่เมื่อไม่นานมานี้ บริษัทที่แยกตัวออกมาจากอินเทลและทำการผลิตซีพียูของตนเองใช้ชื่อว่าบริษัท AMD (Advance Micro Device) โดยแรก ๆ นั้น ก็อาศัยแต่เพียงชื่อเสียงและสถาปัตยกรรมของอินเทลเพื่อขอมีส่วนแบ่งในตลาดบ้างเท่านั้น แต่ต่อ ๆ มา ก็กลับคิดและออกแบบสถาปัตยกรรมของตนขึ้นมาเพื่อลบล้างคำกล่าวที่ว่าลอกเลียนแบบอินเทลและยังทีประสิทธิภาพที่สูง รวมถึงราคานั้นก็ต่ำกว่าซีพียูของอินเทลในรุ่นเดียวกัน จนกระทั่งปัจจุบันได้มีส่วนแบ่งในตลาดซีพียูที่สูงทัดเทียมกับอินเทลแล้ว
14. Operration ที่ ALU ปฏิบัติตามเช่น
Arithmetic operations (+,-,*,/)
Comparisons (<,>,=)
Logic operations (and, or)
15. Floating-Point Unit(FPU) (Fbox) คือส่วนที่ทำการคำนวณเกี่ยวกับจำนวนตัวเลขที่เป็นจุดทศนิยม
16. Registers (Part of Ibox, Fbox, และ Ebox) คือส่วนที่ใช้สำหรับเก็บข้อมูลสำหรับการคำนวณในโพรเซสเซอร์
17. Data Register Set เก็บข้อมูลที่ใช้งานโดย ALU เพื่อใช้สำหรับการคำนวณที่ได้รับการควบคุมจาก Control Unit ซึ่งข้อมูลนี้อาจส่งมาจาก Data Cache, Main Memory หรือ Control Unit ก็ได้
18. Instruction Register Set เก็บคำสั่งที่กำลังทำงานอยู่
3.3 สถาปัตยกรรมของซีพียู
CPU แบ่งออกเป็น 2 กลุ่มตามสถาปัตยกรรมการออกแบบได้แก่
- CISC Processor (Complex-Instruction-Set-Computer) มีความสามารถในการทำงานกับภาษาระดับสูงมีชุดคำสั่งเป็นจำนวนมากซึ่งใกล้เคียงกับภาษามนุษย์ทำให้ง่ายในการเขียนโปรแกรมแต่โปรแกรมจะมีความยาวมากทำให้โปรแกรมมีขนาดใหญ่
- RISC Processor (Reduce-Instruction-Set-Computer) เป็นการลดจำนวนของชุดคำสั่งที่ใช้ในการทำวานลงทำให้ง่ายต่อการแปลความหมาย สามารถทำงานแบบ Pipe Line ได้ ซึ่้่งทำให้เขียนโปรแกรมทำได้ยากแต่ก็จะทำงานได้อย่างรวดเร็ว โดยเฉพาะเมื่อใช้คำสั่งที่เป็นคำสั่งของ RISC
เครื่องพีซีโดยทั่วไปจะมี CPU ส่วนใหญ่เป็นแบบ CISC Processor จะมีบางส่วนที่เป็นแบบ RISC Processor เช่นเครื่อง แบบแมคอินทอช (Mclntosh) ที่เน้นการประมวลผลด้าน Graphic, Floating Point ในส่วนของ RISC Processor ที่พบในปัจจุบันเช่น เครื่องแบบ Work Station Sun Sparc Station, Dee Alpha,Silicon Graphic เป็นต้น
ซีพียูแต่ละแบบอาจมีความแตกต่างกันทางด้านโครงสร้างหรือสถาปัตยกรรม แต่หลักการทำงานจะคล้ายกัน โครงสร้างหลัก ๆ ของซีพียูแบ่งเป็นหน่วยต่าง ๆ ตามหน้าที่ ดังนี้ (White 1993: 41)
- Bus Interface Unit เป็นหน่วยที่นำคำสั่งจากแรมมายังหน่วยพรีเฟตช์
- Perfetch Unit เป็นหน่วยเก็บคำสั่งไว้ในที่พักข้อมูลแล้วส่งไปยังหน่วยถอดรหัส
- Decode Unit เป็นหน่วยที่แปลคำสั่งเพื่อนำไปประมวลผล
- Excution Unit เป็นหน่วยที่ทำการประมวลผลปรพกอบด้วย 4 ส่วนใหญ่ ๆ คือ
Control Unit เป็นหน่วยควบคุมการสั่งการให้ข้อมูลเป็นไปตามลำดับที่กำหนดไว้
Protection Test Unit เป็นหน่วยตรวจสอบความผิดพลาด (Error)
Registers เป็นหน่วยความจำใช้เก็บข้อมูลชั่วคราวขณะที่ทำการประมวลผล
Arithmetic Logic Unit (ALU) เป็นหน่วยคำนวณและตรรกะ
3.4 หลักการทำงานของซีพียู
การทำงานของคอมพิวเตอร์ 1 คำสั่งจะประกอบด้วยขั้นตอนการทำงานหลายขั้นตอน ซึ่งเรียกแต่ละขั้นตอนว่ารอบการทำงาน (Machine Cycle) โดยที่อัตราความเร็วของแต่ละรอบการทำงานจะถูกควบคุมด้วยสัญญาณนาฬิกาภายในเครืื่อง (ดวงแก้ว สวามิภักดิ์ 2553:43) ซีพียูจะทำงานตามจังหวะของสัญญาณนาฬิกาโดยหน่วยรับข้อมูลล่วงหน้า (Prefatch Unit) จะควบคุมข้อมูลที่เข้าคิว (Queue) ก่อนจะมีการประมวลผล เช่น มีคำสั่งบวกเลขสองจำนวน หน้าที่ของหน่วยงานนี้ก็คือ ส่งข้อมูลให้กับหน่วยแปลรหัสคำสั่ง (Decode Unit) อยู่ตลอดเวลาจนหน่วยแปลรหัสคำสั่งไม่รู้สึกว่าว่างงาน
ในขณะเดียวกัน หน่วยจัดการหน่วยความจำแบบเซกเมนต์และแบบหน้า (Segment and Paging Unit) จะทำการเปลี่ยนตำแหน่งเสมือน (Virtual Address) ของคำสั่งบวกนั้นให้เป็นตำแหน่งจริง ๆ ทางกายภาพ เพื่อที่จะให้หน่วยติดต่อบัส (Bus Interface Unit) เข้าใจหน่วยติดต่อบัส ซึ่งเชื่อมต่อการทำงานที่เหลือเข้าด้วยกันจะดึงคำสั่งจากแรมขึ้นมา แล้วผ่านไปให้กับหน่วยรับข้อมูลล่วงหน้าอีกครั้ง
หน่วยรับข้อมูลล่วงหน้าจะส่งผ่านข้อมูลไปให้กับหน่วยแปลรหัสคำสั่ง ซึ่งจะทำการตรวจสอบว่าข้อมูลที่ส่งเข้ามานั้นเป็นอะไร ซึ่งผลก็คือ เป็นคำสั่งบวกเลข 2 จำนวน จากนั้นก็ถอดรหัสให้อยู่ในรูปแบบคำสั่งที่หน่วยดำเนินงานตามคำสั่ง (Execution Unit) เข้าใจและสามารถทำงานได้ จากนั้นจึงค่อยส่งข้อมูลไปให้กับหน่วยดำเนินงานภายในหน่วยดำเนินงานจะมีหน่วยย่อยที่เรียกว่า หน่วยควบคุม (Control Unit) หน่วยย่อยนี้จะทำหน้าที่ควบคุมการทำงานขั้นตอนต่าง ๆ ที่จำเป็นในหนึ่งคำสั่งว่าแต่ละงานต้องการอะไร และทำเมื่อไร อย่างเช่น คำสั่งการบวก หน่วยควบคุมจะส่งตำแหน่งที่อยู่เสมือนของ 2 ตัวแรกซึ่งอยู่ในหน่วยความจำไปให้กับหน่วยทดสอบการป้องกัน (Protection Test Unit)
เมื่อหน่วยติดต่อบัสพบและดึงข้อมูลจากแรมได้สำเร็จ ข้อมูลจะถูกส่งผ่านหน่วยทดสอบการป้องกันแล้วเลยไปยังรีจีสเตอร์หรือหน่วยความจำชั่วคราวภายในตัวประมวลผล ซึ่งทำหน้าที่เสมือนกับกระดาษทดเลขของตัวประมวลผล ขั้นตอนการดึงข้อมูลต่อไปก็เหมือนเดิม โดยเป็นการดึงข้อมูลตัวหลังเข้าสู่หน่วยดำเนินการแต่ไม่เก็บลงรีจิสเตอร์
หน่วยคำนวณและตรรกะ (The Arithmetic Logic Unit) หรือเรียกว่า ALU จะทำหน้าที่เสมือนเครื่องคิดเลขของตัวประมวลผล ทำหน้าที่บวกเลขตัวเลขที่เก็บอยู่ในรีจีสเตอร์ กับเลขตัวหลังที่ดึงออกมาจากหน่วยความจำโดยตรง
หน่วยควบคุม (Control Unit) จะบอกให้หน่วยติดต่อบัสเก็บผลลัพธ์ที่ได้ไว้ในแรม โดยหน่วยจัดการหน่วยความจำแบบเซกเมนต์และแบบหน้าที่จะช่วยบอกตำแหน่งจริงของหน่วยความจำทางกายภาพ โดยการแปลงตำแหน่งที่อยู่เสมือนที่ส่งมาจากหน่วยควบคุม ให้เป็นตำแหน่งจริงทางกายภาพ จึงเป็นการสิ้นสุด 1 คำสั่ง
3.5 การติดต่อระหว่างอุปกรณ์รอบข้างกับซีพียู
1. การโพลลิ่ง (Polling) ลักษณะการติดต่อแบบนี้คือ ทุก ๆช่วงเวลาหนึ่งซีพียูจะหยุดงานที่ทำไว้ชั่วคราวและไปตรวจเช็กที่แต่ละแชลแนลเพื่อดูว่า มีอุปกรณ์ใดบ้างที่ต้องการส่งข้อมูล ถ้าอุปกรณ์ต้องการส่งข้อมูล ซีพียูก็จะรับข้อมูลนั้นมา แต่ถ้าอุปกรณ์นั้นไม่ต้องการส่งข้อมูล ซีพียูก็จะไปตรวจสอบอุปกรณ์ตัวอื่นต่อไปจนกระทั่งครบทุกตัว ซีพียูก็จะกลับมาทำงานของมันตามเดิม ข้อเสียของการโพลลิ่งคือ
1. ถ้าอุปกรณ์ต่าง ๆไม่ต้องการส่งข้อมูล ซีพียูก็จะเสียเวลาตรวจเช็กอุปกรณ์ตัวอื่น
2. ถ้าอุปกรณ์ที่ต้องการส่งข้อมูลจะต้องเสียเวลารอจนกว่าซีพียูตรวจเช็กมาถึงตัวมันเท่านั้น
2. การอินเทอร์รัพต์ (Interrupt) ลักษณะการติดต่อแบบนี้จะลดข้อเสียแบบโพลลิ่งได้มาก คือเมื่ออุปกรณ์ตัวใดต้องการส่งข้อมูล มันจะส่งสัญญาณผ่านแชลแนลไปบอกซีพียู แล้วซีพียูก็จะหยุดทำงานชั่วคราวเพื่อให้อุปกรณ์ทำการส่งข้อมูลจนกระทั่งเสร็จ ซีพียูจึงกับไปทำงานที่ค้างไว้ต่อ ข้อดีคือ ซีพียูไม่ต้องเสียเวลาในการตรวจเช็กอุปกรณ์ทุกตัว และอุปกรณ์ก็ไม่ต้องเสียเวลารอ แต่ข้อเสียคือ ซีพียูอาจไม่สามารถหยุดงานที่กำลังทำอยู่ได้ทันที และในกรณีนี้อุปกรณ์ตัวนั้นต้องรอจนกระทั่งงานที่ซีพียูกำลังทำอยู่นี้เสร็จสิ้นลงเสียก่อน
3. การเมลบ๊อกซ (Mailbox) ลักษณะการติดต่อแบบนี้ ระบบต้องเสียดนื้อที่ในหน่วยความจำบางส่วนเพื่อเป็นที่สำหรับพักข้อมูล เมื่อมีอุปกรณ์บางตัวที่ต้องการส่งข้อมูล มันจะส่งข้อมูลไปไว้ในหน่วยความจำส่วนนี้และสำหรับซีพียูทุก ๆช่วงเวลาหนึ่ง ๆซีพียูจะหยุดงานที่ทำไว้เพื่อไปตรวจสอบหน่วยความจำส่วนนี้ ถ้าไม่มีข้อมูลซีพียูก็จะกลับไปทำงานเดิม แต่ถ้ามีมันก็จะรับข้อมูลเข้ามา ซึ่งการติดต่อแบบนี้เป็นการผสมผสานระหว่างการอินเทอร์รัพต์กับการโพลลิ่ง
3.6 พัฒนาการของซีพียู
บริษัทอินเทลเป็นบริษัทแรกในการผลิตซีพียู ซึ่งได้พัฒนาซีพียูรุ่นต่าง ๆ ออกมาโดยให้ชื่อรุ่นเป็นตัวเลข เช่น 8080, 8088, 8086, 80286 ประมวลผลได้เร็วกว่า 8080 ไม่น้อยกว่า 5 เท่า 80386 เป็นซีพียูตัวแรกที่ประมวลผลแบบ 32 บิตบนเครื่องคอมพิวเตอร์ส่วนบุคคลที่ใช้ระบบปฏิบัติการ MS-DOS มีชุดคำสั่งสำหรับการจัดการหน่วยความจำในลักษณะที่จะให้โปรแกรมหลายตัวสามารถทำงานไปได้พร้อม ๆ กัน (Multitasking) ในโปรเทกต์โหมด (Protected Mode) นอกจากนี้ 80386 ยังสามารถจำลองการทำงานของ 8088 หลาย ๆ เครื่องได้ในเวลาเดียวกัน ในรุ่น 80386 แบ่งย่อยไปอีกเป็น 3 รุ่นคือ 80386 DX, 80386 SX และ 80386 SL
ต่อมาบริษัทเอเอ็มดีได้ผลิตซีพียูออกมา โดยมีชื่อรุ่นเหมือนของอินเทลคือ 80386 ซึ่งมีความเร็วเท่ากับอินเทลแต่มีราคาถูกกว่า เมื่ออินเทลได้ผลิต 80486 บริษัทเอเอ็มดีก็ผลิตตามอินเทล ทำให้อินเทลต้องเปลี่ยนชื่อรุ่นการผลิตออกมาใหม่เป็นชื่อเฉพาะ เช่น เพนเทียม (Pentium) บริษัทอีเอ็มดีจึงได้ตั้งชื่อรุ่นซีพีของตนว่า K5 หลังจากนั้นอินเทลได้ออกซีพียูสำหรับเซิร์ฟเวอร์ระบบเครือข่ายชื่อ Pentium Pro และได้พัฒนาด้านคำสั่งมัลติมิเดียที่ชื่อ MMX บรรจุลงในซีพียู
เนื่องจากซีพียูของอินเทลมีราคาสูง กลุ่มผู้ใช้ที่มีรายได้ต้ำจึงนิยมใช้ของเอเอ็มดี ซึ่งมีราคาถูกกว่าอินเทลจึงได้ลดต้นทุนการผลิต Pentium II โดยการตัดหน่วยความจำแคช L2 ออก อินเทลได้ผลิต Pentium III และ Pentium III Xeon ปัจจุบันซีพียูรุ่นใหม่ที่อินเทลผลิตคือ Pentium IV ความเร็ว 1.5 GHz
ส่วนเอเอ็มดีหลังจากผลิต K5 แล้วได้ผลิต K6,K6-2 และมีชุดคำสั่งมัลติมีเดียที่ชื่อ 3 D Now บรรจุไว้ใน K6-2 ต่อมาได้ผลิต K6-3 และ K7 ในปัจจุบัน
สำหรับ Cyrix นั้นได้ผลิตซีพียู รุ่น M I และ M II ซึ่งมีราคาถูกกว่าอินเทลและเอเอ็มดีเป็นอย่างมาก ปัจจุบัน Cyrix ได้ผลิตซีพียู รุ่น M III
3.7 เอเอ็มดี เค5
- ประสิทธิภาพของ AMD K5
ประสิทธิภาพของ AMD K5 ให้ประสิทธิภาพในการรันพวก Business Application ต่ำกว่า Cyrix 6X86MX แต่ประสิทธิภาพของ FPU จะดีกว่า 6X86 (แน่นอน หากพูดถึง FPU Intel ดีที่สุด แต่คุณจะเอาไปใช้อะไรล่ะ ถ้าคุฯไม่ได้พวก CAD หรือ 3D FPU ก็ดูเหมือนจะไม่สำคัญเท่าไร) สำหรับ AMD K5 เนื่องจากผู้ผลิตเองต้องการผลิตซีพียูให้มีราคาต่ำกว่า เพื่อที่จะนำมาแข่งทางด้านการตลาดกับอินเทลได้ จึงมีผลให้ต้องการทั้งดึงทั้งดัน ทั้งปรับแต่งให้ซีพียูทำงานได้อย่างมีประสิทธิภาพสูงสุด ดังนั้นจึงปรากฏว่าเมื่อซื้อแล้ว AMD K5 จึงไม่ค่อยประสบความสำเร็จเกี่ยวกับการ Over Clock นัก สิ่งที่ผู้ซื้อกังวลเกี่ยวกับ AMD K5 นับตั้งแต่ AMD เริ่มประกาศว่าจะผลิตซีพียูโดยใช้เทคโนโลยีของตัวเอง ดังนั้นความเข้ากันได้กับซอฟต์แวร์จึงต่ำลง อย่างไรก็ตาม จากผลการสำรวจ ปรากฎว่าผู้ใช้งานไม่ค่อยประสบปัญหาเรื่องความเข้ากันได้กับซอฟต์แวร์นัก
- พัฒนาการของ AMD K5 PR เท่าเดิมแต่ประมวลผลเร็วกว่า
อย่างไรก็ตาม ช่วงแรกทีี่ AMD ผลิต K5 ออกมา โดย PR-100 วิ่งที่ความเร็ว 100 MHz นั้น นอกจากปัญหาเกี่ียวกับการออกแบบที่ยังไม่ได้มาตรฐานเท่าที่ควร และประสิทธิภาพยังไม่เป็นที่พอใจของลูกค้า AMD จึงได้ออกแบบ K5 รุ่นใหม่ออกมาสู่ตลาด ซึ่งเป็นรุ่นที่ยังคงใช้ PR เหมือนเดิม แต่คราวนี้ PR-133 รันที่ความเร็ว 100 MHz และมีประสิทธิภาพเทียบเท่า Cyrix 6X86 PR-166 หรือเพนเที่ยม 166 ทั้งนี้เพราะ Cyrix เองก็พัฒนา 6X86 เข้ามาในตลาด และ อินเทลเองก็มีประสิทธิภาพดีกว่า เมื่อไม่มีทางเลือกอื่น AMD ก็พัฒนา AMD K5 รุ่นใหม่ออกมา โดยรุ่นที่สูงสุด คือ PR166 ซึ่งมีความเร็วเทียบเท่าเพนเทียม 225 MHz หลังจากนั้น AMD ก็เริ่มพัฒนาซีพียูตระกูลใหม่ คือ AMD K6
เอเอ็มดี K6
AMD K5 นั้นเป็นยุคแรก ๆ ที่ AMD พยายามออกแบบซีพียูของตัวเอง ใช้เทคโนโลยีของตัวเองหลักจากถูก อินเทลค่อนขอดเอาว่า AMD ก็เป็นแค่ผู้ตามเทคโนโลยี เมื่อมาถึง AMD K6 AMD ใช้เทคโนโลยีของตัวเองพัฒนาเต็มตัว นอกจากพัฒนาเองแล้ว การเข้าร่วมกับ Nextgen ทำให้ AMD นำเอาโค้ด RISC86 มาใช้งานในการถอดรหัส CISC เพื่อให้การประมวลผลแต่ละคำสั่งเร็วขึ้น (ที่จริงส่วนของการจำลอง CISC เป็นหลาย ๆ RISC นั้น ก็ใช่เช่นกัน แต่ขึ้นอยู่กับว่าใครฉลาดกว่าในการถอดรหัส)
- สถาปัตยกรรมของ AMD K6
เป็นซีพียูสำหรับ Socket 7 ลักษณะตัวซีพียูบาง ๆ หน้าตาแตกต่างจากเพนเที่ยม MMX บ้างเล็กน้อย บนด้านบนของซีพียูมีโลโก้ AMD K6 ใช้ทรานซิสเตอร์ 8.8 ล้านตัว ขนาด 0.35 ไมครอนเป็นซีพียู 5 เลเยอร์ มีแคชระดับ 1 ขนาด 64 กิโลไบต์ แบ่งออกเป็นสำหรับเก็บชุดคำสั่ง 32 กิโลไบต์ และข้อมูล 32 กิโลไบต์ พอ ๆ กับ Cyrix 6x86MX
ถ้าเทียบในรุ่นเดียวกันของซีพียูแล้ว AMD K6 ดูจะเหนือกว่าซีพียูทั้งหมดในตระกูล Socket 7 โดยเทคโนโลยีที่ว่าคือ RISC86 ซึ่ง AMD กล่าวว่า จะให้ AMD นำมาใช้งานกับ Windows 95 ได้อย่างมีประสิทธิภาพ ทำงานได้อย่างรวดเร็วกว่าสาพพันธุ์อื่น ๆ
Cyrix M II Processor
- เทคโนโลยีของ Cyrix M II
Cyrix M II ตัวแรกที่ทดสอบใช้งานนั้น คือ M II 300GP ในการใช้งานนั้้น บนตัวซีพียู มีป้ายบอกว่า 66 MHz x 3.5,2.9 Volt แสดงว่าต้องกำหนดความเร็วสัญญาณนาฬิการและตัวคูณ 66 x 3.5 ซึ่งเท่ากับ 233 MHz แต่ทำไม Cyrix เขียนว่า 300GP เป็นเพราะที่ความเร็วแกน 233 MHz ประสิทธิภาพของ Cyrix เท่ากับ 300 MHz ชองเพนเที่ยม MMX ซึ่งผลการทดสอบ เมื่อเที่ยบกับ Celeron 300A ปรากฏว่าให้ประสิทธิภาพไม่แตกต่างกันมากนัก ถ้าถามว่าแล้ว Cyrix M II แตกต่างจาก 6X86MX ตรงไหน แตกต่างเฉพาะชื่อและความเร็วเท่านั้นเอง โครงสร้างภายในซองซีพียูยังเหมือนเดิมทุกประการ เฉพาะความเร็วเท่านั้นที่เพิ่มขึ้น อย่างไรก็ตาม สำหรับรุ่นที่ความเร็วสูงขึ้นไปอีก เช่น PR333 นั้นอาจจะมีการเปลี่ยนแปลงใช้สถาปัตยกรรมทรานซิสเตอร์ขนาด 0.25 ไมครอนแทน 0.35 ไมครอน
หากซื้อซีพียูวันนี้ อาจจะเห็นทั้งของ Cyrix M II ซึ่งกรีนบนตัวซีพียูว่าเป็น Cyrix M II แต่หากซื้อ IBM จะเห็นว่าเป็น IBM PR300 นั้นเป็นเฉพาะทาง IBM เองเชื่อว่าชื่อของ 6X86MX ยังคงได้รับความนิยมและถึงแม้ว้าเมื่อถึง PR300, ทั้งที่ Cyrix เอง ได้เปลี่ยนเป็นรุ่น M II อย่างไรก็ตาม เอกสารบางแห่งกล่าวว่าซีพียูของ IBM นั้นเป็นรุ่นที่ใช้ อินเทล Clock 75 MHz ซึ่งคาดว่าจะใช้ประสิทธิภาพที่ดีกว่า แต่เท่าที่ได้รับทั้งสองตัว ปรากฏว่าเป็น 66 MHz เหมือนกัน แต่ถ้าคุณเอาไปรันที่ 75, 83, 100 HMz บางครั้งก็มีโอกาสประสบความสำเร็จเช่นกัน
MMX การทดสอบและการใช้งาน
- ประสิทธิภาพที่ได้จากการรัน MMX เป็นอย่างไร
ยิ่ง อินเทล ประกาศว่า MMX นั้นยอดเยี่ยม ก็ยิ่งมีผู้กระหายที่อยากจะทดสอบประสิทธิภาพของ MMX มากขึ้นเท่านั้น ผลการทดสอบดูได้จากเว็บไซต์หลาย ๆ แห่ง ซึ่งที่แน่ ๆ ไม่ใช่เว็บไซต์ของ อินเทล หรือ MMX ผลการทดสอบยืนยันว่าเพนเทียม MMX นั้นเร็วกว่าเพนเทียมคลาสสิก ประมาณ 16-25 เปอร์เซ็นต์
3.8 เพนเที่ยม II
- อนาคตเพนเทียม II
เมื่อเพนเทียม II ออกสู่ท้องตลาดครั้งแรก อินเทลยังไม่ได้นำ Chipset ที่ออกแบบมาสำหรับเพนเทียม II ออกสู่ท้องตลาดด้วย ดังนั้นเมนบอร์ดสำหรับเพนเทียม II ในยุคแรก ๆ จึงใช้ Chipset 440FX ซึ่งเป็น Chipest ที่ออกแบบสำหรับเพนเทียมโปร ต่อมาอินเทลได้นำ Chipest 440LX ออกสู่ท้องตลาดซึ่งเป็น Chipest ที่ออกแบบมาเพื่อใช้กับเมนบอร์ดสำหรับเพนเที่ยม II โดยเฉพาะ ซึ่งมีคุณสมบัติเพิ่มเตอมคือสนับสนุน AGP (Accelerator Graphic Port) ซึ่งเป็นภาคอินเทอร์เฟซสำหรับการ์ดแสดงผลแบบใหม่ และสนับสนุนเมนบอร์ดแบบใช้ซีพียูได้หลายตัวเช่นเดียวกับ 44FX (Multiprocessor Support)
เกี่ยวกับการใช้งานด้านเครือข่าย เนื่องจากคุณสมบัติของ PLGA หรือรูปแบบของซีพียูแบบ S.E.C ทำให้ง่ายต่อการออกแบบเมนบอร์ดประเภทที่ติดตั้งซีพียูได้หลายตัว เช่น เมนบอร์ด 2 ซีพียู (Dual CPU Main-board) ซึ่งสามารถนำคอมพิวเตอร์ที่ใช้สองซีพียูกับซอฟต์แวร์ระบบปฏิบัติการสำหรับเครือข่าย เช่น Windows NT 4.0 ได้ และนอกจากนี้เพื่อสร้างความมั่นใจว่าเพนเที่ยม II จะจำงานได้ถูกต้องทุกอย่าง อินเทลได้ออกแบบเพนเที่ยม II ที่สนับสนุนตรรกะการตรวจสอบความผิดพลาด Error Correction Code (ECC) ได้ด้วย
3.9 เซลเลอรอน (Celeron)
เซลเลอรอนเป็นซีพียูตระกูลเพนเที่ยม II ของอินเทล กล่าวได้ว่าเป็นเพนเทียม II ที่ไม่มีแคชระดับสองซึ่งเพนเทียม II ที่มีโค้ดว่า คลาแมธ นั้นมีแคชระดับสอง 256/512 กิโลไบต์ เซลเลอรอนมีความเร็วต่ำสุด 266 MHz มีทรานซิสเตอร์ 7.5 ล้านตัว และขนาดของทรานซิสเตอร์ 0.25 ไมครอน ซึ่งถือเป็นขนาดเล็กลงใช้ไฟน้อยลง และความร้อนขณะประมวลผลน้อย รุ่นแรกออกแบบเพื่อใช้กับ External Bus Speed 66 MHz เหมือนคลาแมธ ตัวซีพียูเองใช้เทคโนโลยี SEPP (Single Edge Cartridge Processor Package) เช่นเดียวกัน ไม่ได้ย้อนกลับมาใช้ PGA (Pin Grid Array) เหมือน Socket 7 ดูเหมือนว่าจะเป็นเจตนาของอินเทลที่จะพยายามสร้างความแตกต่างให้กับตัวผลิตภัณฑ์อยู่ไม่น้อย ในขณะเดียวกันก็สร้างมาตรฐานของตัวเองอยู่ในตัว เพราะเซลเลอรอนใช้กับเมนบอร์ด Slot 1 ที่ออกแบบสำหรับเพนเทียม II ได้ ดูเหมือนว่าเซลเลอรอนถูกถือเป็นซีพียูที่ออกมาเพื่อรักษาตลาดระดับล่าง หรือมาแข่งกับ AMD-K6 600 MHz โดยตรง โดยทางเทคโนโลยีแล้วอินเทลแบ่งซีพียูตระกูลเซลเลอรอนอีกเป็นสองรุ่นย่อย คือ โควินตัน และเมนโดซิโน ทั้งสองรุ่นนั้นเป็นซีพียูใช้เทคโนโลยี 0.25 ไมครอนเหมือนกัน รุ่นที่กล่าวคือ โควินตัน ซึ่งเซลเลอรอนที่ออกวางตลาดก่อน ความแตกต่างของทั้งสองรุ่นคือ โควินตัน ออกมาก่อน และเมนโดซิโน จะตามมา พร้อมกับ แคชระดับสองขนาด 128 กิโลไบต์ และความเร็วเริ่มต้น 300 MHz หน้าตาแสดงชิปเซลเลอรอน จะเห็นว่าบน SEPP จะมีชิปวางอยู่ตรงกลาง ส่วนตำแหน่งที่เคยเป็นที่อยู่แคชทั้งสองข้าง ไม่ปรากฎในเซลเลอรอน ดังนั้นเซลเลอรอนจึงเป็นซีพียูที่ปราศจากแคชระดับสอง แต่ออกแบบเพื่อใช้งานกับ Slot I และใช้บนเมนบอร์ดเดียวกันกับเพนเที่ยม II คลาแมธได้
ประสิทธิภาพของเซลเลอรอนนั้นเทียบไม่ได้กับคลาแมธ เซลเลอรอนความเร็ว 233 MHz มีประสิทธิภาพดีกว่า 25-30% ถึงแม้ในทางเทคโนโลยีแล้วจะถือว่าเซลเลอรอนใช้เทคโนโลยีระดับเดียวกับคลาแมธและมีบางประการเช่น ในเรื่องของ Branch Prediction หรือ Pipelined FPU แต่ผลการทดสอบเช่นนั้นกลับเป็นการพิสูจน์ว่ายิ่งซีพียูความเร็วสูงเท่าไร แคชระดับสองยิ่งออกแบบให้มีขนาดใหญ่ขึ้น และมีความเร็วของสัญญาณนาฬิกาใกล้เคียงกับซีพียู มิฉะนั้นผลจะออกมาใกล้เคียงกับเซลเลอรอน ที่เมื่อทดสอบประสิทธิภาพเทียบกับ AMD K6-266 แล้วยังปรากฏว่าให้คะแนนต่ำกว่า AMD-K61 อีกเล็กน้อย
- แนวโน้มการพัฒนาซีพียู
ถ้าเป็นไปตามแนวความคิดของอินเทล แนวโน้มในการพัฒนาไมโครโปรเซสเซอร์ปัจจุบันนี้ ประสิทธิภาพในการคำนวณสูงไม่ได้แสดงผลออกมาในรูปแบบของการคำนวณเชิงคณิตศาสตร์เหมือนคอมพิวเตอร์ในยุคต้น ๆ อีกต่อไป ถึงแม้จะเป็นการคำนวณเชิงคณิตศาสตร์อยู่ แต่แสดงผลเป็นกราฟิกเหมือนจริง การจำลองภาพเสมือนจริง ภาพ 3 มิติ ซึ่งต้องการซีพียูที่มีประสิทธิภาพในการประมวลผลความเร็วสูง คำนวณเลขทศนืยมได้ในเชิงขนาน เพราะภาพแต่ละภาพที่แสดงนั้นเกิดจากการประมวลผลของซีพียูนับล้านคำสั่ง เพราะภาพแต่ละภาพนั้นประกอบด้วยรูปทรงเลขาคณิตที่เรียกว่า โพลีกอนจำนวนมหาศาล และหนึ่งโพลีกอน ต้องการหน่วยความจำและการประมวลผลของซีพียูด้วย เหตุผลดังกล่าวอินเทลพยายามผลักดันให้ตลาดยอมรับเทคโนโลยีใหม่ของซีพียูทั้งนี้เพราะเหตุผลที่ว่าผู้พัฒนาซีพียูอย่าง AMD ซึ่งเปลี่ยนฐานะจากลูกไล่มาเป็นคู่แข่งอย่างแท้จริงนั้นได้พัฒนา 3D Now! ออกมาเพื่อแข่งขันล่วงหน้าหลายเดือนแล้ว
สรุปท้ายบท
ปัจจุบันนี้การแข่งขันกันด้านความเร็วซีพียูนั้นเพิ่มขึ้นเรื่อย ๆ ทั้งในด้านของราคา ประสิทธิภาพรวมถึงความสามารถที่เพิ่มเติมเข้ามาใหม่ ๆ ทำให้เกิดการแข่งขันเพื่อแย่งส่วนแบ่งตลาดนั้นรุนแรงขึ้นทุกวัน ๆ ซึ่งเมื่อก่อนนั้น เราก็ต้องยกให้อินเทลเป็นเจ้าผู้ครองตลาดซีพียู แทบจะผูกขาดแต่เพียงผู้เดียว แต่เมื่อไม่นานมานี้ บริษัทที่แยกตัวออกมาจากอินเทลและทำการผลิตซีพียูของตนเองใช้ชื่อว่าบริษัท AMD (Advance Micro Device) โดยแรก ๆ นั้น ก็อาศัยแต่เพียงชื่อเสียงและสถาปัตยกรรมของอินเทลเพื่อขอมีส่วนแบ่งในตลาดบ้างเท่านั้น แต่ต่อ ๆ มา ก็กลับคิดและออกแบบสถาปัตยกรรมของตนขึ้นมาเพื่อลบล้างคำกล่าวที่ว่าลอกเลียนแบบอินเทลและยังทีประสิทธิภาพที่สูง รวมถึงราคานั้นก็ต่ำกว่าซีพียูของอินเทลในรุ่นเดียวกัน จนกระทั่งปัจจุบันได้มีส่วนแบ่งในตลาดซีพียูที่สูงทัดเทียมกับอินเทลแล้ว
ไม่มีความคิดเห็น:
แสดงความคิดเห็น