以自动指令模式转换来对齐字组的处理器及方法技术

技术编号:2866565 阅读:181 留言:0更新日期:2012-04-11 18:40
一种以自动指令模式转换来对齐字组的处理器及方法,该处理器所执行的指令来自L位元长度的指令边界,此L位元指令边界中可容纳一个M位元指令或复数个N位元指令,当所撷取的L位元字组为一M位元指令且前一个L位元字组为一N位元指令时,若该N位元指令有相对应的M位元指令,则将该N位元指令转换为相对应的M位元指令,若该N位元指令没有相对应的M位元指令,则插入至少一N位元的NOP指令于该N位元指令之后。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术是关于处理器的
,尤指一种在多模指令中。
技术介绍
一般多模指令处理器具有32位元及16位元的指令模式,并可在此两种模式切换执行,以节省程序码储存所需的空间,于美国第USP5,758,115号专利公告中,是以程序计数器(Program Counter,PC)中的T位元以决定该处理器具位于32位元或16位元指令模式,并利用分枝(Branch)指令来切换程序计数器中T位元的值,其指令模式切换如图1所示,当执行分枝(Branch)指令220时,分枝至(Branch to)16位元指令储存的起始位址Badd(1)并执行16位元指令,该+1是用以切换该T位元以指示该处理器位于16位元指令模式,当执行分枝(Branch)指令240时,分枝至(Branch to)32位元指令储存的位址Badd(2)并执行32位元指令,该+0系用以将该T位元改变为′0′,以指示该处理器位于32位元指令模式,采取此种切换方法有ARM及MIPS系列的处理器,然而采取此种切换方法的32位元指令及16位元指令需分别储存在不同的区块,32位元指令及16位元指令无法夹杂存放在同一区块,因此程序码储存空间无法获得最佳化,故此种切换方法不仅程序码储存空间无法获得最佳化,同时再进行切换时,亦增加所需的储存空间。针对32位元指令及16位元指令无法夹杂储存在同一区块的问题,于美国第USP6,209,079B1号专利公告中,是以指令码中的最高位元(MostSignificant Bit,MSB)来决定该处理器具位于32位元或16位元指令模式,以解决32位元指令及16位元指令无法夹杂储存在同一区块的问题,如图2所示,若于32位元边界的MSB若为‘1’,则该32位元代表一32位元指令,若于32位元边界的MSB若为‘0’,则该32位元代表两个16位元指令,若16位元指令B的MSB若为‘0’,则表示为两个循序执行的16位元指令,若16位元指令B的MSB若为‘1’,则表示为两个平行执行的16位元指今,采取此种切换方法有M32R系列的处理器,采取此种切换方法的32位元指令及16位元指令无需分别储存在不同的区块,可达到提高程序码密度(Code Density)的目的,然而采取此种切换方法时,执行分枝(branch)或跳跃(jump)指令时需小心处理,以免跳跃至一32位元指令的后半部份,由于该32位元指令的后半部份并非一可执行的指令,会产生不可预期的错误,因此跳跃位址需限制在字组边界(wordboundary)或32位元边界(32-bit boundary),对于分枝-链结(branch-and-link)及跳跃-链结(jump-and-link)指令的返回位址(return address)亦需限制在字组边界(word boundary)或32位元边界(32-bit boundary),此种限制会增加使用上的不方便性,因此,公知多模指令处理器的设计仍有诸多缺失而有予以改进的必要。
技术实现思路
本专利技术的目的在于提供一种,以避免公知技术因需将跳跃位址限制在字组边界或32位无边界所引起的复杂问题,同时,提高处理器的执行速度。依据本专利技术的一特色,提出一种以自动指令模式转换来对齐字组的处理器,其所执行的指令来自L位元长度的指令边界,此L位元指令边界中可容纳一个M位元指令或复数个N位元指令,其中L、M、N为正整数,L≥M>N,至少一N位元指令对应有一M位元指令,该处理器包含一指令输入装置,其包含一宽度为L位元的储存空间以供储存复数个代表指令的L位元字组;一指令撷取装置,用以撷取该指令码输入装置的一L位元字组;以及一指令模式转换装置,当该指令撷取装置所撷取的L位元字组为一M位元指令、且前一L位元字组仅为一N位元指令时,若该N位元指令有相对应的M位元指令,则将该N位元指令转换为相对应的M位元指令,若该N位元指令没有相对应的M位元指令,则插入至少一N位元的NOP指令于该N位元指令之后。所述的处理器,其中还包含一指令解码装置,用以对该指令模式转换装置所输出的指令进行解码;以及一指令执行装置,用以执行该指令解码装置所输出的解码后指令。所述的处理器,其中,L为32,M为32,N为16。依据本专利技术的另一特色,提出一种以自动指令模式转换来对齐字组的方法,该处理器所执行的指令来自具有L位元长度的指令边界,此L位元指令边界中可容纳一个M位元指令或复数个N位元指令,其中L、M、N为正整数,L≥M>N,至少一N位元指令对应有一M位元指令,该方法包括步骤(A)提供复数个代表指令的L位元字组;(B)撷取一L位元字组,其中,当所撷取的L位元字组为一M位元指令、且前一L位元字组仅为一N位元指令时,若该N位元指令有相对应的M位元指令,则将该N位元指令转换为相对应的M位元指令,若该N位元指令没有相对应的M位元指令,则插入至少一N位元的NOP指令于该N位元指令之后;(C)对所撷取的L位元字组进行解码;以及(D)执行该解码后的N位元指令或M位元指令。所述的方法,其特征在于,其中,L为32,M为32,N为16。本专利技术转换程序指令来对齐字组的方法,该程序的指令具有L位元长度的指令边界,此L位元指令边界中可容纳一个M位元指令或复数个N位元指令,其中L、M、N为正整数,L≥M>N,至少一N位元指令对应有一M位元指令,该方法是撷取一L位元字组,其中,当所撷取的L位元字组为一M位元指令、且前一L位元字组仅为一N位元指令时,若该N位元指令有相对应的M位元指令,则将该N位元指令转换为相对应的M位元指令,若该N位元指令没有相对应的M位元指令,则插入至少一N位元的NOP指令于该N位元指令之后。附图说明图1为公知指令模式切换的示意图。图2为另一公知指令模式切换的指令结构示意图。图3为本专利技术的以自动指令模式转换来对齐字组的处理器的架构图。图4为本专利技术的以自动指令模式转换来对齐字组的方法的流程图。图5为依据本专利技术以自动指令模式转换来对齐字组的一实例。图6为依据本专利技术的一应用范例。具体实施例方式为能进一步了解本专利技术的结构、特征及其目的,以较佳具体实施例并结合附图作详细说明。有关本专利技术的于多模指令中,请先参照图3所示的处理器架构图,其包括有一指令输入装置310、一指令撷取装置320、一指令模式转换装置330、一指令解码装置340及一指令执行装置350。前述多模指令处理器具有M位元指令集及N位元指令集(M、N为正整数,M>N),其中,于N位元指令集中,至少有一N位元指令在M位元指令集中具有一相对应的M位元指令,而前述指令输入装置310是提供一具有L位元长度的指令边界的储存空间(L为正整数,L≥M),以供储存所要执行的指令,该L位元指令边界中的字组(Word)可为一个M位元指令或复数个N位元指令,于本实施例中,L值为32,M值为32,N值为16。前述指令撷取装置320用以撷取该指令输入装置的一L位元字组,该指令模式转换装置330用以根据该指令撷取装置所撷取的L位元字组的内容,来判断定否将所包含的指令的模式予以转换。该指令解码装置340用以对该指令模式转换装置330所输出的指令进行解码,该指令执行装置350用以执行该指令解码装置340所输出的解码后指令。图4进一步显示本专利技术的以自动指令模式转换来对齐字组的处理器的控制流程,首先,本文档来自技高网
...

【技术保护点】
一种以自动指令模式转换来对齐字组的处理器,其所执行的指令来自L位元长度的指令边界,此L位元指令边界中可容纳一个M位元指令或复数个N位元指令,其中L、M、N为正整数,L≥M>N,至少一N位元指令对应有一M位元指令,该处理器包含:    一指令输入装置,其包含一宽度为L位元的储存空间以供储存复数个代表指令的L位元字组;    一指令撷取装置,用以撷取该指令码输入装置的一L位元字组;以及    一指令模式转换装置,当该指令撷取装置所撷取的L位元字组为一M位元指令、且前一L位元字组仅为一N位元指令时,若该N位元指令有相对应的M位元指令,则将该N位元指令转换为相对应的M位元指令,若该N位元指令没有相对应的M位元指令,则插入至少一N位元的NOP指令于该N位元指令之后。

【技术特征摘要】

【专利技术属性】
技术研发人员:吴政谕
申请(专利权)人:凌阳科技股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利