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