车用控制器软件的开发属于嵌入式开发,嵌入式软件架构从简单到复杂可分为中断驱动系统、实时多任务系统和多处理器系统。
中断驱动系统
中断驱动系统又称为前后台系统,其中应用程序部分是一个无限循环,循环中调用相应的函数完成特定任务,这部分就是后台系统;中断服务程序处理异步事件,这部分就是前台系统。时间相关性很强的关键操作一定是靠中断服务来保证的。
例如,在输入时,当设备控制器收到CPU发来的读命令后,便去控制相应的输入设备读数据。一旦数据进入数据寄存器,控制器便通过控制线向CPU发送一个中断信号,由CPU检查输入过程中是否出错,若无错,便向控制器发送取走数据的信号,然后再通过控制器及数据线,将数据写入内存指定单元中。

但是,因为中断服务提供的信息一定是要等到后台程序走到该处理这个信息这一步时才能得到处理,前后台系统在处理信息的及时性上可能并不理想。这样,实时多任务系统应运而生。
实时多任务系统在实时多任务系统中,实时操作系统(Real Time Operating System,RTOS)扮演了重要的角色,通过引入任务优先级及抢占等关键概念,系统的实时性能得到强有力的保证。
RTOS最关键的部分是实时多任务内核,它的基本功能包括任务管理、定时器管理、存储器管理、资源管理、事件管理、系统管理、消息管理、队列管理、旗语管理等。这些管理功能是通过内核服务函数形式交给用户调用的,也就是RTOS的API。RTOS的引入,解决了嵌入式软件开发标准化的难题。
但实时多任务系统还没有实现真正的并行运算,只有当硬件上是多个CPU并行处理时,真正的并行运算才成为可能。
多处理器系统随着软硬件技术的飞速发展,多处理器系统也发挥着越来越重要的作用。多处理器系统(Multiprocessor Systems)是指包含两台或多台功能相近的处理器,处理器之间彼此可以交换数据,所有处理器共享内存,I/O设备,控制器,及外部设备,整个硬件系统由统一的操作系统控制,在处理器和程序之间实现作业、任务、程序、数组极其元素各级的全面并行。