【技术实现步骤摘要】
一种处理器及其取指方法
[0001]本专利技术涉及处理器领域
。
技术介绍
[0002]处理器能够高效地实现某个特定的指令系统,如
X86、ARM、MIPS
或者
RISCV
等
。
现有的处理器可以高效地执行设计指定的特定指令系统的代码,如果还需要执行其他指令系统的代码,通常采用软件的二进制翻译技术
。
[0003]不同指令系统代码二进制翻译面临的一个最大问题是翻译后的代码膨胀,即翻译后的目标指令代码比源指令代码尺寸大,导致目标指令
PC(TPC)
与源指令
PC(SPC)
不再保持简单的对应关系,无法高效地根据
SPC
直接计算出
TPC
,进而所有的分支转移和跳转指令都需要特殊处理
。
取指过程中,经常要返回二进制翻译程序进行地址转换,计算下一个
TPC
,导致二进制翻译效率低下
。
目前大部分二进制翻译器都采用软件查找进行地址转换,即在内存中维护一个很大的地址转换表,通过软件查找该地址转换表来实现
SPC
到
TPC
的转换
。
软件查找方法频繁进出二进制翻译模块,产生上下文环境切换保存的开销,以及对翻译后的基本块代码踪迹进行衔接的开销
。
为了加快地址转换,有些研究提出了硬件查找的方法,都是设置一个硬件的地址转换表,通过硬件查表指令来实现
SPC
...
【技术保护点】
【技术特征摘要】 【专利技术属性】
1.
一种处理器,其特征在于,包括:一个主机取指部件,用于读取所述处理器指令;一个客户机取指部件,用于读取二进制翻译后的目标指令;以及使能部件,以用于使能所述主机取指部件或者客户机取指部件;其中,所述客户机取指部件包括:一个地址转换表,用于实现源指令
PC
到目标指令
PC
的地址转换;一组基址寄存器,用于保存不同进程的二进制翻译后的目标指令代码缓存的指令行的起始地址;以及一个取指地址寄存器,用于保存当前要访问的目标指令
PC
地址
。2.
根据权利要求1所述的处理器,其特征在于,所述主机取指部件和所述客户机取指部件共享一个一级指令高速缓存或各自有独立的一级指令高速缓存
。3.
根据权利要求2所述的处理器,其特征在于,所述地址转换表至少包括:有效性标识
、
进程标识,源指令
PC
和目标指令
PC。4.
根据权利要求3所述的处理器,其特征在于,所述异构客户机支持用户级二进制翻译的特殊的用户态,或是支持系统级二进制翻译的非根的系统态
。5.
根据权利要求1所述的处理器,其特征在于,所述使能部件分别设置在所述主机取指部件和所述客户机取指部件内,用于产生使能信号,以使能或关闭所述主机取指部件和所述客户机取指部件
。6.
根据权利要求1‑5任一所述的处理器,其特征在于,所述地址转换表的组织方式为直接映射
、
多路组相联
、
全相联或
Hash
表
。7.
根据权利要求1所述的处理器,其特征在于,所述客户机取指部件的一级指令高速缓存行的最后一个字节用来指示指令的有效性
。8.
根据权利要求1所述的处理器,其特征在于,所述客户机取指部件的一级指令高速缓存行的第
28
字节保留为偏移量的扩展字节
技术研发人员:王剑,
申请(专利权)人:中国科学院计算技术研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。