论山寨手机与 Android【9】SmartPhone 的硬件结构
如何区别智能手机(SmartPhone)与功能手机(FeaturePhone)?
有一种观点认为,智能手机本质上是功能手机与便携式电脑(Laptop PC)的结合。功能手机的功能受限于制造厂商的预制,也就是说,用户基本上只能使用手机出厂时已经预制的功能,而不能自主下载并安装新的应用。而个人电脑出厂时,多半是裸机,用户根据自己的喜好,自主决定安装哪些软件。一言以蔽之,所谓智能手机,就是用户能够自主安装应用软件的手机。
按照这个定义,智能手机与上网本(Netbook)有什么本质区别呢?
智能手机与上网本并不存在本质区别。如果说电脑与功能手机是一段光谱的两极,那么智能手机与上网本都处于两极的中间。智能手机更接近功能手机,强调小巧,省电。而上网本更趋近与电脑,强调功能,但是代价是尺寸较大,耗电,续航时间短。例如,Apple 公司最新推出的 iPad 上网本,实际上就是放大了尺寸和功 能的 iPhone 智能手机,见 Figure 9.1 并参考文献 [1] 。
Figure 9.1 iPad notebook is an enlarged iPhone smartphone. [1]
Courtesy http://farm5.static.flickr.com/4063/4348114249_e5bbef101b_o.png
从硬件结构上看,不妨把智能手机粗略地概括为电脑加移动网卡。我们在上一节,“自己动手做电脑手机” 一文中,大致介绍了电脑加移动网卡的具体做法。
智能手机 == 电脑 + 移动网卡,这个提法比较粗略,更精准的提法应当是,智能手机的硬件结构分为 AP 和 BP 两个部分。AP,应用程序处理器(Application Processor),负责大部分应用程序的执行。而 BP,基带处理器(Baseband Processor),也称为通信处理器(CP,Communication Processor),负责所有通讯软件的执行。
如果说功能手机的硬件结构,以 BP 为主体,添加了一些额外的应用程序和相应的硬件外设。那么智能手机作为功能手机的进一步发展,在 BP 的基础上,增加了 AP,专门用于强化对应用程序的支持。
但是 AP 并不等同于电脑主板,这主要体现在 CPU 的配置上。一方面智能手机 AP 的 CPU 的运算速度,应当趋近于电脑 CPU 的速度。以往智能手机 AP 的 CPU,速度通常是 200MHz 以上,而近期高档智能手机 AP 的 CPU 速度,有的已经达到 1GHz。另一方面,智能手机 AP 的 CPU 不能一味追求速度,而 且要均衡 CPU 尺寸,便于携带,还要考虑省电,延长续航时间。
在权衡了 CPU 的速度,尺寸,以及耗电量等等诸多因素以后,ARM 系列 CPU 成为智能手机 AP 的 CPU 的主流。当然,并不是所有厂商都接受这个观点,例如 Intel 就不看好 ARM 系列。
2006 年,Intel 把 ARM 指令兼容内 核的 StrongARM/XScale 产品线,作价 6 亿美元,卖给了 Marvell [2]。同时,Intel 着力发展 x86 内核的 Atom CPU,与 ARM 系列争夺手机芯片市场。但是代号为 Menlow 的第一代 Intel 手机芯片,由于功耗和电源管理无法满足手机的要求,无法挑战 ARM 系列 在手机芯片市场的地位,只好转战上网本 [3]。
但是在 2010 年 1 月份举办的美国家电年度展会(CES)上,韩国厂商 LG 展示了一款新 手机,LG GW990,见 Figure 9.2。这款手机的看点,是使用了代号为 Moorestown 的第二代 Atom CPU 芯片。据传闻,Moorestown 的续航时间长达 24 小时 [4,5]。
Figure 9.2 LG GW990, with Intel Moorestown Atom CPU inside [5].
Courtesy http://www.blogcdn.com/www.engadget.com/media/
2010/01/intel-keynote-ces10-0175-rm-eng.jpg
虽然 Moorestown 似乎很有潜力,但是就目前而言,ARM 系列 CPU 在手机芯片市场的霸主地位,是毋庸置疑的。例如,最近几年,多款被市场热捧的智能手机,它们的 CPU 都不约而同地选用了以 ARM Cortex A8 为内核的芯片。
1. Palm 公司曾经在 1990 年代以掌中宝 Palm PDA 风光一时。后来一度沉寂,迷失了自己的定位。2009 年 1 月,在美国家电年度展会(CES)上,Palm 高调宣布他们研制的 Palm Pre 手机即将上市。这款手机的确很炫,获得该年度 CES 大奖。
Palm Pre 手机于 2009 年 6 月正式上市,它使用的 CPU 芯片,是德州仪器(TI)于 2007 年推出的 OMAP3430 芯片,而 OMAP3430 芯片的内核,是 ARM Cortex-A8 [10]。
2. 同样在 2009 年 6 月份,Apple 公司的 iPhone 3GS 也上市,把 Palm Pre 的风头抢了过去。iPhone 3GS 的 CPU,选用的是 Samsung S5PC100 芯片,这款 CPU 的内核也是 ARM Cortex-A8 [11]。
3. 老牌手机制造商 Moto,业绩持续下滑。但是在 2009 年底,老树新花,Moto 推出以 Google Android v2.0 为操作系统的 Droid,火爆一时。与 Palm Pre 手机不谋而合的是,Droid 的 CPU 也选用了 TI 的 OMAP3430 芯片,其内核也是 ARM Cortex-A8 [12]。
4. Google 一直声称自己不介入手机制造。但是在 2010 年 1 月,由台湾 HTC 代工的 Nexus One,却是 Google 自己的品牌手机。Google Nexus One 手机,内置 CPU 芯片是高通(Qualcomm)的 Snapdragon 系列 QSD 8250 芯片。该芯片的内核也是 ARM Cortex-A8 [13]。
Figure 9.3 Palm Pre, iPhone 3GS, Moto Droid, Google Nexus One, all uses ARM Cortex-A8 CPU [10,11,12,13]。
Courtesy http://farm5.static.flickr.com/4069/4351123874_7c626a9175_o.png
智能手机的 CPU 芯片,核心是处理器内核,例如 ARM 系列内核。除了内核以外,还包括其它外设组件。下面以 TI 的 OMAP3430 芯片为例,解剖一下智能手机 CPU 芯片内部结构。Figure 9.4 是 OMAP3430 芯片的内部结构图,其中内核是 ARM Cortex-A8。
ARM 系列包括型号众多的内核,为什么大家不约而同地选择 ARM Cortex-A8?选择的要点是功能,速度,耗电量三者的权衡。
ARM Cortex-A8 使用的指令集是 ARMv7。StrongARM 系列,使用的指令集是 ARMv4。ARM7 系列和 ARM9 系列,用的是 ARMv4 和 ARMv5 指令集。ARM11 系列,用的是 ARMv6 指令集。
指令集版本号越高,一方面意味着指令的数量越多,从而导致芯片内部电路越复杂,制造难度也越大。另一方面,指令集越大,指令数量越多,也说明芯片的功能越 强,运行程序的速度越快。Cortex 内核,是目前所有 ARM 系列 CPU 芯片中,功能最强,速度最快的一类。ARM9 系列 CPU 的速度是 200-400MHz,ARM11 系列是 400-800MHz,而 ARM Cortex A8/A9 高达 800-1000+MHz [7,8,9]。
ARM Cortex A8/A9 功能强,速度快,而且比较省电,这就是以 ARM Cortex A8/A9 为内核的手机 CPU 芯片,被市场推崇的原因。当然,假如 Intel 的第二代 Atom CPU,Moorestown,成功地降低了耗电量,那么就有可能冲击 ARM Cortex A8/A9 的霸主地位。
除了 ARM Cortex-A8 内核以外,OMAP3430 芯片还包含其它专用处理器内核。
1. 视频音频编码解码加速器 IVA2+,用于支持 MPEG4,WMV9,H.264 以及 RealVideo10 等等主流流媒体标准,实现视频会议,并让手机具备录制和播放 DVD 质量的视频的能力。
2. PowerVR SGX 图形内核(GPU),用于增强 2D 和 3D 图片的渲染效果和速度。支持 OpenGL ES2.0 and OpenVG。
3. 图像信号处理内核(ISP),用来实现相机系统的高画质,强性能,和低成本。支持 12M 像素相机模块;实时 JPEG 图像压缩。
Figure 9.4 TI OMAP3430 CPU Architecture
Courtesy http://focus.ti.com.cn/graphics/wtbu/blockdiagrams/l4_omap3430.gif
选择什么样的 CPU 芯片,就基本决定了手机主板的结构。例如,TI 的 OMAP3430 芯片,本身不处理电源管理以及音频编码解码(Audio/Voice Codec),这两项工作,交给了 TWL5030 专用芯片处理,如 Figure 9.4 所示。因此,以 TI 的 OMAP3430 芯片为 CPU 的主板结构,与选用其它芯片为 CPU 的主板结构,在扬声器,耳机和话筒的连线上,有显著不同,参 见 Figure 9.5 中红框标识部分。
Figure 9.5 中上图为 Moto Droid 的逻辑结构图,下图为 iPhone 3GS 的。图中央的黑色方块,显示了应用程序处理器(AP)的 CPU,Moto Droid 的 CPU 是 TI 的 OMAP3430,而 iPhone 3GS 的 CPU 是 Samsung 的 S5PC100。Samsung S5PC100 芯片自身拥有音频编码解码的功能 [14],所以 iPhone 3GS 的扬声器,耳机和话筒直接连线到 S5PC100 芯片上。
Figure 9.5 Moto Droid vs iPhone 3GS internal logical structures [15,16].
Courtesy http://farm5.static.flickr.com/4028/4351590146_a5c13eff04_o.png
Figure 9.5 中央有两个黑色方块,右边的是应用程序处理器(AP)的 CPU,左边的是基带处理器(BP)的 CPU。Moto 选用了高通(Qualcomm)的 QSC6085 芯片,作为 BP 的 CPU。而 iPhone 3GS 选用的是英飞凌(Infineon)的芯片。关于 BP 的结构,我们将在下一章介绍。
智能手机的主板,以 AP 和 BP 的 CPU 芯片为核心,理解了这两块芯片,就不难理解手机主板的逻辑结构,例如 Figue 9.5 显示的 Moto Droid 和 iPhone 3GS 两款手机的主板逻辑结构。
理解了主板逻辑结构以后,再看主板实物,就不至于眼花缭乱。Figure 9.6 显示的是 Moto Droid 和 iPhone 3GS 两款手机的主板实物照片。把 Figure 9.5 和 Figure 9.6 对照着看,有助于理解。需要注意的是,实物图中看不到 CPU 芯片,因为在主板中,CPU 和 RAM 是叠加在一起的。这个做法叫 Package on Package(PoP),它的好处主要是节省主板空间 [17]。
Figure 9.6 Moto Droid vs iPhone 3GS PCBs [15,16].
Courtesy http://farm5.static.flickr.com/4061/4351590148_f6a392d8b9_o.png
总结一下,本章简要介绍了智能手机的硬件结构。硬件结构中,CPU 芯片是核心,其它外围设备,包括 LCD,相机,扬声器,话筒等等,都围绕 CPU 芯片这个核 心布局连线。在 CPU 芯片内部,内核是关键。ARM 系列是目前主流的手机 CPU 内核。其中,最近几年很热门的是 ARM Cortex A8/A9。
下一章,我们将讨论智能手机中基带处理器(BP)的实现方式。比较各个不同的实现方式之间,有哪些差别,各自有什么优缺点, 以及 AP 与 BP 两者协作的方式。
Reference,
[1] Comparison of iPad and iPhone technical specs.
(http://www.apple.com/ipad/specs/; http://www.apple.com/iphone/specs.html)
[2] Intel sold StrongARM/XScale to Marvell for 600 million.
(http://www.eetimes.com/news/latest/showArticle.jhtml?articleID=189601851)
[3] Intel drops Centrino Atom Brand after 5 months.
(http://www.pcworld.com/businesscenter/article/149791/
intel_drops_centrino_atom_brand_after_five_months.html)
[4] Intel demonstrates Moorestown smartphone.
(http://www.anandtech.com/cpuchipsets/showdoc.aspx?i=3716)
[5] Intel Keynote CES 2010, introducing Moorestown.
(http://www.engadget.com/2010/01/07/live-from-paul-otellinis-intel-ces-keynote/)
[6] Introduction to TI OMAP3430 micro-processor.
(http://focus.ti.com.cn/cn/general/docs/wtbu/wtbuproductcontent.tsp?
templateId=6123&navigationId=12643&contentId=14649)
[7] ARM Processor Survey. (http://en.wikipedia.org/wiki/ARM_architecture)
[8] ARM Processor Selector. (http://www.arm.com/products/CPUs/core_selector.html)
[9] ARM Core Overview.
(http://digital.knu.ac.kr/lecture/
%EC%82%BC%EC%84%B1%ED%85%8C%ED%81%AC%EB%85%B8MBA/2_arm_core.pdf)
[10] Palm Pre technical spec. (http://pdadb.net/index.php?m=specs&id=1688&c=palm_pre_cdma)
[11] iPhone series technical spec. (http://en.wikipedia.org/wiki/IPhone)
[12] Moto Droid technical spec. (http://developer.motorola.com/products/droid/)
[13] Google Nexus One technical spec.
(http://en.wikipedia.org/wiki/Nexus_One;
http://en.wikipedia.org/wiki/Snapdragon_%28processor%29)
[14] Samsung S5PC100 technical spec.
(http://www.samsung.com/global/business/semiconductor/support/
brochures/downloads/systemlsi/s5pc100_brochure_200902.pdf)
[15] Moto Droid teardown and analysis.
(http://www.phonewreck.com/2009/11/12/motorola-droid-teardown-analysis/)
[16] iPhone 3GS teardown and analysis.
(http://www.phonewreck.com/2009/06/19/iphone-3gs-teardown-and-analysis/)
[17] Package on Package introduction. (http://en.wikipedia.org/wiki/Package_on_package)