เรื่องระบบคอมพิวเตอร์และสถาปัตยกรรม มีจุดมุ่งหมายเพื่อให้เข้าใจถึง องค์ประกอบและวิวัฒนาการคอมพิวเตอร์และสถาปัตยกรรม สามารถบอกหน้าที่ และ การทำงานของระบบคอมพิวเตอร์ทั้งการทำงาน ด้าน ฮาร์แวร์ ซอฟแวร์ เข้าใจถึง ระบบบัส หน่วยความจำภายในและภายนอก การนำข้อมูลเข้าและการส่งออกข้อมูล การคำนวณทางคณิตศาสตร์ รูปแบบคำสั่งและการบ่งตำแหน่งที่อยู่ เรื่องโครงสร้างและหน้าที่ของซีพียู

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

โครงสร้างหน้าที่ของซีพียู
          ด้วยเครื่องคอมพิวเตอร์มีความซับซ้อน มาก และ ยังประกอบด้วย ชิ้นส่วนอิเลคทรอนิกส์ ย่อย อีก นับ จำนวน หลายล้านชิ้น ดังนั้น การทำความเข้าใจ การทำงานของคอมพิวเตอร์ ให้ ชัดเจนนั้น จึงต้อง เข้าใจ โครงสร้างในระดับ ชั้น ก่อน แล้ว จึง ไล่ ลงไปจนถึงระดับล่าง
        หน้าที่การทำงาน
          โครงสร้างโดยพื้นฐาน แล้ว ประกอบไปด้วยพื้นฐาน สี่ส่วนคือ
-Data processing facility
-Data storage facility
-Data movement apparatus
-Control mechanism
-Data processing facility
         เครื่องคอมพิวเตอร์ต้องมีความสามารถในการประมวลผล และ ข้อมูลที่จะนำมาประมวลผลนั้นต้องประมวลผลได้หลากหลายรูปแบบได้
-Data storage facility
          เครื่องคอมพิวเตอร์ต้องมีความสามารถในการ จัดเก็บข้อมูล ในระยะสั้น และ ในระยะ ยาว
-Data movement apparatus
        เครื่องคอมพิวเตอร์สามารถเคลื่อนย้าย ข้อมูลจากภายในเครื่อง ไปยัง ส่วนอุปกรณ์อื่น ๆ ได้ กระบวนการนี้ส่วนใหญ่ถูกเรียกว่า (Input/Output หรือ I/O),อุปกรณ์ต่อพ่วงจะเรียก (Peripherals) และ ถ้าข้อมูลถูกเคลื่อนย้ายไประยะไกลเรียก (Data Communication)
-Control mechanism
     เครื่องคอมพิวเตอร์มีความสามารถ ในการ ควบคุม โดยเฉพาะ การควบคุม ในส่วนที่กล่าวมาข้างต้นทั้ง สามอย่าง
ภาพองค์ประกอบเครื่องคอมพิวเตอร์แบ่งตามหน้าที่การทำงาน


ลักษณะการทำงานของคอมพิวเตอร์

ลักษณะการทำงานของคอมพิวเตอร์

          โครงสร้างโดยปกติแล้วอุปกรณ์ที่ติดต่อหรือต่อพ่วงกับอุปกรณ์ภายนอกทั้งหมด ถูกเรียกว่า (peripherals) หรือ สายสื่อสาร (Communicaition lines) ในระดับบนสุดของคอมพิวเตอร์ จะประกอบด้วย 4 องค์ประกอบใหญ่ๆ คือ
                             -(CPU : Central Processing Unit)
                             -main memory
                             -(I/O : Input/Output)
                             -(system interconnection)
                             ส่วนประกอบในระดับบนสุด



ส่วนประกอบของหน่วยประมวลผลกลาง




-(Control unit) ควบคุมการทำงานของ CPU
             -(ALU: Arithmetic and Logic unit) ประมวลผล  
   คำสั่งคณิตศาสตร์และคำสั่งตรรกะ
- (register) หน่วยบันทึกข้อมูลภายใน CPU
- (CPU interconnection) ส่วนที่ช่วยให้
  ส่วนประกอบ  ทั้งสามส่วนสามารถสื่อสาร  ระหว่างกันได้
ลักษณะการประมวลผลของคอมพิวเตอร์
             คอมพิวเตอร์ในปัจจุบันแทบทุกเครื่องออกแบบ ตามแนวคิด
พื้นฐานของ John von Neumann ของ Institute for Advanced Studies
มหาวิทยาลัย Princeton อเมริกา โดย มีพื้นฐานสามประการดังนี้
-  ข้อมูลและคำสั่งต้องถูกเก็บไว้ในหน่วยความจำที่สามารถเข้าถึงได้
- สิ่งที่เก็บอยู่ในหน่วยความจำสามารถเข้าถึงโดยใช้ตำแหน่งอ้างอิง
- การประมวลผลเกิดขึ้นตามลำดับโดยอัตโนมัติ ยกเว้น กำหนดลำดับให้เป็นอย่างอื่น
แนวทางปฏิบัติของฮาร์ดแวร์และซอฟต์แวร์
              ในภาพ (a) programming in hardware   คือมีการสร้างกลุ่ม function การคำนวณ และ ตรรกะขึ้นมาและ ออกแบบ Hardware ให้ทำหน้าที่โดยเฉพาะ ระบบ เพียงรับข้อมูลมา และสร้างผลลัพธ์ออกไป โดยไม่ต้องการสัญญาณ ควบคุม ในการประมวลผลคำสั่ง ของ Hardware
แนวทางปฏิบัติของฮาร์ดแวร์และซอฟต์แวร์


แนวทางปฏิบัติของฮาร์ดแวร์และซอฟต์แวร์
              ในภาพ (b) programming in software   ระบบจะรับข้อมูลมาพร้อมกับสัญญาณ ควบคุม แล้ว จึงสร้างผลลัพธ์ ออกมา แตกต่างจาก ภาพ (a) คือ ไม่จำเป็นต้องออกแบบ hardware หรือ วงจรใหม่ เพียงแต่ผู้เขียนโปรแกรม เขียนโปรแกรมเพื่อ ควบคุมสัญญาณควบคุมอีกที โดยสัญญานควบคุมพื้นฐาน จะมี Code ที่เป็นสัญลักษณ์ เฉพาะตัว จึงเพียงเขียนโปรแกรม เพื่อควบคุมสัญญาน โดยดูความสอดคล้องวัตถุประสงค์ของโปรแกรมใหม่ ตัวแปลความ จะแปลความ ส่วนโปรแกรมที่เราเขียน และสร้างสัญญาน ควบคุมอันใหม่ให้ ทำให้ ได้ ผลลัพธ์ ในแบบที่ต้องการได้

แนวทางปฏิบัติของฮาร์ดแวร์และซอฟต์แวร์

                  จากลักษณะสองอย่างที่สำคัญของระบบที่กล่าวมา คือ ตัวแปลคำสั่ง (instruction interpreter) และ หน่วยประมวลผลทั่วไปสำหรับคำสั่งทางคณิตศาสตร์และตรรกะ ซึ่งรวมกันเป็น CPU แต่ยังมีหน่วยย่อยที่สำคัญกับระบบคือ หน่วยรับข้อมูล (input module) ซึ่งเป็นส่วนพื้นฐานในการับข้อมูลเข้าของระบบ และ หน่วยย่อยที่สำคัญอีกชนิดหนึ่งคือ หน่วยแสดงผลลัพธ์ เรียก หน่วยแสดงผลข้อมูล (output module) ทั้งสองหน่วยย่อยรวมกันเรียกว่า หน่วยไอโอ (I/O component) แต่ในบางครั้งการประมวลผลจะไม่เป็นลำดับ หรืออาจมีการนำข้อมูลจากส่วนอื่นนำมาประกอบจึงจำเป็นต้อง มีที่ เก็บข้อมูลดังกล่าวไว้ จึงมีหน่วยพักข้อมูลเกิดขึ้นเพื่อรองรับข้อมูลไว้ เรียก หน่วยความจำหลัก (main memory)
           ภาพระดับบนสุดของโครงสร้างส่วนประกอบของคอมพิวเตอร์
จะแสดงให้เห็นถึงส่วนประกอบหลักในมุมมองระดับ บนสุดของระบบคอมพิวเตอร์ และ แสดงความสัมพันธ์ของอุปกรณ์ ในหน่วยย่อยต่างๆที่สัมพันธ์กัน ซึ่งจะมี สี่ส่วน คือ
- CPU
-I/O module
-main memory
-system bus
ภาพระดับบนสุดของโครงสร้างส่วนประกอบของคอมพิวเตอร์

ส่วนประกอบในการประมวลผลโปรแกรม
              การประมวลผลโปรแกรมนั้นตัวโปรแกรมจะบรรจุไปด้วยข้อมูลและคำสั่ง CPU จะประมวลผลทีละคำสั่งเมื่อได้ทำการอ่านคำสั่งที่อยู่ในโปรแกรมเข้ามา การที่ CPU อ่านคำสั่งเข้ามาประมวลผลเรียก การดึงคำสั่ง(Instruction fetch) จะอ่านเข้ามาที่ละคำสั่ง  ในวงรอบการประมวลผล (Instruction cycle) แบบง่ายจะมี 2 ขั้นตอน คือ
-วงรอบการดึงคำสั่ง (fetch cycle)
-วงรอบการประมวลผล (execution cycle)   
              การประมวลผลจะหยุดลงเมื่อ คอมพิวเตอร์ถูกปิด หรือ เกิดความผิดปกติในโปรแกรม  หรือ  พบคำสั่งหยุดการทำงานในโปรแกรม            

ส่วนประกอบในการประมวลผลโปรแกรม

ตัวอย่างการประมวลผลโปรแกรม

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





ประเภทของ Interrupt (การขัดจังหวะ)
ประเภทของสัญญาณ Interrupts นั้นจะแบ่งตามลักษณะการถูกใช้งานโดยแบ่งได้เป็น 4 ชนิดด้วยกันคือ
- Program : เกิดจากโปรแกรม
-Timer : เกิดจากสัญญาณนาฬิกาในส่วนของ Processor
-I/O : เกิดจาก I/O controller
-Hardware Failure : เกิดจากความผิดปกติของการทำงานในส่วน Hardware
แสดงการควบคุมกรณี ไม่มี สัญญาณ Interrupt


แสดงการควบคุมกรณี มีการใช้ สัญญาณ Interrupt และมีการรอสัญญาณ I/O เล็กน้อย

แสดงการควบคุมกรณี มีการใช้ สัญญาณ Interrupt และมีการรอสัญญาณ I/O นาน

การเพิ่มประสิทธิภาพในการทำงานของการ Interrupt
              ในการเพิ่มประสิทธิภาพในการ Interrupt  นั้นได้เพิ่มวงรอบของสัญญาณ Interrupt (Interrupt circle) เข้าไปและให้ Processor คอยตรวจเช็คสัญญาณ Interrupt ตลอดเวลา กรณี มีสัญญาณ Interrupt เกิดขึ้นจะมีการทำงานดังภาพด้านล่าง

การเพิ่มประสิทธิภาพในการทำงานของการ Interrupt


การเพิ่มประสิทธิภาพในการทำงานของการ Interrupt เพิ่มการตรวจเช็ค



ตารางเวลาการทำงานของโปรแกรมมีการรอ I/O เล็กน้อย




  



การซ้อนกันของ Interrupt

       ในบางกรณีการเกิดการขัดจังหวะสามารถเกิดซ้อนกันได้ ดังนั้นจึงมีการแก้ปัญหาอยู่สองแนวทาง
      - ยกเลิกการขัดจังหวะชั่วคราวในคณะมีการประมวลผล
   งานขัดจังหวะใดๆอยู่
      -กำหนดลำดับการขัดจังหวะให้กับทุกตัวและบังคับให้ การ
   ขัดจังหวะที่มีความสำคัญน้อยกว่าถูกขัดจังหวะให้การ
   ขัดจังหวะที่สำคัญมากกว่าทำงานไปก่อน
   ยกเลิกการขัดจังหวะชั่วคราวในคณะมีการประมวลผล
   งานขัดจังหวะใดๆอยู่

          กำหนดลำดับการขัดจังหวะให้กับทุกตัวและบังคับให้ การขัดจังหวะที่มีความสำคัญน้อยกว่าถูกขัดจังหวะให้การขัดจังหวะที่สำคัญมากกว่าทำงานไปก่อน

                                             ลำดับเวลาที่เกิดขึ้นกับการขัดจังหวะซ้อน



 ที่มา:csit.psru.ac.th/~atthaphorn/architecture/interrupt.ppt

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

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