15.2 片上存储器
如果微处理器要达到最佳性能,那么采用片上存储器是必需的。通常ARM处理器的主频为几十MHz到200MHz。而一般的主存储器采用动态存储器(ROM),其存储周期仅为100ns~200ns。这样指令和数据都存放在主存储器中,主存储器的速度将会严重制约整个系统的性能。在当前的时钟速度下,只有片上存储器能支持零等待状态访问速度。同时,与片外存储器相比,片上存储器有较好的功耗效率,并减少了电磁干扰。
在许多嵌入式系统中采用简单的片上RAM而不是Cache,因为Cache有以下特点:
· 结构简单、价格便宜且功耗低;
· Cache有更不确定的行为。
在设计中,为了使Cache有效的工作需要巨大的逻辑开销。同时,如果没有合适、现成的Cache,则设计费用是惊人的。而且,Cache存储器的操作很复杂,这使得在大多数情况下很难预测它将如何工作,在某种程度上导致了系统的不可预知性。特别是在有中断的情况下,很难保证中断响应时间。
与Cache相比,片上RAM的缺点是需要程序员直接管理。而Cache对于程序员来说是透明的。如果程序的混合(program mix)、定义好并且不需要程序员对其进行控制,那么片上RAM就能有效的作为软件控制的Cache来使用。如果应用程序的混合不能预知,那么控制任务就变得非常困难。因此,应用程序的混合不可预知的通用系统中,通常采用Cache。
片上RAM的一个重要特点是,它使程序员能够根据对将来处理工作量的了解划分RAM空间。而Cache只能记录运行过的程序状态,无法预测以后要运行的程序,因此,无法实现对将来的关键任务预先作准备。在一些嵌入式系统中,关键任务必须满足严格的实时约束,这个差别就显得特别重要。