วันจันทร์ที่ 10 กุมภาพันธ์ พ.ศ. 2557

บทที่ 3 หน่วยประมวลผลกลางหรือซีพียู (CPU)

3.1   บทนำ

           หน่วยประมวลผลกลางหรือซีพียู เรียกอีกชื่อหนึ่งว่า โปรเซสเซอร์ (Processor) หรือ ชิป (Chip) นับเป็นอุปกรณืที่มีความสำคัญมากที่สุดของฮาร์ดแวร์ เพราะมีหน้าที่ในการประมวลผลข้อมูลที่ผู้ใช้ป้อน เข้ามาทางอุปกรณือินพุต ตามชุดคำสั่งหรือโปรแกรมที่ผู้ใช้ต้องการใช้งาน
รูปที่ 1 แสดงภาพหน่วยประมวลกลางหรือซีพียู
         CPU เปรียบเสมือนสมองของเครื่องคอมพิวเตอร์ มีหน้าที่ในการคำนวณประมวลผลข้อมูลเป็นศูนย์กลางการควบคุมการทำงานของอุปกรณ์ต่าง ๆ โดย CPU ประกอบด้วย 3 ส่วนหลักได้แก่
             1. หน่วยควบคุม (Control Unit)  หน่วยควบคุมทำหน้าที่ควบคุมลำดับขั้นตอนการการประมวลผลและการทำงานของ อุปกรณ์ต่างๆ ภายใน หน่วยประมวลผลกลาง
             2. หน่วยคำนวณและตรรกะ (Arithmetic & Logical Unit : ALU) หน่วยคำนวณตรรกะทำหน้าที่เหมือนกับเครื่องคำนวณอยู่ในเครื่องคอมพิวเตอร์โดย ทำงานเกี่ยวข้องกับ การคำนวณทางคณิตศาสตร์ เช่น บวก ลบ คูณ หาร 
รูปที่ 2 แสดงการทำงานของซีพียู
              3. หน่วยความจำหลัก (Main Memory)คอมพิวเตอร์จะสามารถทำงานได้เมื่อมีข้อมูล และชุดคำสั่งที่ใช้ในการประมวลผลอยู่ในหน่วยความ จำหลักเรียบร้อยแล้วเท่านั้น และหลักจากทำการประมวลผลข้อมูลตามชุดคำสั่งเรียบร้อบแล้ว ผลลัพธ์ที่ได้ จะถูกนำไปเก็บไว้ที่หน่วยความจำหลัก และก่อนจะถูกนำออกไปแสดงที่อุปกรณ์แสดงผล



3.2   ส่วนประกอบของซีพียู

            1. Bus Interface Unit (BIU) (Cbox) คือส่วนที่เชื่อมต่อระหว่าง Address Bus, Control Bus และ Date Bus กับภายนอกเช่น หน่วยความจำหลัก (Main Memory) และอุปกรณ์ภายนอก(Peripherals)
            2. Memory Management Unit (MMU) (Mbox) คือส่วนที่ควบคุมโพรเซสเซอร์ในการใช้งานแคช (Cache) และหน่วยความจำ (Memory) โดย MMU ยังช่วยในการทำ Virtual Memory และPaging ซึ่งแปลง Virtual Address ไปเป็น Physical Address โดยใช้ Translation Look-Aside Buffer (TLB)
            3. Integrated On-Chip Cache เป็นส่วนสำหรับเก็บข้อมูลที่ใช้งานบ่อยๆ ใน Synchronous RAM (SRAM) เพื่อให้การทำงานของโพรเซสเซอร์มีประสิทธิภาพสูงสุด ใช้งานได้ทั้ง L1 และ L2 On Chip Cache
            4. Prefetch Unit (Part of Ibox) คือส่วนที่ดึงข้อมูลและคำสั่งจาก Instruction Cache และDate Cache หรือ Main Memory Based เมื่อ Prefetch 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) คือส่วนที่ปฏิบัติตามคำสั่งและเปรียบเทียบ Operants ในบางโพรเซสเซอร์มีการแยก ALU ออกเป็น 2 ส่วนดังนี้
                        Arithmetic Unit (AU)
                        Logic Unit (LU)
            14. Operation ที่ ALL ปฏิบัติตามเช่น
                        Arithmetic operations (+, -, *, และ /)
                        Comparisons (<, >, และ =)
                        Logic operations (and, or)
            15. Floating-Point Unit (FPU) (Fbox) คือส่วนที่ทำการคำนวณเกี่ยวกับจำนวนตัวเลขที่เป็นจุดทศนิยม
            16. Registers (Part of Ibox, Fbox, และ Ebox) คือส่วนที่ใช้สำหรับเก็บข้อมูลสำหรับการคำนวณในโพรเซสเซอร์
           17. Date Register Set เก็บข้อมูลที่ใช้งานโดย ALU เพื่อใช้สำหรับการคำนวณที่ได้รับการควบคุมจาก Control Unit ซึ่งข้อมูลนี้อาจส่งมาจาก Date Cache, Main Memory หรือ Control Unitก็ได้

           18. Instruction Resiter 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 เช่นเครื่อง แบบแมนอินทอช (McIntosh) ที่เน้นการประมวลผลด้าน Graphic, Floating Point ในส่วนของ RISC Processor ที่พบในปัจจุบันเช่น เครื่องแบบ Work Station Sun Sparc Station, Dec Alpha, Silicon Graphic เป็นต้น
            ซีพียูแต่ละแบบอาจมีควากแตกต่างกันทางด้านโครงสร้างหรือสถาปัตยกรรม แต่หลักการทำงานจะคล้ายกัน โครงสร้างหลักๆ ของซีพียูมีแบ่งเป็นหน่วยต่างๆ ตามหน้าที่ ดังนี้ (White 1993: 41)
            - Bus Interface Unit เป็นหน่วยที่นำคำสั่งจากแรมมายังหน่วยฟรีเฟตช์
            - Prefetch Unit เป็นหน่วยเก็บคำสั่งไว้ในที่พักข้อมูลแล้วส่งไปที่หน่วยถอดรหัส
            - Decode Unit เป็นนหน่วยที่แปลคำสั่งเพื่อไปนำประมวลผล
            - Execution Unit เป็นหน่วยที่ทำการประมวลผลประกอบด้วย 4 ส่วนใหญ่ๆ คือ
              Control Unit เป็นหน่วยควบคุมการสั่งการให้ข้อมูลเป็นไปตามลำดับที่กำหนดไว้
              Protection Test Unit เป็นหน่วยตรวจสอบความผิดพลาด (Eeror)
              Registers เป็นหน่วยความจำใช้เก็บข้อมูลชั่วคราวขณะที่ทำการประมวลผล

              Arithmetic Logic Unit (ALU) เป็นหน่วยคำนวณและตรรกะ



3.4 หลักการทำงานของซีพียู

            การทำงานของคอมพิวเตอร์ 1 คำสั่งจะประกอบด้วยขั้นตอนการทำงานหลายขั้นตอน ซึ่งเรียกแต่ละขั้นตอนว่ารอบการทำงาน (Machine Cycle) โดยที่อัตราความเร็วของแต่ละรอบการทำงานจะถูกควบคุมด้วยสัญญาณนาฬิกาภายในเครื่อง (ดวงแก้ว สวามิภักดิ์ 2535: 43) ซีพียูจะทำงานตามจังหวะของสัญญาณนาฬิกา โดยหน่วยรับข้อมูลล่วงหน้า (Preface 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 และมีชุดคำสั่งด้านมิลติมีเดียที่ชื่อ 3D Now บรรจุไว้ใน K6-2 ต่อมาได้ผลิต K6-3 และ K7 ในปัจจุบัน
            สำหรับ Cyrix นั้นได้ผลิตซีพียู รุ่น M I และ M II ซึ่งมีราคาถูกกว่าของอินเทลและของเอเอ็มดีเป็นอย่างมาก ปัจจุบัน Cyrix ได้ผลิตซีพียู รุ่น M III



3.7 เอเอ็มดี K5

            - ประสิทธิภาพของ AMD K5
              ประสิทธิภาพของ AMD K5 ให้ประสิทธิภาพในการรันพวก Business Application ต่ำกว่า Cyrix 6X86MX แต่ประสิทธิภาพของ FPU จะดีกว่า 6X86 (แน่นอน หากพูดถึง FPU Intel ดีที่สุด แต่คุณจะเอาไปใช้ออกไรล่ะ ถ้าคุณไม่ได้พวก CAD หรือ 3D FPU ก็ดูเหมือนจะไม่สำคัญเท่าไหร่) สำหรับ AMD K5 เนื่องจากผู้ผลิตเองต้องการผลิตซีพียูให้มีราคาต่ำกว่า เพื่อที่จะนำมาแข่งทางด้านการตลาดกับ Intel ได้ จึงมีผลให้ต้องทั้งดึงทั้งดัน ทั้งปรับแต่งให้ซีพียูทำงานที่ประสิทธิภาพสูงสุด ดังนั้นจึงปรากฏเมื่อซื้อแล้ว AMD K5 จึงไม่ค่อย ประสบความสำเร็จเกี่ยวกับการ Over Clock นัก สิ่งที่ผู้ซื้อกังวลเกี่ยวกับ AMD K5 นับตั้งแต่ AMD เริ่มประกาศว่าจะผลิตซีพียูโดยใช้เทคโนโลยีของตัวเอง ดังนั้นความเข้ากันได้กับซอฟต์แวร์อาจจะต่ำลงอย่างไรก็ตาม จากผลการสำรวจ ปรากฏว่าผู้ใช้งานไม่ค่อยประสบปัญหาเรื่องความเข้ากันได้กับซอฟต์แวร์นัก
            - พัฒนาการของ AMD K5 PR เท่าเดิมแต่ประมวลผลเร็วกว่า
              อย่างไรก็ตาม ช่วงแรกที่ AMD ผลิต K5 ออกมา โดย PR-100 วิ่งที่ความเร็ว MHz นั้น นอกจากปัญหาเกี่ยวกับการออกแบบที่ยังไม่ได้มาตรฐานเท่าที่ควร และประสิทธิภาพยังไม่เป็นที่พอใจของลูกค้า AMD จึงได้ออกแบบ K5 รุ่นใหม่ออกสู่ตลาด ซึ่งเป็นรุ่นที่ยังคงใช้ PR เหมือนเดิม แต่คราวนี้ PR-133 รันที่ความเร็ว 100 MHz และมีประสิทธิภาพเทียบเท่า Cyrix 6X86 PR-166 หรือเพนเทียม 166 ทั้งนี้เพราะ Cyrix เองก็พัฒนา 6X86 เข้ามาในตลาด และ Intel เองก็ยังมีประสิทธิภาพดีกว่า เมื่อไม่มีทางเลือกอื่น AMD ก็พัฒนา AMD K5 รุ่นใหม่ออกมา โดยรุ่นที่สูงสุด คือ PR166 ซึ่งมีความเร็วเทียบเท่าเพนเทียม 225 MHz หลังจากนั้น AMD ก็เริ่มพัฒนาซีพียูตระกูลใหม่ คือ AMD K6

      เอเอ็มดี K6

            AMD K5 นั้นเป็นยุคแรกๆ ที่ AMD พยายามออกแบบซีพียูของตัวเอง ใช้เทคโนโลยีของตัวเองหลังจากถูก Intel ค่อนขอดเอาว่า AMD ก็แค่เป็นผู้ตามเทคโนโลยี เมื่อมาถึง AMD K6 AMD ใช้เทคโนโลยีของตัวเองพัฒนาเต็มตัว นอกจากพัฒนาเองแล้ว การเข้าร่วมกับ Nextgen ทำให้ AMD นำเอาโค้ด RISC86 มาใช้งานในการถอดรหัส CISC เพื่อให้ประมวลผลแต่ละคำสั่งเร็วขึ้น (ที่จริงส่วนของการจำลอง CISC เป็นหลายๆ RISC ก็ใช่เช่นกัน แต่ขึ้นอยู่กับว่าใครฉลาดกว่าในการถอดรหัส)
            - สถาปัตยกรรมของ AMD K6
              เป็นซีพียูสำหรับ Socket 7 ลักษณะตัวซีพียูบางๆ หน้าตาแตกต่างจากเพนเทียม MMX บ้างเล็กน้อย บนด้านบนของซีพียูมีโลโก้ AMD K6 ใช้ทรานซิสเตอร์ 8.8 ล้านตัว ขนาด 0.35 ไมครอนและเป็นซีพียู 5 เลเยอร์ มีแคชระดับ 1 (Level 1 แคช) ขนาด 64 กิโลไบต์ แบ่งออกเป็นสำหรับเก็บชุดคำสั่ง (Instruction) 32 กิโลไบต์ และข้อมูล (Date) 32 กิโลไบต์ พอๆ กับ Cyrix 6x86MX
            ถ้าเทียบในรุ่นเดียวกันของซีพียูแล้ว AMD K6 ดูจะเหนือกว่าซีพียูทั้งหมดในตระกูล Socket 7 (เพนเทียม MMX, Cyrix 6X86MX) โดยเทคโนโลยีที่ว่าคือ RISC86 ซึ่ง AMD กล่าวว่า จะให้ AMD นำมาใช้งานกับ Windows 95 ได้อย่างมีประสิทธิภาพ ทำงานได้เร็วกว่าสายพันธุ์อื่นๆ

        Cyrix M II Processor

            - เทคโนโลยีของ Cyrix M II
              Cyrix M II ตัวแรกที่ทดสอบใช้งานนั้นคือ M II 300GP (รุ่นเดียวกับ IBM PR300 แต่หน้าตาคนละอย่าง) ในการใช้งานนั้น บนตัวซีพียูมีป้ายบอกว่า 66 MHz x 3.5, 2.9 Volt แสดงว่าต้องกำหนดความเร็วสัญญาณนาฬิกาและตัวคูณ 66 x 3.5 ซึ่งเท่ากับ 255 MHz แต่ทำไม Cyrix เขียนว่า 300GP เป็นเพราะที่ความเร็วแกน 233 MHz ประสิทธิภาพของ Cyrix เท่ากับ 300 MHz ของเพนเทียม MMX ซึ่งผลการทดสอบ เมื่อเทียบกับ Celeron 300 A ปรากฏว่าให้ประสิทธิภาพไม่แตกต่างกันมากนัก ถ้าถามว่าแล้ว 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 นั้นเป็นรุ่นที่ใช้ Internal Clock 75 MHz ซึ่งคาดว่าจะให้ประสิทธิภาพที่ดีกว่า แต่เท่าที่ได้รับทั้งสองตัว ปรากฏว่าเป็น 66 MHz เหมือนกัน แต่ถ้าคุณเอาไปรันที่ 75, 83, 100 MHz บางครั้งก็มีโอกาสประสบความสำเร็จเช่นกัน

      MMX การทดสอบและการใช้งาน

          - ประสิทธิภาพที่ได้จากการรัน MMX เป็นอย่างไร
            ยิ่ง Intel ประกาศว่า MMX นั้นยดเยี่ยม ก็ยิ่งมีผู้กระหายที่จะทดสอบประสิทธิภาพของ MMX มาดขึ้นเท่านั้น ผลหารทดสอบดูได้จากเว็บไซต์หลายๆ แห่ง ซึ่งที่แน่ๆ ไม่ใช่เว็บไซต์ของ Intel หรือ MMX ผลการทดสอบยืนยันว่าเพนเทียม MMX นั้นเร็วกว่าเทนเทียมคลาสสิก ประมาณ 16-25 เปอร์เซ็น



3.8 เพนเทียม II

             - อนาคตเพนเทียม II
              เมื่อเพนเทียม II ออกสู่ตลาดครั้งแรกนั้น อินเทลยังไม่ได้นำ Chipset ที่ออกแบบมาสำหรับเพนเทียม II ออกสู่ตลาดด้วย ดังนั้นเมนบอร์ดสำหรับเพนเทียม II ในยุคแรกๆ จึงใช้ Chipset 440FX  ซึ่งเป็น Chipset ที่ออกแบบสำหรับเพนเทียมโปร ต่อมาอินเทลได้นำอินเทล 440LX ออกสู่ตลาดซึ่งเป็น Chipset ที่ออกแบบมาเพื่อใช้กับเมนเบอร์ดสำหรับเพนเทียม II โดยเฉพาะ มีคุณสมบัติเพื่อเติมคือสนับสนุน  AGP (Accelerator Graphic Port) ซึ่งเป็นภาคอินเทอร์เฟซสำหรับการ์ดแสดงผลแบบใหม่ และสนับสนุนเมนบอร์ดแบบใช้ซีพียูได้หลายตัวเช่นเดียวกับ 440FX (Multiprocessor Support)
              เกี่ยวกับการใช้งานด้านเครือข่าย เนื่องจากคุณสมบัติของ PLGA หรือรูปแบบของซีพียูแบบ S.E.C ทำให้ง่ายต่อการออกแบบเมนบอร์ดประเภทที่ติดตั้งซีพียูได้หลายตัว เช่น เมนบอร์ด 2 ซีพียู (Dual CPU Main-board) ซึ่งสามารถนำคอมพิวเตอร์ที่ใช้สองซีพียูกับซอฟต์แวร์ระบบปฏิบัติการสำหรับเครือข่าย เช่น Windows NT 4.0 ได้ และนอกจากนี้เพื่อสร้างความมั่นใจว่าเพนเทียม 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 300 MHz โดยตรง โดยทางเทคโนโลยีแล้วอินเทลยังแบ่งซีพียูตระกูลเซลเลอรอนออกเป็นอีกสองรุ่นย่อย คือ โควินตัน (Covington) และเมนโดซิโน (Mendocino) ทั้งสองรุ่นนั้น เป็นซีพียูที่ใช้เทคโนโลยี 0.25 ไมครอนเหมือนกัน รุ่นที่ผมกล่าวถึงคือ โควินตัน (Covington) ซึ่งเป็นเซลเลอรอนที่ออกวางตลาดก่อน ความแตกต่างของทั้งสองรุ่น คือ โควินตัน (Covington) ออกมาก่อน และเมนโดซิโน (Mendocino) จะตามมา พร้อมกับ แคชระดับสองขนาด 128 กิโลไบต์ และความเร็วเริ่มต้น 300 MHz หน้าตาแสดงชิปเซลเลอรอน จะเห็นว่าบน SEPP จะมีชิปวางอยู่ตรงกลาง ส่วนตำแหน่งที่เคยเป็นที่อยู่แคชทั้งสองข้าง ไม่ปรากฏในเซลเลอรอน ดังนั้นเซลเลอรอนจึงเป็นซีพียูที่ปราศจากแคชระดับสอง แต่ออกแบบเพื่อใช้งานกับ Slot 1 และใช้บนเมนบอร์ดเดียวกับเพนเทียม II คลาแมธ
            ประสิทธิภาพของเซลเลอรอนนั้นเทียบไม่ได้กับคลาแมธ เซลเลอรอนความเร็ว 266 MHz เมื่อทดสอบประสิทธิภาพของซีพียูพบว่าต่ำกว่าคลาแมธมาก โดยคลาแมธ 233 MHz มีประสิทธิภาพดีกว่า 25-30% ถึงแม้ในทางเทคโนโลยีแล้วจะถือว่าเซลเลอรอนใช้เทคโนโลยีระดับเดียวกับคลาแมธและมีบางประการ เช่น ในเรื่องของ Branch Prediction หรือ Pipelined FPU แต่ผลการทดสอบ เช่น นั้นกลับเป็นการพิสูจน์ว่ายิ่งซีพียูความเร็วเท่าไหร่ แคชระดับสองยิ่งต้องออกแบบให้มีขนาดใหญ่มากขึ้น และมีความเร็วของสัญญาณนาฬิกาใกล้เคียงกับซีพียู มิฉะนั้นผลจะออกมาใกล้เคียงกับเซลเลอรอน ที่เมื่อทดสอบประสิทธิภาพเทียบกับ AMD K6-266 แล้วยังปรากฏว่าให้คะแนนต่ำกว่า AMD-K6 อีกเล็กน้อย
            - แนวโน้มการพัฒนาซีพียู
            ถ้าเป็นไปตามแนวความคิดของ Intel แนวโน้มการพัฒนาไมโครโปรเซสเซอร์ปัจจุบันนี้ ประสิทธิภาพในการคำนวณสูงไม่ได้แสดงผลออกมาในรูปแบบของการคำนวณเชิงคณิตศาสตร์เหมือนกับคอมพิวเตอร์ในยุคต้นๆ อีกต่อไป ถึงแม้จะเป็นการคำนวณเชิงคณิตศาสตร์อยู่ แต่แสดงผลเป็นกราฟิกภาพเหมือนจริงการจำลองภาพเสมือนจริง (Virtual Reality) ภาพ 3 มิติ ซึ่งต้องการซีพียูที่มีความสามารถในการประมวลผลความเร็วสูง คำนวณเลขทศนิยมได้ในเชิงขนาน (Parallel Processing) เพราะภาพแต่ละภาพที่แสดงนั้นเกิดจากการประมวลผลของซีพียูนับล้านคำสั่ง เพราะภาพแต่ละภาพนั้นประกอบด้วยรูปทรงเลขาคณิตที่เรียกว่า โพลีกอนจำนวนมหาศาล และหนึ่งโพลีกอน ต้องการหน่วยความจำและการประมวลผลของซีพียูด้วย เหตุผลดังกล่าวอินเทลพยายามผลักดันให้ตลาดยอมรับเทคโนโลยีใหม่ของของซีพียูทั้งนี้เพราะเหตุผลที่ว่าผู้พัฒนาซีพียูอย่าง AMD ซึ่งเปลี่ยนฐานะจากลูกไล่มาเป็นคู่แข่งอย่างแท้จริงนั้นได้พัฒนา 3D Now! ออกมาเพื่อแข่งขันล่วงหน้าหลายเดือนแล้ว


สรุปท้ายบท

            ปัจจุบันการแข่งขันกันด้านความเร็ว CPU นั้นเพิ่มขึ้นเรื่อยๆ ทั้งในด้านของราคาประสิทธิภาพรวมถึงความสามรถที่เพิ่มเติมเข้ามาใหม่ๆ ทำให้เกิดการแข่งขันเพื่อแย่งส่วนแบ่งตลาดนั้นรุนแรงขึ้นทุกๆ วัน ซึ่งเมื่อก่อนนั้น เราก็ต้องยกให้ Intel เป็นเจ้าผู้ครองตลาด CPU แทบจะผูกขาดแต่เพียงผู้เดียว แต่เมื่อไม่นานมานี้ บริษัทที่แยกตัวออกมาจาก Intel และทำการผลิต CPU ของตนเอง ใช้ชื่อบริษัทว่า AMD (Advance Micro Device) โดยแรกๆ นั้น ก็อาศัยแต่เพียงชื่อเสียงและสถาปัตยกรรมของ Intel เพื่อขอมีส่วนแบ่งในตลาดบ้างเท่านั้น แต่ต่อๆ มา ก็กลับคิดและออกแบบสถาปัตยกรรมของตนขึ้นมาเพื่อลบล้างคำกล่าวที่ว่าลอกเลียนแบบ Intel และ ยังมีประสิทธิภาพที่สูง รวมถึงราคานั้นก็ต่ำกว่า CPU ของ Intel ในรุ่นเดียวกัน จนกระทั่งปัจจุบันนั้นได้มีส่วนแบ่งในตลาด CPU ที่สูงที่ทัดเทียมกับ Intel แล้ว

         





ไม่มีความคิดเห็น:

แสดงความคิดเห็น