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

- 作者：邓侃
- 发布时间：2010-02-18 14:51
- 分类：公司
- 原文：https://www.ifanr.com/18803

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的内核。

![](http://docs.google.com/File?id=drfcsw8_544mmdjbcdz_b)

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

![](http://docs.google.com/File?id=drfcsw8_545crqvcbfv_b)

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\]，学过汇编语言的同学应该不陌生。

![](http://docs.google.com/File?id=drfcsw8_546zxpfg6gg_b)

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微处理器部分。

![](http://docs.google.com/File?id=drfcsw8_547hhk5mshn_b)

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>)
