适应实时多任务的微控制器高效指令支持
(2)数据描述能力
随着人工智能、自适应、自学习技术的发展,参与关系运算的两个对象经常都是变量,微控制器指令系统的设计必须考虑这一因素。
关系运算的两个对象,应该支持运算器与立即数、寄存器、直接寻址或者间接寻址对象的关系运算;而间接寻址对象可以放在数据存储区中,也可以在程序存储区中。考虑到数组、队列的运算需要,比较理想的是间址寄存器支持指定次数循环或者支持循环队列操作。
相对寻址能力;采用一个基指针,再与间址寄存器叠加形成访问地址。既可访问程序代码空间。便于查表操作,用空间资源换取时间,提高非线性运算的处理速度;又可访问数据存储空间,便于计算机辅助开发应用程序生成运行代码中数据间址访问。
3.原子操作指令支持
同步与互斥是多进程必须处理的问题。多进程抢占系统资源时,要先判断系统资源使用标识。一般用一个位标识,是空闲则占用。这是一种互斥行为,一旦资源被占用,其它进程不得使用。为了避免一个进程检测到系统资源空闲之后,但在未改变标识位之间,另一个进程也检测到该资源空闲,必须将检测与改变标识设计为原子操作。一般,都通过禁止系统中断来解决。在检测之前关闭中断,检测之后再开启中断。如果指令提供对标志位以及对标识字节的原子操作支持,将减少程序并提高效率。
(1)标识位操作指令
要求对标识位的检测、清除标识位以及转移,在一条指令内完成。这在有些微控制器中已有指令支持。
(2)适应信号灯操作的指令
多进程并发运行时,经常用到信号灯技术。为了适应PV操作等同步与互斥操作,微控制器应提供减一等于某值转移,以及增一等于某值转移这样的指令支持。这样就可免去信号监测前后的关闭、开启中断操作,而仅在需要保护临界区时才关闭中断。禁止中断的时间减少了,相当于系统响应实时事件的能力增强。除了支持与常数的比较之外,指令还应支持与某寄存器或者间址存储单元的比较,这样就相当灵活。当该指令中的比较值取为0时,就是常用于控制循环的指令。
4.支持多进程切换的指令能力
当系统资源不能满足运行需要时,就要将进程挂起,同时也需要保留断点信息。从原理上讲,凡是进程自用的各种信息,都必须保留,进程下次由就绪态转为运行时,要以它们为依据,经过多次判断后才能恢复断点信息。可见,挂起过程和恢复过程要无谓地占用CPU时间。为解决这一矛盾,应设计如下指令功能。
(1)带回下次入口地址的调用返回指令
程序运行到某点,即隐含了条件的满足。进程挂起点的空间位置,隐含着进程运行的轨迹,即包含了挂起的原因。进程再次获得CPU资源,只要回到该点,再配以新状态条件,即可迅速恢复运行,而不需要重新再判别历史条件。因此,微处理器应该支持以指针间址存储单元内容(数据)为转移地址的调用指令,采用类似推栈指针重置PC指令的方法,用间址访问获取调用的入口地址。调用返回时,带回下次的入口地址,仍用该间址指针更新转移地址。
下次的入口地址,实际上并不需要放在哪个寄存器中带回,只要执行调用返回指令时,将当前程序计数器中的PC值(它已经含有下条指令首地址)送以用间址指针指向的存储单元即可,这种方法可以在8位机系统中方便地实现。它与常规的调用返回恢复调用点地址的做法不同之处在于先做了一步保存PC值的工作。调用返回指令有两种:其一是保存当前PC值并返回,下次调用直接转向指定入口;另一种则不保存当前PC值而返回,下次调用仍旧进入原入口。
为支持这种调用返回机制,在它之前的语句通常是一条判断转移指令,当不满足进程继续运行条件就执行调用返回。为提高指令效率,判断转移指令必须是双向的:有进程转移和无进位转移;零状态转移和非零状态转移;相等转移和不相等转移;大于转移和小于转移。对于位操作中的判断并清除标识位再转移的原子操作指令,则最好再提供判断并置位标识位再转移指令,以方便使用。
(2)支持可变中断矢量
实时系统普遍采用中断技术,许多微控制器采用固定中断矢量的实现方法。不同情况下的中断也只能执行相的指令段,而必须要在中断服务程序中辨别当前状况,一般,编程者都采用增设状态变量的方法,供下次中断服务时指引处理路径。本次中断结束之间的这部分准备工作以及下次进入中断时的寻找路径,都是无谓消耗CPU资源与时间;而采用可变中断矢量的实现方法,进入中断服务之后直接到达任务处理点,可避免上述弊端,提高中断服务响应速度。具体方法类似调用返回的处理,保存本次中断处理服务程序的终止点地址作为新的中断向量即可。
(3)组合条件对进程状态转移的控制
对于16位处理器,还可以提供以当前指令为基地址,以寄存器内容作为偏移地址的直接跳转或者调用支持。
进程需要处理多因素条件 综合与抉择,运行时要探测信息标识,依据多个状态变量决定运行路径。设有n个信息标识,由它可引导k(k≤2 n)条路径。采用逐个辨识的方法。需n次;而如果将这n个信息标识作为矢量地址看待,与基地址共同形成物理地址,即可直接转移。当k远小于2n时,可采用分段的方法,将n个信息标识中的