arm芯片解密

关注:76 发布时间:2022-01-25 14:40:02

从第一台电脑诞生开始,我们就谈到了单片机时代。麻雀虽然小而全,但它的处理能力毕竟很有限。现实中工业和技术的发展促使我们生产出更强大、更丰富的处理器。如果说单片机是“麻雀”,那么现实很可能需要一只“鹰”,更糟糕的是,它是巨型秃鹫中的“鹰哥”。

cpu性能提升与处理器集成

单片机的“工厂”相对简单,厂外的“道路”相对原始。为了更快更好地加工产品,处理器制造商不断扩大其性能工程。“工厂”越来越高,“装修”越来越精致,材料越来越好。后来简单来说,它也给“工厂”建了自己的院子和专属车道,外面的路也是不断的。路上也有专门负责不同对外职责的各种车辆。比较后,所有这些功能组件集合在一起,形成一个“工厂”,旁边有一个专业的cpu,可能还有一个协处理器,几个级别的带缓冲区的cache和mmu,以及一个高带宽、高性能总线和各种外围ip的社区。现在说到处理器的概念,大部分都会参考这个社区。甚至当我们谈到cpu的时候,大部分都不仅仅是核心。我们似乎已经习惯了。

处理器界的明星们

从七八十年代开始,半导体行业蓄势待发,摩尔定律输出,如果把整个处理器类型的数量描述清楚,可以说是比较后三天三夜。这里挑几个有代表性的明星产品来说一下,可以说处理器行业的老大哥英特尔特别有代表性,甚至在学校的微机原理课程中以这一类型为例,在pc和服务器行业的地位真的很难撼动。但是上一本书讲的是8086。这里我想以我们经常听到的几种处理器为代表,比如arm、powerpc、mips、dsp,加上fpga来谈谈它们的开发和连接。

arm处理器

说到arm,你就熟悉了。它具有体积小、功耗低、成本低、性能高、支持thumb(16位)/arm(32位)双指令集、与8位/16位设备兼容性好、寄存器使用广泛、指令执行速度快、寻址方式灵活简单、执行效率高、指令长度固定、大部分数据操作都在寄存器中完成等特点。

如果翻译arm这个词,一般是“advanced risc machines”,这是一款高性能的risc处理器。然后这个词又来了。什么是risc?

先说arm诞生的历史,说明risc在历史上的意义。

arm的历史

要说arm的历史,先说一个叫acorn的公司。据说1978年12月,一位物理学家和一位工程师在英国剑桥成立了剑桥处理小组,主要向当地市场供应电子设备。1979年,公司更名为橡子公司。公司比较初打算用摩托罗拉的16位芯片搭建设备,但是发现了两个问题,一个是芯片有点慢,一个是有点贵。后来他们想找intel要80286芯片的设计资料,但是你知道,被拒绝后发生了什么?只能自己开发。

1985年,设计了第一代32位、6m hz处理器,用它搭建了一台risc指令集计算机,称为arm(橡子risc机)。这就是arm这个名字的由来(那么这是acorn还是advanced?有可能一开始叫acorn,后来发展成advanced版本。

1990年11月27日,橡子公司正式改组为arm计算机公司。苹果、芯片制造商超大规模集成电路(vlsi)和橡子(acorn)一起入股。据说公司的办公室是一个非常简陋的谷仓。

说一说risc吧:

risc被称为精简指令集计算机,中文意思是精简指令集计算机。什么是精简指令集?正是这种指令集结构可以优先选择使用频率比较高的简单指令,避免复杂指令;指令长度固定,指令格式和寻址方式种类减少;控制逻辑是主要方法,不需要或者少用微码控制。简单来说,程序指令被拆分成简单的指令,执行起来没有那么复杂。那么,一定有同学又说了,如果有简化指令集,是不是有复杂指令集?答案是肯定的,叫做cisc(complex instruction set computer)的复杂指令集计算机有什么特点?在cisc指令集中,大约20%的指令会被重复使用,占整个程序代码的80%。而剩下的指令很少使用,在编程中只占20%。

英特尔的x86,我们芯片行业的大哥,指令集复杂,芯片的性能达到了这样的水平,可见大哥的实力。至于复杂的指令集,留给热爱学习的同学吧,比如芯片行业的明星基本都是risc。

有很多故事,跳出历史的长河,文字太抽象。我们来看看arm芯片是什么样子的。

nxp 的lpc2378

这个小芯片被认为是arm非常早期的产品。我们可以看到,芯片核心的“工厂”是arm7tdmi-s,也就是我们常说的一种arm7。使用这种芯片时,往往被认为是“单片机”。在大家都很乐意在arm9上玩linux的设计期,这样的芯片还是有很多工程师在战斗。软件设计往往采用前后结合的设计方法,偶尔还会带有ucos-。

虽然这个小家伙主频只能几十兆,ram几十kb,flash 512 kb,但是运行一个几万行代码的软件没有压力,功耗低。比较重要的外设丰富,各种串口、can、i2c、spi、定时器、ad等。可以轻松满足各种轻量化工业控制和汽车电子应用的需求。也许这个芯片也是很多工程师朋友嵌入式启蒙的核心。

这个芯片是“arm”,内部“小工厂”和“高速公路”采用arm标准的ahb总线,各种外设(小型货车)使用“apb”总线进行访问,轻巧而丰富。

s3c2440

这种芯片结构看起来“简单”,重点是“工厂”的重建。一是工厂内部装修,换成了arm9tdmi,主频可以运行到三四百兆。此外,厂区增加了“门禁和门卫”(mmu),c13专门帮助工作。院子里增加了一个快速的“缓存”,功能更加齐全和丰富。大货车(高速外设)比较丰富,满足视频处理的需求,小货车(低速外设)变化不大。

这个芯片,作为很多工程师和学生时代的“入门核心”,相信在很多学校都会勾起回忆,很多linux学习教程也是基于这个小芯片。

那么都是运行linux的吗?当然不是,操作系统肯定有自己的优势,但是裸机如果应用需求单一,操作系统功能不依赖,肯定是比较高效的。从这个芯片的各种教程可以看出,入门时的简单控制是通过裸奔实现的。

我们讲过arm的历史和芯片的特点,列举了恩智浦和三星arm芯片的结构和组成特点。有一点需要注意的是,arm既不生产芯片,也不销售芯片,只销售芯片技术许可证,也就是说市场上的arm芯片不是这家公司制造的,人们只许可技术,不直接创造实体。记得几年前听过这么一句话:“公司做标准,二流公司做技术,”

所以回顾arm诞生和成长的历史,我们需要做一个产品,没有人给,于是我们把自己的努力投入到研究中,比较终生产出了一个,风靡,走进每一个家庭。

还有什么和这个场景类似?曾经有一个哥哥想玩一个游戏,但是不是他自己写的,于是诞生了c语言和unix操作系统;曾经有一个学生练习写一个系统,并在电脑上运行。开源之后,伟大的linux出生;可能是python.

也许我们也可以在过早做一个研究之前考虑一下结果和收益,投入自己的兴趣,放纵一下自己的想法,坚持下去,因为你喜欢,你就可以投入你的热情,管理好它。总有一天,它可能会在你的朋友中流行起来,喝一口鸡汤,写完这篇文章。

猜你喜欢

最新加入十大品牌

热门十大品牌

微商货源频道入口