指令压缩方法及装置制造方法及图纸

技术编号:24330661 阅读:32 留言:0更新日期:2020-05-29 19:29
本发明专利技术提供一种指令压缩方法及装置。所述方法包括:在预译码阶段检测可以指令压缩的指示信号,并将该指示信号和指令同时写入指令缓冲;在指令缓冲中读指令的时候检查两条指令之间是否可以压缩;如果两条指令之间可以压缩,则对两条指令进行压缩;对压缩后的指令进行译码操作。本发明专利技术能够在不增加额外的硬件资源条件下,根据不同指令有效域和指令类型进行压缩。

Instruction compression method and device

【技术实现步骤摘要】
指令压缩方法及装置
本专利技术涉及计算机架构
,尤其涉及一种指令压缩方法及装置。
技术介绍
随着终端设备、桌面办公及服务器的迅速发展,对处理器的性能与功耗要求变得越来越高;芯片实现的工艺制程越来越小;Moore定律也逼近于极限;处理器的指令级并行、线程级并行及多核技术实现提升性能的幅度也趋于平缓。处理器的指令集并行度越高,实现的复杂度也就越高,时序难以收敛。多线程技术大大提高了处理器内部的资源利用率,目前也不能实现太大的IPC(InstructionsPerClock,每时钟周期执行的指令数目)提升。多核技术带来了功耗和面积过快的增长。处理器的性能、面积及功耗之间的关系决定了架构的发展。因此,对能够提升处理器的IPC,并且对面积和功耗影响较小的方法有迫切的需求。ARM指令集的指令长度是16bit或者32bit,但是每条指令的有效源操作数和目的操作数数目不固定。例如有些指令存在3个源操作数,有些指令不存在源操作数。ARM的指令在翻译为UOP(微指令)的过程中,有些指令对应的UOP的域是无效的,导致这些指令的一些域没有得到充分利用,白白被浪费。另外,每条指令的UOP都被单独分配了重命名、保留站、执行单元和重排序队列资源。现有技术利用额外增加一个buffer存储CISC指令需要单独的一个buffer存储一条CISC指令,消耗额外的硬件资源。
技术实现思路
本专利技术提供的指令压缩方法及装置,能够在不增加额外的硬件资源条件下,根据不同指令有效域和指令类型进行压缩。r>第一方面,本专利技术提供一种指令压缩方法,包括:在预译码阶段检测可以指令压缩的指示信号,并将该指示信号和指令同时写入指令缓冲;在指令缓冲中读指令的时候检查两条指令之间是否可以压缩;如果两条指令之间可以压缩,则对两条指令进行压缩;对压缩后的指令进行译码操作。可选地,在所述在预译码阶段检测可以指令压缩的指示信号之前,所述方法还包括:在取指阶段根据取指令地址从指令缓存中取出指令;在取指阶段和分支指令预测阶段进行信息汇集及处理。可选地,所述对两条指令进行压缩包括:将跳转指令填充到另外一条指令的空闲域中,然后为压缩的指令分配一个新的指令操作码。可选地,所述指示信号包括会影响N、C、Z、V位的指令以及条件跳转指令的指示。可选地,所述对两条指令进行压缩包括:将一条影响N、C、Z、V位的指令与一条相邻条件跳转指令压缩成一条指令。第二方面,本专利技术提供一种指令压缩装置,包括:预译码单元,用于在预译码阶段检测可以指令压缩的指示信号,并将该指示信号和指令同时写入指令缓冲;检查单元,用于在指令缓冲中读指令的时候检查两条指令之间是否可以压缩;指令压缩单元,用于当两条指令之间可以压缩时,对两条指令进行压缩;译码单元,用于对压缩后的指令进行译码操作。可选地,所述装置还包括:取指单元,用于在所述预译码单元在预译码阶段检测可以指令压缩的指示信号之前,在取指阶段根据取指令地址从指令缓存中取出指令,并进行信息汇集及处理;分支指令预测单元,用于在分支指令预测阶段进行信息汇集及处理。可选地,所述指令压缩单元,用于将跳转指令填充到另外一条指令的空闲域中,然后为压缩的指令分配一个新的指令操作码。可选地,所述指示信号包括会影响N、C、Z、V位的指令以及条件跳转指令的指示。可选地,所述指令压缩单元,用于将一条影响N、C、Z、V位的指令与一条相邻条件跳转指令压缩成一条指令。本专利技术实施例提供的指令压缩方法及装置,在预译码阶段检测可以指令压缩的指示信号,并将该指示信号和指令同时写入指令缓冲,在指令缓冲中读指令的时候检查两条指令之间是否可以压缩,如果两条指令之间可以压缩,则对两条指令进行压缩,并对压缩后的指令进行译码操作,从而能够在不增加额外的硬件资源条件下,根据不同指令有效域和指令类型进行压缩。由于多条指令可以压缩成1条指令,那么微指令的空闲域可以得到利用,同时多条指令压缩后共享一份重命名、保留站、执行单元和重排序队列资源,从而提高了重命名、保留站、执行单元和重排序队列资源的使用率,特别是针对那些存在依赖关系的指令。附图说明图1为本专利技术一实施例指令压缩方法的流程图;图2为本专利技术另一实施例指令压缩方法的流程图;图3为本专利技术实施例提供的指令格式及压缩示意图;图4为本专利技术实施例提供的B与CMP(register)指令压缩示意图;图5为本专利技术实施例提供的B与CMP(register-shiftedregister)指令压缩示意图;图6为本专利技术实施例提供的B与CMP(immediate)指令压缩示意图;图7为本专利技术实施例提供的BLX(register)与CMP(register)指令压缩示意图;图8为本专利技术实施例提供的BLX(register)与CMP(immediate)指令压缩示意图;图9为本专利技术实施例提供的B与ADCS(register)指令压缩示意图;图10为本专利技术实施例提供的B与ADCS(register-shiftedregister)指令压缩示意图;图11为本专利技术实施例提供的B与ADCS(immediate)指令压缩示意图;图12为本专利技术实施例提供的BLX(register)与ADCS(register)指令压缩示意图;图13为本专利技术实施例提供的BLX(register)与ADCS(immediate)指令压缩示意图;图14为本专利技术实施例提供T32条件跳转指令格式示意图;图15为本专利技术实施例提供的B-T1与CMP(register)-T1指令压缩示意图;图16为本专利技术实施例提供的B-T1与CMP(register)-T2指令压缩示意图;图17为本专利技术实施例提供的B-T1与CMP(immediate)指令压缩示意图;图18为本专利技术实施例提供的B-T1与ADCS(register)-T1指令压缩示意图;图19为本专利技术实施例提供的B-T1与ADDS(register)-T1指令压缩示意图;图20为本专利技术实施例提供的B-T1与ADDS(immediate)-T1指令压缩示意图;图21为本专利技术实施例提供的B-T1与ADDS(immediate)-T2指令压缩示意图;图22为本专利技术实施例提供的B-T1与CMP(register)指令压缩示意图;图23为本专利技术实施例提供的B-T1与CMP(immediate)指令压缩示意图;图24为本专利技术实施例提供的B-T3与CMP(register)指令压缩示意图;图25为本专利技术实施例提供的B-T3与CMP(immediate)指令压缩示意图;图26为本专利技术实施例提供的B-T1与ADCS(register)-T2指令压缩示意图;图27为本专利技术实施例提供的B-T1与ADCS(i本文档来自技高网...

【技术保护点】
1.一种指令压缩方法,其特征在于,包括:/n在预译码阶段检测可以指令压缩的指示信号,并将该指示信号和指令同时写入指令缓冲;/n在指令缓冲中读指令的时候检查两条指令之间是否可以压缩;/n如果两条指令之间可以压缩,则对两条指令进行压缩;/n对压缩后的指令进行译码操作。/n

【技术特征摘要】
1.一种指令压缩方法,其特征在于,包括:
在预译码阶段检测可以指令压缩的指示信号,并将该指示信号和指令同时写入指令缓冲;
在指令缓冲中读指令的时候检查两条指令之间是否可以压缩;
如果两条指令之间可以压缩,则对两条指令进行压缩;
对压缩后的指令进行译码操作。


2.根据权利要求1所述的方法,其特征在于,在所述在预译码阶段检测可以指令压缩的指示信号之前,所述方法还包括:
在取指阶段根据取指令地址从指令缓存中取出指令;
在取指阶段和分支指令预测阶段进行信息汇集及处理。


3.根据权利要求1或2所述的方法,其特征在于,所述对两条指令进行压缩包括:将跳转指令填充到另外一条指令的空闲域中,然后为压缩的指令分配一个新的指令操作码。


4.根据权利要求1或2所述的方法,其特征在于,所述指示信号包括会影响N、C、Z、V位的指令以及条件跳转指令的指示。


5.根据权利要求4所述的方法,其特征在于,所述对两条指令进行压缩包括:将一条影响N、C、Z、V位的指令与一条相邻条件跳转指令压缩成一条指令。


6.一种指令压缩装置,其特征在于,包括:<...

【专利技术属性】
技术研发人员:刘权胜孙浩余红斌
申请(专利权)人:展讯通信上海有限公司
类型:发明
国别省市:上海;31

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

1