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 ที่ซ่อนอยู่”
![จะลบบัญชี Reddit ได้อย่างไร? นี่เป็นวิธีง่ายๆ! [เคล็ดลับ MiniTool]](https://gov-civil-setubal.pt/img/news/B7/how-to-delete-reddit-account-here-is-a-simple-way-minitool-tips-1.png)
![วิธีที่ดีที่สุดในการปิดใช้งาน Avast สำหรับ PC และ Mac ชั่วคราว / โดยสิ้นเชิง [MiniTool Tips]](https://gov-civil-setubal.pt/img/backup-tips/89/best-ways-disable-avast.jpg)

![การลบแอดแวร์ที่ดีที่สุด 8 รายการสำหรับพีซีของคุณ [อัปเดต 2021] [เคล็ดลับ MiniTool]](https://gov-civil-setubal.pt/img/backup-tips/27/8-best-adware-removers.jpg)
![หาก Xbox One เปิดด้วยตัวเองให้ตรวจสอบสิ่งเหล่านี้เพื่อแก้ไข [MiniTool News]](https://gov-civil-setubal.pt/img/minitool-news-center/98/if-xbox-one-turns-itself.jpg)
![10 วิธีในการเปิดแผงควบคุม Windows 10/8/7 [MiniTool News]](https://gov-civil-setubal.pt/img/minitool-news-center/68/10-ways-open-control-panel-windows-10-8-7.jpg)
![วิธีถอนการติดตั้ง Microsoft Office Click-to-Run บน Windows 10 [MiniTool News]](https://gov-civil-setubal.pt/img/minitool-news-center/87/how-uninstall-microsoft-office-click-run-windows-10.jpg)
![วิธีแก้ไข iPhone ติดโลโก้ Apple และกู้คืนข้อมูล [MiniTool Tips]](https://gov-civil-setubal.pt/img/ios-file-recovery-tips/52/how-fix-iphone-stuck-apple-logo.jpg)


![6 การแก้ไขอุปกรณ์ที่จำเป็นไม่ได้เชื่อมต่อหรือไม่สามารถเข้าถึงได้ [MiniTool Tips]](https://gov-civil-setubal.pt/img/backup-tips/36/6-fixes-required-device-isn-t-connected.png)



![Dual Channel RAM คืออะไร? นี่คือคำแนะนำฉบับสมบูรณ์ [MiniTool Wiki]](https://gov-civil-setubal.pt/img/minitool-wiki-library/11/what-is-dual-channel-ram.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)



![วิธีแก้ไขข้อผิดพลาด“ Msftconnecttest Redirect” บน Windows 10 [MiniTool News]](https://gov-civil-setubal.pt/img/minitool-news-center/52/how-fix-msftconnecttest-redirect-error-windows-10.jpg)