论山寨手机与 Android【6】MTK 手机的基带芯片

公司

2010-02-18 14:51

MTK 的硬件技术的核心,在于它的基带芯片。为了降低成本,同时缩减手机主板的面积,基带芯片中除了 CPU 以外,还集成了很多外设控制器。Feature Phone 的功能,基本上取决于基带芯片所支持的外设功能。

最早的 MT6205 方案,只有 GSM 的基本语音功能,不支持 GPRS 数据通信、没有 WAP、MP3 等功能。

随后 MT6218 在 MT6205 基础上,增加了 GPRS 数据通信、WAP 浏览、MP3 功能。

接着 MT6219 在 MT6218 基础上,又增加了内置 1.3M 照相/摄像功能,同时还增加了 MP4 功能。

MTK 再接再厉,在 MT6219 基础上进一步优化,开发了 MT622x 系列产品。例如,MT6226 是一款性价比相当高的产品,内置 VGA 照相/摄相处 理,支持 GPRS、WAP、MP3、MP4 等。同时,还开发了多款衍生品,例如,MT6226M 支持 1.3M 相机的。MT6227 支持 2M 相机。而 MT6228 不 仅增加了电视输出功能,同时还支持 3.0M 相机,等等。

从已经淡出市场的 MT6205,MT6217,MT6218,MT6219,到现在仍然在市场销售的 MT6223,MT6225,MT6226,MT6227,MT6228,MTK 生产的所有 Feature Phone 的基带芯片,均采用 ARM7 的内核。

Figure 34. 以 MT6225 基带芯片为核心的 MTK 主板 [30]
Courtesy http://farm3.static.flickr.com/2625/4194503831_d5fbf67d28_o.png

Figure 35. MT6225 Architecture [31,32,33,34]
Courtesy http://farm3.static.flickr.com/2735/4210933610_15de4f53c2_o.png

在 Figure 34 中,整个 MTK 手机主板的核心,是红线标出的 MT6225 基带芯片。虽然 MT6225 芯片的尺寸很小,但是它包含的功能却不少,参见 Figure 35。

以 MT6225 基带芯片为核心,加上电源管理芯片(PMIC)例如 MT6318,还有射频芯片例如 MT6139,另外再加上 Flash 存储芯片,就构成了 MTK 手机主板的基石。把这些芯片的引脚,连接上天线,LCD 显示屏,SIM 卡槽,扬声器麦克风等等外围设备,就实现了一个完整的 Feature Phone 的基本功能。

MT6225 芯片的核心,是 ARM7EJ-S 微处理器(Micro Controller Unit,MCU)。ARM7EJ-S 微处理器的基本任务,是执行最基本的计算机指令(Instruction Set),例如 move,add,branch,shift,and,push/pop 等等 [34],学过汇编语言的同学应该不陌生。

Figure 36. ARMv5TEJ CPU Core Block Diagram[34]
Courtesy http://farm3.static.flickr.com/2600/4216312750_de8d884003_o.png

在 ARM7EJ-S 微处理器内部,又可以细分为多个模块。其中,负责执行机器指令的模块,是 ARMv5TEJ CPU 内核。

指令执行的物理实现方式,决定了 CPU 内核的结构。CPU 内核结构的设计,包括如何设置 memory 和 register,如何读入数据以及移出数据,如何 处理 address,interrupt,exception,等等。ARMv5TEJ CPU 内核的物理结构,如 Figure 36 所示。图中显示了 CPU 内部各个物理模块,以及各个模块之间相互勾连的组织方式。其中包括数据处理模块,如 load/move,算术运算模块,如 add/multiply,以及数位操作模块,如 shift/rotate,等等。

ARMv5TEJ 这个 CPU 内核型号中,v5 代表第 5 号版本的 ARM 指令集,以及相应的 CPU 内核物理结构。ARMv5TEJ CPU 内核被运用在多款微处理器中,包括 ARM7EJ-S 和 ARM926EJ-S。StrongARM 系列微处理器的 CPU 内核是 v4,ARM11 系列的 CPU 大多是 v6,而 ARM Cortex 的 CPU 则是 v7[36,37,38]。

虽然 ARM 有不同版本的指令集,但是这些指令的物理意义大同小异,不同之处在于指令数量的多寡,以及指令的语法规则的调整。不管是哪一个版本,ARM 的指 令集都属于精简指令集 RISC 系列。RISC(Reduced Instruction Set Computer)的设计宗旨,是把逻辑复杂的指令,分解为一连串简单的基本指令,而 RISC 指令集只包含这些基本指令。RISC 的好处是,逻辑电路简 单,体积小,同时可以通过提高频率的办法,提高 CPU 运行速度。但是代价是增加了 CPU 与 Memory 之间数据交换的负担。

所谓精简指令集中的 “精简(Reduced)”,是相对于早年不精简的指令集而言。不精简的指令集,或者专业一点讲,复杂指令集 CISC(Complex Instruction Set Computer)并没有过时,并没有成为被淘汰的技术,例如 Intel 的 x86 CPU 系列,不仅当今仍然是电脑 CPU 的霸主,而且 Intel 正在积极努力,把 x86 CPU 芯片,推向手机芯片市场。

CISC 学派不同 意 RISC 的思路,他们认为,单纯提高 CPU 的频率,并不能提高整个系统的运行效率,理由是 Memory 的 IO 速度比 CPU 慢,拖了整个系统的后腿。所 以,为了提高系统的运行效率,应该设法降低 CPU 与 Memory 之间的数据交换。过份精简指令的数量,导致的后果是增加了 CPU 与 Memory 之间的数据 交换,从系统整体性能上看,得不偿失 [39]。

来自 CISC 阵营的批评很有道理。于是,ARM 的设计者们在两个方面改进了 ARM 微处理器的设计,1. 扩展指令集,2. 添加 memory 管理的模块。

1. 扩展指令集。

前文说到,ARMv5TEJ 是一款 CPU 内核的型号名称,其中 v5 代表第 5 版本的 CPU 内核,T 代表 Thumb 指令集,J 代表 Java bytecode 指令集。

ARM 原有的指令都是 32-bit,而 Thumb 指令只有 16-bit。Thumb 指令集基本上是原有 ARM 指令集的一个子集,通过压缩参数数量的办法, 降低指令长度。降低指令长度的目的,是变相降低 CPU 与 Memory 之间的 IO,从而提高运行效率。但是压缩参数数量,等同于弱化了微处理器的灵活性,降 低了它的功能。为了解决这个问题,ARM 采取了同时支持原有 ARM 指令集以及 Thumb 指令集的办法。通过识别指令的类别,对这两个指令集,分别处理。

除了支持 Thumb 指令集以外,ARMv5TEJ 微处理器还同时支持 8-bit 的 Java bytecode。负责执行 Java bytecode 指令的,是 Jazelle 模块。

至于 ARMv5TEJ 中那个 “E”,意思是该微处理器还支持专为数字信号处理(DSP)设计的特殊指令集。

2. 添加 memory 管理的模块。

前文还说到,ARMv5TEJ CPU 内核被运用在多款微处理器中,包括 ARM7EJ-S 和 ARM926EJ-S。这两款微处理器的型号中都带有 “-S” 后缀,代表可合成(Synthesis),意味着购买此微处理器技术的客户,可以自行对微处理器结构做进一步修改,例如改变频率,扩展指令集等等。例如,前面 Figure 35 描述了 MT6225 芯片的内部结构,其中包括嵌入的 ARM7EJ-S 微处理器部分。

Figure 37. Comparison of ARM7EJ-S and ARM926EJ-S Architectures [36].
Courtesy http://farm3.static.flickr.com/2547/4215334659_3c87870224_o.png

Figure 37 对比了 ARM7EJ-S 与 ARM926EJ-S 两款微处理器的逻辑结构。ARM7EJ-S 微处理器的逻辑结构,如 Figure 37 中左侧所示。这款微处理器的结构很简单,以 ARMv5TEJ 为 CPU 内核,辅以数据总线接口,用来接收来自外部的控制指令,以及交换数据。另外,还设 有与其它芯片协同工作的接口,以及 Embedded Trace Macrocell(ETM)接口,用来跟踪和调试 CPU 内部工作状态。

Figure 37 中右侧图,显示的是 ARM926EJ-S 微处理器的逻辑结构。对比 ARM7EJ-S 与 ARM926EJ-S,后者复杂很多。但是概括一 下,ARM926EJ-S 结构的调整,着力于两个方面,1. ARM7 遵循的是冯诺依曼结构,而 ARM9 转变成了 Harvard 结构,也就是把指令与数据分开处理 [45]。2. 增添了核内缓存(Cache),以及与紧致内存(Tightly Coupled Memory,TCM)的接口 [46,47],此外,还增添了 MMU(Memory Management Unit),强化对内存的管理。

由于 ARM7 系列微处理器内部没有 MMU,所以 ARM7 系列无法实现虚拟内存。没有虚拟内存的后果是,各个进程和内核之间可以互相访问对方使用的地址空 间,这个漏洞的隐患很大,有可能让恶意程序钻空子,获取整个操作系统的控制权,然后为所欲为。典型的案例就是死机短信 [49],这条短信利用了短信处理程 序中的 bug,造成黑屏和抖动,让手机系统失常。

从 ARM 的网站上可以查到,MTK 直接从 ARM 购买的生产许可证,仅限于 ARM7 系列,包括 ARM7TDMI,ARM7TDMI- S,ARM7EJ- S[40]。这个局面,一直延续到 2007 年 9 月 10 日才发生改变,当时 MTK 收购了 ADI 旗下 SoftFone 手机芯片系列。MTK 此举的目的,主要是 着眼于 ADI 在 3G 上的专利,但是 MTK 同时间接获得了 ARM9 和 ARM9E 系列的生产许可证,可谓一箭双雕。

从此 MTK 基带芯片产品,有两个系列,嫡系的 MT 系列与兼并来的 SoftFone 系列 [42]。在 MT 系列中,编号小于 MT6235 的各款芯片,内核均为 ARM7 系列。而 SoftFone 系列各款芯片中,有的以 ARM7 系列为内核,也有的以 ARM9 系列为内核,ARM9 系列中使用最多的,是 ARM926EJ-S 这一款微处理器 [43]。

回顾历史,MTK 通过不断地优化升级自己的芯片,从而确定并扩大自己的市场地位。延续这一做法,是否能够保持 MTK 的发展势头呢?不一定。MTK 的传统领 地在于 Feature Phone,但是 Feature Phone 正在迅速地被 Smart Phone 淘汰。MTK 如何跟上 Smart Phone 浪潮呢?且听下回分解。

Reference,

[30] 山寨手机存活的理由。(http://tech.sina.com.cn/mobile/n/2008-06-12/10122253121.shtml)
[31] MT6225 芯片简介。(http://www.study-kit.com/list.asp?ProdId=0203)
[32] MTK6225 内部结构简述。(http://weboch.cn.alibaba.com/…weboch-50910-483309568.html)
[33] AM7EJ-S Introduction. (http://www.arm.com/products/CPUs/ARM7EJSCore.html)
[34] ARM7EJ-S Technical Reference Manual. (http://infocenter.arm.com/help/topic/com.arm.doc.ddi0214b/index.html)
[35] ARM926EJ-S Technical Reference Manual. (http://infocenter.arm.com/help/topic/com.arm.doc.ddi0222b/index.html)
[36] ARM Processor Survey. (http://en.wikipedia.org/wiki/ARM_architecture)
[37] ARM Processor Selector. (http://www.arm.com/products/CPUs/core_selector.html)

[38] ARM Core Overview. (http://digital.knu.ac.kr/lecture/…/2_arm_core.pdf)

[39] RISC vs CISC. (http://www.pic24micro.com/cisc_vs_risc.html)

[40] ARM Processor Licensees. (http://www.arm.com/products/licensing/licencees.html)
[41] MTK 收购 ADI 手机芯片产品线。(http://www.esmchina.com/ART_8800078804_1400_2101_3101_4300_b1c7f2ad.HTM)
[42] MTK Product Lines. (http://www.mediatek.com/en/product/list.php?cata1=1)
[43] MTK SoftFone Product Line. (http://www.mediatek.com/en/product/list.php?cata3=2)
[44] MTK 常用术语缩写。(http://www.mtkmtk.com/html/download/mtkmmi/2009/0717/4109.html)
[45] Difference of ARM9 from ARM7. (http://en.wikipedia.org/wiki/ARM9)
[46] 对 ARM 紧致内存的理解。(http://hi.bccn.net/space-21499-do-blog-id-15164.html)
[47] ARM Technical Reference, Tightly Coupled Memory (TCM). (http://infocenter.arm.com/help/topic/com.arm.doc.ddi0338g/Chdhbjjb.html)
[48] Introduction to MMU. (http://en.wikipedia.org/wiki/Memory_management_unit)
[49] 让你手机死机黑屏的短信。(http://www.177hy.com/bbs/viewthread.php?tid=69038)

登录,参与讨论前请先登录

评论在审核通过后将对所有人可见

正在加载中

移动互联网的围观者、起哄者、以及肇事者。

本篇来自栏目

解锁订阅模式,获得更多专属优质内容