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

3.2. Software-Burst Transfer
ในส่วนนี้อธิบาย Software-Burst transfer.
รูปที่ 3-2 โชว์ตัวอย่างการทำงานของ Software-Burst transfer. ในรูปที่ 3-2, ใช้การเซตดังต่อไปนี้
- Transfer mode : Software request Burst transfer (ST=1, IS[5:0]=000000, MS=01)
- Transfer source start address : SA(DMACSA=SA)
- Transfer source address : Fixed, reload available (FS=1, RS=1) (ใช้งานการคงที่ค่าและโหลดค่าซ้ำ)
- Transfer destination start address : DA(DMACDA=DA)
- Transfer destination address : Increment and reload not available (FD=0, RD=0) (ไม่ใช้งานการเพิ่มค่าและโหลดค่าซ้ำ)
- Transfer data size : Word (32 bits), the number of blocks =3, the number of transfers =2 (TW=10, BC=2, TC=1)
- Reload of the number of transfers : Number of transfers to be reloaded (RC=1) (จำนวนของการ transfer เป็นแบบโหลดค่าซ้ำ)

DMAC กระทำการทำงานดังต่อไปนี้, เมื่อข้อมูลการ transfer นี้ถูกเซตจาก CPU และจากนั้นการสตาร์ทของการ transfer ถูกสั่งขึ้น
- เนื่องจากการระบุสเปคของ transfer data width นี้, แต่ละ transfer จะถูกกระทำโดย word (32 bits).
- ตามที่กำหนดไว้ของ start addresses ของ transfer source และ transfer destination, การระบุสเปคของ data width และการเพิ่มขึ้น/คงที่, การ
transfer จะถูกกระทำใน area นี้ จาก address SA ไปหา address DA, เป็นจำนวน blocks (=BC+1) ตามที่ transfer source address ถูกระบุเป็นแบบ
คงที่, มันจะเป็นค่าคงเดิมคือ transfer source start address (SA+0)
- ในกรณีของ Burst transfer, การ transfer จะถูกปฏิบัติอย่างต่อเนื่องโดยไม่มีการเกิด Transfer Gaps.
- DMAC กระทำ data transfer เป็นจำนวนของบล็อค (=BC+1) คูณจำนวนของ transfers (=TC+1). ขนาดของ data ที่ถูก transfer โดยแต่ละ transfer
ที่ร้องขอจาก CPU คือ "Data width (TW) x Number of blocks (BC+1) x Number of transfers (TC+1)".
- เมื่อการ transfer เสร็จสมบรูณ์แล้ว DMAC แจ้ง CPU ให้ทราบถึงการเสร็จสมบรูณ์นั้น
ในกรณีของ Burst transfer, Transfer Gap ไม่ถูกทำให้เกิดขึ้น, ไม่เหมือนกับ Block transfer. ตามที่ชาแนลนั้นถูกควบคุมให้ครองครองเข้าถึงอย่างถูกต้องต่อ system bus, มันสามารถใช้การใส่ลำดับความสำคัญ (priority) บนที่ channel นั้นๆ.