在计算机系统里,为了加快传送大批量数据的速度,常采用DMA方式,通过集成片上DMA控制器接口部件实现,在存储器和外设之间开辟直接传输数据通道,DMA控制器的访问策略跟控制协议的好坏,直接影响着整个处理器系统性能的好坏14。文中采用SystemC系统级设计语言,实现了一个快速的可配置多功能DMA控制器。
SystrmC++语言是在1999年推出,并由OSCI负责支持。维护和发展目。它是建立C++基础上的开放的系统级设计语言,可同时支持软件级和硬件级的建模,能够实现软硬件协同仿真,还可以将系统逐步细化至用于综合的寄存器传输级,可以有效地简化设计过程,降低设计所需时间,节约成本。
2、DMA控制器的基本组成外围设备跟内核进行数据传输或者发送控制信息是通过不同类型的总线实现的O.为了提高整个系统的效率,在处理器中往往存在着不同级别的总线,分别用于连接不同的设备。一级内部总线往往用来实现内核对内部存储器的直接访问;二级系统外设总线用于实现高速的外设跟内部存储器之间的访问; 三级总线则用来连接较低速的外设,并通过桥接器连接到二级总线上。DMA控制器也相当于一个外设,跟中断控制器定时器。外部存储器接口、主机接口。片内有储器接口一起连接在二级外设总线上。
DMA控制器主要由以下几部分组成: 寄存器状态寄存器、控制寄存器、地址寄存器。计数寄存器和屏蔽寄存器) 。数据缓冲器用于接收从源设备发送来的数据,等待转发给目的设备) 。地址计数器运算单元、优先级仲裁逻辑。中断控制逻辑。外设总线DMA控制器的具体结构如图1所示(图中画出的是仅四通道DMA控制器,更多通道的DMA控制器架构与此类似)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)