|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
ARM 介绍7 B, T# H2 u7 n8 D8 K) X: i
1978年,奥地利籍物理学博士Hermann Hauser,和他朋友,一位英国工程师Chris Curry,共同创建了一 家名为“Cambridge Processor Unit,CPU”的公司,中文字面意思就是“剑桥处理器单元”,主要从事研发 当地电子仪器设备的业务,比如街头游戏机之类的。/ d" j! d" K f) z( y. g5 \
* N! P/ {) m6 t1979年,在经营逐渐进入正规后,原来的公司名不怎么合适了,那个年代喜欢找个吉祥物作为公司名字, 比如Apple公司。这俩就以橡子为吉祥物,取名为“Acron Computer”,中文字面意思就是“橡果公司”。
' c* v$ V, H* @3 `( g4 o+ j- N! Q; G" M* w! @3 @$ C% q
1981年,也许是改了公司名字,运气就来了,这一年,公司接到一个大单。英国广播公司BBC,计划在 整个英国播放一套电脑普及的教育节目,希望Acron公司可以生产一套配套的电脑,之后英国政府还会海量 采购电脑,在各个学校普及。- Z! a; H$ ]1 R V& e
# |* G0 e) [, {
接下这个大单后,Acron公司就开始研发产品了。当时处理器正从8位向16位过渡,他们就去找了美国国 家半导体和摩托罗拉公司生产的16位处理器。评估后发现,这些处理器执行上有点慢,中断的响应时间有点 长,还有就是太贵,一台电脑才卖500英镑,处理器成本就要100英镑。于是又把目标转向当时如日中天的 Intel,希望对方提供一些16位80286处理器的设计资料和样品,然而Intel根本就不理他们。
{2 Q, b& k K- L% C( w) Q& C: n. n* P$ l, v) |
最后,Acorn公司没办法,临时采用了便宜的MOS科技生产的8位6502处理器,勉强研发出符合要求的 个人电脑BBC Micro。绝处逢生的Acorn公司发现处理器受制于人,为了后面长久的发展,于是决定自己研 发处理器。# d5 z" A5 I$ a7 P2 D
& n" @- _' d& j: o& TAcorn公司的研发人员从美国加州大学伯克利分校,找到了一个关于新型处理器的研究——简化指令集。 在此基础上,历时4年的艰苦奋斗,于1985年完成了微处理器的设计,以后的BBC Micro,都用这颗新处理 器。对于这块芯片,Acorn公司给它命名为“Acorn RISC Machine,ARM”,中文字面意思就是“橡果精简 指令集机器”,也就是ARM的第一次出现。
7 X: t+ u: e- {5 S$ U1 s% F a- J) K: Y1 h& Q. N/ [
这里插讲一下简化指令集(Reduced Instruction Set Computer,RISC),与之相对应的就是复杂指令集 (Complex Instruction Set Computer,CISC)。早期的处理器都是CISC架构(比如前面Intel处理器),随著时间 推移,有越来越多的指令集加入。但是后来人们发现,整个指令集中,只有约20%的指令常常会被使用到, 大约占了整个程序内容的80%,而剩余80%的指令,只占了整个程序内容的20%(典型的二八原则)。于是, 1979年美国加州大学伯克利分校的David Patterson教授(前面提到的新型处理器研究的作者),提出了RISC的 想法,主张硬件专心加速常用的指令,不常用的指令则利用常用的指令去组合。
8 P; S. F3 A: P' R& g2 I( y
: N( X6 k- ]1 [$ D) K就在同一年,1985年10月,英特尔发布了80386,Acorn公司的ARM芯片被吊打。80386采用CISC技术, 所有指令都支持,也就性能更好,但设计成本也高、功耗也大。Acorn公司的ARM芯片采用RISI技术,只支 持常用指令,其它指令需要常用指令去组合,性能也就差一些,但成本低、功耗低、研发快。Acorn公司也 不傻,性能比不过,就突出成本低,功耗低的优势,总有要求成本低、功耗低,性能要求不高的场景,于是 就往我们现在所见的嵌入式方向发展。2 ^ u7 \ J" e& w. g
/ a# ^" C; a; T! \' I! l% p% o9 Y- M
1990年,Acorn公司和Apple公司合作,成立新公司“Advanced RISC Machines,ARM”,中文字面意思 就是“高级精简指令集机器”,这就是现在大家常说的ARM公司。
- l) X2 j: {! M2 U1 F9 S$ T- _+ c( n6 ^8 f
成立新公司后的几年,ARM公司业绩平平,危机四起。于是ARM决定改变他们的产品策略,他们不再 生产芯片,转而以授权的方式,将芯片设计方案转给其它公司。正是ARM的这种授权模式,极大地降低了 自身的研发成本和研发风险。它以风险共担、利益共享的模式,形成了一个以ARM为核心的生态圈,使得 低成本创新成为可能。4 N# f6 v2 ~; H: ]' n" v
3 O3 \- X* A) i: P5 \& u ]
随后,德州仪器(Texas Instruments,TI)、意法半导体(STMicroelectronics,ST)、恩智浦半导体(NXP Semiconductors,NXP)等半导体芯片厂商,相继购买ARM授权,然后根据自身行业需求,设计不同的外设接 口的芯片。" Q0 B( d( t" z8 A) j9 g
' i5 Q: S9 y' o6 B4 B% q, |, S: ?, {
由上总结,ARM具有以下三种含义:
; v/ b$ H# s* n
I$ f& y8 J2 b5 T7 `, e- k* n( @ARM是一家全球半导体行业技术领先的公司,主要业务是设计RISC嵌入式处理器;
; l( I0 Z4 L6 A7 u4 P/ c) o5 FARM是一类微处理器芯片或产品的统称,即所有采用ARM公司提供方案开发的RISC处理器;0 \. z7 m( G3 w8 Z1 W/ \; t
ARM是一项技术的名称,即采用RISC的处理器体系结构;
0 e' D! r5 ~& J3 N4 b) R0 e3 u# h从1985年发布第一个ARM处理器开始,ARM公司不断升级迭代,加入新的指令系统、寄存器组、功能 特性,发展出不同架构。早期的经典ARM处理器,架构命名规则比较混乱,现在这些处理器基本不常见了, 这里就不展开介绍。从ARMv7开始,采用Cortex命名,将整个处理器分为三大类,如图 2.2.2 所示。' g& P; W: |, l4 s I
7 Z- X8 R, O% i+ O, Y. M/ U$ a8 m0 v
这是现代多用户多进程操作系统(比如Linux、VxWorks)所必须的。该系列适用于高端消费电子sor),该系列有内存管理单元(Memory ManagementUint,MMU),实现虚拟内存,让每个用户进程都拥有自己独立的地址空间,这是现代多用户多进程操作系统(比如Linux、VxWorks)所必须的。该系列适用于高端消费电子领域,比如智能手机、平板电脑、智能电视、路由器等;
, I5 C, t$ | i& c5 r" V" hARM Cortex-R:实时控制系列。R表示应用程序(Real TimeController),该系列适用于高性能、高实 时性应用,比如硬盘/固态驱动控制器、企业网络设备、消费电子领域的蓝光播放器、汽车领域的安全气囊等;: R3 P! v8 Q6 x0 M, A' |
ARM Cortex-M:微控制器系列。M表示应用程序(MicrocontrollerProcessors),该系列适用于低功耗、 高性能且对成本敏感的产品,比如家电产品、物联网、无人机等;
- V! N/ ~4 m& n7 s+ U6 ]4 B针对不同的应用场景和需求,每个系列还会再细分,比如ARM Cortex-M就再分为ARM Cortex-M0、ARM Cortex-M3、ARM Cortex-M4等,区别如表 2.2.1 所示。" c: ]4 f) l7 y, _1 L% T6 T
5 @8 @ f2 I' c) i- n
1 L2 D; f5 O1 R2 C2 o8 ySTM32 介绍8 D) L0 m! U; J6 h
在2004年,ARM公司推出新一代Cortex内核后,ST公司抓住机遇,在很短的时间内就向市场推出了一 系列的32位微控制器,同时提供基于库的开发模式,加快用户研发周期。STM32就是ST公司基于ARM Cortex-M3内核设计的微控制器,专为高性能、低功耗、低成本场景设计。
8 i6 S" F; J3 a. L" P l# X) X0 F `' v$ o7 F; F3 |* W! y
STM32如今产品系列非常丰富,主要为ARM Cortex-M内核系列mcu,也开始涉及ARM Cortex-A内核 系列MPU,如图 2.2.3 所示。按应用特性分类,可分为无线WB/WL系列、超低功耗L0/L1/L3/L5系列、主流 G0/G4/F0/F1/F3系列、高性能F2/F4/F7/H7系列、全新的MP1系列。1 o5 R/ ?* h4 L- l
' g( ?2 O, q% LSTM32的处理器种类众多,通过了解STM32的命令规范,可以了解整个STM32家族产品,也方便以后 芯片选型,STM32 MCU系列命名规则如图 2.2.4 所示。
4 G1 L5 [7 ?0 k" o, E8 a+ h. ~' c& k/ E
& T3 N4 D" R: z% R" X以STM32F103ZET6为例,解析STM32芯片命名规范如表 2.2.2 所示。2 t) n9 ^" t4 g, ]' U- R
( V/ [9 y6 q5 m) y
表 2.2.2 STM32F103ZET6 各部分含义1 C4 D; q7 U! I7 x8 ]- {; s2 p
7 N8 K" B( v& Z- T$ m) M0 X1 V/ {7 p/ X% o9 @* F0 v! i) a8 m- b
" w4 y/ U! C) y; m, y0 [" S# ~
【总结】0 z9 G4 X5 {5 C
ARM公司售卖Cortex-M系列的授权,意法半导体(STMicroelectronics,ST)购买了该授权,生产了一些列 STM32产品,这些使用ARM技术的处理器,都习惯称为ARM处理器,其中STM32F103ZET6就作为了本手册 配套开发板的处理器。
, x! q# ~& U1 I% Q A
1 C6 V3 r7 ~ Q4 x- b* k) @, H7 d$ _8 x, c
|
|