SOC系统简介

作为本专栏的开篇,有必要说明开设本专栏是为了总结学习经验,同时也想让更多小白能够以一种通俗易懂的形式去了解SOC系统。

SOC,是System on Chip的缩写,也称为片上系统。我们之所以称之为“系统”,是因为它不是单个的模块,而是多个模块的集合体。从狭义角度讲,它是信息系统核心的芯片集成,是将系统关键部件集成在一块芯片上;从广义角度来讲,SOC是一个微小型系统。

SOC芯片的硬件组成大概包括:核心(Core),总线、存储模块,中断模块、时钟模块、外设接口等。如果我们把核心理解为大脑,那么总线可以理解为神经纤维,那么除核心与总线外的其他模块组成手臂,腿,以及五官等,大脑(core)发送命令,通过神经纤维传达命令给我们的肢体,肢体收到指示去做相应的工作。我们的身体通过相互配合组成一个系统,SOC类似,通过不同模块的组合,共同构成了一个完整的系统。这意味着,在单个芯片上,就能完成一个电子系统的功能,而这个系统在以前往往需要一个或多个电路板,以及板上的各种电子器件、芯片和互连线共同配合来实现,但SoC更多的是对处理器(包括CPU、DSP)、存储器、各种接口控制模块、各种互联总线的集成。

存储的种类有很多包括:SRAM、DRAM、闪存等。SRAM是一种存储阵列结构的简单集成电路,通常有一个读写端口。过去,大多数个人电脑和服务器使用独立的SRAM芯片作为一级、二级甚至三级高速缓存,如今,感谢摩尔定律,所有的高速缓存都被集成到了处理器芯片上,因此独立SRAM芯片的市场已经消失。在SRAM中,只要提供电源,数值会被一直保存。而在DRAM中,使用电容保存电荷的方式来存储数据。采用单个晶体管来访问存储的电荷,因此不能长久的保持数据,必须进行周期性的刷新,这也是该结构被称之为动态的原因。闪存(flash memory)是一种电可擦除的可编程只读存储器,闪存的写操作会对器件本身产生磨损,为了应对这种限制,大多数闪存产品都包括一个控制器,用于将发生多次写的块重新映射到较少被写的块,从而使得写操作尽量分散。

上文提及到的总线可以理解为核心与其他模块的桥梁,核心发出指令,指令和数据可以通过总线到达目标模块,经常使用的总线包括AXI、AHB、APB等,其中AXI与AHB属于高速总线主要负责挂一些高速外设,比如DDR控制器与FLASH控制器等,而APB为低速总线主要用来挂一些低速外设,比如UART、SPI等。通常各模块的设计与验证需要工程师完成,还有一种方式就是可以直接用买来的IP,这类IP模块在售卖前都经过验证测试,工程师只需要了解该模块的总体功能以及总线接口,再将其"挂"到总线进行系统及验证即可。上文中提及的总线以及高速低速外设使用方法会在今后的文章中具体介绍。

SOC的简单介绍就到这里,希望对你有帮助,欢迎评论与点赞!

你可能感兴趣的:(risc-v)