
ARM虚拟化
文章平均质量分 86
ARM虚拟化-Hypervisor
TrustZone_
一个搞技术的读书人,妄图分享最干货的技术知识与世界运转的底层逻辑。公ZH:TrustZone
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
虚拟化 (Hypervisor) 技术详解
随着 ICT 技术的发展,单 SOC 算力可以承担更多业务,网络带宽拓展及低时延、区分服务等特性使得业务部署、功能分配更加灵活,比如 : 感知、融合、规划、控制、执行可分离解耦,汽车业务功能可分可合、可软件定义。电子电气架构从分布式架构到域集中式架构,再到中央集中式架构转变,分散的 ECU功能集成到域控制器甚至车载中央计算机,这就是多域融合。汽车电子底层硬件不再是由单一芯片提供简单的逻辑计算,而是需要复杂的多核 SoC 芯片提供更为复杂控制逻辑以及强大的算力支持。但是多域业务具有不同的技术需求,在域融合的同原创 2024-02-27 11:23:39 · 9631 阅读 · 0 评论 -
ARM系列 -- 虚拟化(五)
如果你设置了vCPU0在2ms以后产生中断,在物理时间中就是3ms的时刻vCPU0才真正的运行完2ms的时间。看下图,如果一个hypervisor之上虚拟了两个vCPU,那么,物理世界中经历了4ms的时间(wall time),但每个vCPU实际运行了2ms时间(virtual time)。在ARM体系结构中,处理器内部有通用计时器,通用计时器包含一组比较器,用来与系统计数器进行比较,一旦通用计时器的值小于等于系统计数器时便会产生时钟中断。在整个的6ms时间内,vCPU0和vCPU1各运行了3ms的时间。原创 2024-02-27 10:44:37 · 1425 阅读 · 0 评论 -
ARM系列 -- 虚拟化(四)
Guest OS并不知道它运行在虚拟系统中,其接收的中断来自GIC的虚拟中断接口(virtual interrupt interface),但是OS本身并不知道;生成的虚拟中断受PSTATE掩蔽的影响,就像常规中断一样。支持GICv4的IP是GIC-700.目前的虚拟中断直接注入支持产生LPI,也就是说系统中要有ITS组件。在一个非虚拟化的系统中,操作系统可以直接访问GIC的寄存器,并且处理GIC的物理中断接口(physical interrupt interface)。通过GIC就能避免上面的问题。原创 2024-02-27 10:36:56 · 1123 阅读 · 0 评论 -
ARM系列 -- 虚拟化(三)
但是对于访问频率高的寄存器,比如MPIDR_EL1,或者在性能关键代码中,需要尽可能地优化陷入,对这些寄存器,ARM提供了其它策略,hypervisor可以在进入VM时先配置好这些寄存器的值。这样,hypervisor只要负责对SMMU进行编程,以便上游的主机(在示例中是DMA控制器)可以看到与分配给它的VM相同的内存视图。在intel体系中,对应的是IOMMU,名字虽然不一样,但是原理是一样的。对于VM来说,一个直接分配的外设是真实的物理设备,并映射到IPA地址空间,所以VM可以直接软件访问该设备。原创 2024-02-27 10:25:25 · 1724 阅读 · 0 评论 -
ARM系列 -- 虚拟化(二)
它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换”。,该应用程序中的所有TLB条目都标记有该ASID。**这样,程序中访问的内存地址不再是实际的物理内存地址,而是一个虚拟地址,VM不等同于vCPU,比如,一个内存页面可以被分配一个VM,因此所有属于该VM的所有vCPU都可以访问它。这样,只要操作系统管理好虚拟地址到物理内存地址的映射,就可以保证不同的程序最终访问的内存地址位于不同的区域,原创 2024-02-27 10:16:01 · 1524 阅读 · 0 评论 -
ARM系列 -- 虚拟化(一)
*简单说,两者的区别就是在半虚拟化中,Guest OS知道自己运行在Hypervisor上而不是硬件上,同时也可以识别出其他运行在相同环境中的客户虚拟机。对于hypervisor,百度百科是这样定义的,“一种运行在基础物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享硬件。物理机好理解,比如我们买一台电脑做家用机,那么这台电脑的所有物理设备,比如硬盘,网卡等等,都是归你自己使用。是一个直接运行在计算机硬件之上的用以替代操作系统的软件层,它能够在计算机硬件上并发的运行多个Guest OS。原创 2024-02-27 10:02:19 · 2152 阅读 · 0 评论