arm芯片解密

从第一台电脑诞生开始,我们就谈到了单片机时代 。麻雀虽然小而全,但它的处理能力毕竟很有限 。现实中工业和技术的发展促使我们生产出更强大、更丰富的处理器 。如果说单片机是“麻雀”,那么现实很可能需要一只“鹰”,更糟糕的是,它是巨型秃鹫中的“鹰哥” 。
cpu性能提升与处理器集成
单片机的“工厂”相对简单,厂外的“道路”相对原始 。为了更快更好地加工产品,处理器制造商不断扩大其性能工程 。“工厂”越来越高,“装修”越来越精致,材料越来越好 。后来简单来说,它也给“工厂”建了自己的院子和专属车道,外面的路也是不断的 。路上也有专门负责不同对外职责的各种车辆 。比较后,所有这些功能组件集合在一起,形成一个“工厂”,旁边有一个专业的cpu,可能还有一个协处理器,几个级别的带缓冲区的cache和mmu,以及一个高带宽、高性能总线和各种外围ip的社区 。现在说到处理器的概念,大部分都会参考这个社区 。甚至当我们谈到cpu的时候,大部分都不仅仅是核心 。我们似乎已经习惯了 。
处理器界的明星们
从七八十年代开始,半导体行业蓄势待发,摩尔定律输出,如果把整个处理器类型的数量描述清楚,可以说是比较后三天三夜 。这里挑几个有代表性的明星产品来说一下,可以说处理器行业的老大哥英特尔特别有代表性,甚至在学校的微机原理课程中以这一类型为例,在pc和服务器行业的地位真的很难撼动 。但是上一本书讲的是8086 。这里我想以我们经常听到的几种处理器为代表,比如arm、powerpc、mips、dsp,加上fpga来谈谈它们的开发和连接 。
arm处理器
说到arm,你就熟悉了 。它具有体积小、功耗低、成本低、性能高、支持thumb(16位)/arm(32位)双指令集、与8位/16位设备兼容性好、寄存器使用广泛、指令执行速度快、寻址方式灵活简单、执行效率高、指令长度固定、大部分数据操作都在寄存器中完成等特点 。
如果翻译arm这个词,一般是“advancedriscmachines”,这是一款高性能的risc处理器 。然后这个词又来了 。什么是risc?
先说arm诞生的历史,说明risc在历史上的意义 。
arm的历史
要说arm的历史,先说一个叫acorn的公司 。据说1978年12月,一位物理学家和一位工程师在英国剑桥成立了剑桥处理小组,主要向当地市场供应电子设备 。1979年,公司更名为橡子公司 。公司比较初打算用摩托罗拉的16位芯片搭建设备,但是发现了两个问题,一个是芯片有点慢,一个是有点贵 。后来他们想找intel要80286芯片的设计资料,但是你知道,被拒绝后发生了什么?只能自己开发 。
1985年,设计了第一代32位、6mhz处理器,用它搭建了一台risc指令集计算机,称为arm(橡子risc机) 。这就是arm这个名字的由来(那么这是acorn还是advanced?有可能一开始叫acorn,后来发展成advanced版本 。
1990年11月27日,橡子公司正式改组为arm计算机公司 。苹果、芯片制造商超大规模集成电路(vlsi)和橡子(acorn)一起入股 。据说公司的办公室是一个非常简陋的谷仓 。
说一说risc吧:
risc被称为精简指令集计算机,中文意思是精简指令集计算机 。什么是精简指令集?正是这种指令集结构可以优先选择使用频率比较高的简单指令,避免复杂指令;指令长度固定,指令格式和寻址方式种类减少;控制逻辑是主要方法,不需要或者少用微码控制 。简单来说,程序指令被拆分成简单的指令,执行起来没有那么复杂 。那么,一定有同学又说了,如果有简化指令集,是不是有复杂指令集?答案是肯定的,叫做cisc(complexinstructionsetcomputer)的复杂指令集计算机有什么特点?在cisc指令集中,大约20%的指令会被重复使用,占整个程序代码的80% 。而剩下的指令很少使用,在编程中只占20% 。