一种执行不同长度指令集的处理器及方法技术

技术编号:2866566 阅读:165 留言:0更新日期:2012-04-11 18:40
一种执行不同长度指令集的处理器及其方法,不同长度指令集包括一N比特指令集及一2N比特指令集,2N比特指令集包含一2N至N指令集切换指令,N比特指令集包含一N至2N指令集切换指令,当撷取到2N至N指令集切换指令时,切换处理器的指令解码装置及指令执行装置执行于N比特模式,而当撷取到N至2N指令集切换指令时,切换处理器执行于2N比特模式,其中于N比特模式,指令解码装置对指令撷取装置所撷取的2N比特字组进行两个N比特指令解码,指令执行装置执行解码后的N比特指令,于2N比特模式,指令解码装置对指令撷取装置所撷取的2N比特字组进行一个2N比特指令解码,指令执行装置执行该解码后的2N比特指令。(*该技术在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比特指令无法夹杂存放在同一区块,因此程序码储存空间无法获得最佳化,同时,此种切换方法并非只需一个分枝(Branch)指令即可完成,而是需要4-8个指令方可完成,如图2所示,其是由一ARM模式(32-bit模式)切换到Thumb模式(16-bit模式)再切换到ARM模式(32-bit模式)的组合语言程序码,最少需要二个32-bit指令及二个16-bit指令,亦即最少需要2*32+2*16=96bit储存空间,这些多出的指令是用来撷取目标地址到所指定的暂存器中,故此种切换方法不仅程序码储存空间无法获得最佳化,同时再进行切换时,亦增加所需的储存空间。针对32比特指令及16比特指令无法夹杂储存在同一区块的问题,美国第USP6,209,079B1号专利案公告中,是以指令码中的最高比特(Most Significant Bit,MSB)比特以决定该处理器具位于32比特或16比特指令模式而解决32比特指令及16比特指令无法夹杂储存在同一区块的问题,如图3所示,若于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)指令的返回地址(returnaddress)亦需限制在字组边界(word boundary)或32比特边界(32-bit boundary),此种限制会增加使用上的不方便性,同时,此种切换方法需在处理器指令中利用1-bit来区分32比特指令及16比特指令,而无法支援16比特指令的立即值定址模式,因此,现有32比特/16比特的指令模式变换方法的设计仍有诸多缺点而有予以改进的必要。专利技术人爰因于此,本于积极专利技术的精神,亟思一种可以解决上述问题的“执行不同长度指令集的处理器及其方法”,几经研究实验终至完成此项专利技术。
技术实现思路
本专利技术的目的是在提供一种执行不同长度指令集的的处理器及其方法,以避免现有技术因需将跳跃地址限制在字组边界或32比特边界所引起的复杂问题,同时,提高程序码密度。依据本专利技术的一特色,是提出一种执行不同长度指令集的处理器,该等不同长度指令集至少包括一N比特指令集及一2N比特指令集(N为正整数),该N比特指令集的指令由一个N比特字组所组成,该2N比特指令集的指令由一个2N比特字组所组成,该2N比特指令集包含一2N至N指令集切换指令,该N比特指令集包含一N至2N指令集切换指令,该处理器包含一指令输入装置、一指令撷取装置、一指令解码装置、一指令执行装置及一指令集切换控制器,该指令输入装置包含一宽度为2N比特的存储空间以供储存复数个代表指令的2N比特字组,该指令撷取装置用以撷取该指令码输入装置的一2N比特字组,该指令解码装置是用以对该指令撷取装置所撷取的2N比特字组进行解码,该指令执行装置执行该解码后的N比特指令或2N比特指令,该指令集切换控制器是耦合至该指令撷取装置,以当撷取到2N至N指令集切换指令时,切换该指令解码装置及该指令执行装置执行于N比特模式,而当撷取到N至2N指令集切换指令时,切换该指令解码装置及该指令执行装置执行于2N比特模式,其中,于该N比特模式,该指令解码装置对该指令撷取装置所撷取的2N比特字组进行两个N比特指令解码,该指令执行装置执行该解码后的N比特指令,于该2N比特模式,该指令解码装置对该指令撷取装置所撷取的2N比特字组进行一个2N比特指令解码,该指令执行装置执行该解码后的2N比特指令。依据本专利技术的另一特色,是提出一种于处理器中执行不同长度指令集的方法,该等不同长度指令集包括一N比特指令集及一2N比特指令集(N为正整数),该N比特指令集的指令由一个N比特字组所组成,该2N比特指令集的指令由一个2N比特字组所组成,该2N比特指令集包含一2N至N指令集切换指令,该N比特指令集包含一N至2N指令集切换指令,该方法包括(A)提供复数个代表指令的2N比特字组;(B)撷取该复数个2N比特字组中的一2N比特字组,以由一指令解码装置进行解码,并以一指令执行装置执行之;(C)当撷取到2N至N指令集切换指令时,切换该指令解码装置及该指令执行装置执行于N比特模式,以使该指令解码装置对所撷取的2N比特字组进行两个N比特指令解码,该指令执行装置执行该,解码后的N比特指令;以及(D)当撷取到N至2N指令集切换指令时,切换该指令解码装置及该指令执行装置执行。于2N比特模式,以使该指令解码装置对所撷取的2N比特字组进行一个2N比特指令解码,该指令执行装置执行该解码后的2N比特指令。依据本专利技术的又一特色,是提出一种执行不同长度指令集的处理器,该等不同长度指令集是表示为2i*N比特指令集(0≤i≤M,N、M为正整数),该2i*N比特指令集的指令由一个2i*N比特字组所组成,该2i*N比特指令集包含至少一2i*N至2k*N指令集切换指令(0≤k≤M,k≠I),该处理器包含一指令输入装置、一指令撷取装置、一指令解码装置、一指令执行装置及一指令集切换控制器,该指令输入装置包含一宽度为2M*N比特的存储空间以供储存复数个代表指令的2M*N比特字组,该指令撷取装置用以撷取该指令码输入装置的一2M*N比特字组,该指令解码装置是用以对该指令撷取装置所撷取的2M*N比特字组进行解码,该指令执行装置是执行本文档来自技高网
...

【技术保护点】
一种执行不同长度指令集的处理器,该等不同长度指令集至少包括一N比特指令集及一2N比特指令集,N为正整数,该N比特指令集的指令由一个N比特字组所组成,该2N比特指令集的指令由一个2N比特字组所组成,该2N比特指令集包含一2N至N指令集切换指令,该N比特指令集包含一N至2N指令集切换指令,其特征在于,该处理器包含:    一指令输入装置,其包含一宽度为2N比特的存储空间以供储存复数个代表指令的2N比特字组;    一指令撷取装置,用以撷取该指令码输入装置的一2N比特字组;    一指令解码装置,是用以对该指令撷取装置所撷取的2N比特字组进行解码;    一指令执行装置,其执行该解码后的N比特指令或2N比特指令;以及    一指令集切换控制器,是耦合至该指令撷取装置,以当撷取到2N至N指令集切换指令时,切换该指令解码装置及该指令执行装置执行于N比特模式,而当撷取到N至2N指令集切换指令时,切换该指令解码装置及该指令执行装置执行于2N比特模式,其中,于该N比特模式,该指令解码装置对该指令撷取装置所撷取的2N比特字组进行两个N比特指令解码,该指令执行装置执行该解码后的N比特指令,于该2N比特模式,该指令解码装置对该指令撷取装置所撷取的2N比特字组进行一个2N比特指令解码,该指令执行装置执行该解码后的2N比特指令。...

【技术特征摘要】

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

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

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