NXP

也谈K3的处理器问题

2019-07-12 13:19发布

 所谓 K3方案大家都知道采用的是Hi3611芯片,它并不是一个单独的CPU 而是内核采用的是ARM926EJ-S的处理器并且集成n多NXP的DSP处理器的一种Soc集合体。也就是说把音频编解码,视频编解码,usb通讯,总线控制器(南北桥)等等综合在一起的集合体。
它的特点:
1 采用32bit ARM v5TE ISA(Industry Standard Architecture),五级流水,内嵌DSP指令扩展和JAVA加速,兼容32bitARM,16bitThumb 和8bit JAVA指令。
2 提供独立的16KB I Cache 和16KB DCache 4路 Set-associate,8字Cache line;
3 Cache支持伪随机或者Round-Robin替换算法,并可以进行配置。
4 独立32bit指令和数据AHB总线接口,总线工作频率可谓CPU内核始终的整数分频。
5 支持8KB 32bit接口的单口SSRAM作为ITCM和DTCM;
6 支持动态功耗管理和静态功耗管理;
  它的设计主频是460Mhz,论坛上大家理解的所谓“降频使用”其实是动态功耗技术,说白了可以关闭CPU集成的部分DSP的工作流。大家说主频是360Mhz,可能存在硬件分频设置问题的(类似我们pc机上的跳线),但如果硬要说所谓因为商业目的,实在不为人知。

整个k3系统可以有三种硬件工作模式
SLEEP模式,大部分模块时钟和总线时钟都被关闭,只有部分系统控制器RTC,GPIO等再有32.768kHz睡眠时钟驱动
SLOW和DoZE模式 系统时钟将切到26Mhz晶振时钟;
NORMAL模式,系统时钟由PLL输出时钟。
问题的关键: 芯片内部采用PLL倍频电路和数字分频电路生成处理器和各处所需的时钟,并支持时钟分频和各外设时钟的关闭,用来降低芯片的运行功耗,注意是关闭,不是降低!
Hi3611采用3个PLL用于时钟频率的合成,
1 APLL 提供最高的工作时钟 598MHz。这个是3611的极限主频。
2 PPLL用于生产部分片上外设的工作时钟,输出频率为240Mhz。大部分时候采用此频率工作
3 UPLL用于产生USB OTG PHY 的480Mhz时钟。这个480Mhz是用来驱动USB通讯芯片的,并不是CPU运算主频
也就是说3611中CPU的主频率应该是37Khz~598Mhz范围,大部分时间是在240Mhz下运行,这样效率加上ARM9的内核的CPU在业界真的只能做低端应用,所以我们用MIPS软件测试 只能得到80MIPS的效果,甚至比TI的850芯片的得分都略低!
但是为什么和我们看到的流畅的画面飞快的速度感诧异这么大呢
? 请返回本文的开头部分看起,我们过分的强调cpu主频是没有意义的,因为很多运算并不是有CPU来处理的,K3有自己的音视频的DSP(相当于pc机的声卡,显卡),这是其他方案所不具备的,也就是一个硬件解码和软件解码的效率问题了。
呵呵读到这里,相信大家应该明白其中的缘由了吧! 这也就是华为低成本高效果的诀窍!
毕竟大家还是要看整体效果,而不仅仅是个cpu。