หน่วยประมวลผลกลางหรือซีพียู เรียกอีกชื่อหนึ่งว่า โปรเซสเซอร์ (Processor) หรือ ชิป (Chip) นับเป็นอุปกรณ์ที่มีความสำคัญมากที่สุดของฮาร์ดแวร์ เพราะมีหน้าที่ในการประมวลผลข้อมูลที่ผู้ใช้ป้อน เข้ามาทางอุปกรณ์อินพุต ตามชุดคำสั่งหรือโปรแกรมที่ผู้ใช้ต้องการใช้งาน
CPU เปรียบเสมือนสมองของเครื่องคอมพิวเตอร์ มีหน้าที่ในการคำนวณประมวลผลข้อมูลและเป็นศูนย์กลางการควบคุมการทำงานของอุปกรณ์ต่าง ๆ โดย CPU ประกอบด้วย 3 ส่วนหลัก ได้แก่
1. ส่วนควบคุม (Control Unit) เป็นศูนย์กลางการควบคุมการทำงานภายในหน่วยประมวลผล
2. ส่วนการคำนวณทางคณิตศาสตร์ (Arithmetic/Logic Unit) เป็นส่วนของการคำนวณต่าง ๆ
3. ส่วนหน่วยความจำและรีจิสเตอร์(Primary Memory/Register) ช่วยในการเก็บข้อมูลชั่วคราวเพื่อนำไปประมวลผลหรือจัดเตรียมข้อมูลก่อนและหลังการจัดเก็ยข้อมูล
การทำงานของซีพียูุ
วงจรในหน่วยประมวลผลกลางเรียกว่า “ไมโครโปรเซสเซอร์ (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)
2. หน้าที่ของหน่วยประมวลผล
หน่วยประมวลผลกลางมีหน้าที่ประมวลผลข้อมูลต่างๆ ในระบบคอมพิวเตอร์ โดยหน่วยประมวลผลกลางจะทำงานตามโปรแกรมที่ระบุโดยผู้ใช้ ขั้นตอนการทำงานของหน่วยประมวลผลกลางมีลักษณะเป็นวงรอบ โดยขั้นแรกหน่วยประมวลผลกลางจะอ่านคำสั่งจากหน่วยความจำ (fetch) จากนั้นหน่วยประมวลผลกลางจะตีความคำสั่งนั้น (decode) และในขั้นตอนสุดท้ายหน่วยประมวลผลกลางก็จะประมวลผลตามคำสั่งที่อ่านเข้ามา (excute) เมื่อทำงานเสร็จหน่วยประมวลผลก็จะเริ่มอ่านคำสั่งเข้ามาอีกครั้ง
การทำงานของหน่วยประมวลผลกลาง ประกอบด้วยการคำนวณทางคณิตศาสตร์พื้นฐาน เช่น การบวก ลบ คูณ หาร การเปรียบเทียบข้อมูลสองจำนวน การควบคุมการเคลื่อนย้ายข้อมูลในส่วนต่างๆ ของระบบ เช่น เคลื่อนย้ายข้อมูลระหว่างอุปกรณ์รับข้อมูล อุปกรณ์แสดงผลกับหน่วยความจำ เป็นต้น
3. กลไกการทำงานของหน่วยประมวลผล
หน่วยประมวลผลกลางจะทำงานตามชุดคำสั่ง (instructions) ที่อ่านขึ้นมาจากหน่วยความจำหลักเท่านั้น จะเรียกสถาปัตยกรรมของระบบคอมพิวเตอร์ที่มีการเก็บโปรแกรม และข้อมูลไว้ในหน่วยความจำหลัก โดยที่หน่วยประมวลผลจะทำงานกับหน่วยความจำเท่านั้น ว่า Stored Program Architecture หรือ คอมพิวเตอร์แบบวอนนอยแมน(von Neumann Computer) โดยตั้งเป็นเกียรติให้กับ “John von Neumann”
ชุดคำสั่งของคอมพิวเตอร์ โดยทั่วไปจะประกอบด้วยส่วนย่อยๆ 2 ส่วน คือ ส่วนOpcode ซึ่งเป็นส่วนที่ระบุประเภทของการประมวลผล และส่วน Operand ซึ่งเป็นส่วนที่ระบุข้อมูลสำหรับการประมวลผลตามที่ระบุใน opcode
โดยปกตินิยมใช้ไมโครโปรเซสเซอร์ ทำหน้าที่เป็นหน่วยประมวลผลกลาง ในระบบคอมพิวเตอร์ ดังนั้น การอ้างถึงไมโครโปรเซสเซอร์จะอ้างถึงในหน้าที่ที่เป็นหน่วยประมวลผลกลาง โดยคำสองคำนี้อาจใช้แทนกันได้ มีกลไกที่สำคัญ ดังนี้
1. การทำงานของคอมพิวเตอร์ ใช้หลักการเก็บคำสั่งไว้ที่หน่วยความจำ ซีพียูอ่านคำสั่งจากหน่วยความจำมาแปลความหมายและกระทำตามเรียงกันไปทีละคำสั่ง หน้าที่หลักของซีพียู คือควบคุมการทำงานของคอมพิวเตอร์ทั้งระบบ ตลอดจนทำการประมวลผล
2. การทำงานของซีพียู มีความสลับซับซ้อน ผู้พัฒนาซีพียูได้สร้างกลไกให้ทำงานได้ดีขึ้น โดยแบ่งการทำงานเป็นส่วนๆ มีการทำงานแบบขนาน และทำงานเหลื่อมกันเพื่อให้ทำงานได้เร็วขึ้น
|
ไม่มีความคิดเห็น:
แสดงความคิดเห็น