Direct Memory Access (DMA) คืออะไรและทำงานอย่างไร? [MiniTool Wiki]
What Is Direct Memory Access
การนำทางอย่างรวดเร็ว:
คุณสามารถนำไฟล์ RDMA เทคโนโลยีเพื่อให้คอมพิวเตอร์ในเครือข่ายสามารถแลกเปลี่ยนข้อมูลในหน่วยความจำหลักโดยไม่ต้องเกี่ยวข้องกับโปรเซสเซอร์แคชหรือระบบปฏิบัติการของคอมพิวเตอร์เครื่องใดเครื่องหนึ่ง แต่คุณยังสามารถใช้คุณสมบัติ DMA เพื่อส่งข้อมูลโดยตรงจากอุปกรณ์ที่เชื่อมต่อไปยังหน่วยความจำบนแผงวงจรหลักของคอมพิวเตอร์ โพสต์นี้จาก MiniTool พูดถึง DMA เป็นหลัก
ความหมายของการเข้าถึงหน่วยความจำโดยตรง
ก่อนอื่น Direct Memory Access คืออะไร? Direct Memory Access สามารถย่อเป็น DMA ซึ่งเป็นลักษณะของระบบคอมพิวเตอร์ อนุญาตให้อุปกรณ์อินพุต / เอาต์พุต (I / O) เข้าถึงหน่วยความจำระบบหลัก ( หน่วยความจำเข้าถึงโดยสุ่ม ) ซึ่งเป็นอิสระจากหน่วยประมวลผลกลาง (CPU) ซึ่งทำให้การทำงานของหน่วยความจำเร็วขึ้น
เคล็ดลับ: คุณอาจสนใจโพสต์นี้ - 8 โซลูชั่นที่เป็นประโยชน์เพื่อแก้ไข CPU ของคุณ 100% ใน Windows 10 .
หากไม่มีการเข้าถึงหน่วยความจำโดยตรงเมื่อ CPU ใช้อินพุต / เอาท์พุตที่ตั้งโปรแกรมไว้โดยปกติจะถูกใช้งานอย่างเต็มที่ในระหว่างการอ่านหรือเขียนทั้งหมดดังนั้นจึงไม่สามารถทำงานอื่น ๆ ได้ ด้วย DMA ซีพียูจะเริ่มต้นการถ่ายโอนก่อนจากนั้นดำเนินการอื่น ๆ ในขณะที่กำลังดำเนินการโอนและในที่สุดก็ได้รับการขัดจังหวะจากตัวควบคุม DMA (DMAC) เมื่อการดำเนินการเสร็จสมบูรณ์
Direct Memory Access มีประโยชน์เมื่อใดก็ตามที่ CPU ไม่สามารถรักษาอัตราการถ่ายโอนข้อมูลได้ทันหรือเมื่อ CPU ต้องทำงานในขณะที่รอการถ่ายโอนข้อมูล I / O ที่ค่อนข้างช้า
ระบบฮาร์ดแวร์หลายระบบใช้การเข้าถึงหน่วยความจำโดยตรงเช่นตัวควบคุมดิสก์ไดรฟ์กราฟิกการ์ดการ์ดเครือข่ายและการ์ดเสียง DMA ยังใช้สำหรับการถ่ายโอนข้อมูลบนชิปในโปรเซสเซอร์แบบมัลติคอร์ เมื่อเทียบกับคอมพิวเตอร์ที่ไม่มีช่องทางการเข้าถึงหน่วยความจำโดยตรงคอมพิวเตอร์ที่มีช่องสัญญาณ DMA สามารถถ่ายโอนข้อมูลระหว่างอุปกรณ์ที่มีค่าใช้จ่าย CPU น้อยกว่ามาก
Direct Memory Access ยังสามารถใช้สำหรับ 'memory to memory' เพื่อคัดลอกหรือย้ายข้อมูลในหน่วยความจำ สามารถถ่ายโอนการดำเนินการหน่วยความจำราคาแพง (เช่นสำเนาขนาดใหญ่หรือการดำเนินการรวบรวมข้อมูลแบบกระจาย) จาก CPU ไปยังเอ็นจิ้น DMA เฉพาะ DMA มีความสำคัญในสถาปัตยกรรมเครือข่ายบนชิปและการประมวลผลหน่วยความจำ
Direct Memory Access ทำงานอย่างไร
แล้ว Direct Memory Access ทำงานอย่างไร? Standard Direct Memory Access (เรียกอีกอย่างว่า DMA ของบุคคลที่สาม) ใช้ตัวควบคุม DMA คอนโทรลเลอร์ DMA สามารถสร้างที่อยู่หน่วยความจำและเปิดรอบการอ่านหรือเขียนหน่วยความจำ ครอบคลุมการลงทะเบียนฮาร์ดแวร์หลายรายการที่ CPU สามารถอ่านและเขียนได้
การลงทะเบียนเหล่านี้ประกอบด้วยการลงทะเบียนที่อยู่หน่วยความจำทะเบียนจำนวนไบต์และการลงทะเบียนควบคุมอย่างน้อยหนึ่งรายการ ขึ้นอยู่กับคุณสมบัติที่มีให้โดยตัวควบคุม Direct Memory Access รีจิสเตอร์ควบคุมเหล่านี้สามารถกำหนดการรวมกันของต้นทางปลายทางทิศทางการถ่ายโอน (อ่านหรือเขียนไปยังอุปกรณ์ I / O) ขนาดของหน่วยการถ่ายโอนและ / หรือจำนวน ไบต์เพื่อถ่ายโอนในครั้งเดียว
ในการดำเนินการอินพุตเอาต์พุตหรือหน่วยความจำต่อหน่วยความจำโปรเซสเซอร์โฮสต์เริ่มต้นคอนโทรลเลอร์ DMA ด้วยจำนวนคำที่จะถ่ายโอนและที่อยู่หน่วยความจำที่จะใช้ จากนั้นซีพียูจะสั่งให้อุปกรณ์ต่อพ่วงเริ่มถ่ายโอนข้อมูล
จากนั้นตัวควบคุม Direct Memory Access จะเสนอที่อยู่และสายควบคุมการอ่าน / เขียนไปยังหน่วยความจำระบบ ทุกครั้งที่มีการเตรียมข้อมูลไบต์ที่จะถ่ายโอนระหว่างอุปกรณ์ต่อพ่วงและหน่วยความจำคอนโทรลเลอร์ DMA จะเพิ่มรีจิสเตอร์ที่อยู่ภายในจนกว่าจะโอนบล็อกข้อมูลทั้งหมด
โหมดการทำงาน
Direct Memory Access จะทำงานแตกต่างกันในโหมดการทำงานต่างๆ
โหมดถ่ายต่อเนื่อง
ในโหมดถ่ายต่อเนื่องบล็อกข้อมูลทั้งหมดจะถูกส่งในลำดับต่อเนื่อง เมื่อซีพียูอนุญาตให้คอนโทรลเลอร์ DMA เข้าถึงบัสระบบคอนโทรลเลอร์ DMA จะถ่ายโอนข้อมูลไบต์ทั้งหมดในบล็อกข้อมูลก่อนที่จะปล่อยการควบคุมบัสระบบกลับไปที่ซีพียู แต่จะทำให้ซีพียูไม่ทำงานสำหรับ a เป็นเวลานานมาก โหมดนี้เรียกอีกอย่างว่า“ โหมดถ่ายโอนบล็อก”
โหมดการขโมยวงจร
โหมดการขโมยวงจรใช้ในระบบที่ไม่สามารถปิดใช้งาน CPU ได้ตามระยะเวลาที่กำหนดสำหรับโหมดถ่ายโอนข้อมูลต่อเนื่อง ในโหมดการขโมยวงจรคอนโทรลเลอร์ DMA จะเข้าถึงบัสระบบโดยใช้สัญญาณ BR (Bus Request) และ BG (Bus Grant) ซึ่งเหมือนกับโหมดถ่ายต่อเนื่อง สัญญาณทั้งสองนี้ควบคุมอินเทอร์เฟซระหว่าง CPU และตัวควบคุม DMA
ในแง่หนึ่งในโหมดการขโมยวงจรความเร็วในการส่งบล็อกข้อมูลจะไม่เร็วเท่าในโหมดถ่ายต่อเนื่อง แต่ในทางกลับกันเวลาว่างของ CPU จะไม่นานเท่าในโหมดถ่ายต่อเนื่อง
โหมดโปร่งใส
โหมดโปร่งใสใช้เวลาถ่ายโอนบล็อกข้อมูลนานที่สุด แต่ก็เป็นโหมดที่มีประสิทธิภาพสูงสุดในแง่ของประสิทธิภาพโดยรวมของระบบด้วย ในโหมดโปร่งใสตัวควบคุม Direct Memory Access จะถ่ายโอนข้อมูลเฉพาะเมื่อ CPU ดำเนินการที่ไม่ใช้บัสระบบ
ข้อได้เปรียบหลักของโหมดโปร่งใสคือ CPU ไม่หยุดดำเนินการโปรแกรมและการถ่ายโอน Direct Memory Access นั้นไม่มีค่าใช้จ่ายในแง่ของเวลาในขณะที่ข้อเสียคือฮาร์ดแวร์จำเป็นต้องกำหนดเมื่อ CPU ไม่ได้ใช้บัสระบบซึ่งสามารถ ยุ่งยาก. เรียกอีกอย่างว่า“ โหมดถ่ายโอนข้อมูล DMA ที่ซ่อนอยู่”
![6 วิธียอดนิยมในการแก้ไข Windows 10 Network Adapter ที่ขาดหายไป [MiniTool News]](https://gov-civil-setubal.pt/img/minitool-news-center/96/top-6-ways-solve-windows-10-network-adapter-missing.png)


![6 เคล็ดลับในการแก้ไข Facebook ออกจากระบบแบบสุ่ม ฉบับปี 2021 [ข่าว MiniTool]](https://gov-civil-setubal.pt/img/minitool-news-center/68/6-tips-fix-facebook-logged-me-out-randomly-issue-2021.png)
![[แก้ไข] จะเปิด Ray Tracing / RTX บน Minecraft ได้อย่างไร [MiniTool News]](https://gov-civil-setubal.pt/img/minitool-news-center/46/how-turn-ray-tracing-rtx-minecraft.png)


![ทำไมการบันทึกหน้าจอของฉันถึงไม่ทำงาน? วิธีแก้ไข [แก้ไขแล้ว]](https://gov-civil-setubal.pt/img/blog/87/why-is-my-screen-recording-not-working.jpg)

![หน้าจอแล็ปท็อปกลายเป็นสีดำแบบสุ่ม? แก้ไขปัญหาจอดำ! [เคล็ดลับ MiniTool]](https://gov-civil-setubal.pt/img/backup-tips/54/laptop-screen-goes-black-randomly.jpg)

![[แก้ไข] วิธีเล่นวิดีโอ YouTube สองรายการพร้อมกัน](https://gov-civil-setubal.pt/img/youtube/99/how-play-two-youtube-videos-once.jpg)

![5 วิธียอดนิยมในการแปลง RAW เป็น NTFS บน Windows 7/8/10 อย่างง่ายดาย [MiniTool Tips]](https://gov-civil-setubal.pt/img/blog/25/las-mejores-5-maneras-de-convertir-raw-ntfs-en-windows-7-8-10-f-cilmente.jpg)
![7 แนวทางแก้ไขการเตรียม Windows ให้พร้อมติดอยู่ใน Windows 10 [MiniTool Tips]](https://gov-civil-setubal.pt/img/backup-tips/54/7-solutions-fix-getting-windows-ready-stuck-windows-10.jpg)

![รำคาญโดย Windows 10 Slow Shutdown? พยายามเร่งเวลาปิดเครื่อง! [MiniTool News]](https://gov-civil-setubal.pt/img/minitool-news-center/14/bothered-windows-10-slow-shutdown.jpg)


![10 วิธียอดนิยมในการแก้ไขปัญหา Google Drive ไม่เล่นวิดีโอ [MiniTool News]](https://gov-civil-setubal.pt/img/minitool-news-center/29/top-10-ways-fix-google-drive-not-playing-videos-problem.png)