新闻中心

EEPW首页>嵌入式系统>设计应用> 嵌入式系统中外围器件的能耗估算方法

嵌入式系统中外围器件的能耗估算方法

作者: 时间:2012-03-31 来源:网络 收藏

的方法

如图1所示,典型的由计算机、存储器、和功率驱动器组成。本文介绍了用于的通用的精确到每个周期的能耗和性能模型。目前的系统中有两种通常所使用的外围操作类型:1. 在CPU中采用特定的I/O指令来激活;2. 采用被影射的存储器I/O,此时,一部分地址空间被分配到I/O驱动器,处理器通过读取和写入这些地址和与器件通讯。图2所示为采用不同通讯方案的外围器件的抽象行为。

外围器件有两种方式将信号返回到CPU:轮询和中断。

1. 轮询方式

外围器件将数据写入状态寄存器并且处理器会周期地检查状态寄存器。轮询的优点是易于实现并且处理器始终处于控制状态,其缺点是轮询会导致CPU时间开销大且能耗增加。作为存储器读和状态检查循环中的一个环节,轮询是在一个精确到每个周期的仿真器内实现的,轮询要进行到所需的外围器件状态被满足时才会结束。在这个过程当中CPU一直处于工作状态。

2. 中断方式

当外围器件要占用处理器周期时,外围器件产生I/O中断,其优点在于仅仅当需要的时候,才会占用处理器。相应地需要特殊的硬件来创建和检测中断。此外,对每一个中断,处理器都要存储其状态,这是在具有一个中断程序和一个在仿真器内,延迟被精确到每个周期的仿真器上实现的。在被中断之前,处量器将会处于空闲状态或运行其它的任务。

中断的一个常用案例是直接存储器存取(DMA)。如果处理器正好是内存与外围器件之间的传媒,DMA就非常有帮助,在这样的情况下,DMA可使内存与外围器件直接通信,DMA控制器是通信的主控单元,且通讯在处理器外部完成,当传输完成后处理器再次处于空闲状态。

我们实现了一个通用存储器映射外围器件能耗模型,因为目前系统实现中存储器映射I/O的应用非常普遍。此外,还实现了处理器与外围器件间的轮询、基于中断的通讯和DMA通信。处围器件的能耗与性能模型被输入到ARMulator ,它是一种商用ARM处理器的性能仿真器。向ARMulator增加新的模块的时候,设计工程师必需为每一个系统元件创建简单的精确到每个周期的功能和性能模型,然后,应用软件可由所提供的编译器交叉编译,并且编译后的软件被载入仿真器,从而取得性能统计信息,要加入每个元件的精确到每个周期的模型,能耗模型是以元件制造商所提供的数据表为根据创建的。我们引用了Simunic et. al. 提出的能耗模型。

仿真器结构如图1所示。在每个周期中,ARMulator向外部模块发送有关处理器状态、数据和地址总线值的信息。处理器周期可分为两组:1. 当处理器正在运行的工作周期;2. 当处理器正在等待内存和外围器件访问的空闲周期。利用由ARMulator提供的有关处理器状态、地址和数据总线的信息,每个模块确定其状态和在该状态下的能耗。每一个总线的开关行为以每个周期为单位来计算。总线上的能耗以总线电容和开关行为来计算。两种功率器件都由功效表来计算能耗。如等式1所示,每一个周期的总能耗是各个元件能耗值的总和。





能耗和性能Profiler工具用于获取特殊硬件单元及总系统的每个软件程序段的能耗的分布情况。在每个周期中, Profiler工具决定当前执行程序并将这一周期与前一周期间的能耗添加到该程序段的能耗中。Profiler工具周期频率在代码执行前由用户确定。最后,Profiler以百分数形式报告能耗分布情况。



评论


相关推荐

技术专区

关闭