周辺DMAコントローラ
(Peripheral DMA controller から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/12/26 02:52 UTC 版)
周辺DMAコントローラ(しゅうへんディーエムエイ、英: Peripheral DMA controller、PDC)は、マイクロコントローラに搭載される機能で、CPUを介さず、バスを使いメモリとI周辺機器との間で直接的にデータ転送を行う機能で[1]、1チップの集積回路として提供されたり、マイクロコントローラの機能の一部として集積、あるいは、周辺機器のコントローラに組み込まれたりする。
通常、UARTなどのマイクロコントローラに暗黙的に含まれるモジュールを駆動するための自動制御機能を備えたFIFOである。
機能
マイクロコントローラと周辺回路・機器とのあいだのデータ転送は、通常、CPUによっておこなわれるが、DMAを搭載しているマイクロコントローラでは、CPUに代わってDMAがデータを転送する[1]。
利点
そのためCPUは算術/論理演算などのCPUでしかできない仕事だけすればよので、マイコンの性能が総合的に上がることになる[1]。
DMAの最大の利点は、ハードウェアを使って直接データ転送するので、高速・大容量のデータ転送が可能になることである。転送元と転送先は、メモリと周辺機能で自由に選択できる。
これにより、オペレーティングシステムの負担が軽減され、これらの機能のためのサービスと制御に必要な割り込みの数が削減される。
バスの調整
しかし、1本しかないバスをCPUと分け合って使うため、通常、バスの使用権の調整が必要になる。
この「バスの調整」は「バスアービトレーション(Bus Arbitration)」と呼ばれ、日本語では「バス権の調停」と呼ばれている[1]。
関連項目
- Direct memory access(DMA)
- 自立的な周辺機器操作
脚注・参考文献
脚注
- ^ a b c d “Q&Aで学ぶマイコン講座(29) DMAのメリットって何?”. EDN Japan. ITmedia, Inc.. 2025年12月26日閲覧。
参考文献
- 周辺DMAコントローラのページへのリンク