①,刚开始是cup直接与io交互,这样会占用cpu资源,使其没法进行别的操做3d
②,后面引入了dma,当有io操做请求,有dma向cpu申请权限;io就跟dma交互便可(但若是有大量的io请求,dma频繁向cpu申请权限,可能形成dma总线冲突)blog
③,channel能直接跟io交互,独立于cpu资源