[发明专利]在多模处理器中用指令终止位决定指令长度的装置及方法有效
申请号: | 200810003430.3 | 申请日: | 2008-01-11 |
公开(公告)号: | CN101482809A | 公开(公告)日: | 2009-07-15 |
发明(设计)人: | 宋莉安 | 申请(专利权)人: | 凌阳科技股份有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/318;G06F9/32 |
代理公司: | 北京纪凯知识产权代理有限公司 | 代理人: | 戈 泊 |
地址: | 中国台*** | 国省代码: | 中国台湾;71 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理器 中用 指令 终止 决定 长度 装置 方法 | ||
技术领域
本发明涉及处理器的技术领域,更确切地说,涉及一种在多模处理器中用指令终止位决定指令长度的装置及方法。
背景技术
一般多模处理器具有2N位及N位的指令模式,并在此两种模式切换执行,以节省程序代码储存所需的空间。
在已知文献中,美国专利7,149,879号公告案利用同位位来进行上述切换,每条N位字组包含P位的同位位及(N-P)位的指令,当所撷取的2N位字组表示偶同位时,其2N位字组视为2个(N-P)位的指令,反之,当所撷取的2N位字组表示奇同位时,其2N位字组视为单一的2(N-P)位的指令。
美国专利5,758,115号公告案以程序计数器(Program Counter,PC)中的T位以决定该处理器执行于X位或Y位指令模式,并利用分枝(Branch)指令来切换程序计数器中T位的值。美国专利6,209,079号公告案利用特定位辨别所撷取的2N位字组为二个N位指令或一个2N位指令。
然而,先前技术在数据架构确认后,很难再延长数据的长度,并且在存放数据时,需对齐单一宽度以方便辨识,如此将造成长度不同的数据无法交错存放,使数据存放密度难以提升,增加编译器的复杂度,因此程序代码储存空间无法获得最佳化。
针对上述问题,一种解决方法为使用串接位来决定指令长度,其在每条该N位数据设置1位的串接位。当偶数个串接位为1位的二进制1时,代表一条完整指令,由此决定指令长度。例如图1A中,N位数据110的串接位111为1位的二进制0,代表零个(零为偶数)串接位为1位的二进制1,代表N位数据110为一条完整指令。图1B中,N位数据120的串接位121为1位的二进制1,代表奇数个串接位为1位的二进制1,故N位数据120不是一条完整指令。图1C中,N位数据130的串接位131为1位的二进制1,代表奇数个串接位为1位的二进制1,故N位数据130非为一条完整指令,由于下一个N位数据140的串接位141为1位的二进制1,故N位数据130、140有偶数个串接位为1位的二进制1时,代表N位数据130、140为一条完整指令。图1D中,N位数据150的串接位151为1位的二进制1,代表奇数个串接位为1位的二进制1,故N位数据150不是一条完整指令,由于下一个N位数据160的串接位161为1位的二进制0,故N位数据150、160没有偶数个串接位为1位的二进制1时,代表N位数据150、160不是一条完整指令,由于下一个N位数据170的串接位171为1位的二进制1,故N位数据150、160、170有偶数个串接位为1位的二进制1时,代表N位数据150、160、170为一条完整指令。由此提升数据存放密度,并可将原先固定长度的数据相互串接,形成不同长度的指令或数据。
然而,上述方法在处理器以非连续的方式执行时,例如跳跃式指令,则无法在固定范围内有效判断跳跃目标N位数据是否为一条完整指令的起始。图2为现有程序代码存放于内存中的配置图,其中该内存的宽度为N位。如图2所示,当一个跳跃指令跳跃至L1处,由于该处N位数据的串接位为1位的二进制0,无法判定该N位数据为一条完整指令,或是一个3N位指令的中间N位(如图1D中的N位数据160),此时需由整个指令区段的起头处开始计算串接位为1位的二进制1的个数,方能判定。故现有多模处理器中决定指令长度的装置及方法仍有诸多缺失而有予以改进的必要。
发明内容
本发明的目的在于提供一种以指令终止位决定指令长度的装置及方法,以在多模指令的处理器中决定指令长度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于凌阳科技股份有限公司,未经凌阳科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810003430.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:USB多通道传输方法、系统及主机
- 下一篇:电子装置及其操作方法