[发明专利]指令处理装置和处理器、指令翻译装置和方法有效
申请号: | 201010508848.7 | 申请日: | 2010-10-12 |
公开(公告)号: | CN102446112A | 公开(公告)日: | 2012-05-09 |
发明(设计)人: | 谢向辉;过锋;吴新军;李宏亮;唐勇;任秀江;陆晓亮 | 申请(专利权)人: | 无锡江南计算技术研究所 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 骆苏华 |
地址: | 214083 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 指令 处理 装置 处理器 翻译 方法 | ||
技术领域
本发明涉及计算机领域,特别涉及指令处理装置和处理器、指令翻译装置和方法。
背景技术
编译过程是将源代码(通常为高阶语言)翻译为能直接被计算机或虚拟机执行的目标代码(通常为低阶语言或机器语言)的过程。且经过翻译后的目标代码的功能与源代码的功能相同,最后计算机通过处理器执行目标代码来得到源代码所要实现的功能。
一般来讲,编译器就是将高级语言翻译成机器语言的程序。其工作流程为:源代码(source code)→预处理器(preprocessor)→编译器(compiler)→汇编程序(assembler)→目标代码(object code)→链接器(Linker)→可执行程序(executables)。而编译器又包括编译器前端(frontend)、编译器分析(compileranalysis)和编译器后端(backend)。
编译器前端主要负责解析输入的源代码,由语法分析器和语意分析器协同工作。语法分析器负责把源代码中的“单词”找出来,语意分析器把这些分散的单词按预先定义好的语法组装成有意义的表达式,语句,函数等等。编译器前端同时还负责语义的检查,例如检测参与运算的变量是否是同一类型的,简单的错误处理。编译器分析主要是对由前端生成并传递过来的中间代码进行分析,而编译器后端主要是负责分析,优化中间代码并生成机器代码。
随着计算机编程技术的迅猛发展,越来越多的逻辑运算被应用在源程序中。现有技术在对含有逻辑运算的指令进行编译时,往往会将其翻译成多条汇编指令,当逻辑运算比较复杂,涉及的操作数比较多时,如果仍将其翻译成多条汇编指令,计算机的处理器要执行多条汇编指令才能完成多操作数的逻辑运算,因而处理逻辑运算的效率会明显的减低,同时处理器的功耗也会增加。
申请号为200710047697.8的中国专利申请,公开了一种利用中间指令集的二进制翻译方法,其设计了一套中间指令集来作为将一套物理指令翻译成另一套物理指令的中间层,隔开了源机器及目标机器。但对于提高处理器处理逻辑运算的效率方面并未涉及。
发明内容
本发明解决的问题是,提供一种指令处理装置和处理器、指令翻译装置和方法,用于提高处理器处理逻辑运算的效率,有效降低处理器的功耗。
为解决上述技术问题,本发明提供一种指令处理装置,用于处理目标指令,
所述目标指令由二进制码表示,用于求逻辑表达式的运算结果;所述目标指令包括所述逻辑表达式的真值表中逻辑表达式的值和操作数,以及目标操作数;所述逻辑表达式的操作数至少为二个;
所述指令处理装置包括:
解析单元,用于解析所述目标指令,获取所述真值表中逻辑表达式的值和操作数以及目标操作数;
多路选择单元,包括多路数据输入端、多个选择输入端和输出端,所述多路数据输入端分别输入所述真值表中逻辑表达式的值,所述多个选择输入端分别输入所述逻辑表达式的操作数,所述输出端的值赋给所述目标操作数,所述多路选择单元用于根据所述多个选择输入端的值选择其中一路数据输入端的值输出至所述输出端以赋给所述目标操作数。
可选的,所述逻辑表达式的操作数为二个,所述多路选择单元包括4选1多路选择器。
可选的,所述逻辑表达式的操作数为三个,所述多路选择单元包括8选1多路选择器。
可选的,所述逻辑表达式的操作数为四个,所述多路选择单元包括16选1多路选择器。
可选的,所述多路选择单元包括多个多路选择器,所述多路选择器的个数与所述操作数的位数相同。
为解决上述技术问题,本发明还提供一种包括上述指令处理装置的处理器。
为解决上述技术问题,本发明还提供一种指令翻译装置,包括:
提取单元,用于提取源指令中的逻辑运算表达式,所述源指令用于求所述逻辑表达式的运算结果,所述逻辑表达式的操作数至少为二个;
列表单元,用于依据所述操作数列出所述逻辑表达式的真值表;
生成单元,用于生成目标指令,所述目标指令包括所述真值表中逻辑表达式的值和操作数,以及目标操作数。
可选的,所述目标指令为二进制码。
为解决上述技术问题,本发明还提供一种指令翻译方法,包括如下步骤:
提取源指令中的逻辑表达式,所述源指令用于求所述逻辑表达式的运算结果,所述逻辑表达式的操作数至少为二个;
依据所述操作数列出所述逻辑表达式的真值表;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010508848.7/2.html,转载请声明来源钻瓜专利网。