基于QEMU的龙芯CPU虚拟仿真硬件平台设计文献综述

 2022-11-28 04:11
  1. 研究背景

随着科技的不断发展,我国自主研发能力不断提高,科技力量日渐雄厚。我国开始自主研发高性能的处理器,打破了国外的垄断。 从开始的龙芯 1号处理器,现在己经发展到龙芯LS232号处理器,龙芯LS232号处理器主要应用于服务器和高性能机 [1]60 年代末期兴起的虚拟机技术 ,随着商用IBM370主机系列的成功,在70年代初期达到了它的第一个高峰。

虚拟机技术通过解除硬件和软件资源的体系结构和用户感知的行为与其物理实现之间的耦合 ,去解决计算机系统的安全、性能和可靠性等问题。[2]随着自主CPU应用和产业化的不断深入, 相关的软硬件生态问题变得越来越突出.虽然自主 CPU 都在不同程度上 采取了与国外 CPU 兼容的技术路线, 如 “龙芯” 在取得 MIPS 架构授权的基础上采取与 MIPS 兼容的策略,但比起主流的软硬件生态, 如 X86 在桌面/服务器领域的软件生态以及 ARM 在手持终端领域的软件生态,自主 CPU 在软硬件生态方面还处在很初级的水平,严重制约了自主 CPU的产业化。

龙芯处理器是中国科学技术研究院自主研发的国产处理器,它的稳定性和速度都比较好。[3]龙芯处理器是是MIPS架构的典型代表,在当前的研究中,虽然虚拟化技术发展迅速,可是很少针对龙芯芯片进行虚拟化的具体研究,各个高校虽然有开展研究工作但是也是近一两年才开始的。对龙芯芯片进行虚拟化的原因:在实际的应用中,如果直接使用实体进行调试比较浪费资源,因为在对硬件的修改十分麻烦,耗费人力物力以及时间。如果能采用虚拟机技术进行模拟调试也可以直观的反映所存在的问题,并且节省了开销和资源。如果能对龙芯芯片进行虚拟化,就能简单的在虚拟化平台上完成相关的开发、调试以及测试的工作。这样对我国科研发展有着推动的作用,也可以提高虚拟化硬件的水平。

  1. 龙芯处理器相关介绍
  2. 龙芯处理器基本介绍

根据龙芯LS232处理器用户手册,了解指令的编码格式,指令的含义。 在动态二进制翻译的基础上根据指令的格式和含义实现指令集的虚拟化过程。龙芯LS232 核是一款实现 MIPS32 兼容且支持 DSP 扩展和 EJTAG 调试的双发射处理器, 通过采用转移预测、寄存器重命名、乱序发射、路预测的指令 CACHE、非阻塞的数据 CACHE、写合并收集等技术来提高流水线的效率,形成了一款具有突出的性能价格比及性 能功耗比的32 位嵌入式处理器 IP。同时在龙芯LS232处理器中,兼容MIPS32的Release2体系结构。MIPS32是 MIPS 公司为了统一 MIPS 指令系统的不同版本,在 MIPS II 的基础上进行扩充,并对系统态的指令进行规范而定义的。MIPS32指令系统的用户态指令融合了不同指令系统的优点,系统态指令也更加规范。

  1. 龙芯硬件特征的介绍以及分析

LS232核是一款实现 MIPS32兼容且支持 DSP 扩展和 EJTAG调试的双发射处理器,通过采用转移预测、寄存器重命名、乱序发射、路预测的指令CACHE、非阻塞的数据CACHE、写合并收集等技术来提高流水线的效率。

LS232架构特征:

  • 5级动态流水线32位低功耗RISC
  • 双发射超标量结构,两个定点部件、一个访存部件
  • 动态调度、转移预测等乱序执行技术
  • 哈佛结构,独立的数据缓存和指令缓存
  • 数据缓存和指令缓存支持锁机制
  • 支持non-blocking访问以及预取指令提高访存效率
  • 具备MMU,支持操作系统进行虚拟内存管理
  • 可变页大小
  • 32项全相连TLB,独立的4项指令TLB,8项数据TLB
  • AHB、AXI标准接口易于系统互联
  • Cache大小、浮点部件、DSP部件、接口标准可配置
  • 可定制用户自定义指令

  1. 虚拟机以及虚拟化技术
  2. 现代虚拟化技术介绍

在现代虚拟化技术的发展中,有着各种各样的分类。例如硬件虚拟化、平台虚拟化、服务器虚拟化、桌面虚拟化、存储虚拟化、网络虚拟化、应用虚拟化等。[4]在现代化的发展中,现代虚拟化技术有了更多的应用之处。例如基于虚拟化技术的云计算框架研究、网络虚拟化资源分配管理、数据中心服务器虚拟化,还有例如基于QEMU-KVM桌面云服务端软件架构的实现等等。现代的虚拟化技术已经在飞快地发展,并且和我们的生活工作越来越密不可分。虚拟化技术将计算机的各种实体资源抽象地呈现出来,可以让用户更好地分配和使用这些资源。

  1. 嵌入式虚拟化平台选取

虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。[5]在实体计算机中能够完成的工作在虚拟机中都能够实现。在计算机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。每个虚拟机都有独立的CMOS、硬盘和操作系统,可以像使用实体机一样对虚拟机进行操作。在现在的技术市场上有着各式各样的虚拟机,虚拟化技术的不断进步促使出现了VMW虚拟机、QEMU虚拟机、SkyEye 虚拟机、 Simics 虚拟机等虚拟机。它们各有千秋。其中QEMU虚拟机是开源的软件,发展比较快,技术相对而言比较成熟。QEMU虚拟机虚拟处理器、存储器、1/0 接口、外设等,可以虚拟出整个计算机系统。所以我们选择QEMU虚拟机。[6]

随着高性能计算机系统规模的不断扩大,体系结构的日益复杂,其管理和使用也变得越来越困难。将虚拟化技术应用于构建高性能计算机系统有助于帮助开发人员高效管理和使用高性能计算机系统,使其发挥最大效能。[7]

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。