在一个SoC的系统结构设计中,除了硬件结构以外,软件结构的设计对整个SoC的性能有很大的影响。
尽管硬件的结构设计无论对哪个公司来说都是一种挑战,却不能忽略系统级上的挑战。
因为一个SoC产品不只包括硬件,而是软件和硬件的结合。在很多的SoC中,软件设计的复杂度和开发周期都要超过整个硬件的设计。软件设计在很大程度上决定了SoC中硬件电路的性能发挥。
1.数据流的路径
在很多嵌入式系统中,数据流在硬件和软件中的路径决定了系统的效率和性能。
数据流的路径通常是从数据位通过物理接口流入系统开始的,并经硬件设备输入接口流入硬件设备输入控制器。软件驱动程序将数据输入操作系统的数据结构,然后再送入应用存储器空间中。
应用程序间的通信直接通过共享的全局存储器交换数据,或者通过操作系统以消息的形式传送数据。
在输出端,应用通常通过操作系统向设备驱动程序传送数据,它将数据输入一个硬件输出控制器,然后通过操作系统向设备驱动程序传送数据,经硬件设备输出接口传出。
2.软件环境
SoC芯片中的软件环境包括应用软件的运行环境和应用软件