คอมพิวเตอร์ในยุคแรกๆเช่น ENIAC เวลาโปรแกรมต้องใช้วิธีการเปลี่ยนสายเชื่อมต่ออุปกรณ์ต่างๆ ซึ่งเป็นวิธีการที่ยุ่งยากมาก จึงเกิดแนวคิดว่าตัวโปรแกรมน่าจะจัดเก็บอยู่ในส่วนที่สามารถปรับเปลี่ยนแก้ไขได้ง่าย เป็นที่มาของแนวคิดที่ทำการจัดเก็บข้อมูลต่างๆรวมถึงโปรแกรมไว้ใน หน่วยความจำ หรือ memory ทำให้คอมพิวเตอร์จะได้รับคำสั่งโดยการอ่านคำสั่งจากหน่วยความจำ และการปรับเปลี่ยนโปรแกรมสามารถทำได้โดยการเปลี่ยนแปลงค่าภายในหน่วยความจำ
แนวคิดข้างต้นรู้จักในชื่อว่า "Stored-Program Concept" หรือ อีกชื่อว่าสถาปัตยกรรม von Neumann โดยเข้าใจว่า J. Presper Eckert และ John William Mauchly ซึ่งเป็นนักออกแบบ ENIAC เป็นผู้คิดค้นขึ้น
แนวคิดการทำงานแบบ Stored-Program ถูกใช้เป็นแนวคิดหลักของการทำงานในคอมพิวเตอร์จนถึงปัจจุบัน โดยแนวคิดนี้จะแบ่งการทำงานของคอมพิวเตอร์เป็น 4 ส่วนหลักได้แก่
การทำงานของหน่วยประมวลผลกลาง หน่วยประมวลผล จะรับคำสั่งและข้อมูลจากหน่วยความจำ โดยส่งเข้าที่ Queue Prefetch Unit จะตรวจสอบว่า ค่าใน Queue เป็นคำสั่งหรือไม่ ถ้าเป็นคำสั่งจะสั่งให้ Bus Interface Unit(BIU) ส่งค่าของคำสั่งไปที่ Decode Unit ถ้าเป็นค่าที่อยู่(Address)ของหน่วยความจำ จะถูกส่งไปที่ Segment and Paging Unit Segment and Paging Unit จะแปลงที่อยู่ของหน่วยความจำ จากที่อยู่เสมือน(Virtual Address)ในรูปแบบของ segment : offset ให้กลายเป็นที่อยู่จริง(Physical Address)ที่ Bus Interface Unit เข้าใจ หน่วยถอดรหัส(Decode Unit) จะตรวจสอบและแยกแยะคำสั่ง แล้วแปลคำสั่ง และส่งสัญญาณควบคุมไปให้ Execution Unit ทำงานตามคำสั่งนั้นใน Execution Unit จะประกอบด้วย
Control Unit(CU)จะทำหน้าที่ควบคุมการทำงานภายในโปรเซสเซอร์เป็นตัวสั่งงาน Unit อื่นๆตามคำสั่งที่แปลจาก Decode Unit Protection Test Unit จะป้องกันและตรวจสอบการทำงานของส่วนต่างๆ ไม่ให้ทำผิดกฏเกณฑ์ จนเกิดข้อผิดพลาดขึ้น Register จะทำหน้าที่เก็บค่าชั่วคราวก่อนและหลังการประมวลเพื่อส่งให้ส่วนอื่นๆต่อไป เป็นเหมือนกระดาษทดชัว่คราว สำหรับ ALU Arithmetic Logic Unit(ALU) เป็นส่วนการคำนวณทางคณิตศาสตร์และหาค่าตรรกะของการเปรียบเทียบ
เมื่อ ALU คำนวณหรือเปรียบเทียบค่าเรียบร้อยแล้ว จะส่งไปเก็บไว้ที่ Register แล้ว Control Unit จะสั่งให้ BIU เก็บค่าผลลัพธ์ลงในหน่วยความจำ โดยแปลงที่อยู่เสมือนที่ Control Unit กำหนด ให้กลายเป็น ที่อยู่จริงของหน่วยความจำที่จะนำผลลัพธ์ไปเก็บไว้
หน่วยความจำเป็นพื้นที่การทำงานและเป็นพื้นที่การจัดเก็บข้อมูลของคอมพิวเตอร์ เพราะคอมพิวเตอร์ไม่สามารถทำงานตามลำพังโดยอาศัยเพียงหน่วยประมวลผลหลักได้ หน่วยความจำแบ่งออกเป็น 2 ประเภทใหญ่ๆ ได้แก่ หน่วยความจำชั่วคราว หรือ หน่วยความจำหลัก คือ แรม (RAM: Random Access Memory) โดยแรมจะเป็นหน่วยความจำที่ใช้ขณะคอมพิวเตอร์ทำงาน และจะหายไปเมื่อปิดเครื่อง อีกชนิดหนึ่งคือหน่วยความจำถาวร หรือหน่วยความจำสำรอง ได้แก่ ฮาร์ดดิสก์ (Hard Disk) ที่ใช้ในการเก็บข้อมูล และ รอม (ROM: Read Only Memory) ที่ใช้ในการเก็บค่าไบออส หน่วยความจำถาวรจะใช้ในการเก็บข้อมูลของเครื่องคอมพิวเตอร์และจะไม่สูญหายเมื่อปิดเครื่อง
ข้อแตกต่างของหน่วยความจำคือ หน่วยความจำแบบชั่วคราวจะมีความเร็วในการถ่ายข้อมูลสูง แต่ความจำน้อย เมื่อเกิดการทำงานของโปรแกรมมากๆ จึงต้องส่งผ่านข้อมูลลงหน่วยความจำถาวร ซึ่งเป็นสาเหตุหนึ่งของอาการแฮ็ง (hang)
ไม่มีความเห็น