新闻  |   论坛  |   博客  |   在线研讨会
分析ARM9与arm7的差别
arm9arm7 | 2008-11-13 10:53:14    阅读:1726   发布文章

目前越来越多的嵌入式系统设计开始采用MIPS推出MIPS32 24KE处理器内核系列,集成了DSP功能处理器。理解ARM9与arm7的差别,以及如何针对ARM9进行系统优化,成为了一个令人关注的话题。本文通过对ARM9处理器的特点介绍,介绍针对ARM9处理器进行系统优化的一些有效方法。
随着更多应用在嵌入式系统中的实现,嵌入式系统设计向着更高级、更复杂的方向发展。作为32位结构体系中的翘楚,ARM在各种应用领域里得到了极其广泛的应用,成为目前国内电子设计领域里面的焦点之一(2005年一项针对国内嵌入式系统开发者的调查表明,有63%的工程师把ARM作为32位CPU的首选)。过去几年里,绝大部分ARM系统都是基于ARM7处理器,最近一年里,基于ARM9处理器的产品越来越多,研究ARM9的特点以及如何优化从ARM7到ARM9的移植,成为很多嵌入式系统设计者所关注的热点问题。
我们惯称的ARM9系列中又存在ARM9与ARM9E两个系列,其中ARM9属于ARM v4T架构,典型处理器如ARM9TDMI和ARM922T;而ARM9E属于ARM v5TE架构,典型处理器如ARM926EJ和ARM946E。因为后者的芯片数量和应用更为广泛,所以我们提到ARM9的时候更多地是特指ARM9E系列处理器(主要就是ARM926EJ和ARM946E这两款处理器)。下面关于ARM9的介绍也是更多地集中于ARM9E。
ARM7处理器和ARM9E处理器的流水线差别
对嵌入式系统设计者来说,硬件通常是第一考虑的因素。针对处理器来说,流水线则是硬件差别的最明显标志,不同的流水线设计会产生一系列硬件差异。让我们来比较一下ARM7和ARM9E的流水线
ARM9E从ARM7的3级流水线增加到了5级,ARM9E的流水线中容纳了更多的逻辑操作,但是每一级的逻辑操作却变得更为简单。比如原来ARM7的第三级流水,需要先内部读取寄存器、然后进行相关的逻辑和算术运算,接着处理结果回写,完成的动作非常复杂;而在ARM9E的5级流水中,寄存器读取、逻辑运算、结果回写分散在不同的流水当中,使得每一级流水处理的动作非常简洁。这就使得处理器的主频可以大幅度地提高。因为每一级流水都对应CPU的一个时钟周期,如果一级流水中的逻辑过于复杂,使得执行时间居高不下,必然导致所需的时钟周期变长,造成CPU的主频不能提升。所以流水线的拉长,有利于CPU主频的提高。在常用的芯片生产工艺下,ARM7一般运行在100MHz左右,而ARM9E则至少在200MHz以上。
ARM7的三级流水线与ARM9E的五级流水线。
ARM9E处理器的存储器子系统像ARM926EJ和ARM946E这两个最常见的ARM9E处理器中,都带有一套存储器子系统,以提高系统性能和支持大型操作系统。一个存储器子系统包含一个MMU(存储器管理单元)或MPU(存储器保护单元)、高速缓存(Cache)和写缓冲(Write Buffer);CPU通过该子系统与系统存储器系统相连。高速缓存和写缓存的引入是基于如下事实,即处理器速度远远高于存储器访问速度;如果存储器访问成为系统性能的瓶颈,则处理器再快也是浪费,因为处理器需要耗费大量的时间在等待存储器上面。高速缓存正是用来解决这个问题,它可以存储最近常用的代码和数据,以最快的速度提供给CPU处理(CPU访问Cache不需要等待)。
MMU则是用来支持存储器管理的硬件单元,满足现代平台操作系统内存管理的需要;它主要包括两个功能:一是支持虚拟/物理地址映射,二是提供不同存储器地址空间的保护机制。
技术支持:联系电话:13148818895 0755-83690800/075583662100   余焕丽

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
龙人嵌入式开发中心专业提供嵌入式系统开发和嵌入式ARM解决方案服务同时提供ARM9开发板、Xscale开发平台及ARM仿真器http://www.szarm.com
推荐文章
最近访客