10M+ အီလက်ထ্রောနစ်အစိတ်အပိုင်းများ သိုလှောင်ထားပါသည်
ມາດຕະຖານ ISO
ពានុញ្ញាតរួមមាន
ປະໄວທັນເວລາ
ສ່ວນສໍາຄັນທີ່ຍາກຄົ້ນເຫັນ?
ພວກເຮົາແຫ່ງແຫຼ່ງ
ຂໍແຈ້ງລາຄາ

Direct Memory Access (DMA): ລັກສະນະ, ການດໍາເນີນງານ ແລະ ໂປຣເເກຣມ

Sep 16 2025
ແຫຼ່ງ: DiGi-Electronics
ສືບສະຖານທີ່: 6059

Direct Memory Access (DMA) ເປັນວິທີທີ່ເຮັດໃຫ້ຄອມພິວເຕີສາມາດສົ່ງຂໍ້ມູນໄດ້ຢ່າງມີປະສິດທິພາບຫຼາຍຂຶ້ນ. ແທນ ທີ່ CPU ຈະ ຈັດການ ກັບ ການ transfer ທຸກ ເທື່ອ, ຜູ້ ຄວບ ຄຸມ DMA ຈະ ສົ່ງ ຂໍ້ ມູນ ໂດຍ ກົງ ລະຫວ່າງ ຄວາມ ຊົງ ຈໍາ ແລະ ອຸປະກອນ. ສິ່ງນີ້ຊ່ວຍເຫຼືອເວລາ, ຫລຸດຜ່ອນການໃຊ້ພະລັງງານ ແລະ ອະນຸຍາດໃຫ້ CPU ເອົາໃຈໃສ່ກັບວຽກອື່ນໆ.

ຄ1. ພາບລວມການເຂົ້າເຖິງຄວາມຊົງຈໍາໂດຍກົງ

ຄ2. ລັກສະນະການເຂົ້າເຖິງຄວາມຊົງຈໍາໂດຍກົງ

ຄ3. ການ ດໍາ ເນີນ ງານ DMA ເທື່ອ ລະ ຂັ້ນ ຕອນ

ຄ4. DMA Controller ແລະ ການເຊື່ອມຕໍ່ຂອງມັນ

ຄ5. ວິທີການຖ່າຍທອດ DMA ແລະຄວາມແຕກຕ່າງຂອງມັນ

ຄ6. ຮູບແບບຫຼັກຂອງ DMA

ຄ7. ກະຈັດກະຈາຍ-ເຕົ້າໂຮມ DMA

ຄ8. DMA ແລະ Cache Synchronization

ຄ9. ບົດບາດຂອງ IOMMU ໃນຄວາມປອດໄພ DMA

ຄ10. ຄວາມ ເປັນ ຫ່ວງ ເລື່ອງ ຄວາມ ປອດ ໄພ: ການ ໂຈມ ຕີ ແລະ ການ ປົກ ປ້ອງ DMA

ຄ11. ການນໍາໃຊ້ທີ່ແຕກຕ່າງກັນຂອງ DMA

ຄ12. ສະຫລຸບ

ຄ13. ຄໍາຖາມທີ່ຖາມເລື້ອຍໆ [FAQ]

Direct Memory Access (DMA): Features, Operation, and Applications

ພາບລວມຂອງການເຂົ້າເຖິງຄວາມຊົງຈໍາໂດຍກົງ

Direct Memory Access ຫຼື DMA ເປັນວິທີທີ່ຄອມພິວເຕີໃຊ້ເພື່ອເຄື່ອນຍ້າຍຂໍ້ມູນໃຫ້ມີປະສິດທິພາບຫຼາຍຂຶ້ນ. CPU ດູ ແລ ການ ສົ່ງ ຂໍ້ ມູນ ຈາກ ບ່ອນ ຫນຶ່ງ ໄປ ຫາ ອີກ ບ່ອນ ຫນຶ່ງ ພາຍ ໃນ ຄອມ ພິວ ເຕີ. ສິ່ງນີ້ຕ້ອງໃຊ້ເວລາແລະເຮັດໃຫ້ CPU ຫຍຸ້ງຢູ່ກັບວຽກເລັກໆນ້ອຍໆ.

ດ້ວຍ DMA, ພາກສ່ວນ ພິ ເສດ ຂອງ ລະບົບ ທີ່ ເອີ້ນ ວ່າ ຜູ້ ຄວບ ຄຸມ DMA ຈະ ຮັບ ເອົາ ວຽກ ງານ ນີ້. ມັນອະນຸຍາດໃຫ້ອຸປະກອນສົ່ງຫຼືຮັບຂໍ້ມູນໂດຍກົງຈາກຄວາມຊົງຈໍາຂອງຄອມພິວເຕີໂດຍບໍ່ຕ້ອງເຮັດໃຫ້ CPU ຈັດການທຸກຂັ້ນຕອນ. ໃນຂະນະທີ່ການຖ່າຍທອດກໍາລັງເກີດຂຶ້ນ, CPU ມີອິດສະຫຼະທີ່ຈະເຮັດວຽກອື່ນໆຕໍ່ໆໄປ.

ການຕັ້ງຄ່ານີ້ເຮັດໃຫ້ລະບົບດໍາເນີນງານຢ່າງສະດວກເພາະວ່າ CPU ບໍ່ຊ້າລົງໂດຍການເຄື່ອນເຫນັງຂອງຂໍ້ມູນຕະຫຼອດເວລາ. ມັນ ຍັງ ຊ່ວຍ ທ້ອນ ເງິນ ພະ ລັງ ແລະ ພັດ ທະ ນາ ປະ ສິດ ທິ ພາບ ໂດຍ ທົ່ວ ໄປ ຂອງ ຄອມ ພິວ ເຕີ.

ລັກສະນະການເຂົ້າເຖິງຄວາມຊົງຈໍາໂດຍກົງ

ການຖ່າຍທອດຂໍ້ມູນຄວາມໄວສູງ

DMA ອະນຸຍາດໃຫ້ມີການຖ່າຍທອດຂໍ້ມູນຂະຫນາດໃຫຍ່ຢ່າງວ່ອງໄວໂດຍບໍ່ຕ້ອງມີ CPU ເຂົ້າຮ່ວມ, ປັບປຸງການສົ່ງຂໍ້ມູນ.

ການຫລຸດຜ່ອນ CPU

CPU ຖືກ ປົດ ປ່ອຍ ຈາກ ວຽກ ງານ ທີ່ ເຄື່ອນ ຍ້າຍ ຂໍ້ ມູນ ຊ້ໍາ ແລ້ວ ຊ້ໍາ ອີກ, ປະ ໃຫ້ ມັນ ມີ ໄວ້ ໃຫ້ ຄອມ ພິວ ເຕີ.

ຫລຸດຜ່ອນຄ່າໃຊ້ຈ່າຍຂອງການຂັດຂວາງ

DMA ຫລຸດຈໍານວນການຂັດຂວາງເມື່ອສົມທຽບກັບ I / O ທີ່ຕັ້ງໂປຣແກຣມ, ລົດຄ່າໃຊ້ຈ່າຍຂອງລະບົບ.

ຄວາມຊົງຈໍາໂດຍກົງ

ອຸປະກອນອຸປະກອນສາມາດອ່ານຫຼືຂຽນຄວາມຊົງຈໍາໂດຍກົງ, ຫຼີກລ່ຽງການສໍາເນົາເພີ່ມເຕີມຈາກ CPU.

ການສະຫນັບສະຫນູນຫຼາຍຊ່ອງ

ຜູ້ຄວບຄຸມ DMA ທີ່ທັນສະໄຫມສະຫນັບສະຫນູນຫຼາຍຊ່ອງທີ່ບໍ່ເພິ່ງອາໄສ, ເຮັດໃຫ້ການຖ່າຍທອດໃນເວລາດຽວກັນ.

ຄວາມສາມາດໃນການຖ່າຍທອດ Burst

DMA ສະຫນັບສະຫນູນ burst mode, transfer block ຂອງ ຂໍ້ ມູນ ໃນ ສາຍ ດຽວ ທີ່ ຕໍ່ ເນື່ອງ ເພື່ອ ໃຫ້ ມີ ປະສິດທິພາບ.

ລໍາດັບຄວາມສໍາຄັນ ແລະ ການຕັດສິນ

ຜູ້ຄວບຄຸມ DMA ໃຊ້ລະດັບຄວາມສໍາຄັນເພື່ອຕັດສິນໃຈວ່າຊ່ອງໃດສາມາດເຂົ້າເຖິງລົດຄວາມຊົງຈໍາ.

Transfer Modes

ສະຫນັບສະຫນູນຮູບແບບທີ່ແຕກຕ່າງກັນເຊັ່ນ single, block, burst ແລະ demand-based transfers ຂຶ້ນກັບຄວາມຕ້ອງການຂອງລະບົບ.

ຄວາມສອດຄ່ອງກັບລົດເມຫຼາຍຄັນ

ເຮັດວຽກກັບລົດເມລະບົບຕ່າງໆເພື່ອການລວມເຂົ້າກັນ.

ການກວດສອບແລະການຈັດການກັບຄວາມຜິດພາດ

ລະບົບ DMA ຫລາຍ ຢ່າງ ຮ່ວມ ດ້ວຍ ການກວດ ສອບ ຄວາມ ເທົ່າ ທຽມ ກັນ ຫລື ການ ແກ້ ໄຂ ຄວາມ ຜິດພາດ ເພື່ອ ໃຫ້ ແນ່ ໃຈ ວ່າ ຄວາມ ຊື່ສັດ ຂອງ ຂໍ້ ມູນ.

ການຖ່າຍທອດຄວາມຊົງຈໍາ

ຜູ້ຄວບຄຸມ DMA ບາງຊະນິດສາມາດສໍາເນົາຂໍ້ມູນໂດຍກົງຈາກສະຖານທີ່ຄວາມຊົງຈໍາຫນຶ່ງໄປອີກບ່ອນຫນຶ່ງໂດຍບໍ່ຈໍາເປັນຕ້ອງມີການແຊກແຊງຂອງ CPU.

ການດໍາເນີນງານ DMA ເທື່ອລະຂັ້ນ

ຂັ້ນຕອນມີ ຫຍັງ ເກີດ ຂຶ້ນ?ສັນຍານ / ການ ກະທໍາ
1ອຸປະກອນ ນັ້ນ ຂໍ ຮ້ອງ ໃຫ້ ຮັບ ໃຊ້ DMA.DRQ (DMA Request) line activated
2ຜູ້ຄວບຄຸມ DMA ຂໍຄວບຄຸມລົດເມຂອງລະບົບ.BR (ຄໍາຮ້ອງຂໍລົດເມ)
3CPU ປ່ອຍລົດເມຊົ່ວຄາວໄປຫາຜູ້ຄວບຄຸມ DMA.BG (ທຶນລົດເມ)
4ຜູ້ຄວບຄຸມ DMA ກໍານົດທີ່ຢູ່ຂອງຄວາມຊົງຈໍາແລະຈໍານວນຄໍາສັບ (ຫນ່ວຍຂໍ້ມູນ) ທີ່ຈະສົ່ງ.ບັນທຶກ Address & Count
5ຂໍ້ມູນຖືກຖ່າຍທອດໂດຍກົງລະຫວ່າງອຸປະກອນ I / O ແລະ RAM, ໂດຍຜ່ານ CPU.ການຖ່າຍທອດໂດຍກົງ
6ຫລັງ ຈາກ ສໍາ ເລັດ ແລ້ວ, ຜູ້ ຄວບ ຄຸມ DMA ຈະ ບອກ CPU.INTR (ຂັດຂວາງ)

DMA Controller ແລະ ການເຊື່ອມຕໍ່ຂອງມັນ

DMA Controller and Its Connections

ສ່ວນຫຼັກແມ່ນ CPU, ຄວາມຊົງຈໍາ, ຄວບຄຸມ DMA ແລະ ອຸປະກອນ input / output (I / O). ຜູ້ຄວບຄຸມ DMA ຄວບຄຸມການເຄື່ອນຍ້າຍຂໍ້ມູນລະຫວ່າງຄວາມຊົງຈໍາແລະອຸປະກອນ I / O ໂດຍບໍ່ຈໍາເປັນຕ້ອງໃຊ້ CPU ເພື່ອເຮັດວຽກທັງຫມົດ.

ເມື່ອອຸປະກອນ I / O ຈໍາເປັນຕ້ອງສົ່ງຫຼືຮັບຂໍ້ມູນ, ມັນຈະສົ່ງຄໍາຮ້ອງຂໍໄປຫາຜູ້ຄວບຄຸມ DMA. ຈາກນັ້ນຜູ້ຄວບຄຸມຈະຂໍອະນຸຍາດໃຫ້ CPU ໃຊ້ລົດເມຂອງລະບົບ ເຊິ່ງເປັນເສັ້ນທາງຫຼັກສໍາລັບຂໍ້ມູນພາຍໃນຄອມພິວເຕີ. ເມື່ອ CPU ອະນຸຍາດ, ຜູ້ຄວບຄຸມ DMA ຈະຄວບຄຸມແລະສົ່ງຂໍ້ມູນໂດຍກົງລະຫວ່າງຄວາມຊົງຈໍາແລະອຸປະກອນ I / O. ຫຼັງຈາກທີ່ການຖ່າຍທອດສໍາເລັດແລ້ວ, ມັນຈະແຈ້ງ CPU ວ່າວຽກສໍາເລັດແລ້ວ.

ແຜນ ນັ້ນ ຍັງ ສະ ແດງ ໃຫ້ ເຫັນ ເສັ້ນ ແຖວ ທີ່ ແຕກ ຕ່າງ ກັນ ທີ່ ມີ ຂໍ້ ມູນ. ແຖວທີ່ຢູ່ (ສີຂີ້ເທົ່າ) ຕັດສິນໃຈວ່າຂໍ້ມູນຄວນໄປໃສ, ແຖວຂໍ້ມູນ (ສີຂຽວ) ມີຂໍ້ມູນແທ້ໆ ແລະ ແຖວຄວບຄຸມ (ຫມາກກ້ຽງ) ຈັດການຂະບວນການ. ລົດເມ DMA ເຊື່ອມຕໍ່ອຸປະກອນ I / O ຫຼາຍໆຢ່າງກັບຜູ້ຄວບຄຸມ. ການຕັ້ງຄ່ານີ້ຊ່ວຍໃຫ້ລະບົບຈັດການກັບຂໍ້ມູນໄດ້ງ່າຍຂຶ້ນແລະຮັກສາ CPU ໃຫ້ເປັນອິດສະຫຼະສໍາລັບວຽກອື່ນໆ.

ວິທີການຖ່າຍທອດ DMA ແລະຄວາມແຕກຕ່າງຂອງມັນ

ແບບ ແຜນວິທີເຮັດວຽກຄວາມ ໄວຜົນກະທົບຂອງ CPU
Burst Modeຖ່າຍທອດຂໍ້ມູນທັງຫມົດໃນລໍາດັບດຽວທີ່ຕໍ່ເນື່ອງສູງຫຼາຍCPU ຢຸດຈົນກວ່າການຖ່າຍທອດສິ້ນສຸດ
ການລັກລົດຖີບຖ່າຍທອດຫນຶ່ງຄໍາຕໍ່ວົງຈອນຂອງລົດເມ ໂດຍຕິດຕໍ່ກັບວົງຈອນ CPUກາງCPU ຊ້າລົງຫນ້ອຍຫນຶ່ງ ແຕ່ບໍ່ຢຸດ
ແບບ Transparent Modeຖ່າຍທອດສະເພາະເມື່ອCPU ບໍ່ໄດ້ໃຊ້ ຫຼື ບໍ່ໃຊ້ລົດເມລຸ່ມCPU ແລ່ນໂດຍບໍ່ຢຸດຢັ້ງ

ຮູບແບບຫຼັກຂອງ DMA

ການ ຄວບ ຄຸມ ລົດ ເມ (DMA ຂອງ ຜູ້ ທໍາ ອິດ)

ໃນການຄວບຄຸມລົດເມ ອຸປະກອນນັ້ນເອງຈະຮັບເອົາບົດບາດຂອງຜູ້ຄວບຄຸມລົດເມຂອງລະບົບຊົ່ວຄາວ. ນີ້ຫມາຍຄວາມວ່າມັນສາມາດອ່ານຫຼືຂຽນຄວາມຊົງຈໍາໂດຍກົງໂດຍບໍ່ຕ້ອງມີການຄວບຄຸມຂອງ CPU ຕະຫຼອດເວລາ. ເພາະອຸປະກອນຈັດການກັບການຖ່າຍທອດຂອງມັນເອງ, ຂະບວນການດັ່ງກ່າວຈຶ່ງໄວແລະມີປະສິດທິພາບຫຼາຍ. ສ່ວນປະກອບທີ່ມີປະສິດທິພາບສູງໃນສະໄຫມໃຫມ່ເຊັ່ນ PCIe GPUs, NVMe drive ແລະ network card ມັກໃຊ້ວິທີນີ້. CPU ສ່ວນຫຼາຍເປັນອິດສະຫຼະໃນລະຫວ່າງການຖ່າຍທອດເຫຼົ່ານີ້, ຊຶ່ງປັບປຸງປະສິດທິພາບຂອງລະບົບໂດຍລວມ.

DMA ຂອງບໍລິສັດທີສາມ (Controller-Based)

ໃນ model ນີ້, ຜູ້ ຄວບ ຄຸມ DMA ກາງ ຈະ ຮັບ ຜິດ ຊອບ ໃນ ການ ຈັດ ການ ກັບ ການ ສົ່ງ ຂໍ້ ມູນ ແທນ ອຸປະກອນ ຫລາຍໆ ຢ່າງ. ແຕ່ ລະ ອຸປະກອນ ຈະ ສົ່ງ ຄໍາ ຂໍ ຮ້ອງ ຂອງ ມັນ ໄປ ຫາ ຜູ້ ຄວບ ຄຸມ, ຊຶ່ງ ຈະ ຄວບ ຄຸມ bus ເພື່ອ ຍ້າຍ ຂໍ້ ມູນ. ວິທີນີ້ເປັນມາດຕະຖານໃນລະບົບຄອມພິວເຕີກ່ອນຫນ້ານີ້ ແລະ ຍັງເປັນເລື່ອງທໍາມະດາໃນລະບົບຄອມພິວເຕີທີ່ຝັງໄວ້ເຊິ່ງຮາດແວຣ໌ຕ້ອງງ່າຍແລະມີຄ່າໃຊ້ຈ່າຍ. ມັນ ຊ້າ ກວ່າ ການ ຄວບ ຄຸມ ລົດ ເມ ເພາະ ອຸປະກອນ ທັງ ຫມົດ ແບ່ງປັນ ເຄື່ອງ ຄວບ ຄຸມ ອັນ ດຽວ ກັນ, ຊຶ່ງ ນໍາ ໃຊ້ ເວລາ ລໍຖ້າ ແລະ ຄ່າ ໃຊ້ຈ່າຍ.

ກະຈັດກະຈາຍ-ເຕົ້າ ໂຮມ DMA

ໃນຫຼາຍກໍລະນີ ຂໍ້ມູນໃນຄວາມຊົງຈໍາບໍ່ໄດ້ຖືກເກັບໄວ້ໃນເສັ້ນຊື່ດຽວ. ມັນ ສາມາດ ແບ່ງ ແຍກ ອອກ ເປັນ ບ່ອນ ທີ່ ແຕກ ຕ່າງ ກັນ. Scatter-Gather DMA ເຮັດ ໃຫ້ ມັນ ເປັນ ໄປ ໄດ້ ທີ່ ຈະ ເຄື່ອນ ຍ້າຍ ຂໍ້ ມູນ ທັງ ຫມົດ ນີ້ ໃນ ເວລາ ດຽວ ກັນ, ເຖິງ ແມ່ນ ວ່າ ມັນ ຈະ ແຜ່ ຂະຫຍາຍ ອອກ ໄປ ກໍ ຕາມ.

ຜູ້ຄວບຄຸມ DMA ຈະເກັບລາຍການວ່າຂໍ້ມູນແຕ່ລະຊິ້ນຕັ້ງຢູ່ໃສ. ແລ້ວ ມັນ ຈະ ຕິດຕາມ ລາຍການ ນັ້ນ ເພື່ອ ເກັບ ເອົາ ຊິ້ນ ສ່ວນ ແລະ ຍ້າຍ ມັນ ເປັນ ກ້ອນ ດຽວ.

ຜົນປະໂຫຍດຂອງ Scatter-Gather DMA

• ເຄື່ອນຍ້າຍຂໍ້ມູນທີ່ກະຈັດກະຈາຍໂດຍບໍ່ຕ້ອງມີຂັ້ນຕອນເພີ່ມເຕີມ.

• ຕ້ອງການສັນຍານຫນ້ອຍລົງຕໍ່ CPU.

• ເຮັດໃຫ້ການຖ່າຍທອດຂໍ້ມູນໄວຂຶ້ນແລະສະດວກຂຶ້ນ.

• ຮັກສາຄວາມຊົງຈໍາໂດຍຫຼີກລ່ຽງການສໍາເນົາເພີ່ມເຕີມ.

DMA ແລະ Cache Synchronization

DMA ຍ້າຍ ຂໍ້ ມູນ ໂດຍ ກົງ ລະຫວ່າງ ອຸປະກອນ ແລະ ຄວາມ ຊົງ ຈໍາ, ໃນ ຂະນະ ທີ່ CPU ສ່ວນ ຫລາຍ ຈະ ທໍາ ງານ ກັບ cache ຂອງ ມັນ ເອງ. ເພາະ ເຫດ ນີ້, CPU ແລະ DMA ບາງ ເທື່ອ ສາມາດ ເຫັນ ຂໍ້ ມູນ ດຽວ ກັນ ໃນ ລຸ້ນ ທີ່ ແຕກ ຕ່າງ ກັນ. ມັນເປັນບັນຫາເພາະຖ້າຫາກວ່າ CPU cache ຍັງມີຂໍ້ມູນເກົ່າ, ການປ່ຽນແປງທີ່ເຮັດໂດຍອຸປະກອນອາດຈະບໍ່ເອົາໃຈໃສ່. ຖ້າວ່າ CPU ມີຂໍ້ມູນໃຫມ່ພຽງແຕ່ຢູ່ໃນ cache ເທົ່ານັ້ນ, ອຸປະກອນອາດຈະອ່ານຄ່າທີ່ຫຼ້າສະໄຫມຈາກຄວາມຊົງຈໍາ. ມັນຖືກແກ້ໄຂໂດຍ:

• CPU ສາມາດ flush cache ກ່ອນ ອຸປະກອນ ຈະ ອ່ານ, ດັ່ງນັ້ນ ຄວາມ ຊົງ ຈໍາ ຈຶ່ງ ມີ ຂໍ້ ມູນ ໃຫມ່ ທີ່ ສຸດ.

• CPU ສາມາດເຮັດໃຫ້ cache ບໍ່ຖືກຕ້ອງຫຼັງຈາກທີ່ອຸປະກອນຂຽນ, ດັ່ງນັ້ນມັນຈຶ່ງເອົາຂໍ້ມູນທີ່ປັບປຸງຈາກຄວາມຊົງຈໍາ.

• ໂປຣແກຣມສະໄຫມໃຫມ່ໃຊ້ DMA ທີ່ສອດຄ່ອງກັບ cache, ຊຶ່ງຈັດການກັບເລື່ອງນີ້ໂດຍອັດຕະໂນມັດ.

ບົດບາດຂອງ IOMMU ໃນຄວາມປອດໄພ DMA

ລັກສະນະຫນ້າ ທີ່ຜົນປະໂຫຍດ
Address Mappingແປຄໍາຮ້ອງຂໍ DMA ຂອງອຸປະກອນເປັນທີ່ຢູ່ຄວາມຊົງຈໍາທີ່ຖືກຕ້ອງປ້ອງກັນການເສື່ອມຊາມຂອງຂໍ້ມູນໂດຍບັງເອີນ ຫຼື ເປັນອັນຕະລາຍ
ຄວາມ ໂດດ ດ່ຽວຈໍາກັດແຕ່ລະອຸປະກອນໃຫ້ຢູ່ໃນເຂດຄວາມຊົງຈໍາທີ່ກໍານົດໄວ້ປົກປ້ອງລະບົບຈາກອຸປະກອນທີ່ຜິດພາດຫຼືເປັນອັນຕະລາຍ
ສະຫນັບສະຫນູນ 64-bitຂະຫຍາຍການແກ້ໄຂເກີນຂອບເຂດ 32-bitສະຫນັບສະຫນູນອຸປະກອນສະໄຫມໃຫມ່ທີ່ມີຄວາມຕ້ອງການຄວາມຊົງຈໍາໃຫຍ່

ຄວາມ ເປັນ ຫ່ວງ ເລື່ອງ ຄວາມ ປອດ ໄພ: ການ ໂຈມ ຕີ ແລະ ການ ປົກ ປ້ອງ DMA

ຄວາມສ່ຽງຕໍ່ຄວາມປອດໄພ

• ການລັກຂໍ້ມູນຜ່ານການເຂົ້າເຖິງ DMA ທີ່ບໍ່ໄດ້ຮັບອະນຸຍາດ.

• Malware injection ເຂົ້າໄປໃນຄວາມຊົງຈໍາຂອງລະບົບ.

• Thunderbolt ໂຈມ ຕີ ຍິງ ສາວ ຊົ່ວ ຮ້າຍ ໃນ ຄອມ ພິວ ເຕີ.

2 ການປົກປ້ອງ

• ເປີດ IOMMU / VT-d / AMD-Vi.

• ໃຊ້ການປົກປ້ອງ Kernel DMA (Windows).

• ປິດ port ພາຍ ນອກ ທີ່ ບໍ່ ໄດ້ ໃຊ້.

• ໃຊ້ຄອມພິວເຕີທີ່ມີຄວາມປອດໄພ ແລະ ຂໍ້ຈໍາກັດ BIOS / UEFI.

ການນໍາໃຊ້ທີ່ແຕກຕ່າງກັນຂອງ DMA

ການຖ່າຍທອດແຜ່ນດິສ ແລະ ການເກັບຮັກສາ

DMA ອະນຸຍາດໃຫ້ hard drive, SSD ແລະ optical drive ຍ້າຍຂໍ້ມູນຂະຫນາດໃຫຍ່ເຂົ້າໄປໃນຄວາມຊົງຈໍາໂດຍກົງໂດຍບໍ່ຕ້ອງເຮັດໃຫ້ CPU ຫນັກຫນ່ວງ.

ລະບົບເຄືອຂ່າຍ

ບັດເຄືອຂ່າຍໃຊ້ DMA ເພື່ອສົ່ງແພັກເກດເຂົ້າແລະອອກຢ່າງວ່ອງໄວ, ເຮັດໃຫ້ການສື່ສານຄວາມໄວສູງໂດຍບໍ່ເຮັດໃຫ້ໂປຣແກຣມຊ້າລົງ.

ການປັບປຸງສຽງແລະວິດີໂອ

ບັດສຽງ, ໂປຣແກຣມ ແລະ ອຸປະກອນຈັບວິດີໂອ ເພິ່ງພາອາໄສ DMA ເພື່ອຮັບມືກັບການສົ່ງຂໍ້ມູນຢ່າງຕໍ່ເນື່ອງດ້ວຍຄວາມຊັກຊ້າຫນ້ອຍທີ່ສຸດ.

ລະບົບຝັງ

Microcontrollers ໃຊ້ DMA ເພື່ອຫລຸດຜ່ອນການເຄື່ອນໄຫວຂອງຂໍ້ມູນທີ່ຊ້ໍາແລ້ວ ຊ້ໍາອີກ (ເຊັ່ນ ການອ່ານ ADC ຫຼື UART buffers), ປ່ອຍວົງຈອນ CPU ສໍາລັບວຽກງານການຄວບຄຸມ.

ການສະແດງຮູບພາບ

GPU ນໍາ ໃຊ້ DMA ສໍາລັບ ການ load texture ແລະ ການ update frame buffer, ສະຫນັບສະຫນູນ ການ render ທີ່ ສະດວກ ໃນ ເກມ ແລະ ໂປຣເເກຣມ ຮູບ ພາບ.

ການສະຫລຸບ

Direct Memory Access (DMA) ປັບປຸງປະສິດທິພາບຂອງຄອມພິວເຕີໂດຍການເຄື່ອນຍ້າຍຂໍ້ມູນໂດຍກົງລະຫວ່າງຄວາມຊົງຈໍາແລະອຸປະກອນໂດຍບໍ່ຕ້ອງເພິ່ງພາອາໄສ CPU. ສິ່ງ ນີ້ ຈະ ຫລຸດຜ່ອນ ການ ຊັກ ຊ້າ, ຫລຸດຜ່ອນ ການ ໃຊ້ ພະລັງ ແລະ ອະນຸຍາດ ໃຫ້ ດໍາເນີນ ງານ ຢ່າງ ສະດວກ ໃນ ວຽກ ງານ ດັ່ງ ເຊັ່ນ ການ ເກັບ ກໍາ, ເຄືອ ຂ່າຍ ແລະ ຮູບ ພາບ. ດ້ວຍລັກສະນະການຈັດການກັບຄວາມຜິດພາດ ແລະ ຄວາມປອດໄພ, DMA ຍັງເປັນວິທີທີ່ເຊື່ອຖືໄດ້ສໍາລັບການສົ່ງຂໍ້ມູນທີ່ວ່ອງໄວ ແລະ ມີປະສິດທິພາບ.

ຄໍາຖາມທີ່ຖາມເລື້ອຍໆ [FAQ]

DMA ແຕກຕ່າງຈາກ I/O ທີ່ຕັ້ງໂປຣແກຣມແນວໃດ?

DMA ສົ່ງ ຂໍ້ ມູນ ໂດຍ ໃຊ້ ເຄື່ອງ ຄວບ ຄຸມ, ໃນ ຂະນະ ທີ່ I / O ທີ່ ຖືກ ຈັດ ຕັ້ງ ໄວ້ ເພິ່ງ ພາ ອາ ໄສ CPU ສໍາລັບ ການ transfer ທຸກ ເທື່ອ.

DMA ຊ່ວຍກູ້ພະລັງງານໄດ້ແນວໃດ?

ມັນ ປົດ ປ່ອຍ CPU ຈາກ ການ transfer ຕະຫລອດ ເວລາ, ອະນຸຍາດ ໃຫ້ ມັນ ເຂົ້າ ໄປ ໃນ ສະພາບ ທີ່ ມີ ພະລັງ ຕ່ໍາ ເລື້ອຍໆ.

DMA ສາມາດເຂົ້າເຖິງຄວາມຊົງຈໍາອັນໃດໄດ້?

DMA ສາມາດເຂົ້າເຖິງ RAM ຂອງລະບົບ, ຄວາມຊົງຈໍາວິດີໂອ, ຄວາມຊົງຈໍາ buffer ແລະບາງຄັ້ງສໍາເນົາຂໍ້ມູນລະຫວ່າງຂອບເຂດຄວາມຊົງຈໍາ.

DMA ສາມາດຈັດການກັບອຸປະກອນຫຼາຍຢ່າງໃນເວລາດຽວກັນໄດ້ບໍ?

ແມ່ນ ແລ້ວ, ຜູ້ ຄວບ ຄຸມ DMA ໃຊ້ ລໍາດັບ ຄວາມ ສໍາຄັນ ແລະ ການ arbitration ເພື່ອ ຕັດສິນ ໃຈ ວ່າ ອຸປະກອນ ໃດ ຈະ transfer ກ່ອນ.

ຂໍ້ຈໍາກັດຫຼັກຂອງ DMA ແມ່ນຫຍັງ?

ມັນບໍ່ມີປະສິດທິພາບສໍາລັບການຖ່າຍທອດເລັກນ້ອຍແລະອາດເຮັດໃຫ້ເກີດຄວາມບໍ່ສອດຄ່ອງກັບ cache ຖ້າບໍ່ມີການປະສານງານທີ່ເຫມາະສົມ.

ເປັນຫຍັງ DMA ຈຶ່ງສໍາຄັນໃນລະບົບຕົວຈິງ?

ມັນ ໃຫ້ ການ ສົ່ງ ຂໍ້ ມູນ ທີ່ ວ່ອງ ໄວ ແລະ ມີ ຄວາມ ຊັກ ຊ້າ ຕ່ໍາ ເພື່ອ ວ່າ CPU ຈະ ສາ ມາດ ເອົາ ໃຈ ໃສ່ ກັບ ວຽກ ງານ ທີ່ ຈໍາ ເປັນ ຕ້ອງ ໃຊ້ ເວ ລາ.