ARM9主要特点

ARM 处理器凭借它的低功耗、高性能等特点,被广泛应用于个人通信等嵌入式领域,
而ARM7 也曾在中低端手持设备中占据了一席之地。然而,ARM7 的处理性能逐渐无法满足
人们日益增长的高性能功能需求的处理,它开始退出主流应用领域,取而代之的是性能更加
强大的ARM9 系列处理器。

新一代的ARM9 处理器,通过全新的设计,能够达到两倍以上于ARM7 处理器的处理
能力。它的主要特点如下所述。

(1)5 级流水线
ARM7处理器采用的3级流水线设计,而ARM9则采用5 级流水线设计,

通过使用5级流水线机制,在每一个时钟周期内可以同时执行5条指令。这样就大大提
高了处理性能。在同样的加工工艺下,ARM9处理器的时钟频率是ARM7 的1.8~2.2倍。
(2)采用哈佛结构
首先读者需要了解什么叫哈佛结构?在计算机中,根据计算机的存储器结构及其总线连
接形式,计算机系统可以被分为冯·诺依曼结构和哈佛结构,其中冯·诺依曼结构共用数据
存储空间和程序存储空间,它们共享存储器总线,这也是以往设计时常用的方式;而哈佛结
构则具有分离的数据和程序空间及分离的访问总线。所以哈佛结构在指令执行时,取址和取
数可以并行,因此具有更高的执行效率。ARM9 采用的就是哈佛结构,而ARM7 采用的则是
冯·诺依曼结构。如图4.5 和图4.6 分别体现了冯·诺依曼结构和哈佛结构的数据存储方式。

由于在RISC 架构的处理器中,程序中大约有30%的指令是Load-Store 指令,而采用哈
佛结构大大提升了这两个指令的执行速度,因此对提高系统效率的贡献是非常明显的。
(3)高速缓存和写缓存的引入
由于在处理器中,一般处理器速度远远高于存储器访问速度,那么,如果存储器访问成为系统性能的瓶颈,则处理器再快也都毫无作用。在这种情况下,高速缓存(Cache)和写缓
存(Write Buffer)可以很好地解决这个问题,它们存储了最近常用的代码和数据,以供CPU
快速存储

(4)支持MMU
MMU是内存管理单元,它把内存以“页(page)”为单位来进行处理。一页内存是指一
个具有一定大小的连续的内存块,通常为4096B或8192B。操作系统为每个正在运行的程序
建立并维护一张被称为进程内存映射(Process Memory Map)的表,表中记录了程序可以存
取的所有内存页以及它们的实际位置。
每当程序存取一块内存时,它会把相应的虚拟地址(virtual address)传送给MMU,而
MMU 会在PMM 中查找这块内存的实际位置,也就是物理地址(physical address),物理地
址可以在内存中或磁盘上的任何位置。如果程序要存取的位置在磁盘上,就必须把包含该地
址的页从磁盘上读到内存中,并且必须更新PMM 以反映这个变化(这被称为pagefault,即
页错)。MMU的实现过程如图4.8 所示。
只有拥有了MMU才能真正实现内存保护。例如当A进程的程序试图直接访问属于B进
程的虚拟地址中的数据,那么MMU会产生一个异常(Exception)来阻止A的越界操作。这
样,通过内存保护,一个进程的失败并不会影响其他进程的运行,从而增强了系统的稳定性,
如图4.9 所示。ARM9 也正是因此拥有了MMU,比ARM7 有了更强的稳定性和可靠性。

来自:http://blog.sohu.com/s/MzczMzE4NzU/171909472.html

arm9特点的更多相关文章

  1. Qt4.8.5在ARM9上的移植

    Qt4.8.5在ARM9开发板上的移植 以前移植过qtopia-embedded-2.2.0,俗称Qt/E,在早期的Qt框架中是使用X11桌面服务器系统,无法应用于嵌入式平台,为此产生了qtopia, ...

  2. 基于KEIL4开发ARM9(S3C2440)的裸机程序

    本文主要介绍如何使用Keil4开发ARM9(S3C2440)裸机程序. 说明: 一.平台: 操作系统:Windows XP系统 KEIL版本:4.73 开发板:ARM9(S3C2440) 二.建立工程 ...

  3. ARM9的中断控制器

    简要复习一下ARM9中断控制器的控制过程: 1.首先能识别触发的中断(对应中断源必须打开,然后查询当前中断状态寄存器),硬件会操控PC跳到中断向量入口(IRQ_HANDLE,硬件控制的只要是IRQ中断 ...

  4. 学习ARM7、ARM9的操作系统选择经验! [转]

    一 首先说说ARM的发展        可以用一片大好来形容,翻开各个公司的网站,招聘里面嵌入式占据了大半工程师职位.广义的嵌入式无非几种:传统的什么51.AVR.PIC称做嵌入式微控制器:ARM是嵌 ...

  5. 对ARM9哈佛结构的认识

    书本上都说ARM是哈佛结构,但是我总感觉好像看不出来.后来针对S3C2440的ARM9核进行分析,我有了自己的见解. 我的结论是“ARM9被称为是哈佛结构是从它拥有指令cache和数据cache”来说 ...

  6. ARM内核全解析,从ARM7,ARM9到Cortex-A7,A8,A9,A12,A15到Cortex-A53,A57

    转自: ARM内核全解析,从ARM7,ARM9到Cortex-A7,A8,A9,A12,A15到Cortex-A53,A57 前不久ARM正式宣布推出新款ARMv8架构的Cortex-A50处理器系列 ...

  7. RTC 之 ARM7 2136 ARM9之2410

    RTC 的原理都是一样的,但计数过程中的计数换算却不相同: ARM9 直接出来的是BCD 码,也就是0x30   就是30秒,没有换算了,而ARM7则不同,他是直接计数的,十进制的30秒则是0x1E, ...

  8. ARM9嵌入式学习笔记(1)-Linux命令

    ARM9嵌入式学习笔记(1)-Linux命令 实验1-1-2 Linux常见命令使用 添加用户useradd smb; 设置账户密码passwd smb; 切换用户su - root 关机命令shut ...

  9. ARM9嵌入式学习笔记(2)-Vi使用

    ARM9嵌入式学习笔记(2) 实验1-1-3 Vi使用 vi创建文件vi hello.c:vi smb.conf-打开文件smb.conf i键-插入模式:esc键-命令行模式::-底行模式: 底行模 ...

  10. 基于三星ARM9(S3C2410)的交通违章抓拍系统的开发

    ARM9的交通违章抓拍系统的开发   ARM9的交通违章抓拍系统的开发 智能交通系统(ITS)将先进的信息技术.数据通讯传输技术.电子控制技术.计算机处理技术等应用于交通运输行业,从而实现各种运输方式 ...

随机推荐

  1. float布局打破标准流,神助攻clear清浮动

    布局是什么?根据功能划分小块,再根据设计稿还原,书写静态页面,然后再在块里面填充内容,完善功能,js施加交互效果.div作为一个容器,独占一行,代码书写习惯从上至下属于标准流,而浮动float的css ...

  2. mysql简单备份与恢复

    1.备份 mysqldump -u root -h 127.0.0.1 -p --set-gtid-purged=OFF  abc > /data/mysqlBak/abc_20200206.s ...

  3. 不用循环游标,一句update代码实现滚动计算

    发现一段经典SQL,不用循环游标,一句update代码实现滚动计算结存.为方便理解,结合实例测试之 --1,源数据#t1,jcshl初值为每个sid的当前库存数量,要实现的效果:每个sid的后一结存数 ...

  4. 原创: idea 的maven 方式配置 开发javaWeb(idea+tomcat +maven

    通过idea 编辑器来配置基于maven创建站点,在tomcat上配置 在采用idea 配置之前,首先要确保maven和 tomcat 正确运行. maven 配置链接 tomcat 配置链接 实际你 ...

  5. Qt实践基础-简单的登录界面的实现

    主要代码的实现: 1.为了更好的实现界面的组织,采用C++直接构建UI 2.登录多次密码错误则断开“确认”按钮的链接 3.注意理解static变量的应用 4.QString类的使用更像继承了strin ...

  6. 《自拍教程18》adb_Android设备debug连接工具

    adb命令介绍 做Android App测试,Android手机系统测试, 还有很多Android终端产品(手表,车载,智能电视,智能手表等) 都必须用adb命令,通过USB接口,与Android设备 ...

  7. 浏览器对象模型“BOM”,对浏览器窗口进行访问和操作

    location对象 location.href    url地址 location.hash    锚点 location.hostname    主机名(需要放到服务器上) location.ho ...

  8. JS笔记之第一天

    JavaScript:简称JS JS的原名不是JavaScript,而是LiveScript JS分为三个部分 1.ECMAScript  标准→JS的基本的语法 2.DOM——Document Ob ...

  9. centos python虚拟环境安装

    pip install virtualenv pip install virtualenvwrapper vim ~/.barshrc export VIRTUALENVWRAPPER_PYTHON= ...

  10. 剑指offer-面试题20-表示数值的字符串-字符串

    /* 题目: 判断字符串是否表示数值. */ /* 思路: 字符串遵循模式A[.[B]][e|EC] ,[+|-].B[e|EC] A.C为可能带正负号的数字串 B为数字串 */ #include&l ...