องค์ประกอบของ CPU
วงจรในหน่วยประมวลผลกลางเรียกว่า “ไมโครโปรเซสเซอร์ (Microprocessor)” ซึ่งเป็นชิปที่ทำจากซิลิกอน ประกอบด้วยส่วนสำคัญ 3 หน่วย ดังนี้
1. หน่วยควบคุม (Control Unit)
หน่วยควบคุม ทำหน้าที่ควบคุมลำดับขั้นตอนการการประมวลผล และการทำงานของอุปกรณ์ต่างๆ ภายในหน่วยประมวลผลกลาง และรวมไปถึงการประสานงานในการทำงานร่วมกันระหว่างหน่วยประมวลผลกลาง กับอุปกรณ์นำเข้าข้อมูล อุปกรณ์แสดงผล และหน่วยความจำสำรองด้วย เมื่อผู้ใช้ต้องการประมวลผล ตามชุดคำสั่งใด ผู้ใช้จะต้องส่งข้อมูลและชุดคำสั่งนั้นๆ เข้าสู่ระบบคอมพิวเตอร์เสียก่อน โดยข้อมูลและชุดคำสั่งดังกล่าว จะถูกนำไปเก็บไว้ในหน่วยความจำหลัก จากนั้นหน่วยควบคุมจะดึงคำสั่งจากชุดคำสั่งที่มีอยู่ในหน่วยความจำหลักออกมาทีละคำสั่งเพื่อทำการแปล ความหมายว่าคำสั่งดังกล่าวสั่งให้ฮาร์ดแวร์ส่วนใด ทำงานอะไรกับข้อมูลตัวใด เมื่อทราบความหมายของคำสั่งนั้นแล้ว หน่วยควบคุมก็จะส่งสัญญาณคำสั่งไปยังฮาร์ดแวร์ ส่วนที่ทำหน้าที่ในการประมวลผลดังกล่าว ให้ทำตามคำสั่งนั้นๆ เช่น ถ้าคำสั่งที่เข้ามานั้นเป็นคำสั่งเกี่ยวกับการคำนวณ หน่วยควบคุมจะส่งสัญญาณ คำสั่งไปยังหน่วยคำนวณและตรรกะ ให้ทำงาน หน่วยคำนวณและตรรกะ ก็จะไปทำการดึงข้อมูลจากหน่วยความจำหลักเข้ามาประมวลผลตามคำสั่ง แล้วนำผลลัพธ์ที่ได้ไปแสดงยังอุปกรณ์แสดงผล หน่วยควบคุมจึงจะส่งสัญญาณคำสั่งไปยัง อุปกรณ์แสดงผลลัพธ์ ที่กำหนดให้ดึงข้อมูลจากหน่วยความจำหลัก ออกไปแสดงให้เห็นผลลัพธ์ดังกล่าว อีกต่อหนึ่ง เปรียบเสมือนสมองที่ควบคุม การทำงานส่วนประกอบต่างๆ ของร่างกายมนุษย์ เช่น แปลคำสั่งที่ป้อน ควบคุมให้หน่วยรับข้อมูลรับข้อมูลเข้ามาเพื่อทำการประมวลผล ตัดสินใจว่าจะให้เก็บข้อมูลไว้ที่ไหน ถูกต้องหรือไม่ ควบคุมให้ ALU ทำการคำนวณข้อมูลที่รับเข้ามา ตลอดจนควบคุมการแสดงผลลัพธ์ เป็นต้น โดยพื้นฐานทั่วไป ส่วนควบคุมจะทำงานเป็น 2 จังหวะ คือ
1. รับคำสั่ง ในจังหวะแรกนี้ ชุดคำสั่งจะถูกดึงจากส่วนความจำเข้าสู่ส่วนควบคุมแล้วแยกออกเป็นสองส่วน คือ ส่วนที่เป็นรหัสคำสั่ง จะแยกไปยังส่วนที่มีชื่อเรียกว่า วงจรสร้างสัญญาณ
(decoder) เพื่อเตรียมทำงานในจังหวะที่สอง และส่วนที่เป็นออเพอแรนด์ จะแยกออกไปยังวงจรอีกส่วนหนึ่ง เพื่อปฏิบัติให้เสร็จสิ้นในจังหวะแรก แล้วเตรียมพร้อมที่จะทำงานในจังหวะต่อไปเมื่อได้รับสัญญาณควบคุมส่งมาบังคับ
2. ปฏิบัติ เมื่อจังหวะแรกได้เสร็จสิ้นไปแล้ว วงจรควบคุมจะสร้างสัญญาณขึ้นเพื่อส่งไปควบคุมส่วนต่างๆ ของเครื่องคอมพิวเตอร์ตามรหัสคำสั่งที่ได้รับมา เช่น การบวก ลบ คูณ หาร หรือย้ายข้อมูล เครื่องคอมพิวเตอร์หลายแบบใช้วงจรควบคุม ที่เป็นวงจรอิเล็กทรอนิกส์ที่สร้างเสร็จเรียบร้อยติดไว้ในเครื่อง เครื่องคำนวณจะเก็บสัญญาณควบคุมเหล่านี้ไว้ในส่วนความจำพิเศษที่เรียกว่า “รอม (ROM)”
2. หน่วยคำนวณและตรรกะ (Arithmetic & Logical Unit : ALU)
หน่วยคำนวณตรรกะ ทำหน้าที่เหมือนกับเครื่องคำนวณอยู่ในเครื่องคอมพิวเตอร์โดยทำงานเกี่ยวข้องกับ การคำนวณทางคณิตศาสตร์ (Arithmetic operations) เช่น บวก ลบ คูณ หาร นอกจากนี้หน่วยคำนวณและตรรกะของคอมพิวเตอร์ ยังมีความสามารถอีกอย่างหนึ่งที่เครื่องคำนวณธรรมดาไม่มี คือ ความสามารถในเชิงตรรกะศาสตร์ (Logical operations) หมายถึง ความสามารถในการเปรียบเทียบตามเงื่อนไข และกฎเกณฑ์ทางคณิตศาสตร์ เพื่อให้ได้คำตอบออกมาว่าเงื่อนไขนั้นเป็นจริง หรือ เท็จ เช่น เปรียบเทียบมากว่า น้อยกว่า เท่ากัน ไม่เท่ากัน ของจำนวน 2 จำนวน เป็นต้น ซึ่งการเปรียบเทียบนี้มักจะใช้ในการเลือกทำงานของเครื่องคอมพิวเตอร์จะทำตามคำสั่งใดของโปรแกรมเป็นคำสั่งต่อไป โดยอาศัยตัวปฏิบัติการพื้นฐาน 3 ค่า คือ
· เงื่อนไขเท่ากับ (= , Equal to condition)
· เงื่อนไขน้อยกว่า (< , Less than condition)
· เงื่อนไขมากกว่า (> , Greater than condition)
สำหรับตัวปฏิบัติการทางตรรกะ สามารถนำมาผสมกันได้ทั้งหมด 6 รูปแบบ คือ
· เงื่อนไขเท่ากับ (= , Equal to condition)
· เงื่อนไขน้อยกว่า (< , Less than condition)
· เงื่อนไขมากกว่า (> , Greater than condition)
· เงื่อนไขน้อยกว่าหรือเท่ากับ (<= , Less than or equal condition)
· เงื่อนไขมากกว่าหรือเท่ากับ (>= , Greater than or equal condition)
· เงื่อนไขน้อยกว่าหรือมากกว่า (< > , Less than or greater than condition) ซึ่งเป็นเงื่อนไขที่มีค่า คือ “ไม่เท่ากับ (not equal to)” นั่นเอง
อีกทั้งยังแบ่งเป็นวงจรได้ 5 ชนิด คือ
1. วงจรตรรกะจัดหมู่ (combination logic) เป็นวงจรที่ให้สัญญาณผลลัพธ์ขึ้นอยู่กับสภาวะของสัญญาณที่ป้อนเข้าเท่านั้น วงจรนี้จึงไม่สามารถเก็บสัญญาณไว้ได้
2. วงจรตรรกะจัดลำดับ (sequential logic) เป็นวงจรที่มีสัญญาณผลลัพธ์ขึ้นอยู่กับสัญญาณป้อนเข้า และขึ้นอยู่กับสภาวะเดิมของสัญญาณผลลัพธ์ วงจรนี้มีคุณสมบัติที่สามารถเก็บสัญญาณ หรือความจำไว้ได้ แต่เมื่อเลิกทำงานไฟฟ้าที่ไปเลี้ยงวงจรเหล่านี้ สัญญาณหรือความจำจะสูญหายไป เช่น วงจรฟลิปฟล็อป (flip-flop) วงจรนับ (counter) วงจรชิฟต์รีจิสเตอร์ (shiftregister)
3. วงจรบวก คือ วงจรที่ทำหน้าที่บวกเลขฐานสอง โดยอาศัยวงงจรตรรกะเข้ามาประกอบเป็นวงจรบวกครึ่ง (half adder ; H.A.) ซึ่งจะให้ผลบวก S และการทดออก Co เมื่อนำเอาวงจรบวกครึ่งสองวงจรกับเกตหนึ่งวงจรมารวมกันเป็นวงจรบวกเต็ม โดยมีการทดเข้า ทดออก และผลบวก
4. วงจรลบ คือ วงจรที่ทำหน้าที่คล้ายวงจรบวก โดยใช้วงจรอินเวอร์เทอร์เข้าเปลี่ยนเลขตัวลบให้เป็นตัวประสม 1 (1's complement) คือเปลี่ยนเลข “0” เป็น “1” หรือ “0” เป็น “0” แล้วนำเข้าบวกกับตัวตั้งจึงจะได้ผลลบตามต้องการ
5. วงจรคูณและหาร การคูณสามารถทำได้ด้วยการบวกซ้ำๆ กัน และการหารสามารถทำได้ด้วยการลบซ้ำๆ กัน ดังนั้น การคูณ คือ การจัดให้วงจรบวกทำการบวกซ้ำๆ กัน ส่วนการหารก็คือ การจัดให้วงจรลบทำการลบซ้ำ นอกจากหลักการดังกล่าวแล้ว อาจจะใช้อีกหลักการหนึ่ง คือ การคูณหารบางประเภทสามารถทำได้โดยการเลื่อนจุดไปทางซ้ายหรือขวา เช่น 256.741 X 100 = 25674.1 หรือ 256.741 / 100 = 2.56741 เป็นต้น ส่วนเลขฐานสองที่คอมพิวเตอร์ใช้ก็ทำได้ในทำนองเดียวกัน
3. หน่วยความจำหลัก (Main Memory)
คอมพิวเตอร์จะสามารถทำงานได้เมื่อมีข้อมูล และชุดคำสั่งที่ใช้ในการประมวลผลอยู่ในหน่วยความจำหลักเรียบร้อยแล้วเท่านั้น และหลังจากทำการประมวลผลข้อมูลตามชุดคำสั่งเรียบร้อยแล้ว ผลลัพธ์ที่ได้จะถูกนำไปเก็บไว้ที่หน่วยความจำหลัก และก่อนจะถูกนำออกไปแสดงที่อุปกรณ์แสดงผล สามารถแบ่งได้เป็น 2 ประเภท คือ
· หน่วยความจำสำหรับเก็บคำสั่ง (Program Memory)
· หน่วยความจำสำหรับเก็บข้อมูลและคำสั่ง (Data & Programming Memory)
การทำงานขององค์ประกอบของ CPU
1 ความคิดเห็น:
Ty
แสดงความคิดเห็น