大家好,我是山羊君Goat。
常常听说CPU,中央处理器等等的,它是一个电脑或单片机系统的核心,但是对于SOC可能相比于CPU了解的人没有那么广泛。
所以SOC是什么?
SOC全称是System on Chip,就是片上系统,可以把SOC看成是一个芯片,但是这个芯片内部包含很多成分,包括CPU,GPU,RAM,ROM等等的都会有选择的封装在SOC内部,手机内部的SOC通常会把USB,HDMI都封装在SOC内部。这样做可以使得功能不变的情况下很好的减少电子产品的面积,使得电子产品可以做得越来越小,越来越便捷。
它是一个完整的把硬件,软件功能都集成在一起的一个强大的芯片。可以理解为将部分功能模块嵌入到CPU中的一个芯片,更强大的中央处理单元。
虽然说SOC是很小的一款芯片,但是它的算力其实是很恐怖的,比如说现在一颗A15的手机芯片,它的算力是超过1969年美国宇航局把阿波罗11号送上月球时使用的大型机当中的芯片的。
SOC基本架构
-有一个或以上的微控制器MCU或微处理器MPU,可以存在多个处理器内核。
-存储器,可以是RAM,ROM,EEPROM或闪存中的一种或多种。
-时钟信号,用于提供时间脉冲信号的振荡器和锁相环电路。
-由计数器和计时器,电源电路组成的外设部分电路。
-用途各异的I/O功能接口如USB,火线,以太网通用异步收发等等。
-用于数字信号与模拟信号之间转换的ADC/DAC。
-电压调节电路和稳压器。
-其他扩展部分。
SOC的局限性
虽然说SOC的优点有很多,缩小了体积,集成多个模块,性价比高等等。但是在实际应用中,它也是有一些不足和局限性的。
比如说扩展性差,一旦一类SOC芯片被定型,那它后期就不能再被更改,如果需要更改,就需要重新设计整个SOC芯片,并且因为总线架构固有的仲裁通信方式,同一时刻只能有一个处理器进行通信处理,所以也限制了在SOC上面进行处理器核心扩展的数量。
同时因为SOC采用独占机制的总线架构,也就是说各个功能模块只有获得了总线的控制权才能和系统中的其他模块进行通讯,就会造成一个模块取得总线仲裁权时,其他模块必须等待,一直到总线空闲时才能获得控制,从而导致整体平均通讯效率变低。
还有一个不足就是单一时钟同步问题,SOC的整体是要求全局同步的,所以需要高频的时钟信号,但是因为SOC的尺寸非常小,达到10GHz之后,会有连线延时的影响,导致设计全局时钟树的难度,并且也由于时钟网络的庞大,功耗也会在这方面有多余消耗。