วันจันทร์ที่ 23 พฤศจิกายน พ.ศ. 2558

โครงสร้างและหน้าที่ของซีพียู





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

โครงสร้างภายในซีพียู
          ซีพียูจะทำงานตามคำสั่งที่ผู้ใช้ป้อนเข้าไป ซึ่งคำสั่งดังกล่าวจะถูกเก็บในหน่วย ความจำหลัก ดังนั้นซีพียูจะต้องทำงานดังต่อไปนี้
1) ดึงคำสั่งเข้ามา (fetch instruction) คือการที่ซีพียูอ่านคำสั่งมาจากหน่วยความจำหลักเข้ามาเก็บไว้ภายในตัวซีพียู
2) แปลความหมายของคำสั่ง (interpret instruction) คำสั่งจะถูกแปลความหมาย เพื่อจะได้ทราบว่า คำสั่งนั้นต้องการให้ทำงานอย่างใด 3) ดึงข้อมูล (fetch data) การประมวลผลคำสั่งเครื่องหนึ่งคำสั่ง อาจจำเป็นต้องอ่านข้อมูลจากหน่วยความจำหลักหรืออุปกรณ์ไอโอเข้ามาด้วย 4) ประมวลผลข้อมูล (process data) การประมวลผลคำสั่งอาจเกี่ยวข้องกับการทำงานทางคณิตศาสตร์หรือตรรกะ 5) การบันทึกข้อมูล (write data) ผลการประมวลผลข้อมูลอาจต้องการให้บันทึกผลลัพธ์ที่ได้ไว้ในหน่วยความจำหลักหรืออุปกรณ์ไอโอ
          จากการทำงานดังกล่าว ซีพียูจะมีการติดต่อกับอุปกรณ์ภายนอกรอบ ๆ ตัว โดยจะติดต่อผ่านระบบบัส ซึ่งได้แก่ บัสตำแหน่ง บัสข้อมูล และบัสควบคุมในการประมวลผลคำสั่งแต่ละครั้งจะต้องดึงคำสั่งเข้ามาเก็บในตัวซีพียู หรืออาจต้องดึงข้อมูลเข้ามา ซีพียูอาจต้องจำตำแหน่งที่อยู่ของคำสั่งหรือข้อมูลปัจจุบัน ดังนั้นซีพียูจะต้องจัดเก็บคำสั่งข้อมูลและตำแหน่งไว้ชั่วคราวขณะที่คำสั่งนั้นกำลังได้รับการประมวลผล นั่นคือซีพียูมีความจำเป็นที่จะต้องมีหน่วยความจำไว้ภายในตัวซีพียู ซึ่งเราเรียกหน่วยความจำนี้ว่า รีจีสเตอร์ สำหรับการประมวลผลข้อมูลก็จะมีหน่วยประมวลผล ซึ่งเรียกว่า หน่วยคำนวณและเปรียบเทียบหรือ เอแอลยู (ALU : Arithemetic and logic unit) ทำหน้าที่คำนวณทางคณิตศาสตร์และตรรกะ ในขณะซีพียูมีการทำงานต่าง ๆ ดังกล่าว ก็จะมีหน่วยควบคุมทำหน้าที่ควบคุมการเคลื่อนย้ายข้อมูลและคำสั่งเข้าและออกจากซีพียู และควบคุมการทำงานของหน่วย เอแอลยู

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

         สรุปคือ ซีพียูหรือหน่วยประมวลผลกลาง ถือว่าเป็นสมองของระบบคอมพิวเตอร์มีหน้าที่หลัก ๆ อยู่ 5 อย่างคือ ดึงคำสั่งเข้า แปลความหมายคำสั่ง ดึงข้อมูลเข้า ประมวลผลข้อมูล และบันทึกข้อมูล จากการที่มีหน้าที่ดังกล่าวจึงทำให้โครงสร้างภายในต้องประกอบด้วย รีจีสเตอร์ ซึ่งเป็นหน่วยความจำขนาดเล็กที่จะเก็บคำสั่งและข้อมูล ต้องมีหน่วยคำนวณทางคณิตศาสตร์และตรรกะที่เรียกว่า ALU และต้องมีหน่วยควบคุม เพื่อควบคุมให้องค์ประกอบทุกส่วนทำงานสัมพันธ์กัน
         รีจีสเตอร์อาจแบ่งได้ 2 กลุ่ม คือ กลุ่มของรีจีสเตอร์ที่ผู้ใช้มองเห็น ซึ่งรีจีสเตอร์กลุ่มนี้ จะอนุญาตให้ใช้คำสั่งภาษาเครื่องควบคุมและใช้งานผ่านการประมวลผลโดยซีพียู ได้แก่ รีจีสเตอร์ใช้งานทั่วไป รีจีสเตอร์เก็บตำแหน่งที่อยู่ เป็นต้น อีกกลุ่มหนึ่งคือรีจีสเตอร์สำหรับการควบคุมและรายงานสถานะ ได้แก่ รีจีสเตอร์ที่เก็บที่อยู่ของคำสั่งที่จะประมวลผลต่อไป (PC) รีจีสเตอร์เก็บคำสั่งที่อ่านมาจากหน่วยความจำหลัก (IR), MAR, MBR รวมทั้งกลุ่มที่เรียกว่า PSW








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

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