指令处理装置和处理器、指令翻译装置和方法制造方法及图纸

技术编号:7329149 阅读:181 留言:0更新日期:2012-05-10 17:29
一种指令处理装置和处理器、指令翻译装置和方法,所述指令处理装置用于处理目标指令,所述目标指令由二进制码表示,用于求逻辑表达式的运算结果,所述目标指令包括所述逻辑表达式的真值表中逻辑表达式的值和操作数,以及目标操作数,所述逻辑表达式的操作数至少为二个;所述指令处理装置包括:解析单元,用于解析所述目标指令,获取所述真值表中逻辑表达式的值和操作数以及目标操作数;多路选择单元,根据所述真值表中逻辑表达式的值和操作数输出逻辑运算的结果至所述目标操作数。本发明专利技术的指令处理装置和处理器、指令翻译装置和方法,加快了处理器处理逻辑运算的效率,提高了处理器的应用性能,有效的降低了处理器的功耗。

【技术实现步骤摘要】

本专利技术涉及计算机领域,特别涉及。
技术介绍
编译过程是将源代码(通常为高阶语言)翻译为能直接被计算机或虚拟机执行的目标代码(通常为低阶语言或机器语言)的过程。且经过翻译后的目标代码的功能与源代码的功能相同,最后计算机通过处理器执行目标代码来得到源代码所要实现的功能。一般来讲,编译器就是将高级语言翻译成机器语言的程序。其工作流程为源代码(source code)—预处理器(preprocessor)—编译器(compiler)—汇编程序 (assembler)—目标代码(object code)—链接器(Linker)—可执行程序(executables)。 而编译器又包括编译器前端(frontend)、编译器分析(compileranalysis)和编译器后端 (backend)。编译器前端主要负责解析输入的源代码,由语法分析器和语意分析器协同工作。 语法分析器负责把源代码中的“单词”找出来,语意分析器把这些分散的单词按预先定义好的语法组装成有意义的表达式,语句,函数等等。编译器前端同时还负责语义的检查,例如检测参与运算的变量是否是同一类型的,简单的错误处理。编译器分析主要是对由前端生成并传递过来的中间代码进行分析,而编译器后端主要是负责分析,优化中间代码并生成机器代码。随着计算机编程技术的迅猛发展,越来越多的逻辑运算被应用在源程序中。现有技术在对含有逻辑运算的指令进行编译时,往往会将其翻译成多条汇编指令,当逻辑运算比较复杂,涉及的操作数比较多时,如果仍将其翻译成多条汇编指令,计算机的处理器要执行多条汇编指令才能完成多操作数的逻辑运算,因而处理逻辑运算的效率会明显的减低, 同时处理器的功耗也会增加。申请号为200710047697.8的中国专利申请,公开了一种利用中间指令集的二进制翻译方法,其设计了一套中间指令集来作为将一套物理指令翻译成另一套物理指令的中间层,隔开了源机器及目标机器。但对于提高处理器处理逻辑运算的效率方面并未涉及。
技术实现思路
本专利技术解决的问题是,提供一种,用于提高处理器处理逻辑运算的效率,有效降低处理器的功耗。为解决上述技术问题,本专利技术提供一种指令处理装置,用于处理目标指令,所述目标指令由二进制码表示,用于求逻辑表达式的运算结果;所述目标指令包括所述逻辑表达式的真值表中逻辑表达式的值和操作数,以及目标操作数;所述逻辑表达式的操作数至少为二个;所述指令处理装置包括解析单元,用于解析所述目标指令,获取所述真值表中逻辑表达式的值和操作数以及目标操作数;多路选择单元,包括多路数据输入端、多个选择输入端和输出端,所述多路数据输入端分别输入所述真值表中逻辑表达式的值,所述多个选择输入端分别输入所述逻辑表达式的操作数,所述输出端的值赋给所述目标操作数,所述多路选择单元用于根据所述多个选择输入端的值选择其中一路数据输入端的值输出至所述输出端以赋给所述目标操作数。可选的,所述逻辑表达式的操作数为二个,所述多路选择单元包括4选1多路选择ο可选的,所述逻辑表达式的操作数为三个,所述多路选择单元包括8选1多路选择ο可选的,所述逻辑表达式的操作数为四个,所述多路选择单元包括16选1多路选择器。可选的,所述多路选择单元包括多个多路选择器,所述多路选择器的个数与所述操作数的位数相同。为解决上述技术问题,本专利技术还提供一种包括上述指令处理装置的处理器。为解决上述技术问题,本专利技术还提供一种指令翻译装置,包括提取单元,用于提取源指令中的逻辑运算表达式,所述源指令用于求所述逻辑表达式的运算结果,所述逻辑表达式的操作数至少为二个;列表单元,用于依据所述操作数列出所述逻辑表达式的真值表;生成单元,用于生成目标指令,所述目标指令包括所述真值表中逻辑表达式的值和操作数,以及目标操作数。可选的,所述目标指令为二进制码。为解决上述技术问题,本专利技术还提供一种指令翻译方法,包括如下步骤提取源指令中的逻辑表达式,所述源指令用于求所述逻辑表达式的运算结果,所述逻辑表达式的操作数至少为二个;依据所述操作数列出所述逻辑表达式的真值表;生成目标指令,所述目标指令包括所述真值表中逻辑表达式的值和操作数,以及目标操作数。可选的,所述目标指令为二进制码。本专利技术的指令处理装置,通过多路选择单元处理上述指令翻译装置生成的目标指令,从而输出最终逻辑表达式的结果,其结构简单,在硬件上容易实现,所述指令处理装置嵌入于处理器中,并配合所述指令翻译装置,可以加快处理器处理逻辑运算的时间,降低处理器的功耗。本专利技术的指令翻译装置,利用了列表单元所生成的逻辑表达式的真值表;通过生成单元将含有逻辑表达式的指令翻译成一条目标指令,使得处理器只需执行一条指令即可完成复杂的逻辑运算,与现有技术将含有逻辑表达式的指令翻译成多条指令,处理器需要执行多条指令相比,加快了处理器处理逻辑运算的效率,提高了处理器的应用性能,有效的降低了处理器的功耗。本专利技术的指令翻译方法,利用了逻辑表达式的真值表,将含有逻辑表达式的指令翻译成一条目标指令,使得处理器只需执行一条指令即可完成复杂的逻辑运算,与现有技术将含有逻辑表达式的指令翻译成多条指令,处理器需要执行多条指令相比,加快了处理器处理逻辑运算的效率,提高了处理器的应用性能,有效的降低了处理器的功耗。附图说明图1是本专利技术具体实施例的指令翻译装置的结构示意图;图2是本专利技术一实施例的逻辑表达式的真值表;图3是本专利技术又一实施例的逻辑表达式的真值表;图4是本专利技术具体实施例的指令处理装置的结构示意图;图5是本专利技术具体实施例一八选一多路选择器的结构示意图;图6是本专利技术具体实施例的多路选择单元结构示意图。具体实施例方式专利技术人发现,现有技术处理器对含有逻辑表达式的源指令进行处理时,通常会将其翻译成多条指令,举例来说,对于逻辑表达式(X&y) I (χ&ζ)而言,编译器会将其翻译成至少3条指令,然后再将其转换为处理器能够识别的二进制代码(机器语言),当逻辑表达式越复杂,翻译的指令就越多,处理器需要经过多个指令周期才能处理完逻辑表达式的运算, 由此会导致处理器处理逻辑运算效率过低,处理器功耗过大。本专利技术的具体实施方式提供一种。 通过多路选择单元处理所述指令翻译装置生成的目标指令,从而输出最终逻辑表达式的结果,其结构简单,在硬件上容易实现,所述指令处理装置嵌入于处理器中,并配合所述指令翻译装置,可以加快处理器处理逻辑运算的时间,降低处理器的功耗。以下结合附图和实施例对本专利技术具体实施方式进行详细说明。实施例一本实施例提供一种指令翻译装置,所述指令翻译装置可以嵌入于编译器中。参考图1,本专利技术具体实施例的指令翻译装置包括,提取单元101,用于提取源指令中的逻辑运算表达式,所述源指令用于求所述逻辑表达式的运算结果,所述逻辑表达式的操作数至少为二个;列表单元102,用于依据所述操作数列出所述逻辑表达式的真值表;生成单元103, 用于生成目标指令,所述目标指令包括所述真值表中逻辑表达式的值和操作数,以及目标操作数。现以参与逻辑表达式的操作数为2个,逻辑表达式为d= (x&y) I ( x&y)&y对本实施例的指令翻译装置进行详细说明。在对源程序进行编译的过程中,当处理到用于求所述逻辑表达式的运算结果的源指令时,提取单元101会将本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:谢向辉过锋吴新军李宏亮唐勇任秀江陆晓亮
申请(专利权)人:无锡江南计算技术研究所
类型:发明
国别省市:

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

1
相关领域技术