当前位置: 首页 > news >正文

网站模块下载建设银行手机银行登录网站

网站模块下载,建设银行手机银行登录网站,如何做网页链接,shop++的优点Type-1 hypervisor Type-1虚拟化也叫做Bare metal, standalone, Type1 Type2 hypervisor Type-2虚拟化也叫做hosted, Type-2 VM和vCPU(虚拟机和虚拟cpu) 在一个VM#xff08;虚拟机#xff09;中有多个vCPU#xff0c;多个vCPU可能属于同一个Vritual Processor。 EL2…Type-1 hypervisor Type-1虚拟化也叫做Bare metal, standalone, Type1 Type2 hypervisor Type-2虚拟化也叫做hosted, Type-2 VM和vCPU(虚拟机和虚拟cpu) 在一个VM虚拟机中有多个vCPU多个vCPU可能属于同一个Vritual Processor。 EL2负责管理虚拟机VM的以下功能 • Stage 2 translation • EL1/0 instruction and register access trapping • Virtual exception generation VMIDs 每个 VM 都分配有一个虚拟机标识符 (VMID) 。 VMID 用于标记translation lookaside buffer(TLB) 条目以标识每个entry属于哪个 VM。 此标记允许多个不同 VM 的翻译同时出现在 TLB 中VMID 存储在 VTTBR_EL2 中可以是 8 位或 16 位。 VMID 由VTCR_EL2.VS 位控制。 对 16 位 VMID 的支持是可选的并且是在 Armv8.1-A 中添加的。EL2 和 EL3 翻译机制的翻译没有用 VMID 标记因为它们不受第 2 阶段翻译的约束。 没有虚拟化时在EL0的translation regime 中有多个应用程序每个应用程序都有自己独立的地址空间如果两个应用程序的虚拟地址相同那么在缓存到TLB中时就会发生冲突因此我们要用ASID来标志。每个应用程序的ASID都不一样在缓存到快表时会把程序的ASID也缓存进快表。 VMID interaction with ASIDs VMID和ASID的结合使用 TLB entry也可以使用地址空间标识符 (ASID) 进行标记。 操作系统为应用程序分配了一个 ASID该应用程序中的所有 TLB 条目都使用该 ASID 进行标记。 这意味着不同应用程序的 TLB entry能够共存于TLB 中而没有一个应用程序使用属于不同应用程序的 TLB entry的可能性。每个 VM 都有自己的 ASID 命名空间。 例如两个 VM 可能都使用 ASID5但它们将它们用于不同的事情。 ASID 和 VMID 的组合很重要。 VM访问外设的方式 VM访问外设的方式有两种 physical peripherals 和 virtual peripherals. 前者是直接将IPA映射到真实的物理外设后者则只是一个IPA内存并不是真实的外设region后者会触发一个mmu fault然后在hypervisor的异常中断中去模拟该外设。 Hypervisor模拟外设原理 • 要模拟外设管理程序不仅需要知道访问了哪个外设还需要知道访问了该外设中的哪个寄存器、访问是读还是写、访问的大小以及用于传输数据的寄存器 . • 异常模型引入了 FAR_ELx 寄存器。 在处理stage 1 fault时这些寄存器报告触发异常的虚拟地址。 虚拟地址对hypervisor没有帮助因为hypervisor通常不知道来guest os如何配置其虚拟地址空间。 对于stage 2 fault还有一个额外的寄存器 HPFAR_EL2它报告中止地址的 IPA。 由于 IPA 空间由hypervisor控制因此它可以使用此信息来确定需要模拟的寄存器。 • 异常模型显示了 ESR_ELx 寄存器如何报告有关异常的信息。 对于触发stage 2 fault的单个通用寄存器加载或存储提供了额外的综合信息。 该信息包括访问的大小和源或目标寄存器并允许管理程序确定对虚拟外围设备进行的访问类型。 其它Master对内存的访问 在左边情况下Processor是知道虚拟地址以及物理地址的在建页表时就把VA和PA的关系搭建起来了。DMA也知道PA。 但是在EL2enable下Guest OS只支持VA和IPA但是DMA需要知道PA而Processor不知道PA就是在Linux driver程序中对DMA Controller进行编程让DMA去干活。然后在Linux driver中看到的都是VA和IPA它是无法看到真实的PA所以在此中情况下Linux driver程序就无法对DMA Controller进行编程了。 解决这个问题需要加一个SMMU 因为他么使用共同的页表因此只要IPA相同翻译出来的PA必然相同。 Trapping and emulation of instructions WFI指令就是进入低功耗状态进入stand by模式。在vCPU0的视角下执行了WFI进入低功耗但是实际是这条指令被Trap到EL2通过软件又转到了vCPU1中。 lazy context switching 和 context switching traps也可以用作lazy context switching的一部分。 例如操作系统通常会在启动期间初始化内存管理单元(MMU) 配置寄存器TTBR_EL1、TCR_EL1 和 MAIR_EL1然后不会再次对它们重新编程。 管理程序可以使用它来优化其上下文切换例程方法是仅在上下文切换时恢复寄存器而不保存它们。然而操作系统可能会做一些不寻常的事情并在启动后重新编程寄存器。 为避免这导致任何问题管理程序可以设置 HCR_EL2.TVM trap。 此设置会导致对 MMU 相关寄存器的任何写入都会在 EL2 中生成trap 从而允许管理程序检测它是否需要更新其保存的这些寄存器的副本。解释 这两段其实就是说对于系统寄存器在每次切换的时候会lazy context switching。但是对于MMU寄存器可能会在运行时被修改所以针对MMU寄存器的控制可以设置 HCR_EL2.TVM这样的话在guest os写MMU寄存器的时候就会产生trap异常注: lazy context switching 和 context switching的区别 1前者开机的时候记录下每个vcpu的context当vcpu切换到VM时则恢复这个vContext 2后者每次的VM切换都伴随着vContext的save和restore MIDR and MPIDR 两个寄存器 • 使用traps来虚拟化操作需要大量计算。 该操作向 EL2 生成trapped异常管理程序确定所需的操作对其进行模拟然后返回给guest os。 诸如 ID_AA64MMFR0_EL1 之类的功能寄存器不被操作系统频繁访问。 这意味着当将对这些寄存器的访问捕获到管理程序中以模拟读取时计算是可以接受的。 • 对于更频繁访问的寄存器或在性能关键代码中你可能希望避免此类计算频繁。 这些寄存器及其值的示例包括 MIDR_EL1. The type of processor, for example Cortex-A53 MPIDR_EL1. The affinity, for example core 1 of processor 2 • 管理程序可能希望来guest os查看这些寄存器的虚拟值而不必捕获每个单独的访问。 对于这些寄存器该架构提供了一种捕获的替代方法 VPIDR_EL2. This is the value to return for EL1 reads of MIDR_EL1. VMPIDR_EL2. This is the value to return for EL1 reads of MPIDR_EL1 • 管理程序可以在进入 VM 之前设置这些寄存器。 如果在 VM 中运行的软件读取 MIDR_EL1 或MPIDR_EL1硬件将自动返回虚拟值无需trapped。 • VMPIDR_EL2 和 VPIDR_EL2 没有定义的复位值。 在第一次进入 EL1 之前它们必须通过启动代码进行初始化。 这一点尤其重要。 虚拟中断 在hypervisor写HCR_EL2寄存器直接产生虚拟中断。 • HCR_EL2 中有三个位控制虚拟中断的生成 VI Setting this bit registers a vIRQ. VF Setting this bit registers a vFIQ. VSE Setting this bit registers a vSError • 这种机制并没有产生vIRQ/vFIQ/vSError信号但是写这些比特后等效于gic断言了一个中断并发送vIRQ/vFIQ/vSError信号到vCPU. • 这种机制使用简单但缺点是它只提供了一种产生中断本身的方式。 Hypervisor需要替VM读写gic寄存器。 这种hypervisor软件中的捕获和模拟gic操作会带来额外的开销。 使用 GICv2或更高版本的中断控制器。支持vIRQ/vFIQ/vSError信号。 hypervisor可以将vCPU interface映射到VM允许该 VM 中的软件直接与 GIC 通信。 这种方式的好处是hypervisor只需要设置虚拟接口不需要模拟。 这种方法减少了执行需要被trapped在 EL2 的次数因此减少了虚拟化中断的开销。 SCR比特位 IMO IMO0routing到EL1IMO1物理中断永远被taken到EL2。 TGE 表示当前是Guest OS还是Host OS 如果TGE0表示是Guest OS;如果TGE1表示是Host OS; E2H Host OS的EL2是否开启0表示没有开启1表示enable TMO TMO 表示中断的路线模型 Virtualizing the Generic Timers 在 4 毫秒的物理时间或wall-clock time,之后每个 vCPU 已经运行了 2 毫秒。 如果 vCPU0 在 T0 时将其比较器设置为在 3ms 后生成中断您是否希望中断触发 或者您是否想要在虚拟时间 2 毫秒即 vCPU 所经历的时间或wall-clock time的 2 毫秒之后中断 Arm 架构提供了两种能力具体取决于虚拟化的用途。 在 vCPU 上运行的软件可以访问两个计时器 • EL1 Physical Timer EL1 物理计时器与系统计数器模块生成的计数进行比较。 使用此计时器可提wall-clock time • EL1 Virtual Timer EL1 虚拟计时器与虚拟计数进行比较。 虚拟计数是物理计数减去偏移量。 管理程序在寄存器中指定当前调度的 vCPU 的偏移量。 这允许它在未安排 vCPU 运行时隐藏时间的流逝。 Re-directing register accesses 重新定位寄存器访问 在启用VHE的系统上一个hosted VM, 它的内核是跑在EL2上的它访问的系统寄存器不再应该是XXX_EL1应该是XXX_EL2。例如对于mmu的配置访问的是TTBR0_EL2而不是TTBR0_EL1。要在EL2上运行等效EL1的操作那么需要将EL1寄存器重定向到EL2寄存器。设置E2H将实现此需求. 然而这种重定向给我们留下了一个新问题。 管理程序仍然需要访问真正的_EL1 寄存器以便它可以实现任务切换。 为了解决这个问题引入了一组带有 xxx_EL12 或 xxx_EL02 后缀的新寄存器别名。 当在 EL2 上使用时E2H1它们可以访问 EL1 寄存器以进行上下文切换。 您可以在下图中看到这一点
http://www.hkea.cn/news/14412723/

相关文章:

  • 淄博网站建设招聘织梦网站建设流程
  • 上海住房城乡建设网站证件查询定西seo排名
  • 网站开发 认证网站网址查询ip
  • 安徽网站开发建设深圳组工在线
  • 黄页网站推广app免费下载网站建设h5是指的那一块
  • wordpress添加广告插件吗网站优化竞争对手分析
  • 汕头seo网站推广网站站点规划实例
  • 常州专业网站建设呼叫中心外包
  • 怎样让客户做网站学校wordpress模版
  • 河源网站搭建费用多种语言网站
  • 中国网站备案查询系统上海公司购房政策
  • 网站没建设可以访问吗seo搜索引擎优化实战
  • 怎么建立免费的网站网站搜索功能实现
  • 深圳市网站开发公司常州网络推广平台
  • 五华建设银行网站西安十强广告公司名单
  • 莱芜做网站的商家有哪些个人网站可备案
  • 安装网站模板电商网站首页设计
  • 阿里 网站备案核验单做网站到内容填充需要多久
  • 有哪些做网游单机版的网站下载ppt模板免费的网站
  • 网站推广有哪些举措网站运营公司排名
  • 网站建设购物车招聘网站如何做运营
  • 公司网站建设方案建议wordpress 设置导航菜单
  • 广州建设网站开发网页浏览器打开
  • 企业网站优化系统wordpress虾米音乐插件
  • 做外贸网站的好处做吗查网站的流量
  • 网站建设方案书模板自己建网站做app
  • 如何利用dw建设网站手机购物网站建设
  • 网站建设带采集免费域名分发网站
  • 网站开发工程师是干嘛的企业推广费用占比多少合适
  • 内蒙古乌海建设局网站免费企业名录搜索软件