您现在的位置: 范文先生网 >> 理工论文 >> 电子通信论文 >> 正文

适应实时多任务的微控制器高效指令支持

时间:2007-1-20栏目:电子通信论文

这部分准备工作以及下次进入中断时的寻找路径,都是无谓消耗CPU资源与时间;而采用可变中断矢量的实现方法,进入中断服务之后直接到达任务处理点,可避免上述弊端,提高中断服务响应速度。具体方法类似调用返回的处理,保存本次中断处理服务程序的终止点地址作为新的中断向量即可。

(3)组合条件对进程状态转移的控制

对于16位处理器,还可以提供以当前指令为基地址,以寄存器内容作为偏移地址的直接跳转或者调用支持。

进程需要处理多因素条件 综合与抉择,运行时要探测信息标识,依据多个状态变量决定运行路径。设有n个信息标识,由它可引导k(k≤2 n)条路径。采用逐个辨识的方法。需n次;而如果将这n个信息标识作为矢量地址看待,与基地址共同形成物理地址,即可直接转移。当k远小于2n时,可采用分段的方法,将n个信息标识中的一部分用作矢量地址,以减少对程序存储器的占用。

(4)便于多进程切换的指令能力

上述间址移机制,不但可以支持数据驱动的程序控制,也适宜于按时间片分配进程运行。当系统分配给该进程的时间用完,进入高优先级的系统定时器中断。此时,堆栈顶保存的是被中断进程的断点地址,只要将其作为该进程的下次入口地址保存起来,并执行完该进程的断点保护工作后,再递增指针,指向下一进程的入口地址,即可在定时器中断返回之后,自动将下进程投入运行。

(5)支持循环任务队列的功能

并发运行的多任务,数目会发生变化。微控制器应提供支持循环任务队列的指令,例如前面所说的指针增减一等于某值转移指令,可实现任意位置与长度的循环队列管理,便于正反双向遍历。对于多任务处理,各进程所需的循环队列长度会不同。如果指令格式规定比较值必须是固定的常数,则必须为不同的进程编写惟有比较值不同而功能完全一样的代码段,显然并合理。较好解决方法是间址寄存器支持访问变量。

(6)二级指针管理寄存器块

一些常用的内部存储单元可组成工作组的形式,用二级指针指明当前工作组。在多进程并发运行时,这种方式可加快数据切换等断点保护和恢复工作,并减少指令。

上述指令,在有些微控制器的指令集,已有体现,在此提出,供编制实时多任务应用程序设计者在选用微控制器时参考。有些指令尚未实现,出来供微控制器设计者参考。

随着微电子技术的发展,这些指令的功能并非难以实现,只是要在功能与功能、功能与成本之间进行权衡,或许只能在某些高档的微控制器中才能支持。随着专用系统概念的增强,适用于实地多任务系统应用的微控制器,将使得应用系统设计者更灵活、更迅速地开发出低成本、高性能的产品。


上一页  [1] [2] [3] 

下页更精彩:1 2 3 4 下一页