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


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



1. โครงสร้างภายในซีพียู

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

2. การจัดองค์ประกอบของรีจีสเตอร์ภายในซีพียู

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

3. วงรอบคำสั่ง

        - การทำงานของคอมพิวเตอร์คือการที่โปรเซสเซอร์เอ็กซิคิวต์คำสั่งในโปรแกรมตามลำดับเรื่อยไปตั้งแต่ต้นจนจบ
        - รูปแบบคำสั่งที่ง่ายที่สุดจะมี 2 ขั้นตอนคือการที่โปรเซสเซอร์อ่านหรือเฟ็ตช์คำสั่ง (fetches) จากหน่วยความจำครั้งละ 1 คำสั่ง หลังจากนั้นจะเอ็กซิคิวต์ (execute) ตามคำสั่งนั้น
        - Instruction Address Calculation (IAC) หาตำแหน่งที่เก็บคำสั่งต่อไปที่โปรเซสเซอร์จะอ่านเข้ามา
        - Instruction Fetch (IF) อ่านคำสั่งจากตำแหน่งบนหน่วยความจำลงในโปรเซสเซอร์
        - Instruction Operation Decoding (IOD) วิเคราะห์คำสั่งเพื่อพิจารณาประเภทของโอเปอเรชั่นที่กระทำและที่จะใช้
        - Operand Address Calculation (OAC) หาตำแหน่งของโอเปอเรชัน
        - Operation Fetch (OF) อ่านโอเปอร์แรนด์จากหน่วยความจำหรืออุปกรณ์อินพุตเอาต์พุต
        - Data Operation (DO) นำข้อมูลกระทำตามโอเปอเรชั่น
        - Operand Store (OS) เขียนผลลัพธ์ลงในหน่วยความจำ

4. วงรอบอินไดเร็ก

            การประมวลผลคำสั่งเครื่องอาจต้องมีการอ้างอิงถึงตัวถูกกระทำที่เก็บไว้ในหน่วยความจำหลัก ซึ่งการอ้างอิงแต่ละครั้งจะเกี่ยวข้องกับกระบวนการอ่านข้อมูลในหน่วยความจำหลัก ยิ่งกว่านั้น ถ้าเป็นการอ้างอิงแบบ indirect addressing ด้วยแล้ว จะทำให้มีการอ่านข้อมูลในหน่วยความจำเพิ่มขึ้นอีกหนึ่งครั้งเสมอ
            การอ้างอิงหน่วยความจำดังกล่าว อาจถือว่าเป็นขั้นตอนย่อยอีกขั้นตอนหนึ่งของวงจรคำสั่งนั้น เมื่อคำสั่งเครื่องถูกอ่านเข้ามาในซีพียู คำสั่งจะถูกตรวจสอบ ถ้ามีการบ่งตำแหน่งทางอ้อมในคำสั่งนั้น ตัวถูกกระทำที่ถูกอ้าอิงถึงจะถูกอ่านเข้ามาในขั้นตอนย่อยของวงรอบอินไดเร็ก ก่อนที่จะกลับมาทำงานในจังหวะการดึงคำสั่งต่อไป

5. การไหลเวียนข้อมูล

            ลำดับการทำงานที่แท้จริงภายในวงรอบคำสั่งเครื่องขึ้นอยู่กับการออกแบบซีพียู อย่างไรก็ตาม อาจกำหนดการทำงานทั่วๆไปที่จำเป็นต้องเกิดขึ้นได้ สมมติว่าซีพียูประกอบด้วย รีจิสเตอร์ MAR และ MBR รีจิสเตอร์ PC และ IR
            ภายในวงรอบการดึงคำสั่ง คำสั่งเครื่องจะถูกอ่านเข้ามาจากหน่วยความจำหลักเมื่อวงรอบการดึงคำสั่งสิ้นสุด หน่วยควบคุมจะวิเคราะห์ข้อมูลที่เก็บอยู่ในรีจิสเตอร์ IR เพื่อตรวจสอบตัวกำหนดค่าตัวถูกกระทำที่ต้องการใช้ ถ้ามีอยู่ หน่วยควบคุมก็จะทำให้เกิดวงจรอินไดเร็ก


แสดงการไหลเวียนข้อมูลภายในวงรอบการดึงคำสั่งเครื่อง



ที่มา   :    http://dol-kalon.blogspot.com/2009/03/9.html

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

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