Cortex --V7介绍

news/2024/12/31 5:33:23/

ARM的演变

ARM的V1,V2,V3版本主要是出于实验和开发阶段,并没有大范围占领市场,v4版本开始性能大大提升。

ARM系列版本处理器核
ARM1V1ARM1
ARM2V2,V2aARM2,ARM2aS
ARM3V2ARM3
ARM6V3ARM6,ARM600,ARM610
ARM7V3,V4ARM7,ARM700,ARM710,ARM710T…
ARM8V4ARM8,ARM810
ARM9V4,V5ARM9TDMI,ARM9E-S
ARM10V5ARM10TDMI,ARM101020E
ARM11V6ARM11,ARM11562-S
ARM CotexV7ARM Cotex-A ,ARM Cotex-R,ARM Cotex-M

与arm7比之优势

采用更先进的流水线

从arm7的三级流水线开始,arm的流水线不断升级,从三级,到arm9的五级,再到arm10的六级,最后到arm11的八级流水线。到了Cortex-M版本又降回了三级。但这是具有更强的三级流水线,新增分支预测,在处理器内核的预取单元中也有一个指令缓冲区,它允许后续的指令在执行前先在里面排队,遇到分支将不再刷新流水线。

更好的架构

arm7采用的冯诺依曼结构,数据和指令一起存储,难免会遇到总线瓶颈。而Cortex-M采用哈佛结构,指令和数据分开存储,效率更高。

更低的功耗

新增位段操作

arm7无法直接修改寄存器的某一位,需要将一个寄存器读取出来,修改后,再写会寄存器。而Cortex-M支持位段操作,存储器映像包括两个位段。这两个位段区将别名存储器区中的每个字映射到位段存储器区的一个位,在别名存储区写入一个字具有对位段区的目标位执行读-改-写操作的相同效果

优化了工作模式

arm7具有七种工作模式:用户模式,FIQ模式,IRQ模式,管理模式,中止模式,未定义指令异常模式,系统模式。使用起来特别繁琐,Cortex-M优化成了两种工作模式,处理者模式和线程模式,支持两种特权操作

优化了中断

arm7的中断种类还是挺多的,如软件中断,预取指中断,FIQ中断,IRQ中断等。但到M3后,不再支持快中断等,它支持11 种系统异常外加 240 个外部中断输入,中断统一由NVIC来进行管理,不再需要软件去判断中断源。

支持新的指令

支持ARM Thumb指令,已扩展到同时支持16位和32位指令Thumb-2版本,因为Thumb-2可以满足所有的处理,所以消灭了状态切换的额外开销,节省了 both 执行时间和指令空间,不。
新增了查表跳转指令,条件执行(使用IT指令),硬件除法指令和乘加指令(MAC)等

新的寄存器

1,新增嵌套向量中断控制器NVIC,内置的嵌套向量中断控制负责中断处理,自动处理中断优先级,中断屏蔽,中断嵌套和系统异常处理。
2,新的程序状态寄存器SPR,将原来的CPSR分成三个子寄存器,应用程序PSR(APSR),中断号 PSR(IPSR),执行 PSR(EPSR)
3,屏蔽状态寄存器PRIMASK, FAULTMASK 和 BASEPRI ,这三个寄存器用于控制异常的使能和除能
4,控制状态寄存器,用于定义特权级别,还用于选择当前使用哪个堆栈指针。

更低的功耗

虽然比之arm7高了三代,性能更高,运算更快,但功耗却降低了

更强的应用

arm7是没有内存管理单元(MMU)的,所以只能运行一些实时的系统ucOS、ucLinux。
M3等有内存管理单元,可以运行inux、WinCE等操作系统。

分类

Cortex分成Cortex-A、Cortex-R、Cortex-M三个系列。三大系列分工明确:“A”系列面向尖端的基于虚拟内存的操作系统和用户应用也就是用于手机移动领域的CPU;“R”系列针对实时系统;“M”系列对微控制器。,Cortex-R和Cortex-M系列是用于实时控制领域的MCU。


http://www.ppmy.cn/news/207079.html

相关文章

Cortex-A7 MPCore 架构的介绍

Cortex-A7 MPCore 架构的介绍 参考了《Cortex-A7 Technical ReferenceManua.pdf》和《ARM Cortex-A(armV7)编程手 册 V4.0.pdf》这俩份文档,这两份文档都是 ARM 官方的文档,详细的介绍了 Cortex-A7 架构和 ARMv7-A 指令集。 一、 Cortex-A7 MPCore 简介…

【Docker I】Virtualbox设置CentOS网络实现宿主机与虚拟机互通安装docker

virtualbox安装CentOS 创建虚拟机,加载镜像,完成安装。按照如下设置虚拟机网络网络: 正常启动虚拟机,vi修改/etc/sysconfig/network-scripts/ifcfg-enp0s3,将ONBOOTno修改为ONBOOTyes。至于为何是ifcfg-enp0s3&#x…

MemWatch

1.memwatch是什么? memwatch是C语言的内存检测器。除了检测内存的功能外,它同样可以做其它的一些事情,而我们主要还是在于讲述它的基本功能。如果你真的想要知道所有相关的具体细节,可详细查看头文件memwatch.h以及源代码。那…

mremote怎么配置远程连接服务器,mRemote

软件简介 该项目已经停止开发,不再提供支持!请转向 mRemoteNG 它具有如下几个功能: 1.摆脱了mstsc那种一个程序一个界面的模式,采用了左边树右边Tab页的显示形式,让你在一个mRemote界面中,可以连接多个远程…

ME57与ME58的区别

ME57能分配和处理,但有一个局限就是做单笔 ME58只能做处理,但能把多个分配的结果集中处理成同一张采购单.

mvp架构

1、MVP框架担任角色 Model: 处理数据,包过网络请求、提交数据;缓存、读写本地数据、写入;写入、读取数据库数据等 View: 提供Activity需要实现方法,本身是一个接口,实际在Presenter中被调用执行。 Presenter: 业务处理,内部持有Model和View;使用CallBack获取Mode…

MediatR

本篇是对MediatR知识点的一个总结,内容来源于网络。 MediatR是进程内的消息订阅、发布框架。中介者模式的一种实现 什么是中介者模式 定义一个中介对象来封装一系列对象之间的交互,使原有对象之间的耦合松散,且可以独立地改变它们之间的交互。…

Storm Metric

storm从0.9.0开始,增加了指标统计框架,用来收集应用程序的特定指标,并将其输出到外部系统。 本文中采用的监听类是LoggingMetricsConsumer,统计指标值将输出到metric.log日志文件中。 当然也可以自定义监听类,只需要实…