ซีพียูหรือหน่วยประมวลผลกลาง อาจจะเป็นโปรเชสเซอร์เพียงซีพียูเดียวหรืออาจเป็นโปรเชสเซอร์ต่อร่วมกับชิ้นส่วนไอซีอื่น
ๆ ก็ได้ ในบทนี้จะได้อธิบายถึงโครงสร้างตลอดจนกลไกภายในของซีพียู เพื่อเป็นพื้นฐานที่จะนำไปใช้ในการศึกษาสถาปัตยกรรมของซีพียูในระดับสูงต่อไป
เนื้อหาจะเริ่มต้นด้วยการอธิบายการจัดองค์ประกอบการภายในโปรเชสเซอร์ รีจีสเตอร์ซึ่งเป็นเสมือนหน่วยความจำที่เก็บอยู่ภายในโปรเชสเซอร์
ตัวอย่างการจัดองค์ประกอบของรีจีสเตอร์ใน โปรเชสเซอร์รุ่นต่าง ๆ จากนั้นจะกล่าวถึงวัฎจักรหรือวงรอบของคำสั่ง
ขั้นตอนการทำงานของซีพียูในแต่ละวัฎจักร และสุดท้ายจะอธิบายการไหลเวียนของข้อมูลในขณะที่โปรเชสเซอร์ทำงาน
ในแต่ละวัฏจักร เพื่อเสริมความเข้าใจการทำงานภายในของซีพียูให้มากขึ้น
โครงสร้างภายในซีพียู
ซีพียูจะทำงานตามคำสั่งที่ผู้ใช้ป้อนเข้าไป
ซึ่งคำสั่งดังกล่าวจะถูกเก็บในหน่วย ความจำหลัก ดังนั้นซีพียูจะต้องทำงานดังต่อไปนี้
1) ดึงคำสั่งเข้ามา (fetch instruction) คือการที่ซีพียูอ่านคำสั่งมาจากหน่วยความจำหลักเข้ามาเก็บไว้ภายในตัวซีพียู
2) แปลความหมายของคำสั่ง (interpret instruction) คำสั่งจะถูกแปลความหมาย เพื่อจะได้ทราบว่า คำสั่งนั้นต้องการให้ทำงานอย่างใด 3) ดึงข้อมูล (fetch data) การประมวลผลคำสั่งเครื่องหนึ่งคำสั่ง อาจจำเป็นต้องอ่านข้อมูลจากหน่วยความจำหลักหรืออุปกรณ์ไอโอเข้ามาด้วย 4) ประมวลผลข้อมูล (process data) การประมวลผลคำสั่งอาจเกี่ยวข้องกับการทำงานทางคณิตศาสตร์หรือตรรกะ 5) การบันทึกข้อมูล (write data) ผลการประมวลผลข้อมูลอาจต้องการให้บันทึกผลลัพธ์ที่ได้ไว้ในหน่วยความจำหลักหรืออุปกรณ์ไอโอ
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
ไม่มีความคิดเห็น:
แสดงความคิดเห็น