QEMU1.3.0源码分析之二:TCG

简介: TCG是Tiny Code Generator的简称,它之前是一个后端编译器,现在是作为一个动态翻译器来使用。在QEMU中,它主要用来将虚拟出来的系统的指令转化成真正硬件支持的指令中的从中间代码到硬件支持的机器代码的过程。

TCG是Tiny Code Generator的简称,它之前是一个后端编译器,现在是作为一个动态翻译器来使用。在QEMU中,它主要用来将虚拟出来的系统的指令转化成真正硬件支持的指令中的从中间代码到硬件支持的机器代码的过程。前端的将指令翻译成中间代码的过程,是一个反汇编的过程。

反汇编的过程的源码的主要地址:qemu source code/target-XXX。此处的XXX指的是模拟出来的系统的架构。

TCG的源码的位置是:qemu source code/tcg。这个目录下有很多文件夹,每个文件夹都代表一个目标架构。这里的目标架构指的是真正的硬件架构,也就是说运行QEMU的架构。

在qemu source code/tcg目录下,有一个README文件,介绍了tcg的主要内容。

在qemu source code/tcg/arm目录下,只有两个文件,实现了生成arm架构的内容。tcg-target.c和tcg-target.h两个文件。和arm同级目录的ia64,hppa,ppc,s390,i386,mips,ppc64,sparc,tci等目录下也是同样的名字的两个文件,当然文件的内容并不相同。关于这两个文件的内容,README是这么描述的:tcg-target.h contains the target specific definitions. tcg-target.c contains the target specific code.

动态翻译只是在必要的时候才进行翻译,而尽可能的将时间花费在执行host code上。TB(Translation Block)翻译之后得到的host code会存放在code cache中,因为有很多TB会被重复执行,所以这样会达到更加的效果。

目录
相关文章
|
虚拟化 KVM Linux
带你读《KVM实战:原理、进阶与性能调优》之二:KVM原理简介
本书兼具实战性、系统性又不乏深度的KVM虚拟化技术指南,既能让新人快速掌握KVM的基础知识,又能满足有经验的读者进阶学习的需求。本书两位作者来自于阿里云和Intel,在云计算和KVM方面有深入的研究,他们将自己的经验倾囊相授,带你全面了解KVM的各种技术细节。
|
6月前
|
Shell Linux 编译器
【Linux】从零开始认识进程 — 中下篇
环境变量具有系统级的全局属性,因为会被子进程继承下去!!!
47 0
【Linux】从零开始认识进程 — 中下篇
|
6月前
|
监控 NoSQL Linux
【Linux】从零开始认识进程 — 中上篇
进程的路径是可以改变的, 每个进程在启动的时候,会记录自己当前在哪个路径下启动。
40 0
【Linux】从零开始认识进程 — 中上篇
|
6月前
|
设计模式 算法 中间件
【C/C++ CommonAPI入门篇】深入浅出:CommonAPI Core与CommonAPI DBus的协同工作原理
【C/C++ CommonAPI入门篇】深入浅出:CommonAPI Core与CommonAPI DBus的协同工作原理
365 0
|
Ubuntu 关系型数据库 MySQL
【Linux进阶篇】启动流程和服务管理
【Linux进阶篇】启动流程和服务管理
215 0
|
Linux Shell C语言
Linux的生命周期是什么?底层原理是什么?
Linux的生命周期是什么?底层原理是什么?
167 0
|
网络协议 Linux 调度
Linux底层是如何运行的?底层原理是什么?
Linux底层是如何运行的?底层原理是什么?
524 0
|
Linux 内存技术
Linux ALSA驱动之三:PCM创建流程源码分析(基于Linux 5.18)下
Linux ALSA驱动之三:PCM创建流程源码分析(基于Linux 5.18)下
Linux ALSA驱动之三:PCM创建流程源码分析(基于Linux 5.18)下
|
编解码 Linux API
Linux ALSA驱动之三:PCM创建流程源码分析(基于Linux 5.18)上
Linux ALSA驱动之三:PCM创建流程源码分析(基于Linux 5.18)上
Linux ALSA驱动之三:PCM创建流程源码分析(基于Linux 5.18)上
|
虚拟化 KVM Linux
带你读《KVM实战:原理、进阶与性能调优》之三:构建KVM环境
本书兼具实战性、系统性又不乏深度的KVM虚拟化技术指南,既能让新人快速掌握KVM的基础知识,又能满足有经验的读者进阶学习的需求。本书两位作者来自于阿里云和Intel,在云计算和KVM方面有深入的研究,他们将自己的经验倾囊相授,带你全面了解KVM的各种技术细节。