微控制器和寻址方法

文档序号:6487245阅读:329来源:国知局
专利名称:微控制器和寻址方法
技术领域
本发明涉及微控制器以及其特性在权利要求1和6的前叙部分说明了的寻址方法。
新一代的8比特微控制器中应用愈来愈大的地址空间,高到16兆字节。为寻址如此扩展的地址空间,已引入诸如ECALL和ERET之类附加的指令,通过应用24比特的地址它们可寻址整个地址空间,能够对CPU堆栈写入24比特的地址,并从CPU堆栈中读出它们。即使应用扩展的地址区域,依靠80C51标准指令集中的指令LCALL、ACALL和RET、或是等效的其他8比特指令集,微控制器只能写入和读出16比特的地址。因此,在扩展的地址空间场合下,微控制器实际上不能使用,或者只在某些条件下可以应用。已经做到的对扩展指令ECALL和ERET或合适的等效指令的应用中,需要较多的代码,并需要较多的执行时间。
所以,本发明的一个目的是提供一种微控制器和寻址方法,它们的区别特征在于,当寻址的地址空间具有比较大的地址长度、特别是大于16比特时,与先前已知的微控制器和寻址方法相比,它们具有较低的存储需求和较高的执行速度。
此目的是通过如权利要求1的本发明的微控制器和如权利要求6的寻址方法来实现的。按照本发明的微控制器其特点在于,微控制器具有至少一个状态比特,借助于该状态比特,通过微控制器的至少一个标准指令能强制写入和/或读出N比特的地址字,所述标准指令可取地为LCALL、ACALL或RET指令之类,其中,N比特地址字的地址长度N大于标准指令集的地址长度或等效的微控制器其他指令集的地址长度。因此,标准指令集扩展到N比特地址空间。特别地,N比特地址字的地址长度N大于16比特。尤其可取的是,N比特地址字的地址长度N数值为20、24或32。这样,该N比特地址空间不仅可留供附加的专利指令使用,更使完全的指令集能支持扩展。这又能避免可能发生的那类矛盾,例如ECALL指令写入3个字节到堆栈中,而在堆栈内只有16比特地址的假定下,子程序只能以RET指令返回。借助于本发明的装置和方法,可显著减少编译码约5-10%,从而达到速度的提高。进一步的优点在于,可以较容易地优化某些程序,例如ACALL的优化之类,其中,借助于明显较少的ACALL指令,作出了取代LCALL/ECALL指令的尝试。没有“扩展的呼叫/返回模式”,这种优化是无效用的。
本发明的一个优选实施例中,依靠至少一种计算机可读的存储媒介,能设置和/或删除至少一个状态比特。由此,可有利地实现增大微控制器的灵活性。
此外,本发明的一个优选实施例中,由于借助于微控制器的标准指令能够对整个SFR(特殊功能寄存器)进行写入和从中读出,故至少一个状态比特为至少一个SFR的一部分。
再则,本发明的一个优选实施例中,至少一个状态比特由微控制器的硬件来实现,因为这样做时可使效率得到提高。
按照本发明的寻址方法其特点在于,设置至少一个微控制器状态比特,借助于至少一个微控制器标准指令,结果可强制写入和/或读出N比特地址字,所述标准指令可取地为LCALL、ACALL或RET指令之类。因此,标准指令集扩展到N比特地址空间。这样,该N比特地址空间不仅可留供附加的专用指令使用,更使完全的指令集能支持扩展。这又能避免可能发生的那类矛盾,例如ECALL指令写入3个字节到堆栈中,而在堆栈内只有16比特地址的假定下,子程序只能以RET指令返回。借助于本发明的装置和方法,可显著减少编译码约5-10%,从而达到速度的提高。进一步的优点在于,可以较容易地优化某些程序,例如ACALL的优化之类,其中,借助于明显较小的ACALL指令,作出了取代LCALL/ECALL指令的尝试。没有“扩展的呼叫/返回模式”,这种优化是无效用的。
在按照本发明的方法中,借助至少一种计算机可读存储媒介,能设置和/或删除至少一个状态比特。由此,可有利地实现增大微控制器的灵活性。
此外,在按照本发明的方法中,由于借助于微控制器的标准指令能够对整个SFR(特殊功能寄存器)进行写入和从中读出,故至少一个状态比特为至少一个SFR的一部分。
最后,在按照本发明的方法中,至少一个状态比特由微控制器的硬件来实现,因为这样做时可使效率得到提高。
进一步,本发明的优选改进中所呈现的其他特性,说明于相关的权利要求中。
参考附图
中所示的实施例例子,将进一步说明本发明。然而,本发明并不局限于该实施例。
唯一附图中示明的是微控制器。
附图示明按照本发明的微控制器10的概略图。在特殊功能寄存器16内提供一个状态比特12,借助于计算机可读的存储媒介14可对它作出设置和删除。通过设定该状态比特12,借助于标准指令LCALL、ACALL和RET,能够对堆栈强制写入或从中读出N比特地址字,本场合下地址长度例如为N=24,结果,能够寻址整个24比特地址空间20。如果不设置状态比特12,则借助标准指令只能寻址16比特地址空间18。依靠本发明的装置和方法,比之先有技术可达到减少微控制器10的存储需求和较高的编译码执行速度。
附图中标号所指内容为10微控制器12状态比特14计算机可读的存储媒介16特殊功能寄存器1816比特地址空间2024比特地址空间N N比特地址字的地址长度。
权利要求
1.一种微控制器,其中,微控制器(10)具有至少一个状态比特(12),借助于该状态比特(12),通过微控制器(10)的至少一个标准指令能强制写入和/或读出N比特地址字,又其中,N比特地址字的地址长度N大于标准指令集的地址长度或微控制器等效的其他指令集的地址长度。
2.权利要求1的微控制器,其特征在于,N比特地址字的地址长度N大于16。
3.权利要求2的微控制器,其特征在于,N比特地址字的地址长度N的数值为20、24或32。
4.如前述权利要求中任一个的微控制器,其特征在于,至少一个标准指令为LCALL、ACALL或RET指令之类。
5.如前述权利要求中任一个的微控制器,其特征在于,借助于至少一种计算机可读的存储媒介(14)能够设置和/或删除至少一个状态比特(12)。
6.如前述权利要求中任一个的微控制器,其特征在于,至少一个状态比特(12)为至少一个特殊功能寄存器(16)的一部分。
7.如前述权利要求中任一个的微控制器,其特征在于,至少一个状态比特(12)由微控制器(10)的硬件来实现。
8.如前述权利要求中任一个的微控制器,其特征为应用智能卡进行设计。
9.一种寻址方法,其特征在于,设置微控制器(10)的至少一个状态比特(12),结果,借助于微控制器(10)的至少一个标准指令能强制写入和/或读出N比特地址字。
10.权利要求9的寻址方法,其特征在于,至少一个标准指令为LCALL、ACALL或RET指令之类。
11.权利要求9和10中任一个的寻址方法,其特征在于,借助于至少一种计算机可读存储媒介(14)来设置和/或删除至少一个状态比特(12)。
12.权利要求9至11中任一个的寻址方法,其特征在于,至少一个状态比特(12)为至少一个特殊功能寄存器(16)的一部分。
13.权利要求9至12中任一个的寻址方法,其特征在于,至少一个状态比特(12)由微控制器(10)的硬件来实现。
全文摘要
提供一种微控制器和寻址方法,其区别特征在于,当寻址N比特地址空间而其N比特地址字的地址长度N大于标准指令集的地址长度或等效的微控制器其他指令集的地址长度时,它比之先前已知的微控制器和寻址方法具有较低的存储需求和较高的执行速度。所提供的微控制器(10)具有至少一个状态比特(12),借助于该状态比特(12),通过微控制器(10)的至少一个标准指令能强制写入和/或读出N比特地址字,又,设置微控制器(10)的至少一个状态比特(12),结果,借助于微控制器(10)的至少一个标准指令能强制写入和/或读出N比特地址字。
文档编号G06F9/355GK1902600SQ200480016972
公开日2007年1月24日 申请日期2004年6月4日 优先权日2003年6月17日
发明者T·克拉梅, M·福塞 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1