利用同位检查以进行指令模式切换的处理器及方法技术

技术编号:2869194 阅读:230 留言:0更新日期:2012-04-11 18:40
一种利用同位检查进行指分模式切换的处理器及方法,其可执行于N比特及2N比特模式,每一N比特字组包含P个同位比特及(N-P)比特的指令码,其中,每一N比特模式指令的同位比特是将其N比特字组设定为第一同位状态,每一2N比特模式指令的每一N比特字组的同位比特是将其N比特字组设定为第二同位状态,该处理器包含一指令输入装置、一指令撷取装置及一执行模式切换逻辑,该指令输入装置包含一宽度为2N比特的存储空间以供储存复数个代表指令的2N比特字组,该指令撷取装置用以撷取该指令码输入装置的一2N比特字组,以及该执行模式切换逻辑用以判断撷取的2N比特字组为二个(N-P)比特的指令或一个2(N-P)比特的指令。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术是关于处理器的
,尤指一种在电脑装置中。
技术介绍
一般处理器具有一32比特/16比特的指令模式,并在此两种模式切换执行,以节省程序码储存所需的空间,于美国第USP 5,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比特指令无法夹杂储存在同一区块的问题,美国第USP 6,209,079B1号专利案公告中,是以指令码中的最高比特(Most Significant 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比特指令的后半部份并非一可执行的指令,会产生不可预期的错误,因此跳跃地址需限制在字组边界(word boundary)或32比特边界(32-bit boundary),对于分枝一链结(branch-and-link)及跳跃一链结(jump-and-link)指令的返回地址(return address)亦需限制在字组边界(word boundary)或32比特边界(32-bit boundary),此种限制会增加使用上的不方便性,同时,使用上述技术的处理器在执行分枝或跳跃指令时并无任何容错的设计,亦即当该处理器因硬体或外界干扰而产生错误的跳跃地址时,该处理器即会无法处理而使整个系统停滞(halt),因此,现有32比特/16比特的指令模式变换方法的设计仍有诸多缺失而有予以改进的必要。专利技术人爰因于此,本于积极专利技术的精神,亟思一种可以解决上述问题的“一种”,几经研究实验终至完成此项专利技术。
技术实现思路
本专利技术的目的是在提供一种,以避免现有技术因需将跳跃地址限制在字组边界或32比特边界所引起的复杂问题,同时,提高程序码密度及增加系统的稳定度而达到容错的目的。依据本专利技术的一特色,是提出一种以同比特检查进行指令模式切换的处理器,其可分别于N比特及2N比特模式执行N比特及2N比特模式指令,该N比特模式指令由一个N比特字组所组成,该2N比特模式指令由两个N比特字组所组成,每一N比特字组包含P个同位比特及(N-p)比特的指令码,P为大于或等于1的整数,其中,每一N比特模式指令的同位比特是将其N比特字组设定为第一同位状态,每一2N比特模式指令的每一N比特字组的同位比特是将其N比特字组设定为第二同位状态,该处理器包含一指令输入装置、一指令撷取装置及一执行模式切换逻辑,该指令输入装置包含一宽度为2N比特的存储空间以供储存复数个代表指令的2N比特字组,该指令撷取装置用以撷取该指令码输入装置的一2N比特字组,以及该执行模式切换逻辑用以判断撷取的2N比特字组为二个(N-P)比特的指令或一个2(N-P)比特的指令,以切换处理器执行于N比特或2N比特模式,其中,当撷取的2N比特字组为偶同位时,如所包含的两个N比特字组均为第一同位状态,判定该2N比特字组为二个(N-P)比特的指令,如所包含的两个N比特字组均为第二同位状态,判定该2N比特字组为一个2(N-P)比特的指令。依据本专利技术的另一特色,是提出一种于处理器中以同比特检查进行指令模式切换的方法,该处理器可执行于N比特及2N比特模式,该处理器包含一指令输入装置,其提供N比特模式指令及2N比特模式指令,该N比特模式指令由一个N比特字组所组成,该2N比特模式指令由两个N比特字组所组成,每一N比特字组包含P个同位比特及(N-P)比特的指令码,P为大于或等于1的整数,其中,每一N比特模式指令的同位比特是将其N比特字组设定为第一同位状态,每一2N比特模式指令的每一N比特字组的同位比特是将其N比特字组设定为第二同位状态,该方法包括(A)撷取一代表指令的2N比特字组;(B)当撷取的2N比特字组为特定同位状态时,如其所包含的两个N比特字组均为第一同位状态,判定该2N比特字组为二个(N-P)比特的指令,而切换处理器执行于N比特模式;以及(C)当撷取的2N比特字组为特定同位状态时,如所包含的两个N比特字组均为第二同位状态,判定该2N比特字组为一个2(N-P)比特的指令,而切换处理器执行于2N比特模式。由于本专利技术设计新颖,能提供产业上利用,且确有增进功效,故依法申请专利技术专利。附图说明为进一步说明本专利技术的
技术实现思路
,以下结合实施例及附图详细说明如下,其中图1是现有指令模式切换的示意图。图2是另一现有指令模式切换的示意图。图3是本专利技术的一种利用同位检查以进行指令模式切换的处理器的架构图。图4是本专利技术的程序组译时同位比特产生的示意图。图5是本专利技术的程序执行时同位比特检查的示意图。图6是本专利技术的同位比特检查表。图7是一程序在存储器位置中的排列方式及六种不同跳跃地址状态的示意图。图8是本专利技术的程序组译时另一同位检查比特产生的示意图。图9是本专利技术的另一同位比特检查表。图10是本专利技术的再一同位比特检查表。具体实施例方式本专利技术的利用同比特检查进行指令模式切换的处理器及方法是可分别于N比特及2N比特模式执行N比特及2N比特模式指令,该N比特模式指令由一个N比特字组所组成,该2N比特模式指令由两个N比特字组所组成,每一N比特字组包含P个同位比特及(N-P)比特的指令码,P为大于或等于1的整数,于本实施例中,N值较佳为16,P值较佳为1,但其仅为说明时的方便,并未为限制本专利技术的使用范围及权力。图3显示本专利技术的利用同位检查以进行指令模式切换的处理器的系统架构,其包含一指令输入装置310、一指令撷取装置320及一执行模式切换逻辑330,该指令输入装置310包含一宽度为2N=32比特的存储空间以供储存复数个代表指令的32比特字组,该指令撷取装置320用以撷取该指令码输入装置310的一32本文档来自技高网
...

【技术保护点】
一种以同比特检查进行指令模式切换的处理器,其可分别于N比特及2N比特模式执行N比特及2N比特模式指令,该N比特模式指令由一个N比特字组所组成,该2N比特模式指令由两个N比特字组所组成,每一N比特字组包含P个同位比特及(N-P)比特的指令码,P为大于或等于1的整数,其中,每一N比特模式指令的同位比特是将其N比特字组设定为第一同位状态,每一2N比特模式指令的每一N比特字组的同位比特是将其N比特字组设定为第二同位状态,其特征在于,该处理器包含:一指令输入装置,其包含一宽度为2N比特的存储空间以供储存复数个代表指令的2N比特字组;一指令撷取装置,用以撷取该指令码输入装置的一2N比特字组;以及一执行模式切换逻辑,用以判断撷取的2N比特字组为二个(N-P)比特的指令或一个2(N-P)比特的指令,以切换处理器执行于N比特或2N比特模式;其中,当撷取的2N比特字组为偶同位时,如所包含的两个N比特字组均为第一同位状态,判定该2N比特字组为二个(N-P)比特的指令,如所包含的两个N比特字组均为第二同位状态,判定该2N比特字组为一个2(N-P)比特的指令。

【技术特征摘要】

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

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

1