arm9特点

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

原文地址:https://www.cnblogs.com/lemaden/p/10376552.html

时间: 2024-07-29 18:18:44

arm9特点的相关文章

ARM9嵌入式学习日志--20170828

2017年8月25日(星期五),入手天祥ARM9开发板. 周末两天一直没时间进行整机测试.今天晚上,根据配套视频讲解,尝试对开发板的基本功能进行验证. 带着明确的目的,跳跃式的观看视频. 首先了解PC与目标板的连线:一条USB下载线,一条USB转串口线,一条网线,一个J-TAG模块通过并口与PC相连). 自己的PC光驱已坏,随板附赠的光盘无法使用,幸好在百度网盘上找到了相关资源.USB下载站的驱动是光盘资料中提供的,而USB转串口的驱动需要自己搜集.

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

本文主要介绍如何使用Keil4开发ARM9(S3C2440)裸机程序. 说明: 一.平台: 操作系统:Windows XP系统 KEIL版本:4.73 开发板:ARM9(S3C2440) 二.建立工程:   1.新建工程,选择S3C2440A处理器: 2.对工程进行设置 1)设置RAM.ROM地址: RAM1: Start:0x30000000 Size:0x200000 ROM1: Start:0x30200000 Size:0x200000 2)生成Hex文件 3)设置生成.0 .bin .

arm9的时钟和定时器

时钟 两种能够提供时钟的方式: 1) 晶振 2) PLL(也就是锁相环):通用PLL需啊一个晶振,和对晶体特定频率分频或倍频的锁相环电路. 学习ARM9时钟的四步: 1) 晶振:12MHZ 2) 有多少个PLL:两个,MPLL和UPLL 3) PLL产生了哪些时钟: MPLL:FCLK HCLK PCLK UPLL:UCLK 4) 时钟都用来做什么了: FCLK:用于CPU核. HCLK:用于AHB总线设备,如cpu核,存储控制器,中断控制器,DMA等. PCLK:用于APB总线设备,如watc

arm9 点亮led程序优化导致全亮问题

如需转载请注明出处 本实验是arm9 裸板程序,主要功能是循环点亮4个led. 参考伟山东的<嵌入式linux应用开发>点亮led节. 电路图如下: 代码如下: head.s .text .global _start _start: ldr r0, =0x56000010 @ WATCHDOG寄存器地址 mov r1, #0x0 str r1, [r0] @ 写入0,禁止WATCHDOG,否则CPU会不断重启 ldr sp, =1024*4 @ 设置堆栈,注意:不能大于4k, 因为现在可用的内

ubuntu14.10+QT4编写ARM9(mini2440)应用的配置与安装

笔记本:ubuntu14.10(32位) ARM9开发板:mini2440(友善之臂提供的Superboot2440.zImage_T35.rootfs_qtopia_qt4镜像文件,通过minitools烧写进开发板) 交叉编译:arm-linux-gcc-4.4.3 开发所需工具:minicom.u盘 tslib 一.下载地址:http://download.csdn.net/detail/muyang_ren/8280977 解压安装(要在root用户下): 1.# tar -zxvf t

菜鸟零基础自学ARM9和LINUX过程中做的笔记

我是一名自动化专业的学生,最近开始自学ARM9和Linux,在学习过程中难免会遇到些问题,把这些问题查明白之后,当时可能很清楚,但是过了一段时间之后可能就会忘了,因此想着能够做些笔记,以前学单片机和STM32的时候,都是把笔记做成一个一个的word保存到自己的电脑中,后来突然想着把学习过程做的笔记写成一个一个的博客,这样以后查阅起来也会比较方便.因此申请了博客园的账号开始写博客,这是写的第一篇博客,

简易多任务的设计(v1.0) --基于TQ2440(ARM9)的实现(1)

** 1. 概述 ** 多任务是现代操作系统的核心功能,深入理解多任务并非易事,但学习者如果能尝试去实现一个简易的多任务程序,对理解操作系统的"多任务"概念会有很大的帮助.若能进一步拓展这个多任务的程序,则可设计一个简易的内核(Kernel). 本文就是介绍一个十分简易的多任务程序. 实验程序中共有2个任务,Task1和Task2: Task1中,闪烁LED1灯3次后,主动将CPU使用权切换给Task2: Task2中,闪烁LED2灯3次后,主动将CPU使用权切换给Task1. 从而,

arm处理器中a5 a8 a9,v6 v7,arm7 arm9 arm11都是依据什么来分类的【转】

转自:http://blog.csdn.net/maochengtao/article/details/9951131ARM处理器发展这么多年,有很多架构,很多不同的内核 架构有armv1 v2 v3 v4 v5 v6 v7 内核太多了,比如armv1对应的是arm1,armv5对应的arm9,armv6对应的arm11,armv7对应的cortex(比如A8 A9都属于cortex架构) cortex-a8 cortex-a9 arm11 arm 9都是CPU构架. 在性能上cortex-a9

从PC端(Ubuntu)挂载nfs网络文件系统ARM9+Linux板子上

挂载概念 在windows操作系统中,挂载通常是指给磁盘分区(包括被虚拟出来的磁盘分区)分配一个盘符. 在linux操作系统中,它指将一个设备(通常是存储设备)挂接到一个已存在的目录上.(这个目录可以不为空,但挂载后这个目录下以前的内容将不可用.) 需要理解的是,linux操作系统将所有的设备都看作文件,它将整个计算机的资源都整合成一个大的文件目录.我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上,然后通过访问这个目录来访问存储设备. 命令格式: mount [-t vf