วันศุกร์ที่ 1 สิงหาคม พ.ศ. 2557



โครงสร้างหน่วยประมวลผลกลาง และระบบการทำงาน


       หน่วยประมวลผลกลาง CPU (Central Processing Unit)


                         



   หน่วยประมวลผลกลาง (Central Processing Unit) หรือบางครั้งอาจเรียกกันติดปากว่า CPU (ซีพียู) หรือ โปรเซสเซอร์ (Processor) เป็นองค์ประกอบที่สำคัญส่วนหนึ่งของเครื่องคอมพิวเตอร์ทุกประเภทในโลก ถ้าเปรียบกับไปก็เสมือนกับเป็นมันสมองให้กับคอมพิวเตอร์นั่นเอง หน่วยประมวลผลกลางจะประกอบไปด้วยวงจรทางไฟฟ้ามากมาย ที่อยู่บนแผ่นซิลิกอนชิบซึ่งมีขนาดเล็กมาก ๆ

   

    หน้าที่ของหน่วยประมวลผลกลางมีดังนี้

1. อ่านและแปรคำสั่งที่ถูกเขียนไว้ในโปรแกรม
2. ประมวลผลตามคำสั่งที่เขียนไว้ในโปแกรม
3. รับส่งข้อมูลโดยติดต่อกับหน่วยความจำภายในเครื่อง
4. ติดต่อรับส่งข้อมูลกับผู้ใช้ โดยผ่านหน่วยรับข้อมูล และหน่วยแสดงผล
5. ย้ายข้อมูลและคำสั่งจากหน่วยงานหนึ่งไปยังอีกหน่วยงานหนึ่ง

     โครงสร้างการทำงานของ CPU





มีส่วนประกอบ 3 ส่วนใหญ่ ๆ ซึ่งได้แก่



1. หน่วยควบคุม  (Control Unit)



                                          



mouse
                                    
           
   หน่วยควบคุม ทำหน้าที่ ควบคุมการทำงานของเครื่องคอมพิวเตอร์ทั้งระบบ เช่น ควบคุมการทำงานของความจำหลัก หน่วยรับข้อมูล หน่วยคำนวณและตรรกะ หน่วยแสดงผล และที่เก็บข้อมูลต่าง ๆ ดังนั้นการทำงานของหน่วยนี้จึงเปรียบเสมือนเป็นศูนย์กลางระบบประสาทที่ทำหน้าที่ควบคุมการทำงานของส่วนประกอบต่าง ๆ ของเครื่องคอมพิวเตอร์ โดยที่หน่วยควบคุมและซีพียูจะรับรู้คำสั่งต่าง ๆ ในรูปของคำสั่งภาษาเครื่องเท่านั้น ถ้าผู้ใช้เขียนโปรแกรมโดยใช้ภาษาระดับสูง (High Level Language) ก่อนที่จะสั่งให้คอมพิวเตอร์ทำงานจะต้องมีการแปลงเป็นภาษาระดับต่ำ (Low Level Language) ก่อน
    หน่วยความจำแคช (cache memory)เป็นหน่วยความจำขนาดเล็กที่อยู่ภายในซีพียู เรียกว่า หน่วยความจำระดับ 2(L2: Level 2)ปกติมักมีขนาด 512 กิโลไบต์ (512 K)ทำหน้าที่เก็บพักข้อมูลที่จะต้องประมวลผลไว้ล่วงหน้าและเก็บพักข้อมูลที่ประมวลผลแล้วรอการส่งออกทำให้ซีพียูทำงานเร็วขึ้ส่วนหน่วยความจำที่ทำหน้าที่ทำหน้าที่เก็บพักข้อมูลที่อยู่นอกซีพียูเป็นหน่วยความจำระดับ 3


2. หน่วยความจำหลัก

   หน่วยความจำหลัก มีหน้าที่ ในการเก็บ ข้อมูล และโปรแกรม ที่จะให้ ซีพียู เรียกไป ใช้งานได้หน่วยความจำหลัก เป็นอุปกรณ์ ที่ทำมาจาก ไอซี เช่นเดียวกัน วงจร หน่วยความจำ เก็บข้อมูล ในรูปตัวเลข ฐานสอง ซึ่งก็ คือสัญญาณ ทางไฟฟ้า การเก็บข้อมูล จะเก็บรวมกัน เป็นกลุ่ม เช่น 8บิต รวมกัน เป็น 1ไบต์ หน่วยความจำ จะมีที่เก็บได้ เป็นจำนวนมาก เช่นใน เครื่องคอมพิวเตอร์ มีหน่วย ความจำหลัก 8 เมกะไบต์ หมายถึง สามารถ เก็บข้อมูล หรือคำสั่งได้ 8 x 1024 x 1024 ไบต์ นั่นเอง (ประมาณ 2000 หน้ากระดาษ)การเก็บข้อมูล ในหน่วยความจำเก็บ โดยกำหนด ตำแหน่งที่อยู่ข้อมูล (address)ซีพียู จะเขียนหรืออ่านข้อมูล ในหน่วยความจำ ต้องอ้าง ตำแหน่งที่อยู่ โดยปกติ ซีพียู จะอ้างอิง ข้อมูลที่ ตำแหน่งที่ อยู่ใดๆ ได้ทันที การอ้าง ตำแหน่ง ที่อยู่ข้อมูล แบบนี้ เรียกว่า การเข้าถึง โดยสุ่ม (random access)คอมพิวเตอร์ทุกเครื่องต้องอาศัยหน่วยความจำหลักเพื่อใช้เก็บข้อมูลและคำสั่งซีพียูมีการทำงานเป็นวงรอบโดยการคำสั่งจากหน่วยความจำหลักมาแปลความหมายแล้วกระทำตาม เมื่อทำเสร็จก็จะนำผลลัพธ์มาเก็บในหน่วยคำจำหลัก ซีพียูจะกระทำตามขั้นตอนเช่นนี้เรื่อย ๆ ไปอย่างรวดเร็ว เรียกการทำงานลักษณะนี้ว่า วงรอบของคำสั่ง จากการทำงานเป็นวงรอบของซีพียูนี้เอง การอ่างเขียนข้อมูลลงในหน่วยความจำหลักจะต้องทำได้รวดเร็ว เพื่อให้ทันการทำงานของซีพียู โดยปกติถ้าให้ซีพียูทำงานความถี่ของสัญญาณนาฬิกา 33 เมกะเฮิรตซ์ หน่วยความจำหลักที่ใช้ทั่วไปมักจะมีความเร็วไม่ทัน ดังนั้นกลไกของซีพียูจึงต้องชะลอความเร็วลงด้วยการสร้างภาวะรอ(wait state)การเลือกซื้อไมโครคอมพิวเตอร์จึงต้องพิจารณาดูว่ามีภาวะรอในการทำงานด้วยหรือไม่


   หน่วยความจำหลักที่ใช้กับไมโครคอมพิวเตอร์จึงต้องกำหนดคุณลักษณะ ในเรื่องช่วงเวลาเข้าถึงข้อมูล (access time) ค่าที่ใช้ทั่วไปอยู่ในช่วงประมาณ 60 นาโนวินาที ถึง 125 นาโนวินาที ( 1 นาโนวินาทีเท่ากับ 10-9 วินาที) แต่อย่างไรก็ตาม มีการพัฒนาให้หน่วยความจำสามารถใช้กับซีพียูที่ทำงานเร็วขนาด 33 เมกะเฮิรตซ์ ได้ โดยการสร้างหน่วยความจำพิเศษมาคั่นกลางไว้ ซึ่งเรียกว่า หน่วยความจำแคช (cache memory) ซึ่งเป็นหน่วยความจำที่เพิ่มเข้ามาเพื่อนำชุดคำสั่ง หรือข้อมูลจากหน่วยความจำหลักมาเก็บไว้ก่อน เพื่อให้ซีพียูเรียกใช้ได้เร็วขึ้นการแบ่งประเภทหน่วยความจำหลัก ถ้าแบ่งตามลักษณะการเก็บข้อมูล กล่าวคือถ้าเป็นหน่วยความจำที่เก็บข้อมูลไว้แล้ว หากไฟฟ้าดับ คือไม่มีไฟฟ้าจ่ายให้กับวงจรหน่วยความจำ ข้อมูลที่เก็บไว้จะหายไปหมด เรียกหน่วยความจำประเภทนี้ว่า หน่วยความจำแบบลบเลือนได้ (volatile memory) แต่ถ้าหน่วยความจำเก็บข้อมูลได้โดยไม่ขึ้นกับไฟฟ้าที่เลี้ยงวงจร ก็เรียกว่า หน่วยความจำไม่ลบเลือน (nonvolatile memory)แต่โดยทั่วไปการแบ่งประเภทของหน่วยความจำจะแบ่งตามสภาพการใช้งาน เช่น ถ้าเป็นหน่วยความจำที่เขียนหรืออ่านข้อมูลได้ การเขียนหรืออ่านจะเลือกที่ตำแหน่งใดก็ได้ เราเรียกหน่วยความจำประเภทนี้ว่าแรม (Random Access Memory: RAM) แรมเป็นหน่วยความจำแบบลบเลือนได้ และหากเป็นหน่วยความจำที่ซีพียูอ่านได้อย่างเดียว ไม่สามารถเขียนลงไปได้ ก็เรียกว่า รอม (Read Only Memory : ROM)รอมจึงเป็นหน่วยความจำที่เก็บข้อมูลหรือโปรแกรมไว้ถาวร เช่นเก็บโปรแกรมควบคุมการจัดการพื้นฐานของระบบไมโครคอมพิวเตอร์ (bios) รอมส่วนใหญ่เป็นหน่วยความจำไม่ลบเลือนแต่อาจยอมให้ผู้พัฒนาระบบลบข้อมูลและเขียนข้อมูลลงไปใหม่ได้ การลบข้อมูลนี้ต้องทำด้วยกรรมวิธีพิเศษ เช่น ใช้แสงอุลตราไวโลเล็ตฉายลงบนผิวซิลิกอน หน่วยความจำประเภทนี้มักจะมีช่องกระจกใสสำหรับฉายแสงขณะลบ และขณะใช้งานจะมีแผ่นกระดาษทึบปิดทับไว้ เรียกหน่วยความจำประเภทนี้ว่า อีพร็อม(Erasable Programmable Read Only Memory : EPROM)




3. หน่วยคำนวณและตรรกะ


                                             
         หน่วยคำนวณและตรรกะ (Arithmetic & Logical Unit : ALU)    หน่วยคำนวณและตรรกะเป็นหน่วยที่ทำหน้าที่คำนวณทางเลขคณิตได้แก่ การบวก ลบ คูณ หาร และเปรียบเทียบทางตรรกะเพื่อทำการตัดสินใจ เช่น ทำการเปรียบเทียบข้อมูล เพื่อตรวจสอบว่าปริมาณหนึ่ง น้อยกว่า เท่ากับ หรือมากกว่า อีกปริมาณหนึ่ง แล้วส่งผลการเปรียบเทียบว่า จริงหรือเท็จไปยังหน่วยความจำเพื่อทำงานต่อไป ตามขั้นตอนที่กำหนดไว้ในเงื่อนไข การทำงานของเอแอลยู คือ รับข้อมูลจากหน่วยความจำ มาไว้ในที่เก็บชั่วคราวของเอแอลยูซึ่งเรียกว่า รีจิสเตอร์        ( register ) เพื่อทำการคำนวณแล้วส่งผลลัพธ์กลับไปยังหน่วยความจำ ทั้งนี้ในการส่งข้อมูลระหว่างอุปกรณ์ต่างๆ ข้อมูลระหว่างอุปกรณ์ต่างๆ ข้อมูลและคำสั่งจะอยู่ในรูปของสัญญาณไฟฟ้า แล้วยังส่งไปยัง อุปกรณ์ต่างๆ ผ่านระบบส่งถ่ายข้อมูลผ่านในที่เรียกว่าบัส ( bus )

      กลไกลการทำงานของหน่วยประมวลผลกลาง มีความสลับซับซ้อน ผู้พัฒนาซีพียูได้สร้างกลไกให้ทำงานได้ดีขึ้น โดยแบ่งการทำงาน ออกเป็นส่วนๆ มีการทำงานแบบขนาน และทำงานเหลื่อมกันเพื่อให้ทำงานได้เร็วขึ้น

ในด้านความเร็วของซีพียู ถูกกำหนดโดยปัจจัย 2 อย่าง ปัจจัยแรกคือ สถาปัตยกรรมภายในของซีพียูแต่ละรุ่น ซีพียูที่ได้รับการออกแบบภายใน ที่ดีกว่าย่อมมีประสิทธิภาพในการประมวลผลที่ดีกว่า การพัฒนาทางด้านสถาปัตยกรรมก็มีส่วนทำให้ลักษณะของซีพียูแตกต่างกันไป ดังในรูป จะเห็นความแตกต่างระหว่างซีพียูเพนเทียมในรุ่นแรกๆ กับซีพียูเพนเทียมโฟร์

         นอกจากนี้ อีกปัจจัยหนึ่งที่เป็นตัวกำหนดความเร็วของซีพียู คือความถี่ของสัญญาณนาฬิกา ( clock ) ซึ่งเป็นสัญญาณไฟฟ้าที่คอยกำหนดจังหวะการทำงานประสานของงจรภายในให้สอดคล้องกัน ในอดีตสัญญาณดังกล่าวจะมีความถี่ในหน่วยเป็นเมกะเฮิรตซ์ ( megahertz ) หรือล้านครั้งต่อวินาที ดังนั้นสำหรับซีพียูที่มีสถาปัตยกรรมภายในเหมือนทุกประการ แต่ความถี่สัญญาณนาฬิกาต่างกัน ซีพียูที่มีความถี่สัญญาณนาฬิกาต่างกัน ซีพียูที่มีความถี่สัญญาณนาฬิกาสูงกว่าจะทำงานได้เร็วกว่าและซีพียูที่มีอยู่ในปัจจุบันมีความถี่ในระดับจิกะเฮิรตซ์

        จะเป็นส่วนที่ทำการคำนวณและประมวลผลคำสั่งที่ถูกนำเข้ามาภายในตัวซีพียู เมื่อกระทำคำสั่งในขั้นตอนนี้แล้ว มีการคำนวณทางด้านคณิตศาสตร์เกิดขึ้นแบบง่าย ๆ ก็จะทำการคำนวณให้เสร็จสิ้น แล้วส่งออกสู่การแสดงผล เป็นส่วนที่ทำหน้าที่คำนวณและเปรียบเทียบข้อมูล หรือตรวจสอบเงื่อนไขต่าง ๆ โดยไม่จำเป็นต้องไปส่งให้ส่วนการประมวลผลแบบตัวเลขทศนิยม (Math Co Processor) ทำงาน แค่ ALU ก็พอแล้ว จะทำหน้าที่ในการที่ทำให้ซีพียูสามารถติดต่อกับอุปกรณ์ภายนอกได้ โดยผ่านช่องทางของเจ้า Bus Interface Unit ส่วนนี้ 



ซีพียูทำการประมวลผลซีพียู


       จากรูปโครงสร้างการทำงานของซีพียูข้างต้น ซีพียูจะทำการอ่านคำสั่งเข้ามาในส่วนของ Execution Unit ทีละ 1 คำสั่ง จากนั้นจึงทำการถอดรหัสหรือแปลคำสั่งนั้น พร้อมทั้งตีความตามคำสั่งว่าให้ทำอะไร อย่างไร เมื่อกระทำคำสั่งในส่วนนี้เสร็จ หากมีการต้องการเปรียบเทียบ ข้อมูล เช่น จริง,เท็จ หรือมีการคำนวณทางคณิตศาสตร์เกิดขึ้นก็จะส่งไปให้ในส่วนของ Arithmetic Logic Unit (ALU) เมื่อกระทำเสร็จเรียบแล้ว จะถูกส่งออกไปยังส่วนการแสดงผล โดยผ่าน Bus Interface ซึ่งเป็นส่วนในการจัดการให้ อุปกรณ์อื่น ๆ สามารถติดต่อสื่อสารกับซีพียูได้


       พัฒนาการของซีพียูการทำงานของซีพียูจะมีการทำงานกับข้อมูลในหน่วยความจำตลอดเวลา นอกจากนี้ยังอาจจะทำคำสั่งอ่านข้อมูลมูลจากอุปกรณ์รับข้อมูลและเขียนข้อมูลไปที่อุปกรณ์บันทึกหรือแสดงผลอีกด้วย
 ตารางข้างล่างนี้ จะเป็นการแสดงให้เห็นถึงพัฒนาการของซีพียูรุ่นต่าง ๆ พอสังเขป


CPU
Internal Bus
CPU
Internal Bus
Intel 8086
16 Bit
Intel 80386 SX
32 Bit
Intel 8088
16 Bit
Intel 80486 (80486DX)
32 Bit
Intel 80286
16 Bit
Intel 80486SX
32 Bit
Intel 80386 (80386DX)
32 Bit
Intel Pentium
64 Bit


     การพัฒนาซีพียูเป็นรุ่นต่าง ๆ ดังที่ได้เห็นได้พบกันนั้น จะมีหัวใจหลักในการพัฒนาคือในเรื่องของ ความเร็ว ,ความสามารถในการประมวลผล ,แรงไฟที่จ่ายจะต้องน้อยลงเรื่อย ๆ ทำให้ความร้อนเกิดขึ้นน้อยลง แต่ความสามารถเพิ่มขึ้นในหลาย ๆ ด้านด้วยกัน


ขอบคุณน่ะที่รับฟัง

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

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