可跨边界对齐复数暂存器资料的处理器及其方法技术

技术编号:2862995 阅读:246 留言:0更新日期:2012-04-11 18:40
一种可跨边界对齐复数暂存器资料的处理器装置,主要包含:    一解码装置,以对一多重移位指令进行解码;    一暂存器档案,具有复数个暂存器,每一暂存器均为N位元,该暂存器档案可依据一第一位址及一第二位址分别读取暂存器,并由一第一输出端及一第二输出端输出,及可依据一第三位址经由一输入端写入该复数暂存器其中之一(N为正整数);    一移位器,耦合至该暂存器档案的第一输出端及第二输出端,并将该第一输出端及第二输出端的输出内容串接成一2N位元字组,再依据一移位值w将该2N位元字组移位w位元(w为正整数),并输出该2N位元字组中的前N个位元;以及    一控制装置,耦合至该解码装置及暂存器档案,依据该解码后的多重移位指令,以设定该第一位址、第二位址、第三位址及移位值w,读出对应暂存器的内容,以由该移位器将所读出暂存器的内容移位w位元,并依据该第三位址将该移位器的输出写入该暂存器档案。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术是关于资料处理的
;尤指一种利用。
技术介绍
在处理器进行资料处理时,资料的对齐与否关系到许多关键运算的效能,例如字串、阵列等运算的效能。如图1所示,一笔需处理的资料(ABCDEFGHIJKL)往往跨越资料储存边界,当一处理器对该笔资料进行字串或阵列运算时,需先执行许多额外的运算,以便能将该笔资料还原成对齐的格式后,该处理器才能对笔资料进行相关运用。针对处理资料未对齐的问题,一种公知方法是将资料载入处理器后,再利用各种处理器指令操作来得到所需要的资料。如图2所示,先将位于100h处的资料(ZABC)载入暂存器R16中,将暂存器R16左移8位元以将不需要的资料(Z)移除,再将位于104h处的资料(DEFG)载入暂存器R17中,并将暂存器R17右移24位元以将不需要的资料(EFG)移除,最后将暂存器R16及暂存器R17进行或(OR)运算并将其结果存至暂存器R16中,此时暂存器R16中的内容即为所需处理的资料(ABCD)。依上述相同步骤,将资料EFGH及IJKL依序载入暂存器R17及暂存器R18中。由上述说明可知若所需载入的未对齐资料长度为n个字组(一个字组为32位元),公知方法则需5n个指令才能描述读取动作,同时至少需5n个指令周期才能完成读取动作,此使得程序码冗长,占据储存空间,同时也增加处理器的负担使得处理器效率不彰。针对公知方法使用处理器指令处理未对齐资料所引超程序码冗长及效率的问题,于美国第USP4,814,976号专利公告中,是在载入未对齐资料即同时进行对齐的动作,并将跨越边界的一笔资料,分成两次读取。如图3所示,先将位于101h至103h处的资料(ABC)载入暂存器R16的位元组0、1、2中,此时暂存器R16的位元组3中的资料为X(don’t care),再将位于104h处的资料(D)载入R16的位元组3中,此时暂存器R16中的内容即为所需处理的资料(ABCD)。依此相同步骤,依序将资料EFGH及IJKL载入暂存器R17及暂存器R18中。由上述说明可知,若所需载入的未对齐资料长度为n个字组,则需2n个指令才能描述读取动作,同时至少需2n个指令周期才能完成读取动作。而且因为对同一储存器与暂存器位置作重复读写,使处理机管线停止(Pipeline Stall)可能性提高。对同一储存器位置作重复读取,会浪费总线频宽,尤其在有些不具有快取储存器的系统,所造成的延误更是明显。
技术实现思路
本专利技术的目的在于提供一种以,以避免公知技术的程序码冗长、占据储存空间的问题,同时可避免因为对同一储存器作重复读取,浪费总线频宽□□□□依据本专利技术的特色之一,提出一种可跨边界对齐复数暂存器资料的处理器装置,其主要包含一解码装置,以对一多重移位指令进行解码;一暂存器档案,具有复数个暂存器,每一暂存器均为N位元,该暂存器档案可依据一第一位址及一第二位址分别读取暂存器,并由一第一输出端及一第二输出端输出,及可依据一第三位址经由一输入端写入该复数暂存器其中之一(N为正整数);一移位器,耦合至该暂存器档案的第一输出端及第二输出端,并将该第一输出端及第二输出端的输出内容串接成一2N位元字组,再依据一移位值w将该2N位元字组移位w位元(w为正整数),并输出该2N位元字组中的前N个位元;以及一控制装置,耦合至该解码装置及暂存器档案,依据该解码后的多重移位指令,以设定该第一位址、第二位址、第三位址及移位值w,读出对应暂存器的内容,以由该移位器将所读出暂存器的内容移位w位元,并依据该第三位址将该移位器的输出写入该暂存器档案。所述的装置,其中N为32。所述的装置,其中w为8、16、24其中之一。所述的装置,其中该移位器可向左或向右移位w位元。所述的装置,其中该第三位址是设定与该第一位址相同。所述的装置,其中该第二位址是设定为该第一位址的后续位址。依据本专利技术的另一特色,提出一种可跨边界对齐复数个暂存器资料的方法,该复数个暂存器形成一暂存器档案,每一暂存器均为N位元,该暂存器档案可依据一第一位址及一第二位址分别读取暂存器,并由一第一输出端及一第二输出端输出,及可依据一第三位址经由一输入端写入该复数暂存器其中之一(N为正整数),该方法主要包含下列步骤(A)依据一多重移位指令设定该第一位址、该第二位址、该第三位址及一移位值w;(B)依据该第一位址及第二位址读出对应暂存器的内容;以及(C)将步骤(B)所读出暂存器的内容串接成2N位元的字组,再对该2N位元字组进行移位w位元,并将移位后的该2N位元字组中前N个位元,依据该第三位址写入该多个暂存器其中之一。所述的方法,其中步骤(A)至步骤(C)是重覆执行,直到一预定个数的暂存器均已完成移位。所述的方法,其中N为32。所述的方法,其中w为8、16、24其中之一。所述的方法,其中步骤(C)中移位w位元可为向左或向右移位w位元。所述的方法,其中该第三位址是设定与该第一位址相同。所述的方法,其中该第二位址是设定为该第一位址的后续位址。附图说明图1为一组未对齐资料在储存器中排列的示意图。图2为公知技术载入一组未对齐资料的程序码。图3为另一公知技术载入一组未对齐资料的程序码及暂存器的示意图。图4为本专利技术的可跨边界对齐复数暂存器资料的处理器装置的方块图。图5为本专利技术技术控制装置5的详细电路图。图6为本专利技术技术运作示意图。图7为本专利技术技术的一应用范例。具体实施例方式图4显示本专利技术的利用可跨边界对齐复数暂存器资料的处理器的方块图,其包括有一解码装置100、一控制装置200、一暂存器档案300及一移位器400。暂存器档案300具有复数个暂存器3001,每一暂存器3001均为N位元,在本实施例中,N值较佳为32。该暂存器档案300可依据一第一位址301及一第二位址302分别读取暂存器3001,并由一第一输出端310及一第二输出端320输出,及可依据一第三位址303经由一输入端330写入该复数暂存器3001其中之一(N为正整数)。该解码装置100是对一多重移位指令进行解码,该多重移位指令可分为一多重左移指令(Multiple Left Shin Instruction、MLSI)及一多重右移指令(Multiple Right Shift Instruction、MRSI)。其中,多重左移指令格式为MLSI Rx,Ry,w,其代表将x至y范围内的暂存器内容值,整体进行向左移位的动作w位元。而多重右移指令格式为MRSI Rx,Ry,w,其代表将x至y范围内的暂存器内容值,整体进行向右移位的动作w位元。解码装置100是对一多重移位指令进行解码后,会产生x、y,L_R*及w讯号,并输出至该控制装置200,其中,L_R*讯号用以指示向左或向右移动w仅元,当L_R*讯号为1时,表示向左移动w位元,当L_R*讯号为0时,表示向右移动w位元。该移位器400是耦合至该暂存器档案300的第一输出端310及第二输出端320,并将该第一输出端310及第二输出端320的输出内容串接成一64位元宇组,再依据一移位值w及L_R*讯号将该64位元字组向左或向右移位w位元(w为正整数),并输出该移位后64位元字组中的前32个位元。该控制装置200耦合至该解码装置100及暂存器档案300,依据该解码后的x、y,L_R*及w讯号,以设定该暂存本文档来自技高网
...

【技术保护点】

【技术特征摘要】

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

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

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