วันจันทร์ที่ 27 มกราคม พ.ศ. 2557

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

3.1 บทนำ

         หน่วยประมวลผลกลางหรือซีพียู เรียกอีกชื่อหนึ่งว่า โปรเซสเซอร์ (processor) หรือ ชิป (chip) นับเป็นอุปกรณช์ที่มีความสำคัญมากที่สุดของฮาร์ดแวร์ เพราะมีหน้าที่ในการประมวลผลข้อมูลที่ใช้ป้อน เข้ามาทางอุปกรณ์อินพุต ตามชุดคำสั่งหรือโปรแกรมที่ผู้ใช้ต้องการใช้งาน

                                 รูปที่ 1  แสดงภาพของหน่วยประมวลผลกลางหรือซีพียู

                                                  รูปที่ 2 แสดงการทำงานของซีพียู

CPU เปรียบเสมือนสมองของเครื่องคอมพิวเตอร์มีหน้าที่ในการคำนวณประมวลผลข้อมูลและเป็นศูนย์กลางควบคุมการทำงานของอุปกรณ์ต่างๆ โดย CPU ระกอบด้วย 3 ส่วนหลักได้แก่
 1. ส่วนควบคุม (Control Unit) เป็นศูนย์กลางการควบคุมการทำงานภายในหน่วยประมวลผล
 2. ส่วนการคำนวณทางคณิตศาสตร์และตรรกะศาสตร์(Arithmetic/Login Unit) เป็นส่วนของการคำนวณต่างๆ


3. ส่วนหน่วยความจำและรีจิสเตอร์ (Primary Memory/Register) ช่วยในการเก็บข้อมูลชั่วคราวเพื่อนำไปประมวลผลหรือจัดเตรียมข้อมูลก่อนและหลังการจัดเก็บข้อมูล

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

       1. Bus Interface Unit (BIU) (Cbox) คือส่วนที่เชื่อมต่อระหว่าง Addrss Bas, Control Bus และ Data Bus กับภายนอกเช่น หน่วยความจำหลัก (Main Memory) และอุปกรณ์ภายนอก (Peripherals)
       2. Memory Managemant Unit (MMU)(mBOX) คือส่วนที่ควบคุมโพรเซสเซอร์ในการใช้การใช้งานแคช (Cache) และหน้วยความจำ (Memory) โดย MMU ยังช่วยในการทำ Virtual Memory และ Paging ซึ่งแปลง Virtual Addresses ไปเป็น Physical Addresses โดยใช้ Translation Look-Aside Buffer (TLB)
      3. Integrated On-chip cache เป็นส่วนสำหรับเก็บข้อมูลที่ใช้งานบ่อยๆ ใน Synchronus RAM (SRAM) เพื่อให้การทำงานของโพรเซสเซอร์มีประสิทธิภาพสูงสุด ใช้งานได้ทั้ง L1 และ L2 On Chip Cache
     4. Prefetch Unit (Part of Ibox) คือส่วนที่ดึงข้อมูลและคำสั่งจาก Instrucition Cache และ Data 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), Regisrs และส่วนประกอบอื่นๆ ของโพรเซสเซอร์ต่มคำสั่ง
 10. ควบคุมการเคลื่อนย้ายของข้อมูลทีรับขส่งจาก Primary Memory และอุปกรณ์ I/O
 11. ALU (Ebox) คือส่วนที่ปฏิบัติตามคำสั่งและเปรียบเทียบ Operants ในบางโพรเซสเซอร์มีการแยก ALU ออกเป็น 2 ส่วนดังนี้
                          Arithmetic Unit (AU)
                          Logic Uint (LU)
 12. Operation ที่ ALU ปฏิบัติตามเช่น
                         Arithmetic opertions (+,-,* และ /)
                        Comperisons (<,> และ =)
                        Logic operations (and , or)
13. Floating-Point Unit (FPU) (Fbox) คือส่วนที่ทำการคำนวณเกียวกับจำนวนตัวเลขที่เป็นจุดทศนิยม
14. Registers (Pary of Ibox. Fbox, c]t Ebox) คือส่วนที่ใช้สำหรับเก็บข้อมุลสำหรับการคำนวณในโพสเซสเซอร์
15. Data Register set เก็บข้อมูลที่ใช้งานโดย ALU เพื่อใช้สำหรับการคำนวณที่ได้รับการควบคุมจาก Control Unit ซึ่งข้อมูลนี้ส่งมาจาก Data Cache, Main Memory หรือ Control Unit ก็ได้
16. Instruction Register เก็บคำสั่งที่กำลังทำงานอยู่

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 เป็นหน่วยควบคุมการคำสั่งการให้ข้อมูลเป็นไปตามลำดับที่กำหนดไว้
                Prottertion Test Unit เป็นหน่วยตรวจสอบความผิดพลาด (Error)
                Registers เป็นหน่วยความจำใช้เก็บข้อมูลชั่วคราวขณะที่ทำการประมวลผล
                Arithmetic Logic Unit (ALU) เป็นหน่วยคำนวณและตรรกะ

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

              การทำงานของคอมพิวเตอร์ 1 คำสั่งจะประกอบด้วยขั้นตอนการทำงานหลายขั้นตอน ซึ่งเรียกแต่ละขั้นตอนว่ารอบการทำงาน (Macchine Cycle) โดยที่อัตราความเร็วของแต่ละรอบการทำงานจะถูกควบคุมด้วยสัญญาณนาฬิกาภายในเครื่อง (ดวงแก้ว สวามิภักดิ์ 2535: 43) ซีพียูจะทำงานตามจังหสะของสัญญาณนาฬิกาโดยหน่วยรับข้อมูลล่วงหน้า (Prefech Unit) คววบคุมข้อมูลที่เข้าคิว (Queue) ก่อนจะมีการประมวลผล เช่น มีคำสังบวกเลขสองจำนวน หน้าที่ของหน่วยงานนี้ก็คือ ส่งข้อมูลให้กับหน่วยแปลรหัสคำสั่งไม่รู้สึกว่าว่างงาน
              หน่วยรับข้อมุลล่วงหน้าจะส่งผ่านข้อมูลไปให้ับหน่วยแปลรหัสคำสั่ง ซึ่งทำกาตรวจสอบว่าข้อมูลที่ส่งเข้ามานั้นเป้นนั้นเป็นไร ซึ่งผลคือ เป็นคำสั้งบวกเลข 2 จำนวน จากนั้นก็ถอดรหัสให้อยุ่ในรูปแบบคำสั่งที่หน่วยดำเนินงานตามคำสั่ง (Execution Tsst Unit) เข้าใจและสามารถทำงานได้
            หน่วยทดสอบการป้องกันจะควบคุมการสื่อสารในตัวซีพียู ไม่ให้มีการแก้ไขข้อมูลในหน่วยความจำหรือเข้าใช้อุปกรณ์รอบข้างคอมพิวเตอร์อื่นๆ
           หน่วยคำนวณคำนวณและตรรกะ (The Arithmetic Logic Unit) หรือที่เรียกว่า ALU จะทำหน้าที่เสมือนเครื่องคิดเลขของตัวประมวลผล ทำหน้าที่บวกเลขตัวแรกที่เก็บอยู่ในรีจิสเตอร์ กับเลขตัวเหลังที่ดึงมาจากหน่วยความจำโดยตรง
          หน่วยควบคุม (Control Unit) จะบอกให้หน่วยติดต่อบัสเก็บผลลัพธ์ที่ได้ไว้ในแรม โดยหน่วยจัดการหน่วยความจำแบบเซกเมนต์และแบบหน้าจะช่วยบอกตำแหน่งจริงของหน่วยความจำทางกายภาพ

3.5 การติดระหว่างอุปกรณ์รอบข้างกับซีพียู

        1. การโพลลิ่ง (Polling)  ลักษณะการติดต่อแบบนี้คือ ทุก ๆช่วงเวลาหนึ่งซีพียูจะหยุดงานที่ทำไว้ชั่วคราวและไปตรวจเช็กที่แต่ละแชนแนลเพื่อดูว่า มีอุปกรณ์ใดบ้างต้องการส่งข้อมูล
                1.  ถ้าอุปกรณ์ต่าง ๆไม่ต้องการส่งข้อมูล ซีพียูก็จะเสียเวลาตรวจเช๊กอุปกรณ์ทุกตัว
                2.  ถ้าอุปกรณ์ที่ต้องการส่งข้อมูลจะต้องสียเวลารอจนกว่าที่ซีพียูตรวจเช็กมาถึงตัวมันเท่านั้น
      2. การอินเทอร์รัพต์ (Interrupt) ลักษณะการติดต่อแบบนี้จะลดข้อเสียแบบโพลลิ่งได้มากคิดเมื่ออุปกรณ์ตัวใดต้องการส่งข้อมูล
     3. การเมลบร๊อก (Mailbox) ลักษณะกาติดต่อแบบนี้ ระบบต้องเสียเนื้อที่ในหน่วยความจำบางส่วนเพื่อเป็นที่สำหรับพักข้อมูล

3.6 พัฒนาการของซีพียู

บริษัทผู้ผลิตซีพียูที่เก่าแก่และมีการพัฒนา มาอย่างต่อเนื่อง นับตั้งแต่ซีพียู 8086 , 8088 และซีพียูในตระกูล 80x86 เรื่อยมา จนมาถึง Celeron , Pentium II และ III ซึ่งได้รับความนิยมอย่างมากในสมัยนั้น ก่อนที่จะก้าวเข้าสู่ยุค Celeron II, Pentium 4 และ Pentium 4 Extreme Edition ที่ได้รับการตอบรับจากผู้ใช้อย่างกว้างขวาง เรื่อยมาจนมาถึงยุคของ Celeron D และ Pentium 4 ภายใต้รหัส Processor Number ใหม่ รวมไปถึงซีพียูในกลุ่ม Dual และ Quad-Core อย่าง Pentium D , Pentium Dual-Core, Pentium Extreme Edition , Core Duo, Core 2 Duo, Core 2 Quad และ Core 2 Extreme ที่ถือได้ว่าเป็นจุดเริ่มต้นของยุคซีพียูในแบบ Dual & Multi-Core บนเครื่องซีพีที่ใช้กันอยู่แพร่หลายในปัจจุบัน รวมทั้งซีพียูบนโครงสร้างทางสถาปัตยกรรมแบบใหม่อย่าง Nehalem ที่จะมาพร้อมกันแบรนด์ใหม่ที่ชื่อว่า Core i7 เป็นต้น
รายชื่อของซีพียูสำหรับเครื่องคอมพิวเตอร์แบบ PC หรือ Desktop แต่ละรุ่นตั่งแต่อดีตจนถึงปัจจุบันของบริษัท อินเทล (Intel) 
          

3.7 เอเอ็มดี เค5

            ประสิทธิภาพของ AMD K5




ประสิทธิภาพของ AMD K5 ให้ประสิทธิภาพในการรันพวก Business Application ต่ำกว่า Cyrix 6X86MX แต่ประสิทธิภาพของ FPU จะดีกว่า 6X86 (แน่นอนครับ หากพูดถึง FPU Intel ดีที่สุด แต่คุณจะเอาไปใช้อะไรล่ะ ถ้าคุณไม่ได้พวก CAD หรือ 3D FPU ก็ดูเหมือนจะไม่สำคัญเท่าไร) สำหรับ AMD K5 เนื่องจากผู้ผลิตเองต้องการผลิตซีพียูให้มีราคาต่ำกว่า เพื่อที่จะนำมาแข่งทางด้านการตลาดกับ Intel ได้ จึงมีผลให้ต้องทั้งดึงทั้งดัน ทั้งปรับแต่งให้ซีพียูทำงานที่ประสิทธิภาพสูงสุด ดังนั้นจึงปรากฎว่าเมื่อซื้อแล้ว AMD K5 จึงไม่ค่อยประสบความสำเร็จเกี่ยวกับการ Overclock นัก สิ่งที่ผู้ซื้อกังวลเกี่ยวกับ AMD k5 นับตั้งแต่ AMD เริ่มประกาศว่าจะผลิตซีพียูโดยใช้เทคโดโลยีของตัวเอง ดังนั้นความเข้ากันได้กับซอฟต์แวร์อาจจะต่ำลง อย่างไรก็ตาม จากผลการสำรวจ ปรากฎว่า ผู้ใช้งานไม่ค่อยประสบปัญหาเรื่องความเข้ากันได้กับซอฟต์แวร์นักย้อนกลับหัวเรื่อง




            พัฒนาการของ AMD K5 PR เท่าเดิมแต่ประมวลผลเร็วกว่า
อย่างไรก็ตาม ช่วงแรกที่ AMD ผลิต K5 ออกมา โดย PR-100 วิ่งที่ความเร็ว BUS 100 นั้น นอกจากปัญหาเกี่ยวกับการออกแบบที่ยังไม่ได้มาตรฐานเท่าที่ควร และประสิทธิภาพยังไม่เป็นที่พอใจของลูกค้า AMD จึงได้ออกแบบ K5 รุ่นใหม่ออกสู้ตลาด ซึ่งเป็นรุ่นที่ยังคงใช้ PR เหมือนเดิม แต่คราวนี้ PR-133 รันที่ความเร็ว 100 MHz และมีประสิทธิภาพเทียบเท่า Cyrix 6X86 PR-166 หรือเพนเทียม 166 ทั้งนี้เพราะ Cyrix เองก็พัฒนา 6X86 เข้ามาในตลาด และ Intel เองก็ยังมีประสิทธิภาพดีกว่า เมื่อไม่มีทางเลือกอื่น AMD ก็พัฒนา AMD K-5 รุ่นใหม่ออกมา โดยรุ่นที่สูงสุดก็คือ PR166 ซึ่งมีความเร็วเทียบเท่าเพนเทียม 225 MHz หลังจากนั้น AMD ก็เริ่มพัฒนาซีพียูตระกูลใหม่ คือ K6

อเอ็มดี K6
          เป็นซีพียูรุ่นแรกในการพัฒนาการของซีพียูในรุ่นที่ 6 ของ AMDและได้ใส่ความสามารถMMX เข้าไปด้วย ทำให้เมื่อเทียบชั้นกับPentium รุ่นที่เป็น MMX แล้วเหนือกว่าเล็กน้อยโดยผ่ายนอกยังคงใช้บัส 66 MHz และแคชขนาด 256 KB ถึง1MB แต่ความถี่สัญญาณนาฬิกาที่ใช้เพิ่มขึ้นเป็น 166, 200, 233 และ 266 MHz ตามลำดับ ส่วนเมนบอร์ด ซ็อคเก็ต และชิพเซ็ตจะใช้เหมือนกับ Pentium ทุกประการ

            Cyrix M ll Processor

           - เทคโนโลยีของ Cyrix M ll             Cyrix M ll ตัวแรกที่ทดสอบใช้งานนั้น คือ M ll 300GP (รุ่นเดียวกับ IBM PR300 แต่หน้าตาคนละอย่าง) ในการใช้งานนั้น บนตัวซีพียู มีป้ายบอกว่า 66 MHz x 3.5 , 2.9 Volt แสดงว่าต้องกำหนดความเร็วสัญญาณนาฬิกาและตัวคูณ 66 x 3.5 ซึงเท่ากับ 233 MHz แต่ทำไม Cyrix เขียนว่า 300GP ของเพนเทียม MMX ซึ่งผลการทดสอบ เมื่อเทียบกับ Celeron 300A ปารกฏว่าให้ประสิทธิภาพไม่แตกต่างกันมากนัก ถ้าถามว่าแล้ว Cyrix M ll  แตกต่างจาก 6x86MX ตรงไหน แตกต่างเฉพาะชื่อและความเร็วเท่านั้นเอง โครงสร้างภายในของซีพียูยังเหมือนเดิมทุดประการ เฉพาะความเร็วเท่านั้นที่เพิ่มขึ้น อย่างไรก็ตาม สำหรับรุ่นที่ความเร็วสูงเร็วสูงขึ้นไปอีก เช่น PR333 นั้นอาจจะมีการเปลี่ยนแปลงใช้สถาปัตยกรรมทรานซิสเตอร์ขนาด 0.25 ไมครอนแทน 0.35 ไมครอน

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

             - ประสิทธิภาพที่ได้จากการรัน MMX เป็ฯนอย่างไร

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

3.8  เพนเทียม ll

                   เพนเทียม (Pentium) เป็นเครื่องหมายการค้าและแบรนด์ของผลิตภัณฑ์ไมโครโพรเซสเซอร์ x86 หลายตัวจากบริษัทอินเทล[1] เพนเทียมเปิดตัวครั้งแรกเมื่อปี พ.ศ. 2536 โดยใช้สถาปัตยกรรม P5 และมีการพัฒนาต่อเนื่องโดยชิปตัวใหม่ที่ออกมาจะใช้ชื่อรหัสตามหลังคำว่าเพนเทียมเช่น เพนเทียมโปร หรือ เพนเทียมดูอัล-คอร์ จนกระทั่งในปี 2553 ทางอินเทลได้เปลี่ยนระบบการเรียกชื่อชิปในตระกูลเพนเทียมทั้งใหม่หมดให้ใช้เพียงแค่คำว่า "เพนเทียม" โดยไม่มีคำใดต่อท้าย[2]
แม้ว่าเพนเทียมถูกออกแบบมาให้เป็นรุ่นที่ 5 ที่ใช้สถาปัตยกรรม P5 ชิปที่พัฒนาต่อมาได้มีการนำสถาปัตยกรรมตัวใหม่ที่นำมาพัฒนามาใช้ภายใต้ชื่อตระกูลเพนเทียม เช่น P6, เน็ตเบิรสต์, คอร์, เนเฮเลม และล่าสุดคือสถาปัตยกรรมแซนดีบริดจ์
ในปี 2541 เพนเทียมได้ถูกจัดให้เป็นซีพียูสำหรับตลาดบนของทางอินเทลเมื่อบริษัทได้เปิดตัวแบรนด์เซเลรอน  เพื่อใช้สำหรับคอมพิวเตอร์ราคาประหยัด ที่ประสิทธิภาพลดลงมา จนกระทั่งในปี 2549 อินเทลได้เปิดตัวตระกูลคอร์ โดยออกมาในชื่อ อินเทล คอร์ 2 ทำให้สถานะทางการตลาดของเพนเทียมอยู่ในระดับกลาง รองจากตระกูลคอร์แต่อยู่สูงกว่าตระกูลเซเลรอน[4] โดยในปัจจุบันชื่อเพนเทียมเป็นชิปที่อยู่ในราคากลางโดยอยู่ระหว่างอินเทลคอร์และอินเทลเซเลรอน

3.9 เซลเลอรอน (Celeron)


                  เซเลรอน (Celeron) เป็นชื่อแบรนด์ของซีพียู x86 ของทางอินเทล โดยเน้นกลุ่มเป้าหมายที่คอมพิวเตอร์ส่วนบุคคลราคาย่อมเยา โพรเซสเซอร์เซเลรอนสามารถทำงานได้เหมือนตัวอื่นทั่วไป แต่ประสิทธิภาพจะต่ำกว่าโดยมักจะมี หน่วยความจำแคชที่น้อยกว่า หรือมีคุณสมบัติที่น้อยกว่า[1]

เซเลรอนเปิดตัวเมื่อเดือนเมษายน 2541[2] ซีพียูภายใต้ชื่อเซเลรอนตัวแรกพัฒนาจาก เพนเทียม II และต่อมาได้พัฒนาบนฐานของ เพนเทียม III, เพนเทียม 4, เพนเทียม M และ คอร์ 2 ดูโอ ตามลำดับ โดยการออกแบบเซเลรอนรุ่นล่าสุด (2552) พัฒนาบนฐานของ คอร์ 2 ดูโอ วูล์ฟเดลสำหรับเดสก์ทอป และ เพนรินสำหรับแล็ปท็อป โดยทำงานลักษณะของคอร์แยกจากกันอิสระ แต่มีแคชเพียง 25% เมื่อเทียบกับซีพียูคอร์ 2 ดูโอทั่วไป และถัดไปจะพัฒนาบนแซนดีบริดจ์

สรุป
     

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

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