แอดเดรสหน่วยความจำ

ในคอมพิวเตอร์ แอดเดรสหน่วยความจำ (อังกฤษ: memory address) คือการอ้างอิงถึงตำแหน่งหน่วยความจำที่เฉพาะเจาะจงในหน่วยความจำที่ใช้โดยซอฟต์แวร์และฮาร์ดแวร์[1] แอดเดรสเหล่านี้เป็นลำดับของเลขโดดที่มีความยาวคงที่ ซึ่งโดยปกติจะถูกแสดงผลและจัดการเป็นจำนวนเต็มไม่มีเครื่องหมาย ตัวเลขแทนนี้ขึ้นอยู่กับคุณลักษณะของซีพียู (เช่น ตัวชี้คำสั่งและเรจิสเตอร์แอดเดรสแบบเพิ่มค่า) โครงสร้างในภาษาโปรแกรมมักมองหน่วยความจำเสมือนในลักษณะเดียวกับแถวลำดับ
ชนิด
[แก้]แอดเดรสกายภาพ (physical address)
[แก้]หน่วยความจำหลักของคอมพิวเตอร์ประกอบด้วยตำแหน่งหน่วยความจำหลายตำแหน่ง ซึ่งแต่ละตำแหน่งจะระบุด้วยแอดเดรสกายภาพเฉพาะตัว (เป็นรหัสที่เฉพาะเจาะจง) โดยซีพียูหรืออุปกรณ์อื่นสามารถใช้รหัสเหล่านี้ได้เพื่อเข้าถึงตำแหน่งหน่วยความจำที่สอดคล้องกัน โดยทั่วไปแล้ว มีเพียงซอฟต์แวร์ระบบ (เช่น ไบออส ระบบปฏิบัติการ และโปรแกรมอรรถประโยชน์เฉพาะทางเช่นโปรแกรมทดสอบหน่วยความจำ) เท่านั้นที่เข้าถึงหน่วยความจำกายภาพโดยตรงผ่านคำสั่งรหัสเครื่องหรือเรจิสเตอร์ของหน่วยประมวลผล คำสั่งเหล่านี้จะบอกให้ซีพียูทำงานร่วมกับองค์ประกอบฮาร์ดแวร์ที่เรียกว่า ตัวควบคุมหน่วยความจำ (memory controller) ซึ่งทำหน้าที่จัดการการเข้าถึงหน่วยความจำโดยใช้บัสหน่วยความจำหรือบัสระบบ หรือผ่านบัสควบคุม บัสแอดเดรส และบัสข้อมูลแยกจากกัน เพื่อกระทำการตามคำสั่งของโปรแกรม บัสที่จัดการโดยตัวควบคุมหน่วยความจำจะประกอบด้วยสายสัญญาณแบบเส้นขนานหลายเส้น โดยแต่ละเส้นแทนค่าเลขโดดฐานสองหนึ่งบิต
แอดเดรสตรรกะ (logical address)
[แก้]โปรแกรมคอมพิวเตอร์จะใช้แอดเดรสหน่วยความจำในการกระทำการตามรหัสเครื่อง รวมทั้งการเก็บและดึงข้อมูล ในคอมพิวเตอร์ยุคแรก แอดเดรสตรรกะ (ซึ่งใช้โดยโปรแกรม) และแอดเดรสกายภาพ (ตำแหน่งจริงในหน่วยความจำฮาร์ดแวร์) จะเหมือนกัน อย่างไรก็ตาม เมื่อมีการนำหน่วยความจำเสมือนมาใช้ โปรแกรมประยุกต์ส่วนมากไม่ได้จัดการกับแอดเดรสกายภาพโดยตรง แต่จะใช้แอดเดรสตรรกะหรือแอดเดรสเสมือนแทน ซึ่งจะถูกแปลเป็นแอดเดรสกายภาพโดยหน่วยจัดการหน่วยความจำของคอมพิวเตอร์และกลไกการกำหนดหน่วยความจำของระบบปฏิบัติการ
อ้างอิง
[แก้]- ↑ Abrahamson, Karl R. (Aug 20, 2022). "5.10.1. The Memory and Memory Addresses". East Carolina University. สืบค้นเมื่อ Feb 3, 2023.