铁臂阿童木——Intel ATOM处理器剖析与研究

Sina WeiboBaiduLinkedInQQGoogle+RedditEvernote分享




序章 三十而立——ATOM前传

      Intel在21世纪的第一个十年即将过去时,推出了新一代的嵌入式处理器——Atom,“阿童木”。回首往事,Intel在嵌入式领域的上一个经典之作,居然是已步入而立之年的的8051!什么是8051?可能学习计算机专业出身的同学会比较陌生,但这个字眼对于电子、自动化专业的同学来说一定是如雷贯耳。1980年,Intel力作——英俊雄武的8051处理器,昂首挺进嵌入式处理器市场,从此Zilog的Z80处理器节节败退,慢慢淡出我们的视野。随后,Intel又做出了一个有如三国史上官渡之战那样,影响嵌入式处理器发展史的举动——开放8051的IP核。

      从此,各种8051的兼容处理器风起云涌,Atmel, SST, Philips, Winbond等厂家出品的8051核的嵌入式处理器称霸江湖,Motorola的68系列只能捡残羹剩汁。然而,正如曹操在官渡大胜的8年以后,又遭遇赤壁兵败一样,Intel在嵌入式领域的乘胜追击,却写入了Intel发展史中的“败战记”之章。后续的16位处理器80186, 8098和80196,在市场上都陷入低迷。笔者大学期间有幸在实验室的垃圾堆翻出过一片陈旧的8098处理器,大小如手机电池,据说发热量相当大,没有散热片的话不能保证连续工作。大家想象一下,如果您作为一个嵌入式系统的设计师,这样一片笨重的处理器会成为您的首选吗?在此之后,Intel逐渐退出了嵌入式的战团。而8051内核,虽然在各大厂家的努力下老树不断开出新花,但受8位字长的局限,在ARM、TI的MSP、Freescale等众多16/32位处理器的冲击之下,8051的霸主地位摇摇欲坠。

      笔者曾经长期担任某电子工程论坛的版主,也深有体会,在版面请教8051单片机的同学们越来越少,更多在校学弟学妹们问的是ARM7/ARM9等32位处理器相关的问题,更有TI发明了“达芬奇”,一个将ARM和DSP核集成在一起的怪物,既具备DSP强大的信号处理(TFT/FFT/DCT)运算指令集,又能在ARM上运行流行的嵌入式操作系统,如ucLinux等,作为灵活的控制平面。而Intel,此时早已放弃8051,在嵌入式领域几乎保持沉默。就算是硕果仅存的StrongARM和XScale,却是基于ARM架构的,与Intel沿用多年的IA架构思路相左。用一句可能不适当的诗做比喻,在嵌入式的江湖里,Intel这些年,一直是在“冷眼向洋看世界”。2009年来了,曾经青春勃发的80后们,也开始迈入三十而立的年纪了。与80后同龄的8051,如同穿越了几个世纪一般,在飞速发展的IT业界屹立中流已有30年。它为什么能够成为嵌入式领域内的“常青树”呢?让我们看看8051的架构。

      8051属于典型的“哈佛架构”(Harvard architecture)。什么是哈佛架构呢?简单说,就是程序存储地址和数据存储地址分开寻址。哈佛结构的处理器满足以下几点:

1, 对程序存储区(ROM)和数据存储区(RAM)分开寻址,其访问指令也不一样;
2, 可以将代码段(Code segment)作为只读数据访问;
3,代码段和数据段的字长(数据总线宽度)及地址长度(地址总线宽度)可以不一致;

8051的体系结构满足所有这三点。它的程序存储区(ROM)可以使用DPTR指针,通过MOVC指令访问,而扩展RAM与内部RAM又有不同的访问指令和寻址方式。一般地,访问外部存储器需要三个指令周期,而内部存储器需要两个周期。8051支持的程序存储器ROM空间为64KB,内部有256Byte的RAM,另外可以扩展64KB的外部静态RAM。在那个时代,这么大的空间已经够用了。要知道当年DOS下的经典文字处理程序Wordstar,也只需要64KB内存啊。前面提到了8051的指令执行时间。和我们常用的32位处理器不同的是,因为8051是一个简单的8位系统,没有Cache,也不支持DRAM,因此,所有指令的执行时间,都是一个可以确定的值,它们的基本单位叫做指令周期。一个指令周期等于12个时钟脉冲周期。也就是说,如果你希望你的单片机指令周期为1us,那么系统的时钟脉冲应该由12MHz的晶体振荡器提供。(当然,现在的单片机生产厂商对经典51内核做了大刀阔斧的改进,已经能做到每时钟周期一条指令了)从前面的介绍可以看出,8051内核寻址容量小,带宽低,速度慢,那么,为什么它能够穿越30年的光阴而屹立不倒呢?

      因为,8051的设计,非常符合嵌入式系统的需求——麻雀虽小,五脏俱全。从前面的架构图上可以看出,8051实际上等于一个8位处理器内核+256KB内存+2个串口+4个8Bit IO并行口+2个外部中断源,这些已经可以满足很多低端控制系统的需求。另外,电子器件的一个特点是量大则价廉,目前市场上的8051内核的微控制器,最便宜的批发价甚至低于1美元。对于成本非常敏感的低端消费类电子产品,这是非常有诱惑力的。然而,从哲学的方面来说,只有创新才能发展,生产关系如果不能适应生产力的发展则会被革命;而从商业的角度看,进军高端领域意味着更高的利润率。在上网本、智能手机、机顶盒等嵌入式产品步入寻常百姓家的今天,Intel的决策层显然也已经受到了资方的压力,使得其加快了进军嵌入式领域的步伐。收购Windriver,推出ATOM都是为了贯彻这一目标而执行的措施。在技术言技术。以专家的口吻论述自己不十分了解的事物是幼稚的表现,因此,作为一名工程技术人员,笔者能做的就是试图从技术层面来分析ATOM处理器,以及ATOM在嵌入式系统的典型应用,最后分析它与竞争对手对比的优势与劣势,以起到抛砖引玉的效果。

(5个打分, 平均:5.00 / 5)

雁过留声

“铁臂阿童木——Intel ATOM处理器剖析与研究”有15个回复

  1. 杰夫 于 2010-01-02 10:40 上午

    哈哈。Atom译成阿童木,有点意思。铁臂阿童木,十万马力,是我小时候最喜欢的动画。阿童木本身也是常青树,时隔几十年,又火了起来。现在美国电影院还在放它的电影,Astro Boy。

  2. BO 于 2010-01-02 10:42 上午

    期待后续。。。。建议多分段落,看得轻松些。
    Intel当年怎么就慢慢退出了嵌入式领域呢。这个领域的市场一直都很大啊。技术原因,市场原因,还是决策的短视?

  3. 陈怀临 于 2010-01-02 11:09 上午

    除了很喜欢这篇文章之外,也非常感激(Appreciate)作者。只有这样,Tektalk才能成功。只有大家一起努力,才能fix problem,提供客观,专业,及时的信息给读者。而非目前我们所看见的一些令人不太满意的东西。

  4. 陈怀临 于 2010-01-02 11:19 上午

    我当年8051单边机的课考了91分,是自己的专业课历史最高分:-),而且当时是大3,修大4的课(单片机是选修课)。拿了第一。很拉风。。。当时去选修的原因之一是听说上一届的几个美女都在这个课里。。。

  5. 理客 于 2010-01-02 11:50 上午

    个人理解公司是人做的,所以和人是有点像的,比如你觉得fun才能充分发挥你的能力,所以公司是有性格的,或者说文化,只有偏执狂才能生存。让一个人做和他性格向左的事,会觉得别扭,但永远不变的是变化,如果不能与时俱进,也会有危机

  6. michael 于 2010-01-02 6:02 下午

    单片机。。。62分, 差点儿就挂了。

  7. appleleaf 于 2010-01-02 6:12 下午

    “单片机。。。62分, 差点儿就挂了。”
    我也差不多,单片,模拟电路,大规模集成电路都60多分。
    兄弟高数满分,第二年高数本以为满分结果没有,当时很郁闷。

  8. 陈怀临 于 2010-01-02 6:17 下午

    估计是没有动力的原因。。。单片机的课还是比较枯燥。现在想起来,就是对那里面的timer有点印象。对小帅所的哈佛结构一点感觉都没有。估计老师当时即使讲了,作为一个学生也是没有任何sense。

    真的很感谢以前的老师。想想,自己现在在专业方面一定是比他们强了,毕竟科学技术在发展。但他们是我(们)永远的老师,父辈。

    我的那位老师姓李。我似乎是从这门课建立了自信心的。当时除了打球,别的没强项。突然一个比较纯硬件的一门课beat了两个年级的人,对一个小孩的自信心re-build很重要:哦,原来只要稍微认真一点,可以不比别人差呀:–);可见那些学习好的,天天上自习的人多烂呀:-)

  9. 帅云霓 于 2010-01-02 6:56 下午

    TI的DSP,如5000系列,以及常用于电机(电力拖动)控制的24/54系列均基于哈佛结构。
    ARM系列中,有的属于哈佛结构,有的属于普林斯顿结构。
    另外单片机(微控制器)的低端产品中,使用哈佛结构的还真不少,PIC,AVR等质优价廉的东西都是。
    我个人以为,这里面应该包含了一定的必然性。

  10. lubo1720 于 2010-01-02 6:57 下午

    哈哈。首席当时肯定是双赢(名气和美女)
    那些个美女就喜欢那种平时喜欢打球,而学习稍微认真就拿第一的人。。。。

  11. 帅云霓 于 2010-01-02 7:26 下午

    哪里,现在美女喜欢的是平时喜欢打球,学习拿不了第一,但能请MM们吃哈根达斯的人(在国内哈根达斯价钱大大的不便宜,请MM吃个够至少得花三五百)

  12. 陈怀临 于 2010-01-02 7:27 下午

    没有。那几个美女在教室里公然与男朋友在一起亲密。大家其实都知道,在大学的时候,美女们基本上都是插在有营养的地方。

  13. 于 2010-01-02 11:21 下午

    喜欢爆出的料,再看着自己60分左右的专业课成绩顿时信心大增,丫的,牛人不是本来就牛的呀。“我也差不多,单片,模拟电路,大规模集成电路都60多分。“看到没有,分数算个屁,今天菜算个屁,我现在还不一样成牛了,呵呵。偶尔爆爆你们的屎,打趣。呵呵。

  14. 帅云霓 于 2010-01-03 3:52 上午

    [大家其实都知道,在大学的时候,美女们基本上都是插在有营养的地方。]
    首席此语幽默隽永,初看没有理解,以为当年女生的恋爱观已经像如今的小姑娘们那样不堪,再一看才明白其中深意。

  15. 帅云霓 于 2010-01-03 3:59 上午

    为什么那么多低端的嵌入式微控制器(MCU)都使用哈佛结构呢?我想有一个原因就是哈佛结构的指令和数据内容是分开的。MCU经常用于恶劣环境,如工控等应用场合,使用哈佛结构可以最大程度避免程序受外界干扰“跑飞”的时候,写坏自身的存储区。
    当然,随着现代IC设计和制造工艺的进步,微控制器的抗干扰能力也不断增强,抗干扰问题已经不算是困扰嵌入式系统工程师的一个非常头疼的问题了。