历史上的今天
返回首页

历史上的今天

今天是:2024年09月23日(星期一)

正在发生

2019年09月23日 | 嵌入式处理器的体系架构与内核详解

2019-09-23 来源:eefocus

当我们谈及嵌入式处理器的体系架构时,一般都是想到Intel的X86架构和ARM公司的ARM架构。X86架构和ARM架构最大的不同点就是使用的指令集不同,前者使用的CISC指令集,后者使用的是RISC指令集,还有一点就是X86架构使用的是冯诺依曼结构,ARM架构既使用冯诺依曼结构,也使用哈佛结构(已经成了一种趋势)。何为架构?这两个字看起来很简单,不就是“骨架+结构”,但是个人觉得并不好理解。百度上把架构分为逻辑架构,物理架构和系统架构。对于处理器,当起发展到一定程度时,这种物理架构不会有很大的变化。以CPU为例,它主要由逻辑部件+寄存器部件+控制部件组成,这种结构在发展稳定之后,就不会有大多的改变。那么人们常说的架构版本更新主要体现在哪里呢?指令集。当然还有如存储器管理特性改进等因素,以ARM处理器架构为例,如图1为其进化史。

可以看到其架构一路从V4→V7版本,其中V7版本分三路发展,A系列,R系列,M系列。再看图2看其处理器指令的演进史:

可以发现,在V4T版本时增加了Thumb指令集,刚好可以对应处理器的Thumb状态,到了V5E版本,加入了增强型的DSP指令,V6版本可谓是ARM指令演进史上的一件大事,有了Thumb-2的问世。其实之前的16位Thumb指令集就32位ARM指令集的一个功能子集,到了Thumb-2,以其强大,轻佻和高效,16位指令首次与32位指令并存,再也不需要因为处理器模式的变换而造成指令集变换。从ARM-Cortex-M3将全身的处理能力托付给Thumb-2指令集就可以看出,Thunmb-2指令集的强大。
处理器架构与处理器内核有什么区别?“处理器内核”中的处理器应该是MCU。“处理器架构”中的处理器可以是更广义的 Processing Unit。而当我们谈及内核时首先应该是针对某一系列的MCU。拿STM32系列MCU来说,它们是基于ARM-Cortex-M3为内核的。而内核主要谈其流水线和结构。如ARM7内核是0.9MIPS/MHZ的三级流水线和冯诺依曼结构,ARM9是1.1MIPS/MHZ的5级流水线哈佛结构。通过图3可以更直观的发现内核与MCU的关系。

ARM内核和架构都是什么意思,它们到底是什么关系?
ARM产品越来越丰富,命名也越来越多。很多朋友提问: ARM内核和架构都是什么意思?内核和架构的关系是什么?比如ARMv7架构,这个架构指的是什么?小编选出了几个精彩回答!希望对嵌友们在选择设计电路时有所帮助。
1.ARM内核:从ARM7、ARM9到Cortex-A7、A8、A9、A12、A15再到Cortex-A53、A57等,总之不同版本 ARM 有不同的想法。比如为高速度设计的Cortex A8、A9都是ARMv7a 架构;Cortex M3、M4是ARMv7m架构;前者是内核,后者是指令集的架构。

2.ARM的架构都是基于RISC指令集而架构的,而其内核只是实现这一指令集的硬件架构的基础,Thumb-2指令集架构(ISA)的子集,包含所有基本的16位 和32位Thumb-2指令、 、哈佛处理器架构,在加载/存储数据的同时能够执行指令取指,带分支预测的三级流水线等。

3.好比你盖房子,刚开始因为水平低流行盖平房,这就是一种架构(V5T),然后这种平房架构你可以设计出一款独立卫生间的款式, 这叫ARM7内核。 然后其他人(芯片设计公司)想盖房子的就买你这个图纸去盖,接着过一段时间,有人觉得光独立卫生间还不够啊, 我还想有个小院子! 好吧,那ARM就满足你们的要求,出个带小院子的款式(ARM9)。
又过了很久, 这种平房的架构就随着大伙的需求一直改啊改啊,后来经过ARM研究发现: 现在大伙盖房子的能力duang duang直升啊(包括工艺、设计能力、时钟主频),只盖这种平房施展不开啊! 好吧,ARM为了不让这帮设计的人闲着,就推出一种二三层楼房的样式, 这因为跟平房设计结构完全不一样嘛, 那就叫一种新的架构(ARMv6),同样这种楼房样式ARM也为大家准备了带游泳池的和带车库的款式(ARM11),好吧继续改啊改啊, 改到后来大家已经开始有能力盖十层以上的大楼了。 ARM一如既往地出了新的款式(ARMv7架构), 这时ARM觉得以前名字都太土鳖了, 什么ARM5、 ARM6、 ARM7—又难听又难记, 我要取个看起来牛逼的名字, 咱至少也算个能设计摩天大楼的主儿了, 于是后面的内核都叫Cortex。
改名只是一部分, 随着这个架构出来后, ARM发现以前用咱们图纸盖出的楼也就做个民宅, 民宅图个啥? 实惠嘛(功耗低)。 现在不一样了,现在咱的图纸盖得楼不仅可以做民宅,还可以做军事基地、 还可以做高档写字楼, 以前这些高级功能的楼房可是只有小英(英特尔)才能设计出来的啊!为了满足这些不同的需求, ARM把这个架构设计出来的款式分成3个系列(M系列、R系列、A系列)。M系列是为民宅设计的, 因为老百姓图实惠嘛, 这种设计就设计个十层左右(功耗低); R系列是为军事基地设计的, 这种楼设计的也不高— 十层左右吧, 但是关键是要对特殊情况要有快速反应的能力(中断快); 最后A系列是给商业大佬用的, 那当然是要高端大气上档次, 就是要性能高,各种LED灯灯光秀啊都给我上。

推荐阅读

史海拾趣

Graseby Infrared公司的发展小趣事
按下点动按钮(如SB3),接触器KM1(或KM2,取决于电路设计)的线圈得电,电动机启动运转。松开按钮时,接触器线圈失电,电动机停止。
聚洵(Gainsil)公司的发展小趣事
按下正转启动按钮(如SB1),接触器KM1的线圈得电,KM1主触头闭合,电动机按L1-L2-L3的相序接通电源,实现正转。同时,KM1的常开辅助触头闭合自锁,保持电动机持续运转。
ATO SOLUTION公司的发展小趣事

在电子行业中,产品质量是企业生存和发展的关键。ATO SOLUTION公司始终坚持以质量为核心,建立了严格的质量管理体系。公司从原材料采购到产品生产的每一个环节都进行严格把控,确保产品质量的稳定性和可靠性。这种对品质的执着追求,使公司赢得了客户的信任和口碑,为公司的长期发展奠定了坚实基础。

德尔创(Dersonic)公司的发展小趣事

在激烈的市场竞争中,德尔创始终保持着对技术创新的追求。公司不断加大研发投入,引进高端人才和先进设备,积极探索新的技术路线和产品应用。通过多年的积累和创新,德尔创在电子元器件领域已经拥有了一批具有自主知识产权的核心技术,并在市场上取得了显著的优势。这些技术优势不仅提升了公司的竞争力,还为公司的未来发展奠定了坚实的基础。

Atmel (Microchip)公司的发展小趣事

为了进一步扩大市场份额和拓展应用领域,Atmel(Microchip)积极与其他企业开展合作。公司与多家知名企业建立了战略合作关系,共同推动微控制器及相关技术在各个领域的应用。通过与合作伙伴的紧密合作,Atmel的产品已经广泛应用于工业、消费、安全、通信、计算和汽车等多个领域,为这些领域的发展提供了强有力的支持。

这五个故事旨在展现Atmel(Microchip)在电子行业中的发展历程和成就,涵盖了从创业初期到被收购后的不同阶段。通过这些故事,我们可以看到Atmel(Microchip)如何凭借技术创新、市场拓展和合作发展,逐渐成为了微控制器领域的领军企业。

Amkor公司的发展小趣事

为了进一步扩大市场份额和拓展应用领域,Atmel(Microchip)积极与其他企业开展合作。公司与多家知名企业建立了战略合作关系,共同推动微控制器及相关技术在各个领域的应用。通过与合作伙伴的紧密合作,Atmel的产品已经广泛应用于工业、消费、安全、通信、计算和汽车等多个领域,为这些领域的发展提供了强有力的支持。

这五个故事旨在展现Atmel(Microchip)在电子行业中的发展历程和成就,涵盖了从创业初期到被收购后的不同阶段。通过这些故事,我们可以看到Atmel(Microchip)如何凭借技术创新、市场拓展和合作发展,逐渐成为了微控制器领域的领军企业。

问答坊 | AI 解惑

求V型MEMS热微执行器在实际应用中的数据

我想找些V型MEMS热微执行器在实际应用中有关[url=https://bbs.eeworld.com.cn/thread-75155-1-1.html]驱动[/url]力和[url=https://bbs.eeworld.com.cn/thread-75155-1-1.html]驱动[/url]位移的具体数据,网上一直没找到,在这希望各位帮帮忙,谢谢 ...…

查看全部问答>

数码管字形码自动生成器

这是一款非常小巧实用的软件,可以快速计算出任意接法的8段数码管字形码,很不错的东西,拿出来分享分享…

查看全部问答>

DSP+BUILDER与VHDL混合设计方法实现DDS信号源

本帖最后由 paulhyde 于 2014-9-15 08:55 编辑 DSP+BUILDER与VHDL混合设计方法实现DDS信号源  …

查看全部问答>

PCB板型

如何用ProtelDXP将pcb板型设计成大半圆形(即圆形切掉了一小部分),是板子的外观。我知道在机械层放置圆圆弧可以。我的意思是能不能利用重新定义板型把PCB板画成大半圆形状?…

查看全部问答>

有在EK-STM32F下成功移植oc/os的朋友吗

是否J-LINK II不支持os仿真?请斑竹给一下相关例程参考~…

查看全部问答>

有没有FSMC的中文文档

                                 FSMC最近看的晕里糊涂的?有没有什么中文文档而且讲清楚一点的呢?有的话,哪位说一说在哪里?…

查看全部问答>

为什么keil无法编译

我最近在做一个SMbus的红外测温写了一个程序但不知道为什么无法编译。。求大侠们指点啊具体代码如下啊#include <reg51.h>#include\"intrins.h\"//************************************ #define    uint unsigned int#defi ...…

查看全部问答>

提问+三维场景如何建立

小弟最近在做手势识别方面的试验,不知道像下图这样的三维场景如何建立呢。 查了资料,基本都是OpenGL的,但是目测有点难呢,教程怎么都是2002年左右的呀,正在纳闷难道就没更新了。坛子里的前辈们,有哪位能给指点下的,谢谢啦。 …

查看全部问答>

寻找PROTEL98软件

寻找PROTEL98软件 …

查看全部问答>

ADS1258模数转换器的数据读取速率问题

最近在使用ADS1258芯片,给芯片配置了23.7KSPS/通道的数据速率,16个单端输入通道,其中/DRDY接在了MCU的中断输入IO上,当通道数据准备好,/DRDY为低的时候,将触发MCU的中断进行第1通道数据的读取,现在有个问题,就是当/DRDY为低MCU进行中断读取 ...…

查看全部问答>