IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> Armv8-A虚拟化手册(4) -> 正文阅读

[嵌入式]Armv8-A虚拟化手册(4)

7. 通用定时器的虚拟化

????????ARM架构包括通用定时器,它是每个处理器里一组标准有用的定时器。通用定时器包含一组与通用系统计数器相比较的比较器。当该值等于或小于系统计算器时,比较器产生一个中断。在下图中,我们可以看到系统中的通用定时器,它包含比较器和计数器模块。

????????上图描述了一个hypervisor管理两个虚拟CPU(vCPU)的系统:

note: 在这个例子中,我们忽略了执行hypervisor在vCPU之间进行上下文切换的过度。

????????在4ms的物理时间或墙上时间之后,每个vCPU运行2ms。如果vCPU0在T=0时建立起比较器,并在3ms后产生一个中断,你会期望中断已经产生了么?

????????相反的,在2ms的虚拟时间后你希望产生一个中断么,vCPU经历这个时间,或在2ms的墙上时间?

????????ARM架构提供能力做这两者,依赖于使用哪种虚拟化。让我们看它是怎么做的。

????????执行在vCPU的软件访问两个定时器:

(1)EL1物理定时器

(2)EL1虚拟定时器

????????EL1物理定时器与系统计数器模块的计数做比较。使用该定时器给出墙上时钟。

????????EL1虚拟定时器与虚拟计数做比较。虚拟计数为物理计数减去一个偏移。hypervisor指明了当前调度的vCPU的寄存器中偏移。当vCPU还没有被调度时,这允许它隐藏时间。

????????为了描述这个概念,我们可以扩展上面的例子,如下图:

????????在6ms的周期内,每个vCPU运行3ms。hypervisor可以使用偏移寄存器呈现一个仅显示vCPU运行的虚拟计数。或者hypervisor可以保持偏移为0,这意味着虚拟时间与物理时间一样。

NOTE: 这个例子显示系统计数的频率为1ms。特别是,这个频率值不是很可能。我们建议你设置系统计数来使用一个1MHZ和50MHZ之间的频率。?

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-01-24 11:03:47  更:2022-01-24 11:04:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 12:47:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码