关于Android手机采用Qualcomm和TI解决方案一些疑问与思考

[Android2.2] [Qualcomm] [Neuxs One] [Milestone]

作者:Nikey 来源: 机锋实验室 时间: 2010-09-02 01:34点击:

  I/O处理能力

  其实看到这个词的时候,我首先想到的是Google I/O,那个Google I/O的是Innovate(创新)和Open(开放)的意思,而我这里说的是文件读写处理性能,即可IN/OUT,意思是写入/读取。因为最近测试各种机型性能与耗电的关系,对机型系统各种处理能力比较敏感。我在对比过程中发现 Droid X 和 Droid 2 的I/O处理能力在目前Android手机名列前茅。对其产生的评分结果,与Droid X 为什么能有如此强劲的I/O处理能力充满疑问,目前正在深究其中原因。

  CPU评分

  以Nexus One、Desire为例,等采用高通snapdragon 1Ghz CPU的机型,CPU评分特别高。

  以Droid、Milestone、Droid X为例,德州仪器 TI OMAP CPU评分相对高通snapdragon较低,但是就运算速度来说,这些机型的使用体验还是非常不错的。

  Droid X采用德州仪器TI OMAP 1Ghz CPU,Nexus One 采用高通snapdragon CPU,频率同样为1Ghz,为何高通CPU评分要高出OMAP这么多,难道高通的解决方案更适合Android么? 

  左为Neuxs One Android 2.2,右为Motorola Droid Android 2.2


  因为CPU和I/O关系密切,因为I/O接口的功能是负责实现CPU通过系统总线把I/O电路和外围设备联系在一起,所以我最近查阅了一些资料,和大家分享一下。 首先说明,我是个硬件盲,只是感兴趣而已,所以了解了解,说的不专业的地方还望大师们纠正 在这里,我们把Android手机看成一台微型电脑,而不是传统意义上的手机,这样大家看起来可能会比较容易理解。 首先,主板接口中,CPU与外部设备、存储器的连接和数据交换都需要通过接口设备来实现,前者即I/O接口,而后者则被称为存储器接口。 存储器通常在CPU的同步控制下工作,接口电路比较简单。

  关于I/O接口有两种,查阅一下,发现有I/O接口芯片和I/O接口控制卡

  I/O接口芯片大都是集成电路,通过CPU输入不同的命令和参数,并控制相关的I/O电路和简单的外设作相应的操作,常见的接口芯片如定时/计数器、中断控制器、DMA控制器、并行接口等。

  I/O接口控制卡则有若干个集成电路按一定的逻辑组成为一个部件,或者直接与CPU同在主板上,也可能是一个插件插在系统总线插槽上,像Droid X或Droid 2这些手机通过拆机我们可以看到应该都是直接镶嵌在主板上的。

 

  以下几种情况CPU与外设之间的数据交换必须通过接口来完成

  速度不匹配:I/O设备的工作速度要比CPU慢许多,而且由于种类的不同,他们之间的速度差异也很大。

  时序不匹配:各个I/O设备都有自己的定时控制电路,以自己的速度传 输数据,无法与CPU的时序取得统一。

  信息格式不匹配:不同的I/O设备存储和处理信息的格式不同,例如可以分为串行和并行两种;也可以分为二进制格式、ACSII编码和BCD编码等。

  信息类型不匹配:不同I/O设备采用的信号类型不同,有些是数字信号,而 有些是模拟信号,因此所采用的处理方式也不同。

  基于以上原因,,通常接口有以下一些功能:

  设置数据的寄存、缓冲逻辑,以适应CPU与外设之间的速度差异,接口通常由一些寄存器或RAM芯片组成,如果芯片足够大还可以实现批量数据的传输;

  能够进行信息格式的转换,例如串行和并行的转换,协调CPU和外设两者在信息的类型和电平的差异,如电平转换驱动器、数/模或模/数转换器等;

  协调时序差异,地址译码和设备选择功能;设置中断和DMA控制逻辑,以保证在中断和DMA允许的情况下产生中断和DMA请求信号,并在接受到中断和DMA应答之后完成中断处理和DMA传输。

  另外CPU通过接口对外设进行控制的方式有程序查询、中断处理和DMA传送三种方式

  程序查询方式

  这种方式下CPU通过I/O指令询问指定外设当前的状态,如果外设准备就绪,则进行数据的输入或输出,否则CPU等待,循环查询

  这种方式的优点是结构简单,只需要少量的硬件电路即可,缺点是由于CPU的速度远远高于外设,因此通常处于等待状态,工作效率很低

  中断处理方式

  在这种方式下,CPU不再被动等待,而是可以执行其他程序,一旦外设为数据交换准备就绪,可以向CPU提出服务请求,CPU如果响应该请求,便暂时停止当前程序的执行,转去执行与该请求对应的服务程序,完成后,再继续执行原来被中断的程序。中断处理方式的优点是显而易见的,它不但为CPU省去了查询外设状态和等待外设就绪所花费的时间,提高了CPU的工作效率,还满足了外设的实时要求。但需要为每个I/O设备分配一个中断请求号和相应的中断服务程序,此外还需要一个中断控制器(I/O接口芯片)管理I/O设备提出的中断请求,例如设置中断屏蔽、中断请求优先级等。

  此外,中断处理方式的缺点是每传送一个字符都要进行中断,启动中断控制器,还要保留和恢复现场以便能继续原程序的执行,花费的工作量很大,这样如果需要大量数据交换,系统的性能会很低。

  DMA传送方式

  DMA最明显的一个特点是它不是用软件而是采用一个专门的控制器来控制内存与外设之间的数据交流,无须CPU介入,大大提高CPU的工作效率。

  在进行DMA数据传送之前,DMA控制器会向CPU申请总线控制 权,CPU如果允许,则将控制权交出,因此,在数据交换时,总线控制权由DMA控制器掌握,在传输结束后,DMA控制器将总线控制权交还给CPU。


  左为Droid X,右为Droid 2,固件版本为Android2.2

  CPU评分,左为Droid X,右为Droid 2

  I/O评分,左为Droid X,右为Droid 2

  在评分中,我们可以看到,搭载Android2.1的Nexus one的CPU评分比较低,而在升级Android2.2之后,CPU性能大增(和加入了JIT编译器有一定关系),但是I/O处理能力没有多大增长

  搭载Android2.1的Droid X的CPU评分较低,而I/O性能评分比较高,之前机锋网Droid X区版主hanlibin2004放出过升级Android2.2之后的Droid X评分(,升级Android2.2之后的Droid X CPU评分也大幅提升了,而I/O评分几乎没有变化

  这说明固件升级只是增加CPU的利用效率,而I/O的性能几乎是由解决方案固定的,不能通过固件升级的方式提升性能。从这点来说,TI OMAP的解决方案比起snapdragon还是有优势的。

  Droid 和milestone采用的是TI OMAP 3430(ARM cortexA8内核),CPU频率为550Mhz,德州仪器副总裁暨无线终端产品事业部总经理Alain Mutricy曾经介绍说在德州仪器的低功率65纳米制程技术条件下,ARM Cortex-A8处理器可达到1GHz的时脉速度,结合Cortex-A8核心在时脉频率、效能效率及支持NEON技术之ARMv7架构方面的优势,使得OMAP3430应用处理器最高能够提供比现在市面上效能最棒的手机还要高出三倍的效能。这就不难解释Droid、Milestone为什么在标配为 550MHZ频率的条件下,依然可以流畅运行一些需要大型处理能力的应用了。

  而高通 snapdragon QSD8250,主频800MHz-1Ghz,在性能上肯定是优于550Mhz TI OMAP 3430的,但是比起主频同样为1Ghz 的TI OMAP 3630,从构架上来讲,OMAP3630的CPU更强,处理器构架为A8,制造工艺45纳米,集合了图像核心,信号核心等、不过根据目前还没有什么需要非常高运算能力才能运行的Android应用,所以大部分游戏和应用对Neuxs One和Desire等机型来说,都可以流畅运行,目前从体验上而言,和Droid X和Droid 2差别不大。

  HTC马上又有新机推出,号称搭载高通1.5Ghz CPU。大家在关注各手机厂商竞争的时候,可能会忽视掉芯片商之间热闹的战争。

  对于智能手机,耗电量一直是用户关心的问题。理论上说,主频越高,越耗电。

  关于TI OMAP 3430和TI OMAP 3630与snapdragon的各项耗电测试,搜索了一下,好像还没有这类文章。所以Nikey决定最近一段时间继续对这几个型号的进行测试。争取给大家未来购买Android手机的时候,作为一个参考。

  ■(文/Nikey@ GFan.com)

顶一下
(89)
97.8%
踩一下
(2)
2.2%
[ 责任编辑:Nikey ]