北客找房拟通过美国IPO融资30亿美元
06-17
摘要:本文介绍了一种基于DMA控制器的SoC系统架构,解决了由于使用DMA控制器而导致处理器异常响应无法及时处理的问题,使得处理服务器能够更快地响应异常请求,提高系统的响应速度,使系统架构更适合硬实时系统。
关键词:DMA控制器; AMBA巴士; SoC系统架构 简介 随着微电子技术的飞速发展,集成电路的规模按照摩尔定律迅速增大,片上系统(SoC)技术已成为超大规模集成电路的发展趋势。
SoC芯片性能的不断提高以及模块之间的数据交换已经成为提高微处理器系统运行速度的瓶颈。
DMA(Direct Memory Access,直接内存访问)是一种快速传输数据的机制。
DMA控制器可以有效替代微处理器的加载/存储指令,显着提高系统的并行能力。
DMA 直接在内存和输入/输出设备之间传输数据。
它是一种完全由硬件完成输入/输出操作的方式。
数据传输可以从外设到存储器以及从存储器到外设。
但DMA控制器 的引入也引入了影响系统响应速度的因素。
本文描述了基于包含单个AHB主接口的DMA控制器的SoC系统架构蓝图,分析了现有的缺点,并介绍了基于新型DMA控制器的SoC系统架构的设计来解决所提出的问题。
1 对异步事件的响应速度 系统实时性是指能够在有限的时间内完成任务并及时响应外部异步事件。
时间限制根据申请的要求而有所不同。
实时系统的实时性能与所使用的软硬件平台有关。
嵌入式系统的中断服务响应时间是指从中断源发出中断服务请求到处理器响应中断源的中断服务请求并开始执行中断源的中断服务程序的时间。
时间。
嵌入式操作系统中的进程调度是通过中断来实现的。
处理器对系统内部或外部发生的异步事件的响应速度是决定系统响应速度的关键因素。
中断响应时间是一个非常重要的指标。
特别是在实时计算机系统中,中断响应时间是整个计算机系统的关键指标。
影响中断服务响应的因素有很多,比如中断源本身相对于其他中断源的优先级设置。
当内核不适合或不可能使用中断技术时,中断不能被服务。
因此,这段时间也相当于中断响应延迟,DMA操作是因素之一。
因为DMA传输也相当于中断,只不过它适用于处理器进行总线控制,而不是处理器本身。
在 DMA 传输期间,处理器会失去总线控制权,因为它必须将总线控制权让给 DMA。
虽然处理器可以做不使用总线的工作,但它肯定不会立即响应来自总线的外部中断请求,因此会造成较大的中断延迟。
2 包含DMA的SoC系统架构 2.1 DMA结构简介 一般来说,DMA控制器的功能和结构是由系统结构决定的。
但作为一个IP,DMA控制器必须有它的通用性。
DMA是指外部设备直接对计算机内存进行读写操作的I/O方法。
这样,数据的读写不需要处理器执行指令,也不需要经过处理器内部的寄存器。
而是利用系统的数据总线,外设直接对存储器进行写入或读取,从而达到极高的传输效率。
DMA技术的重要性在于,使用它访问数据时不需要处理器干预,可以提高系统执行应用程序的效率。
使用DMA传输数据的另一个好处是数据直接在源地址和目标地址之间传输,不需要中间人。
在大多数基于AMBA总线的SoC系统中,当需要进行DMA操作时,DMA控制器首先向处理器发送占用总线的请求。
当总线请求成功后,处理器将总线使用权交给DMA控制 设备就可以进行数据传输了。
当DMA传输完成时,DMA控制器释放总线控制。
AMBA是ARM提出的一种用于微处理器片上通信的先进总线结构。
典型的 AMBA 总线由 AHB 和 APB 总线段组成。
总线上的设备可以分为可以主动读写的主设备(master)和只能接收主设备请求的从设备(slave)。
对DMA控制器的研究催生了新的SoC架构,例如使用分布式Fly-by DMA结构以及为大数据吞吐量的模块预设专用通道。
从功耗角度来看,当系统中主模块较多时,总线仲裁器的负担增加,仲裁器是AMBA总线功耗的主要来源。
2.2 包含AHB主从接口DMA控制器的SoC系统架构 为了缓解在同一系统中同时实现大批量数据传输的需要,基于AMBA总线的SoC系统架构如图1所示建议。
从图中可以看出,系统处理器的数据接口和指令接口均作为AHB主设备连接到AHB总线上。
主存储器通过从接口连接到AHB总线,DMA控制器包含主接口和从接口,它们连接到AHB总线。
从机接口用于配置DMA控制器的内部寄存器,主机用于向AHB申请AHB总线控制权并进行DMA传输。
图1中,Memory通过AHB的从接口挂在AHB总线上。
DMA 控制器包含两个接口。
从接口完成DMA内部寄存器的配置后,主接口就可以申请AHB总线的使用权。
获得权限后,开始占用AHB总线,实现DMA数据传输。
这样就将处理器从外设之间的大规模数据传输中解放出来,直接通过DMA来完成,提高了数据传输速率。
但这也产生了一个问题:当DMA占用AHB总线时,处理器无法通过AHB接口取指令和读写数据。
虽然大多数处理器在内部或外部都配备有大容量的高速缓存(Cache),但当DMA控制器占用内存时,处理器仍然可以使用Cache中的程序和数据继续运行;但Cache采用程序局部性原理,当处理器执行的操作具有良好的局部性时,可以利用Cache中的指令和数据继续运行,同时DMA占用AHB总线。
但是,如果此时有设备产生中断,处理器的PC指针就会发生跳转,导致Cache失效。
AHB总线被DMA控制器占用,处理器无法取外部指令。
而且,由于成本问题,Cache的容量不能太大,从而影响处理器的效率。
2.3 包含2个AHB从接口DMA控制器的新型SoC系统架构 为了解决图1所示架构因大批量数据传输而引入DMA带来的问题,一个包含2个AHB从接口DMA控制器AHB接口是提出的SoC系统架构的DMA控制器。
AHB总线上的从接口不能主动发起传输,其所有操作都是被动的。
因此,图2中DMA控制器的主要功能是提供需要DMA传输的外设接口和处理器读写主存的通道,以及它们之间的优先级设置。
在这个双AHB从接口DMA控制器中,处理器优先级始终是最高的。
其他外设通道可以互相设置优先级。
除了处理器之外,为了防止同一个外围设备长期占用DMA总线的使用权,可以为外围DMA通道设置fallback(暂时释放DMA总线)。
例如,当通道2需要向Memory传输数据时,首先向总线申请DMA控制,使对应通道2的REQ信号有效。
如果 DMA 控制器允许通道 2 传输数据,则向通道 2 发送 ACK 响应信号。
当通道 2 传输完成后,DMA 控制回退长度寄存器设置的值进入回滚阶段。
如果数据传输完成,则REQ信号无效。
否则,REQ信号继续有效,回滚周期后DMA总线空闲。
参与 DMA 总线争用。
当总线空闲时,只有不在回滚期的最高优先级通道才能获得使用DMA总线和读写Memory的权利。
经Design Compiler逻辑综合后,DMA控制器在SMIC0.18μm工艺下可达到AHB时钟域90MHz。
能够满足所设计的SoC系统的时钟要求。
2.4 两种架构的性能比较 在图1所示的架构中,每次DMA传输都会启动一次读和一次写操作。
如果DMA传输过程中出现异常响应需要紧急处理,而此时AHB总线被DMA控制器占用,则处理器只能在DMA控制器释放AHB总线后才能占用AHB总线进行操作,从而影响处理器效率和系统。
对异步事件的响应速度。
图2中,它通过DMA控制器的一个通道连接到Memory。

DMA控制器包含两个AHB从接口,一个用于配置DMA控制器的内部寄存器,另一个用于处理器读写Memory。
首先,处理器可以使用Cache中的指令和数据来运行。
如果发生未命中,还可以访问AHB总线上的其他存储区域,因为此时AHB总线还没有被DMA传输占用。
除了处理器通道外,所有其他通道的 DMA 传输都可以设置回退, 以便处理器在外设 DMA 传输期间能够尽快获得 DMA 总线,并将 Memory 附加到 DMA 控制器可以尽快处理读写,从而提高处理器效率。
当异常中断发生时,处理器可以尽快响应中断,提高系统对异步事件的响应速度,从而提高系统的实时性能。
这样的架构在一定程度上解决了上述架构带来的影响处理器效率的问题。
3 总结 通过对两种不同架构的分析,可以得出,包含双从机AHB接口DMA技术的SoC系统架构不仅解决了外设与Memory之间大批量数据传输的问题,而且还解决了DMA技术的引入带来的处理器对异步事件响应慢、处理器效率低等问题。
提高了对异常中断的响应速度,使系统更适合硬实时系统。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-17
06-21
06-18
06-17
最新文章
使用电子管有哪些注意事项?如何检查电子管之间是否短路?
博通支付1200万美元和解SEC财务欺诈指控
八名运营商高管确认加入虚拟运营商
内蒙古农牧区雷电灾害成因分析及防雷对策
北京联通将5G应用于世园会远程医疗急救
TD-SCDMA最后一轮冲刺测试启动,产业前景更加光明
专访阿里云总裁王健:云计算服务平台梦想成真
USB2.0控制器CY7C68013的接口设计与实现