qemu技术分析--TCG基本原理.docVIP

  • 40
  • 0
  • 约6.39千字
  • 约 7页
  • 2018-05-10 发布于重庆
  • 举报
qemu技术分析--TCG基本原理

QEMU技术分析2 - TCG(Tiny Code Generator)基本原理从QEMU-0.10.0开始,TCG成为QEMU新的翻译引擎,做到了“真正”的动态翻译(从某种意义上说,旧版本是从编译后的目标文件中复制二进制指令)。TCG的全称为“Tiny Code Generator”,QEMU的作者Fabrice Bellard在TCG的说明文件中写到,TCG起源于一个C编译器后端,后来被简化为QEMU的动态代码生成器(Fabrice Bellard以前还写过一个很牛的编译器TinyCC)。实际上TCG的作用也和一个真正的编译器后端一样,主要负责分析、优化Target代码以及生成Host代码。 ? ? ? ? Target指令 ---- TCG ---- Host指令 以下的讲述以X86平台为例(Host和Target都是X86)。 我在上篇文章中讲到,动态翻译的基本思想就是把每一条Target指令切分成为若干条微操作,每条微操作由一段简单的C代码来实现,运行时通过一个动态代码生成器把这些微操作组合成一个函数,最后执行这个函数,就相当于执行了一条Target指令。这种思想的基础是因为CPU指令都是很规则的,每条指令的长度、操作码、操作数都有固定格式,根据前面就可推导出后面,所以只需通过反汇编引擎分析出指令的操作码、输入参数、输出参数等,剩下的工作就是编码为目标指令了。 那

文档评论(0)

1亿VIP精品文档

相关文档