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


หน่วยประมวลผลกลาง(central processing unit) หรือที่นิยมเรียกสั้น ๆ ว่า ซีพียู (CPU)



เป็นวงจรอิเลคทรอนิคที่ทำงาน หรือประมวลผล ตามชุดของคำสั่งเครื่องจากซอฟต์แวร์ คำนี้เริ่มใช้ในอุตสาหกรรมคอมพิวเตอร์ตั้งแต่ต้นศตวรรษ 1960s

หน่วยประมวลผลเปรียบเสมือนเป็นสมองของคอมพิวเตอร์ ในการทำหน้าที่ตัดสินใจหรือคำนวณ จากคำสั่งที่ได้รับมา เช่น การเปรียบเทียบ การกระทำการทางคณิตศาสตร์ ฯลฯ
โดยมีกระบวนการพื้นฐานคือ
    • 1. อ่านชุดคำสั่ง (fetch)
    • Fetch - การอ่านชุดคำสั่งขึ้นมา 1 คำสั่งจากโปรแกรม ในรูปของระหัสเลขฐานสอง (Binary Code from on-off of BIT)
    • 2. ตีความชุดคำสั่ง (decode)
    • Decode - การตีความ 1 คำสั่งนั้นด้วยวงจรถอดรหัส (Decoder circuit) ตามจำนวนหลัก (BIT) ว่ารหัสนี้จะให้วงจรอื่นใดทำงานด้วยข้อมูลที่ใด
    • 3. ประมวลผลชุดคำสั่ง (execute)
    • Execute - การทำงานตาม 1 คำสั่งนั้น คือ วงจรใดในไมโครโปรเซสเซอร์ทำงาน เช่น วงจรบวก วงจรลบ วงจรเปรียบเทียบ วงจรย้ายข้อมูล ฯลฯ
    • 4. อ่านข้อมูลจากหน่วยความจำ (memory)
    • Memory - การติดต่อกับหน่วยความจำ การใช้ข้อมูที่อยู่ในหน่วยจำชั่วคราว (RAM, Register) มาใช้ในคำสั่งนั้นโดยอ้างที่อยู่ (Address)
    • 5. เขียนข้อมูล/ส่งผลการประมวลกลับ (write back)
    Write Back - การเขียนข้อมูลกลับ โดยมีหน่วยจำ Register ช่วยเก็บที่อยู่ของคำสั่งต่อไป ภายหลังมีคำสั่งกระโดดบวกลบที่อยู่ โปรเซสเซอร์ (Processor) หรือ ชิป (chip)  นับเป็นอุปกรณ์ ที่มีความสำคัญมากที่สุด ของฮาร์ดแวร์เพราะมีหน้าที่ในการประมวลผลข้อมูลที่ผู้ใช้ป้อน เข้ามาทางอุปกรณ์อินพุต ตามชุดคำสั่งหรือโปรแกรมที่ผู้ใช้ต้องการใช้งาน หน่วยประมวลผลกลาง ประกอบด้วยส่วนประสำคัญ 3 ส่วน คือ
1. หน่วยคำนวณและตรรกะ (Arithmetic & Logical Unit : ALU)
หน่วยคำนวณตรรกะ ทำหน้าที่เหมือนกับเครื่องคำนวณอยู่ในเครื่องคอมพิวเตอร์โดยทำงานเกี่ยวข้องกับ การคำนวณทางคณิตศาสตร์ เช่น บวก ลบ คูณ หาร นอกจากนี้หน่วยคำนวณและตรรกะของคอมพิวเตอร์ ยังมีความสามารถอีกอย่างหนึ่งที่เครื่องคำนวณธรรมดาไม่มี คือ ความสามารถในเชิงตรรกะศาสตร์ หมายถึง ความสามารถในการเปรียบเทียบตามเงื่อนไข และกฎเกณฑ์ทางคณิตศาสตร์ เพื่อให้ได้คำตอบออกมาว่าเงื่อนไข นั้นเป็น จริง หรือ เท็จ เช่น เปรียบเทียบมากว่า น้อยกว่า เท่ากัน ไม่เท่ากัน ของจำนวน 2 จำนวน เป็นต้น ซึ่งการเปรียบเทียบนี้มักจะใช้ในการเลือกทำงานของเครื่องคอมพิวเตอร์ จะทำตามคำสั่งใดของโปรแกรมเป็น คําสั่งต่อไป

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

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



ศึกษาเพิ่มเติม