适应实时多任务的微控制器高效指令支持
(3)组合条件对进程状态转移的控制
对于16位处理器,还可以提供以当前指令为基地址,以寄存器内容作为偏移地址的直接跳转或者调用支持。
进程需要处理多因素条件 综合与抉择,运行时要探测信息标识,依据多个状态变量决定运行路径。设有n个信息标识,由它可引导k(k≤2 n)条路径。采用逐个辨识的方法。需n次;而如果将这n个信息标识作为矢量地址看待,与基地址共同形成物理地址,即可直接转移。当k远小于2n时,可采用分段的方法,将n个信息标识中的一部分用作矢量地址,以减少对程序存储器的占用。
(4)便于多进程切换的指令能力
上述间址移机制,不但可以支持数据驱动的程序控制,也适宜于按时间片分配进程运行。当系统分配给该进程的时间用完,进入高优先级的系统定时器中断。此时,堆栈顶保存的是被中断进程的断点地址,只要将其作为该进程的下次入口地址保存起来,并执行完该进程的断点保护工作后,再递增指针,指向下一进程的入口地址,即可在定时器中断返回之后,自动将下进程投入运行。
(5)支持循环任务队列的功能
并发运行的多任务,数目会发生变化。微控制器应提供支持循环任务队列的指令,例如前面所说的指针增减一等于某值转移指令,可实现任意位置与长度的循环队列管理,便于正反双向遍历。对于多任务处理,各进程所需的循环队列长度会不同。如果指令格式规定比较值必须是固定的常数,则必须为不同的进程编写惟有比较值不同而功能完全一样的代码段,显然并合理。较好解决方法是间址寄存器支持访问变量。
(6)二级指针管理寄存器块
一些常用的内部存储单元可组成工作组的形式,用二级指针指明当前工作组。在多进程并发运行时,这种方式可加快数据切换等断点保护和恢复工作,并减少指令。
上述指令,在有些微控制器的指令集,已有体现,在此提出,供编制实时多任务应用程序设计者在选用微控制器时参考。有些指令尚未实现,出来供微控制器设计者参考。
随着微电子技术的发展,这些指令的功能并非难以实现,只是要在功能与功能、功能与成本之间进行权衡,或许只能在某些高档的微控制器中才能支持。随着专用系统概念的增强,适用于实地多任务系统应用的微控制器,将使得应用系统设计者更灵活、更迅速地开发出低成本、高性能的产品。
《适应实时多任务的微控制器高效指令支持(第3页)》