ARM7与ARM9的区别及ARM体系结构
ARM7跟ARM9的区别跟ARM体系结构新
ARM7与ARM9的区别及ARM体系结构一、 ARM7与ARM9的区别新一代的ARM9处理器,通过全新的设计,采用了更多的晶体管,能够达到两倍以上于ARM7处理器的处理能力。
这种处理能力的提高是通过增加时钟频率和减少指令执行周期实现的。
1 时钟频率的提高ARM7处理器采用3级流水线,而ARM9采用5级流水线。
增加的流水线设计提高了时钟频率和并行处理能力。
5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。
在同样的加工工艺下,ARM9TDMI处理器的时钟频率是ARM7TDMI的1.8~2.2倍。
2 指令周期的改进指令周期的改进对于处理器性能的提高有很大的帮助。
性能提高的幅度依赖于代码执行时指令的重叠,这实际上是程序本身的问题。
对于采用最高级的语言,一般来说,性能的提高在30%左右。
2.1 loads 指令矛n stores指令指令周期数的改进最明显的是loads指令和stores指令。
从ARM7到ARM9这两条指令的执行时间减少了30%。
指令周期的减少是由于ARM7和ARM9两种处理器内的两个基本的微处理结构不同所造成的。
(1)ARM9有独立的指令和数据存储器接口,允许处理器同时进行取指和读写数据。
这叫作改进型哈佛结构。
而ARM7只有数据存储器接口,它同时用来取指令和数据访问。
(2)5级流水线引入了独立的存储器和写回流水线,分别用来访问存储器和将结果写回寄存器。
以上两点实现了一个周期完成loads指令和stores指令。
2.2 互锁(interlocks)技术当指令需要的数据因为以前的指令没有执行完而没有准备好就会产生管道互锁。
当管道互锁发生时,硬件会停止这个指令的执行,直到数据准备好为止。
虽然这种技术会增加代码执行时间,但是为初期的设计者提供了巨大的方便。
编译器以及汇编程序员可以通过重新设计代码的顺序或者其他方法来减少管道互锁的数量。
2.3 分枝指令ARM9和ARM7的分枝指令周期是相同的。
第二章 ARM处理器基础
C
V
3、保留位
CPSR中和其余位为保留位。
四、ARM的异常处理
1.1 进入/退出异常
1、进入异常
内核刚进入异常状态时,会依次采取以下动作: ① 将原来执行的程序的下一条指令地址保存到链接寄存器(LR)中。 ② 复制CPSR到相应的SPSR进行保存。 ③ 根据发生的异常类型改变CPSR的模式位的值。 ④ 令程序计数器(PC)的值指向异常处理向量所指的下一条指令。 ⑤ 这时也可能设置中断禁能标志,以防止不可估计的异常嵌套发生。
2、大端存储格式(Big 大端存储格式(
Endian) Endian)
字数据的高字节存储在低地址中,而字数据的低字节则存储在高地址中 的存储方式称为大端存储格式 大端存储格式。 大端存储格式
假设一个32位的数据0xA9876543,保存到起始地址为0x0000的存 储空间里,按大端存储格式对数据进行存储。
1、控制位
CPSR的低8位称为控制位。 对各控制位的定义如下: ① T标志位 标志位 该位反映处理器的操作状态。 ② 中断禁止位 I和F是中断禁止位。 ③ 操作模式位 MO,M1,M2,M3和M4(M[4:0])是模式位,这些位决定了处 理器的操作模式。
2、条件码标志位
在ARM状态下,绝大多数指令都是有条件执行指令;在THUMB状 态下,仅有分支指令是有条件执行指令。 各条件码标志位的具体含义
第二章 ARM处理器基础
一、ARM7处理器概述 二、ARM处理器的数据格式 三、处理器模式与内部寄存器 四、ARM的异常处理 五、本节附录
一、ARM7处理器概述
ARM7TDMI是一个32位的微处理器核, 基于精简指令集(RISC)的 原理设计而成的。处理器的译码结构相对简单;处理器内含集成元件 的门数相对减少,功耗降低。 ARM7微处理器系列特点: 1、32位嵌入式RISC处理器; 2、支持多种低功耗模式; 3、支持片上调试功能,通过JTAG连接; 4、实时中断处理系统; 5、3级指令流水线,具有很高的指令吞吐量。
ARM920T
ARM920T内核 内核 一、ARM9和ARM7比较 和 比较 二、ARM920T内核总体结构 内核总体结构 内核的MMU 三、ARM920T内核的 内核的 内核的CACHE 四、ARM920T内核的 内核的
一、ARM9和ARM7比较 和 比较
1、性能比较 、 相同的加工工艺,性能提高 倍 相同的加工工艺,性能提高2倍 (1)提高时钟频率 ) (2)减少常用指令执行的时钟周期数 )
内核的CACHE 四、ARM920T内核的 内核的
2、CACHE与DRAM存取的一致性 、 与 存取的一致性
旁路读出式(Look Aside) 旁路读出式 在这种方式中, 发出数据请求时, 在这种方式中,CPU发出数据请求时,并不是单通道地穿过 发出数据请求时 并不是单通道地穿过Cache, , 而是向Cache和主存同时发出请求。由于 和主存同时发出请求。 速度更快, 而是向 和主存同时发出请求 由于Cache速度更快, 速度更快 如果命中, 在将数据回送给CPU的同时, 的同时, 如果命中,则Cache在将数据回送给 在将数据回送给 的同时 还来得及中断CPU对主存的请求; 对主存的请求; 还来得及中断 对主存的请求 不命中, 不做任何动作, 不命中,则Cache不做任何动作, 不做任何动作 直接访问主存。 由CPU直接访问主存。 直接访问主存 它的优点是没有时间延迟, 它的优点是没有时间延迟, 缺点是每次CPU对主存的访问都存在,这样, 对主存的访问都存在, 缺点是每次 对主存的访问都存在 这样, 就占用了一部分总线时间。 就占用了一部分总线时间。
ARM7、ARM9、ARM11、ARM-Cortex的关系
ARM7、ARM9、ARM11、ARM-Cortex的关系1. ARM7、ARM9、ARM11、ARM-Cortex 的关系ARM7:ARMv4 架构,ARM9:ARMv5 架构,ARM11:ARMv6 架构,ARM-Cortex 系列:ARMv7 架构ARM7 没有MMU(内存管理单元),只能叫做MCU(微控制器),不能运行诸如Linux、WinCE 等这些现代的多用户多进程操作系统,因为运行这些系统需要MMU,才能给每个用户进程分配进程自己独立的地址空间。
ucOS、ucLinux 这些精简实时的RTOS 不需要MMU,当然可以在ARM7 上运行。
ARM9、ARM11,是嵌入式CPU(处理器),带有MMU,可以运行诸如Linux 等多用户多进程的操作系统,应用场合也不同于ARM7。
到了ARMv7架构的时候开始以Cortex 来命名,并分成Cortex-A、Cortex-R、Cortex-M 三个系列。
三大系列分工明确:A 系列面向尖端的基于虚拟内存的操作系统和用户应用;R 系列针对实时系统;M 系列对微控制器。
简单的说Cortex-A 系列是用于移动领域的CPU,Cortex-R 和Cortex-M 系列是用于实时控制领域的MCU。
所以看上去ARM7 跟Cortex-M 很像,因为他们都是MCU,但确是不同代不同架构的MCU(Cortex-M 比ARM7 高了三代!),所以性能也有很大的差距。
此外,Cortex-M 系列还细分为M0、M3、M4 和超低功耗的M0+,用户依据成本、性能、功耗等因素来选择芯片。
想必楼主现在肯定知道了ARM7、Cortex-M 的区别,不过还是花了点时间整理在此,可以帮助后来的初学者搞明白这些基本的概念性问题2. ARM7,ARM9,cortex-m3,cortex-m4,cortex-a8 的区别arm 系列从arm11 开始,以后的就命名为cortex,并且性能上大幅度提升。
ARM不同版本的区别
ARM不同版本的区别一.谈谈ARM7与ARM9的区别:本文是写给准备学习ARM技术,而又没想好要学ARM7还是ARM9或者对ARM7与ARM9的区别不是很了解的初学者。
希望本文对你们有点用处。
由于职业的关系,经常会回答一些ARM初学者的问题,虽然问题千奇百怪,但以下两个问题绝对很有代表性。
ARM7和ARM9的都有些什么区别?我准备学ARM,但不知是选ARM7还是ARM9好?也许这些问题在大虾们的眼里已不是问题,但对于初学者确实很具必要弄清楚。
先说下:ARM7和ARM9的区别。
1. 时钟频率的提高虽然ARM7和ARM9内核架构相同,但ARM7处理器采用3级流水线的冯·诺伊曼结构;,而ARM9采用5级流水线的哈佛结构。
增加的流水线设计提高了时钟频率和并行处理能力。
5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。
在常用的芯片生产工艺下,ARM7一般运行在100MHz左右,而ARM9则至少在200MHz以上。
2 指令周期的改进指令周期的改进对于处理器性能的提高有很大的帮助。
性能提高的幅度依赖于代码执行时指令的重叠,这实际上是程序本身的问题。
对于采用最高级的语言,一般来说,性能的提高在30%左右。
3.MMU(内存管理单元)ARM7一般没有MMU(内存管理单元),(ARM720T有MMU)。
ARM9一般是有MMU的,ARM9940T只有MPU ,不是一个完整的MMU。
这一条很重要,MMU单元是大型操作系统必需的硬件支持,如LINUX;WINCE等。
这就是说,ARM7一般只能运行小型的实时系统如UCOS-II,eCOS等,而ARM9无此限制,一般的操作系统都可以移植。
其实即使ARM720T能支持LINUX;WINCE等系统,也鲜有人用,因为以ARM7的运行速度跑这种大型操作系统,实在有点吃力。
再者两者的应用领域明显不同,也无此必要。
4. ARM7比ARM9提供了更好的性能-功耗比。
一文详解ARM7_ARM9和ARM11的区别
一文详解ARM7_ARM9和ARM11的区别ARM处理器是英国Acorn有限公司设计的低功耗成本的第一款RISC微处理器。
全称为Advanced RISC Machine。
ARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。
本文主要详解ARM7_ARM9和ARM11的区别,具体的跟随小编一起来了解一下。
ARM7_ARM9和ARM11的区别1、时钟频率的提高虽然内核架构相同,但ARM7处理器采用3级流水线的冯诺伊曼结构;而ARM9采用5级流水线的哈佛结构,ARM11为8级流水线哈弗结构(从arm9开始都采用了哈弗结构)。
增加的流水线设计提高了时钟频率和并行处理能力。
5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。
在常用的芯片生产工艺下,ARM7一般运行在100MHz左右,而ARM9则至少在200MHz以上.ARM11首先推出350M~500MHz时钟频率的内核,目前上升到1GHz时钟频率。
2、指令周期的改进指令周期的改进对于处理器性能的提高有很大的帮助。
性能提高的幅度依赖于代码执行时指令的重叠,这实际上是程序本身的问题。
对于采用最高级的语言,一般来说,性能的提高在30%左右。
3、MMU(内存管理单元)ARM7一般没有MMU(内存管理单元),(ARM720T有MMU)。
ARM9一般是有MMU的,ARM9940T只有MPU,不是一个完整的MMU。
ARM11当然也有MMU的。
这一条很重要,MMU单元是大型操作系统必需的硬件支持,如LINUX;WINCE等。
这就是说,ARM7一般只能运行小型的实时系统如UCOS-II,eCOS等,而ARM9无此限制,一般的操作系统都可以移植。
其实即使ARM720T能支持LINUX;WINCE等系统,也鲜有人用,因为以ARM7的运行速度跑这种大型操作系统,实在有点吃力。
ARM7处理器和ARM9E处理器的流水线差别
ARM7处理器和ARM9E处理器的流水线差别1ARM处理器解析ARM9、ARM11是哈佛结构,5级流水线结构,所以性能要高一点。
ARM9和ARM11大多带内存管理器,跑操作系统好一点,ARM7适合裸奔。
我们惯称的ARM9系列中又存在ARM9与ARM9E两个系列,其中ARM9 属于ARM v4T架构,典型处理器如ARM9TDMI和ARM922T;而ARM9E属于ARM v5TE架构,典型处理器如ARM926EJ和ARM946E。
因为后者的芯片数量和应用更为广泛,所以我们提到ARM9的时候更多地是特指ARM9E系列处理器(主要就是ARM926EJ和ARM946E这两款处理器)。
下面关于ARM9的介绍也是更多地集中于ARM9E。
2ARM7处理器和ARM9E处理器的流水线差别对嵌入式系统设计者来说,硬件通常是第一考虑的因素。
针对处理器来说,流水线则是硬件差别的最明显标志,不同的流水线设计会产生一系列硬件差异。
让我们来比较一下ARM7和ARM9E的流水线,ARM9E从ARM7的3级流水线增加到了5级,ARM9E的流水线中容纳了更多的逻辑操作,但是每一级的逻辑操作却变得更为简单。
比如原来ARM7的第三级流水,需要先内部读取寄存器、然后进行相关的逻辑和算术运算,接着处理结果回写,完成的动作非常复杂;而在ARM9E的5级流水中,寄存器读取、逻辑运算、结果回写分散在不同的流水当中,使得每一级流水处理的动作非常简洁。
这就使得处理器的主频可以大幅度地提高。
因为每一级流水都对应CPU的一个时钟周期,如果一级流水中的逻辑过于复杂,使得执行时间居高不下,必然导致所需的时钟周期变长,造成CPU的主频不能提升。
所以流水线的拉长,有利于CPU主频的提高。
在常用的芯片生产工艺下,ARM7一般运行在100MHz左右,而ARM9E则至少在200MHz以上。
3ARM9E处理器的存储器子系统。
ARM9处理器与ARM7处理器比较
& "#$% 的 典 型 应 用
42 公 司 的 I$"JE-K 是 最 新 的 无 线 通 信 基 带 信 号 处
理 器 & 该 处 理 器 是 42 的 LJ#( 3<;FF ,. 通 信 模 块 与 专 用 于 应 用 处 理 的 "#$%.D 通 用 处 理 器 8LJJ= 的 集 成 & 由 于
LJJ 的 速 度 可 达 .KK$)M % 因 此 I$"JE-K 具 有 两 倍 于 上
一 代 I$"JE,K 处 理 器 的 应 用 处 理 性 能 & 如 同 所 有 的
I$"J 处 理 器 一 样 % I$"JE-K 可 支 持 领 先 的 移 动 操 作 系 统 % 其 中 包 括 $0>9AFAG1 的 智 能 电 话 与 JA>N:1 J3 J5AB: &O010AB ( (P7/0;B I( 与 (:90:F DK ( J;<7 I( 以 及 Q0B6R & 42 I$"JE-K 结 构 如 图 C 所 示 & 其 中 "#$%.D4&S 处 理 器 的 主 要 特 性 包 括 " # , $ 最 高 频 率 .KK$)M ’ # . $ ,D?* 指
@ABCDEFG HI & :J$%BKC L: & *BC#M 等 N 及 其 他 功 能 ’ $ 7 % 高
性 能 功 能 # 音 频 播 放 器 & 视 频 电 话 & 手 机 游 戏 等 ( 在 2<=O 和 7; 的 应 用 中 1)(3 已 经 全 面 替 代 了 1)(- ) 因 为 1)(3 的 新 特 性 能 够 满 足 各 种 新 需 求 的 同 时 减 少 产 品 研发时间并降低研发费用" 新 一 代 的 1)(3 处 理 器 ! 通 过 全 新 的 设 计 ! 采 用 了 更 多 的 晶 体 管 ! 能 够 达 到 两 倍 以 上 于 1)(- 处 理 器 的 处 理能力" 这种处理能力的提高是通过增加时钟频率和减 少指令执行周期实现的"
关于ARM的内核架构介绍
张凌001关于ARM的内核架构很多时候我们都会对M0,M0+,M3,M4,M7,arm7,arm9,CORTEX-A系列,或者说AVR,51,PIC等,一头雾水,只知道是架构,不知道具体是什么,有哪些不同?今天查了些资料,来解解惑,不是很详细,但对此有个大体了解。
咱先来当下最火的ARM吧1.ARMARM即以英国ARM(Advanced RISC Machines)公司的内核芯片作为CPU,同时附加其他外围功能的嵌入式开发板,用以评估内核芯片的功能和研发各科技类企业的产品.ARM 微处理器目前包括下面几个系列,以及其它厂商基于 ARM 体系结构的处理器,除了具有ARM 体系结构的共同特点以外,每一个系列的 ARM 微处理器都有各自的特点和应用领域。
- ARM7 系列- ARM9 系列- ARM9E 系列- ARM10E 系列- ARM11系列- Cortex 系列- SecurCore 系列- OptimoDE Data Engines- Intel的Xscale- Intel的StrongARM ARM11系列2. Cortex 系列32位RISCCPU开发领域中不断取得突破,其设计的微处理器结构已经从v3发展到现在的v7。
Cortex 系列处理器是基于ARMv7架构的,分为Cortex-M、Cortex-R和Cortex-A三类。
由于应用领域的不同,基于v7架构的Cortex处理器系列所采用的技术也不相同。
基于v7A的称为“Cortex-A系列。
高性能的Cortex-A15、可伸缩的Cortex-A9、经过市场验证的Cortex-A8处理器以及高效的Cortex-A7和Cortex-A5处理器均共享同一体系结构,因此具有完整的应用兼容性,支持传统的ARM、Thumb指令集和新增的高性能紧凑型Thumb-2指令集。
1Cortex-M系列Cortex-M系列又可分为Cortex-M0、Cortex-M0+、Cortex-M3、Cortex-M4;2Cortex-R系列Cortex-R系列分为Cortex-R4、Cortex-R5、Cortex-R7;3Cortex-A 系列Cortex-A系列分为Cortex-A5、Cortex-A7、Cortex-A8、Cortex-A9、Cortex-A15、Cortex-A50等 ,同样也就有了对应内核的Cortex-M0开发板、Cortex-A5开发板、Cortex-A8开发板、Cortex-A9开发板、Cortex-R4开发板等等。
ARM7与ARM9的区别及ARM体系结构.
ARM7与ARM9的区别及ARM体系结构一、 ARM7与ARM9的区别新一代的ARM9处理器,通过全新的设计,采用了更多的晶体管,能够达到两倍以上于ARM7处理器的处理能力。
这种处理能力的提高是通过增加时钟频率和减少指令执行周期实现的。
1 时钟频率的提高ARM7处理器采用3级流水线,而ARM9采用5级流水线。
增加的流水线设计提高了时钟频率和并行处理能力。
5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。
在同样的加工工艺下,ARM9TDMI处理器的时钟频率是ARM7TDMI的1.8~2.2倍。
2 指令周期的改进指令周期的改进对于处理器性能的提高有很大的帮助。
性能提高的幅度依赖于代码执行时指令的重叠,这实际上是程序本身的问题。
对于采用最高级的语言,一般来说,性能的提高在30%左右。
2.1 loads 指令矛n stores指令指令周期数的改进最明显的是loads指令和stores指令。
从ARM7到ARM9这两条指令的执行时间减少了30%。
指令周期的减少是由于ARM7和ARM9两种处理器内的两个基本的微处理结构不同所造成的。
(1)ARM9有独立的指令和数据存储器接口,允许处理器同时进行取指和读写数据。
这叫作改进型哈佛结构。
而ARM7只有数据存储器接口,它同时用来取指令和数据访问。
(2)5级流水线引入了独立的存储器和写回流水线,分别用来访问存储器和将结果写回寄存器。
以上两点实现了一个周期完成loads指令和stores指令。
2.2 互锁(interlocks)技术当指令需要的数据因为以前的指令没有执行完而没有准备好就会产生管道互锁。
当管道互锁发生时,硬件会停止这个指令的执行,直到数据准备好为止。
虽然这种技术会增加代码执行时间,但是为初期的设计者提供了巨大的方便。
编译器以及汇编程序员可以通过重新设计代码的顺序或者其他方法来减少管道互锁的数量。
2.3 分枝指令ARM9和ARM7的分枝指令周期是相同的。
ARM9TDMI-特点及其与ARM9TDMI的比较
Shift+ALU
Shift+ALU
EXECUTE
FETCH
DECODE
EXECUTE
Reg Read
Shift
ALU
Reg Write
Reg Read
ShEiXft ECUATLEU
Reg Write
EXECUTE
Data Memory Access
Data Memory
MAEcMceOssRY
式(10.1)中,Ninst:即程序中执行的ARM指 令数;CPI:即平均每条指令的时钟周期数;fclk:表 示处理器时钟频率。这样对于给定的程序即Ninst固定 的情况下,只有通过提高处理器时钟频率fclk和增加平 均每条指令时钟周期数CPI的方法来缩短程序执行的 时间,提高处理器的执行能力。这样如果同一指令的 执行时间在处理器的时钟频率不方便更改时,可以通 过更改CPI以显著地缩短程序执行时间。
LDR pc
Load/store 地址
D-cache rot/sgn ex
缓冲器/ 数据
寄存器写
写回
图10.2 ARM9TDMI 5级流水线组织结构
3)虽然ARM7TDMI和ARM9TDMI都是基于ARM 体系结构的v4T版本,但在数据中止模式时ARM9TDMI采用的 是基地址重新装入(base restored data abort model)模式, 而ARM7TDMI采用的是基址更新模式(base updated data abort model)。在ARM9TDMI中,当出现访问存储器数据中 止时,处理器硬件在数据中止指令执行前,自动保存相应发生 数据中止时基地址寄存器的值,这样消除了数据中止句柄去一 一查找引起数据中止操作的指令确定的基地址寄存器更新。
嵌入式系统简答题
述嵌入式系统的定义。
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
1-2.简述嵌入式系统的组成。
从体系结构上看,嵌入式系统主要由嵌入式处理器、支撑硬件和嵌入式软件组成。
其中嵌入式处理器通常是单片机或微控制器,支撑硬件主要包括存储介质、通信部件和显示部件等,嵌入式软件则包括支撑硬件的驱动程序、操作系统、支撑软件及应用中间件等。
嵌入式系统的组成部分是嵌入式系统硬件平台、嵌入式操作系统和嵌入式系统应用。
嵌入式系统硬件平台为各种嵌入式器件、设备(如ARM、Power PC、Xscale、MIPS 等);嵌入式操作系统是指在嵌入式Linux、u CLinux、Win CE 等。
ARM7与ARM9的区别1-3.ARM7处理器使用的是(ARMv4)指令集。
ARM7 内核采用冯·诺依曼体系结构,数据和指令使用同一条总线。
内核有一条3级流水线,执行ARMv4 指令集。
1-6.ARM9采用的是(5)级流水线设计。
存储器系统根据哈佛体系结构(程序和数据空间独立的体系结构)重新设计,区分数据总线和指令总线内存管理单元MMU定义:提供专门负责存储管理的部件。
作用:实现地址映射;对地址访问进行保护和限制ARM核有多少个寄存器?ARM处理器有37个32位长的寄存器;(1)30个通用寄存器;(2)6个状态寄存器(3)1个pc2、ARM处理器:ARM处理器是英国ARM(Advanced RISC Machines)公司设计的全球领先的16/32位RISC微处理器,ARM公司通过转让RISC微处理器,外围和系统芯片设计技术给合作伙伴,使他们能用这些技术来生产各具特色的芯片。
4、异常:当正常的程序执行流程发生暂时的停止时,称之为异常,例如处理一个外部的中断请求。
6、ARM微处理器内核是如何进行异常处理的?答:1)当异常产生时,ARM内核拷贝CPSR到SPSR_<mode>,设置适当的CPSR位:改变处理器状态进入ARM态,改变处理器模式进入相应的异常模式,设置中断禁止位禁止相应中断(如果需要);保存返回地址到LR_<mode>,设置PC为相应的异常向量。
关于ARM的内核架构介绍
关于ARM的内核架构介绍ARM(Advanced RISC Machines)是一种基于精简指令集(RISC)架构的处理器,广泛应用于嵌入式系统和移动设备。
ARM处理器具有低功耗、高性能和灵活性等特点,因此成为了电子设备领域中最受欢迎的处理器架构之一、本文将重点介绍ARM内核架构及其特点。
ARM内核架构在ARM处理器中起决定性作用,它包含了处理器的主要功能和组件,决定了处理器的性能、能耗和功能。
ARM内核架构包括多种不同的系列,每个系列针对不同应用采用不同的设计方式。
常见的ARM内核包括ARM7、ARM9、ARM Cortex-A系列和Cortex-M系列。
ARM7系列内核是较早期的ARM内核,主要用于低端和中端嵌入式系统。
ARM7内核采用了三级流水线架构,能实现更高的频率,提供了较低的延迟。
此外,ARM7系列采用了Thumb指令集,通过指令长度缩短可以减少存储和传输开销,提高系统性能。
ARM9系列内核相比于ARM7系列,提供了更高的性能和功能。
ARM9内核增加了补充指令集(Jazelle),可以在处理器上执行由Java虚拟机编译的Java字节码,提供了更好的Java应用支持。
ARM9内核还引入了专用的访问控制单元(MMU),使得处理器可以支持虚拟内存管理和操作系统。
Cortex-A系列内核是ARM处理器中最强大的内核,用于高端嵌入式系统和移动设备。
Cortex-A系列采用了超标量乱序执行架构,具有多发射、乱序执行和预测执行等特性,能够充分利用处理器资源,提供出色的性能和能效。
Cortex-A系列还支持大容量的高速缓存和先进的分支预测技术,提高了命中率和指令执行效率。
Cortex-M系列内核是专门为微控制器(MCU)设计的内核,采用了精简的微控制器架构。
Cortex-M系列具有低功耗和低成本的特点,适用于要求较低功耗和实时性能的应用。
Cortex-M系列将处理器核、内存管理单元和外设控制器集成在一个芯片上,具有较小的面积和较低的成本。
ARM内核全解析,从ARM7,ARM9到Cortex-A7,A8,A9,A12,A15到Cortex-A53,A57到Cortex-A72
ARM内核全解析,从ARM7,ARM9到Cortex-A7,A8,A9,A12,A15到Cortex-A53,A57到Cortex-A72ARM全新旗舰架构!Cortex-A72正式发布64位的ARMv8 Cortex-A57/A53刚刚开始普及,ARM已经将目光瞄向了更遥远的未来,2015-02-04宣布了下一代顶级核心,命名为“Cortex-A72”。
A72将会直接取代A57,定位高端市场。
具体的架构设计尚未公开,应该是第二代64位架构,而且作为一个大核心,依然支持big.LITTLE双架构组合,而搭配的小核心依然是A53。
看起来,ARM暂时不打算升级A53,因为此前已经宣称,A53将顺序执行架构做到了极致。
ARM还给出了一些关于A72模糊的性能、功耗指标,因为这显然更吸引人。
ARM宣称,A72最快会在2016年实现商用,初期采用台积电16nm FinFET制造工艺(三星肯定用自家的14nm FinFET),对比20nm工艺的A57核心,它的性能最多可以达到其大约1.8倍,而功耗会有着明显的下降。
再对比28nm工艺的A15,A72更是可以做到大约3.5倍的性能,同等负载下的功耗则降低75%。
而在大小核心双架构组合中,整体功耗还能继续降低40-60%。
目前,海思、联发科、瑞芯微等都已经购买了Cortex-A72的授权,但奇怪的是没有提及正焦头烂额的高通。
中国内地和台湾厂商越来越牛气了!ARM内核全解析,从ARM7,ARM9到Cortex-A7,A8,A9,A12,A15到Cortex-A53,A57前不久ARM正式宣布推出新款ARMv8架构的Cortex-A50处理器系列产品,以此来扩大ARM在高性能与低功耗领域的领先地位,进一步抢占移动终端市场份额。
Cortex-A50是继Cortex-A15之后的又一重量级产品,将会直接影响到主流PC市场的占有率。
围绕该话题,我们今天不妨总结一下近几年来手机端较为主流的ARM处理器。
ARM7体系结构详细介绍
ARM7体系结构详细介绍简介ARM(Advanced RISC Machines)是一种32位的RISC(Reduced Instruction Set Computer)处理器架构,广泛应用于嵌入式系统、智能手机和平板电脑等领域。
ARM7是ARM体系结构中的一代经典产品,采用了精简指令集,具有低功耗、高效能和高性价比等特点。
架构特性处理器核心ARM7处理器核心是一个半导体芯片,包含了用于指令解码、执行、访存等任务的硬件单元。
ARM7采用了5级流水线架构,可以实现超过20万条指令每秒的处理性能。
此外,ARM7支持可选的乘法器、除法器和调试接口,以满足不同的应用需求。
寄存器ARM7提供了一组寄存器来存放指令和数据。
寄存器分为通用寄存器和特殊目的寄存器两种。
通用寄存器包括16个32位的寄存器,用于存储临时数据和计算结果。
特殊目的寄存器包括程序计数器(PC)、堆栈指针(SP)等,用于指导程序执行和管理堆栈。
存储器ARM7的存储器包括内部存储器和外部存储器两部分。
内部存储器分为指令存储器和数据存储器,用于存放程序指令和数据。
外部存储器通常是闪存、RAM等,用于扩展存储容量。
ARM7支持32位的地址总线,可以寻址最多4GB的内存空间。
性能与功耗ARM7采用了先进的CMOS工艺,使得它具有低功耗和高性能的特性。
ARM7的功耗通常在几个毫瓦到几十个毫瓦之间,可以满足嵌入式系统对功耗的严格要求。
同时,ARM7的高性能使得它可以处理复杂的计算任务,例如图像处理、音视频处理等。
调试与开发ARM7支持ARM公司定义的JTAG调试接口,可以通过调试器进行程序的单步调试、断点设置等操作。
此外,ARM7还提供了丰富的开发工具和软件支持,开发者可以使用C语言、汇编语言等进行编程,方便快捷地开发ARM7的应用程序。
应用领域由于ARM7具有低功耗、高效能和高性价比等特点,因此广泛应用于各种嵌入式系统和移动设备。
下面是一些主要的应用领域:嵌入式系统ARM7在嵌入式系统中得到了广泛的应用,例如工业控制、智能家居、汽车电子等领域。
ARM公司及产品架构简介
ARM公司及产品架构简介--ARM概述1.ARM 是英国一家电子公司的名字,该公司成立于1990年11月,是苹果电脑,Acorn电脑集团和VLSI Technology的合资企业。
Acorn曾在1985年推出世界上首个商用单芯片RISC (Reduced Instruction Set Computing)处理器。
ARM主要出售芯片设计技术的授权。
2.ARM体系架构的版本就是它所使用的指令集的版本。
ARM架构支持32位的ARM指令集和16位的Thumb指令集,后者使得代码的存储空间大大减小。
还提供了一些扩展功能,还在使用的ARM指令集(ISA,Instruction Set Architecture)有以下版本。
arm v4:只支持32位指令集arm v4t:增加t(thumb)指令集arm v5te:增加增强型dsp指令e指令arm v5tej :提供java加速功能arm v6 :thumb-2 增加多媒体功能的支持arm v7:thumb-2 改良浮点运算总结版本名中的T表示Thumb指令集,E表示增强型DSP指令,J表示Java加速器。
3.ARM处理器的系列:在相同指令集下,搭配不同部件就可以组装出具有不同功能的处理器,比如有无内存管理单元、有无调试功能等。
它们可以分为8个系列,系列名中有7个后缀,这些后缀可以组合,含义如下。
①T:表示支持Thumb指令集。
②D:表示支持片。
上调试( Debug)。
③M:表示内嵌硬件乘法器(Multiplier)。
④1:支持片上断点和调试点。
⑤E:表示支持增强型DSP功能。
⑥J:表示支持Jazelle技术,即Java加速器。
⑦S:表示全合成式( full synthesizable)。
8大系列:这8个系列中,ARM7、ARM9、ARM9E和ARM10为通用处理器系列,每个系列提供-“套相对独特的性能来满足不同应用领域的需求。
SecurCore系列专门为安全要求较高的应用而设计。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ARM7与ARM9的区别及ARM体系结构
一、 ARM7与ARM9的区别
新一代的ARM9处理器,通过全新的设计,采用了更多的晶体管,能够达到两倍以上于ARM7处理器的处理能力。
这种处理能力的提高是通过增加时钟频率和减少指令执行周期实现的。
1 时钟频率的提高
ARM7处理器采用3级流水线,而ARM9采用5级流水线。
增加的流水线设计提高了时钟频率和并行处理能力。
5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。
在同样的加工工艺下,ARM9TDMI处理器的时钟频率是ARM7TDMI的1.8~2.2倍。
2 指令周期的改进
指令周期的改进对于处理器性能的提高有很大的帮助。
性能提高的幅度依赖于代码执行时指令的重叠,这实际上是程序本身的问题。
对于采用最高级的语言,一般来说,性能的提高在30%左右。
2.1 loads 指令矛n stores指令
指令周期数的改进最明显的是loads指令和stores指令。
从ARM7到ARM9这两条指令的执行时间减少了30%。
指令周期的减少是由于ARM7和ARM9两种处理器内的两个基本的微处理结构不同所造成的。
(1)ARM9有独立的指令和数据存储器接口,允许处理器同时进行取指和读写数据。
这
叫作改进型哈佛结构。
而ARM7只有数据存储器接口,它同时用来取指令和数据访问。
(2)5级流水线引入了独立的存储器和写回流水线,分别用来访问存储器和将结果写回寄
存器。
以上两点实现了一个周期完成loads指令和stores指令。
2.2 互锁(interlocks)技术
当指令需要的数据因为以前的指令没有执行完而没有准备好就会产生管道互锁。
当管道互锁发生时,硬件会停止这个指令的执行,直到数据准备好为止。
虽然这种技术会增加代码执行时间,但是为初期的设计者提供了巨大的方便。
编译器以及汇编程序员可以通过重新设计代码的顺序或者其他方法来减少管道互锁的数量。
2.3 分枝指令
ARM9和ARM7的分枝指令周期是相同的。
而且ARM9TDMI和ARM9E-S并没有对分枝指令进行预测处理。
3 其它区别
ARM7内核是0.9MIPS/MHz的三级流水线和冯·诺伊曼结构;
ARM9内核是5级流水线,提供1.1MIPS/MHz的哈佛结构。
arm7没有mmu,arm720T是MMU的;
arm9是有mmu的,arm940T只有Memory protection unit.不是一个完整的MMU。
ARM7TDMI提供了非常好的性能-功耗比。
它包含了THUMB指令集快速乘法指令和ICE调试技术的内核。
ARM9的时钟频率比ARM7更高,采用哈佛结构区分了数据总线和指令总线。
ARM9E从ARM7的3级流水线增加到了5级,ARM9E的流水线中容纳了更多的逻辑操作,但是每一级的逻辑操作却变得更为简单。
比如原来ARM7的第三级流水,需要先内部读取寄存器、然后进行相关的逻辑和算术运算,接着处理结果回写,完成的动作非常复杂;而在ARM9E的5级流水中,寄存器读取、逻辑运算、结果回写分散在不同的流水当中,使得每一级流水处理的动作非常简洁。
这就使得处理器的主频可以大幅度地提高。
因为每一级流水都对应CPU的一个时钟周期,如果一级流水中的逻辑过于复杂,使得执行时间居高不下,必然导致所需的时钟周期变长,造成CPU的主频不能提升。
所以流水线的拉长,有利于CPU主频的提高。
在常用的芯片生产工艺下,ARM7一般运行在100MHz左右,而ARM9E 则至少在200MHz以上。
像ARM926EJ和ARM946E这两个最常见的ARM9E处理器中,都带有一套存储器子系统,以提高系统性能和支持大型操作系统。
一个存储器子系统包含一个MMU(存储器管理单元)或MPU(存储器保护单元)、高速缓存(Cache)和写缓冲(Write Buffer);CPU通过该子系统与系统存储器系统相连。
系统实时性考虑
带MMU和Cache的系统在实时性上不如一些简单的处理器,一个简单的办法是在需要的时候关闭MMU和Cache,这样就变成一个简单处理器了,可以马上提高系统实时性。
当然很多情况下这不可行;在ARM的MMU和Cache设计中,有一个锁定的功能,就是说你可以指定某一块页表在MMU中不会被更新掉,某一段代码或数据可以在Cache中锁定而不会被刷新掉;程序员可以利用这个功能来支持那些实时性要求最高的代码,保证这些代码始终能够得到最快的响应和支持。
系统软件优化
在嵌入式系统开发中,很多系统软件优化的方法都是相同和通用的,多数情况下这种规则也适用于ARM9E架构上。
最重要的是Cache的作用,Cache本身并不带来编程模型和接口的变化,但是如果我们考察Cache的行为,就能够发现对于软件优化,Cache是有比较大的影响的。
Cache在物理上就是一块高速SRAM,ARM9E的Cache组织宽度(cache line)都是4个word(也就是32个字节);Cache的行为受系统控制器控制而不是程序员,系统控制器会把最近访问存储器地址附近的内容复制到Cache中去,这样,当CPU访问下一个存储器单元的时候(这个访问既可能是取指,也可能是数据),可能这个存储器单元的内容已经在Cache里了,所以CPU不需要真的到主存储器上去读取内容,而直接读取Cache高速缓存上面的内
容就可以了,从而加快了访问的速度。
从Cache的工作原理我们可以看到,其实Cache的调度是基于概率的,CPU要访问的数据既可能在Cache中已经存在(Cache hit),也可能没有存在(Cache miss)。
在Cache miss的情况下,CPU访问存储器的速度会比没有Cache的情况更坏,因为CPU除了要从存储器访问数据以外,还需要处理Cache hit或miss的判断,以及Cache内容的刷新等动作。
只有当Cache hit带来的好处超过Cache miss带来的牺牲的时候,系统的整体性能才能得到提高,所以Cache的命中率成为一个非常重要的优化指标。
根据Cache行为的特点,我们可以直观地得到提高Cache命中率的一些方法,如尽可能把功能相关的代码和数据放置在一起,减少跳转次数;跳转经常会引起Cache miss。
保持合适的函数大小,不要书写太多过小的函数体,因为线性的程序执行流程是最为Cache友好的。
循环体最好放置在4个word对齐的地址,这样就能保证循环体在Cache中是行对齐的,并且占用最少的Cache行数,使得被多次调用的循环体得到更好的执行效率。
ARM9E处理器的DSP运算能力
伴随应用程序的多样化和复杂化,诸如多媒体、音视频功能在嵌入式系统里面也是全面开花。
这些应用需要相当的DSP处理能力;如果是在传统的RISC架构上实现这些算法,所需的资源(频率和存储器等)会非常不经济。
ARM9E处理器一个非常重要的优势就是拥有轻量级的DSP处理能力,以非常小的成本(CPU增加功能需要增加硬件)换来了非常实用的DSP性能。
因为CPU的DSP能力并不直接反映在像DMIPS这样的评测指标中,同时像以前的ARM7处理器中也没有类似的概念;所以这一点对所有使用ARM9E处理器进行开发的人来说,都是需要注意的一个要点。
在从ARM7到ARM9的平台转变过程中,有一件事情是非常值得庆幸的,即ARM9E能够完全地向后兼容ARM7上的软件;并且开发人员面对的编程模型和架构基础也保持一致。
但是毕竟ARM9E中增加了很多新的特性,为了充分利用这些新的资源,把系统性能优化好,需要我们对ARM9E做更多深入地了解。
二、ARM体系结构
ARM9结构及特点
以ARM9E-S为例介绍ARM9处理器的主要结构及其特点。
ARM9E-S的结构如图4所示。
其主要特点如下:
(1)32bit定点RISC处理器,改进型ARM/Thumb代码交织,增强性乘法器设计。
支持实时(real-time)调试;
(2)片内指令和数据SRAM,而且指令和数据的存储器容量可调;
(3)片内指令和数据高速缓冲器(cache)容量从4K字节到1M字节;
(4)设置保护单元(protcction unit),非常适合嵌入式应用中对存储器进行分段和保护;
(5)采用AMBA AHB总线接口,为外设提供统一的地址和数据总线;
(6)支持外部协处理器,指令和数据总线有简单的握手信令支持;
(7)支持标准基本逻辑单元扫描测试方法学,而且支持BIST(built-in-self-test);
(8)支持嵌入式跟踪宏单元,支持实时跟踪指令和数据。