การเข้าถึงหน่วยความจำโดยตรงคืออะไร

การเข้าถึงหน่วยความจำโดยตรงบางครั้งเรียกว่า DMA เป็นวิธีการถ่ายโอนข้อมูลจากหน่วยความจำเข้าถึงโดยสุ่มไปยังส่วนอื่นของคอมพิวเตอร์โดยไม่ต้องมีหน่วยประมวลผลกลาง ความสามารถนี้สร้างขึ้นในระบบคอมพิวเตอร์ที่ทันสมัยที่สุด ช่วยให้คอมพิวเตอร์สามารถทำงานหลายอย่างพร้อมกันในที่สุดทำให้คอมพิวเตอร์เร็วขึ้น

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

คอมพิวเตอร์ที่เปิดใช้งานการเข้าถึงหน่วยความจำโดยตรงนั้นเปรียบเสมือนเจ้าของธุรกิจขนาดเล็กที่มีผู้ช่วยสองคน แทนที่จะจัดการกับข้อมูลทั้งหมดโดยตรงหน่วยประมวลผลกลางสามารถมอบหมายงานให้กับตัวควบคุมการเข้าถึงหน่วยความจำโดยตรง นี่คืออุปกรณ์ที่ติดตั้งมาเธอร์บอร์ดที่ควบคุมดูแลการเข้าถึงหน่วยความจำโดยตรง หน่วยประมวลผลกลางนั้นมีอิสระในการทำงานอื่น ๆ ในขณะที่กำลังอัพโหลดหรือดาวน์โหลด เมื่องานที่มอบหมายเสร็จสมบูรณ์คอนโทรลเลอร์ DMA จะบอกหน่วยประมวลผลกลาง

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

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

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