嵌入式Hypervisor组件设计(二)

Linux阅码场 2024-07-19 16:32
本文节选自孙陈伟著《嵌入式Hypervisor架构、原里与应用》
3.1.3 时钟驱动
Hypervisor 的关键功能之一是提供虚拟时钟服务。PRTOS 中的虚拟时钟可以为每个分区提供时钟计时,并独立于主机系统时钟,旨在允许虚拟机运行自己的操作系统和应用程序,并协调分区的内部任务,且不会干扰其他分区。虚拟时钟通过截获硬件时钟事件并模拟与时间相关的事件(例如使用定时器中断和时钟滴答)来实现。当分区请求虚拟时钟服务(例如获取当前时间)时,虚拟时钟服务会读取硬件时钟的实时值,并根据分区调度等因素进行调整计算,再返回虚拟时间。在 PRTOS 系统中,分区通过调用 PRTOS 提供的虚拟时钟接口获取当前的时间戳,用于满足以下 5 种需求。
1)分区系统可以发现某个陷入死循环(由编程错误引起)的任务,并做出相应处理。
2)在分区实时系统中,按要求的时间间隔,为实时控制设备输出正确的时间信号。
3PRTOS 调度程序按照事先给定的时间定时唤醒对应的分区。
4PRTOS 内核记录外部事件发生的时间间隔。
5PRTOS 系统记录用户和系统所需要的绝对时间。
PRTOS 使用数据结构 hw_clock_t 来管理硬件时钟,具体实现请参考源码 core/include/ktimer.h。硬件时钟是全局时钟,不管是单处理器硬件平台,还是 SMP 硬件平台,都只使用一个全局硬件时钟。针对 Intel X86 硬件平台的 3 种不同的时钟硬件,PRTOS 提供了 3 种时钟驱动,分别是 Intel 8253 时钟驱动、TSC 时钟驱动、HPETHigh Precision Event Timer,高精度事件时钟)时钟驱动,如图 3-2 所示。
1. Intel 8253 时钟驱动
Intel 8253 是一种常见的可编程间隔定时器,常用作计算机系统中的时钟驱动,用于生成精确的时间间隔和周期性中断。
Intel 8253 通常由系统软件通过编程来配置和控制,包含 3 个独立的计数器通道,并且每个通道都可以用作定时器或计数器。每个通道都有一个 16 位计数器,可以根据需要进行加载和读取。
PRTOS 可以将 Intel 8253 用作系统的时钟源,通过设定计数器的初始值和工作模式生成固定的时钟间隔,用于操作系统的调度和计时。在 X86 单核硬件平台上,PRTOSIntel 8253 PIT 的通道 0 作为计时通道,通道 0 的定时器设置为(Binary, Mode 2, LSB/MSB),即周期为 1ms 的周期触发模式,并定义一个全局结构 struct pit_clock_data 来记录PRTOS 启动后的定时中断发生次数,再结合当前通道 0 中计数器的值,可以计算出 PRTOS自启动后到当前时刻的精确到微秒的时间戳。具体实现参考 PRTOS 源码 core/kernel/x86/pit.c

2. TSC 时钟驱动
TSC 是一个 64 位的寄存器,从 Intel Pentium 开始,在所有的 X86 平台上均会提供。它存放的是 CPU 从启动以来执行的时钟周期,因此可以用来精确地测量程序的执行时间。TSC 由处理器硬件提供,因此它的计时操作比使用软件定时器要快得多,这使得 TSC 成为性能分析和调试工具中的一个重要组件。在某些情况下,使用 TSC 进行时间测量可以提高精度,并且不会受到操作系统时钟频率调整的影响。
要使用 TSC,需要使用相关的 CPU 指令来读取 TSC 寄存器的值。例如,在 X86 构中,可以使用 rdtsc 指令来读取 TSC 寄存器的值。rdtsc 指令将 TSC 寄存器的值读取到EDX:EAX 寄存器中(高 32 位保存在 EDX 寄存器中,低 32 位保存在 EAX 寄存器中)。由TSC 是对驱动 CPU 的时钟脉冲进行计数的,因此 TSC 的频率就是 CPU 的时钟频率。基TSC 的时钟驱动实现,请参考 PRTOS 源码 core/kernel/x86/tsc.c

提示:TSC 也存在一些限制。由于 TSC 基于 CPU 主频(记录 CPU 的时钟脉冲),因此在多核 CPU CPU 频率变化的情况下,不同处理器核心或不同 CPU 之间的 TSC 能不同步,导致计时不准确。为了解决这个问题,一些处理器提供了 TSC 同步机制,例如 Intel TSC 同步引擎(TSC Sync Engine)和 AMD TSC 同步模式(TSC SyncMode)。另外,TSC 还可能受到频率变化、睡眠模式和动态频率调整等因素的影响。比如,空闲的操作系统内核可能会调用 HALT 指令,使处理器完全停止,直到接收到外部中断被唤醒,在此期间 TSC 停止计数。

3. HPET 时钟驱动
HPET 是一种高精度定时器。它是一种系统级别的硬件设备,通常用于代替早期的定时器,如 Intel 8253 PIT。与早期的定时器相比,HPET 具有更高的分辨率和更准确的时钟频率,并且可以更精确地测量和记录系统事件和时间间隔。HPET 通常由系统主板上的芯片提供支持,并且可以在 BIOS 中进行配置。具体实现可参考 PRTOS 源码 core/kernel/x86/hpet.c

提示:X86 单处理器硬件平台中,PRTOS Intel 8253 PIT 或者 TSC 定时器作为时钟源;在 X86 多处理器硬件平台中,PRTOS HEPT 定时器作为时钟源。

3.1.4 定时器驱动
PRTOS 的定时器组件用于分区调度、追踪分区中的时间以及处理虚拟机中的事件。类PRTOS 的时钟硬件,PRTOS 也为硬件定时器定义了一组驱动。PRTOS 使用定时器驱动数据结构 hw_timer_t 来管理硬件定时器,具体定义请参考源码core/include/ktimer.h。硬件定时器资源属于 Per-CPU 资源。不管是单处理器硬件平台还是多处理器硬件平台,硬件定时器和 pCPU 都是一一对应关系,每个 pCPU 独占一个硬件定时器。PRTOS hw_timer_t 定时器接口基于 3 种不同的定时器硬件提供了 3 种类型的定时器驱动,分别是 Intel 8253 定时器驱动、HPET 定时器驱动和 LAPICLocal AdvancedProgrammable Interrupt Controller,本地高级可编程中断控制器)定时器驱动,如图 3-3所示。

提示:Per-CPU 资源是每个 CPU 专用的资源,只有所属的 CPU 才可以访问。
1. Intel 8253 定时器驱动
如果 PRTOS 选中 Intel 8253 PIT 作为硬件时钟源(即 CONFIG_PC_PIT_CLOCK 宏将被定义),PIT 的通道 1 定时器工作在周期性触发模式,PRTOS 使用全局变量 pit_clock_data来记录时钟中断的触发次数,以辅助实现 PRTOS 的时钟驱动。Intel 8253 PIT 定时器驱动的实现,请参考 PRTOS 源码 core/kernel/x86/pit.c

提示:32 X86 单核处理器硬件平台(基于 QEMU 或者 VMware Workstation 创建)均采用 Intel 8253 作为定时器硬件。

2. HPET 定时器驱动
HPET 定时器驱动用于操作和管理 HPET 硬件定时器。使用 HPET 定时器驱动可以在PRTOS 中实现高精度的定时功能,从而满足实时性要求高的应用程序和系统的需求。在PRTOS 内核中,HPET 的管理机制和 Intel 8253(或 Intel 8254PIT 类似,具体实现可参考源码 core/kernel/x86/hpet.c
3. LAPIC 定时器驱动
LAPIC 定时器是集成在 pCPU 中的本地定时器,用于提供处理器级别的定时和中断功能。LAPIC 定时器驱动用于操作和管理 LAPIC 定时器,它对于实现处理器级别的定时和中断功能非常重要,在操作系统和应用程序中应用广泛,用于实现定时任务、计时、事件触发和性能测量等功能。LAPIC 定时器的具体实现可参考 PRTOS 源码 core/kernel/x86/lapic_timer.c

提示:硬件定时器是 Per-CPU 专用的硬件资源。在单处理器硬件平台上,无论选择Intel 8253 PIT 定时器,还是选择 HPET 硬件定时器,定时器资源都是 Per-CPU 类型的;在多处理器硬件平台上,LAPIC 定时器集成在 CPU 内部。当 PRTOS 配置成支持 SMP模式时,只能选择 LAPIC 定时器。

7月21号(本周日)晚20:00,本书作者在阅码场有一场直播分享,欢迎大家届时观看,加微信入群:linuxer2016


Linux阅码场 专业的Linux技术社区和Linux操作系统学习平台,内容涉及Linux内核,Linux内存管理,Linux进程管理,Linux文件系统和IO,Linux性能调优,Linux设备驱动以及Linux虚拟化和云计算等各方各面.
评论
  • 1. 磁性材料的磁化曲线磁性材料是由铁磁性物质或亚铁磁性物质组成的,在外加磁场H 作用下,必有相应的磁化强度M 或磁感应强度B,它们随磁场强度H 的变化曲线称为磁化曲线(M~H或B~H曲线)。磁化曲线一般来说是非线性的,具有2个特点:磁饱和现象及磁滞现象。即当磁场强度H足够大时,磁化强度M达到一个确定的饱和值Ms,继续增大H,Ms保持不变;以及当材料的M值达到饱和后,外磁场H降低为零时,M并不恢复为零,而是沿MsMr曲线变化。材料的工作状态相当于M~H曲线
    锦正茂科技 2024-12-17 10:40 125浏览
  •        随着对车载高速总线的深入研究,以电信号为媒介的传输方式逐渐显露出劣势,当传输速率超过25Gbps时,基于电信号传输已经很难保证长距离传输下的信号质量与损耗。在这样的背景下,应用于工业领域的光通信技术因其高带宽、长距离、低电磁干扰的特点得到了密切的关注,IEEE在2023年发布了802.3cz[1]协议,旨在定义一套光纤以太网在车载领域的应用标准。MultiGBASE-AU总览       以下是Mult
    经纬恒润 2024-12-17 17:29 70浏览
  • 习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-18 14:02 60浏览
  • 【富芮坤FR3068x-C】+开发环境疑问非常荣欣参加了这次《富芮坤FR3068x-C》评测活动,在搭建开发环境时,本人就遇到很大问题,主要有3个。第1个问题:本人按照《FR306x开发环境说明书》中的1章安装软件,keil5.36版本以上,并且打开sdk中uart工程,按照要求设置了Device配置如下: ARM Compiler选项链接文件配置但是编译结果如下:有23个warning,都是连接脚本中找不到,请问这样工程是否有问题?第2个问题:按照《FR306x开发环境说明书》中要求,需要电脑
    shenwen2007_656583087 2024-12-17 00:59 105浏览
  • 2003年买的电子管功放机,俗称胆机,坏过几次,咨询厂家,购买零件,自己修理,干中学,学中干。有照片记录的是2011年3月,一天,发现整流管比之前红亮了很多,赶紧关机,想找原因,反反复复折腾了几个月,搞好了。就此,还在网上论坛咨询和讨论,欧博Rererence 5.0电子管发粉红色光,何故?-『胆艺轩音响技术论坛』-胆艺轩[Tubebbs]论坛 发表于2011-5-7同时与厂家联系得到支持,见文:29kg胆机修理之联想——环保简易,做到真难!-面包板社区 发表于2011-6-13又继续使用了多年
    自做自受 2024-12-17 22:18 123浏览
  • 近年来,云终端凭借便捷、高效、高性价比的优势正逐步在各行各业渗透。研究机构IDC的数据显示,2024上半年,中国云终端市场总体出货量达到166.3万台,同比增长22.4%,销售额29亿元人民币,同比增长24.9%,均超预期。紫光展锐积极携手各大合作伙伴,共同打造云端生态,大力推动云终端在政企、金融类等领域应用落地。 云终端增长势头良好 两大应用场景被看好云电脑将传统个人电脑的硬件资源和软件应用虚拟化,并通过网络提供给用户。这种模式的核心在于:用户不需要高性能的本地硬件,仅通过互联网连接
    紫光展锐 2024-12-16 18:11 115浏览
  •  2024年下半年,接二连三的“Duang Duang”声,从自动驾驶行业中传来:文远知行、黑芝麻、地平线、小马智行等相继登陆二级市场,希迪智驾、Momenta、佑驾等若干家企业在排队冲刺IPO中。算法模型的历史性迭代与政策的不断加码,让自动驾驶的前景越来越清晰。由来只有新人笑,有谁听到旧人哭。在资本密集兑现的自动驾驶小元年里,很多人可能都已经遗忘,“全球自动驾驶第一股”的名号,曾经属于一家叫做图森未来的公司。曾经风光无两的“图森”,历经内讧与退市等不堪往事之后,而今的“未来”似乎被锚
    锦缎研究院 2024-12-18 11:13 61浏览
  •   前言  作为一名电子专业的学生,半导体存储显然是绕不过去的一个坎,今天聊一聊关于Nand Flash的一些小知识。  这里十分感谢深圳雷龙发展有限公司为博主提供的两片CS创世SD NAND的存储芯片,同时也给大家推荐该品牌的相关产品。  一、定义  存储芯片根据断电后是否保留存储的信息可分为易失性存储芯片(RAM)和非易失性存储芯片(ROM)。  非易失性存储器芯片在断电后亦能持续保存代码及数据,分为闪型存储器 (Flash Memory)与只读存储器(Read-OnlyMemory),其中
    雷龙发展 2024-12-17 17:37 55浏览
  • You are correct that the length of the via affects its inductance. Not only the length of the via, but also the shape and proximity of the return-current path determines the inductance.   For example, let's work with a four-layer board h
    tao180539_524066311 2024-12-18 15:56 39浏览
  • 以人形机器人和通用人工智能为代表的新技术、新产品、新业态蓬勃发展,正成为全球科技创新的制高点与未来产业的新赛道。01、Optimus-Gen 2来了,人形机器人管家还远吗?没有一点点防备,特斯拉人形机器人Optimus-Gen 2来了!12月13日,马斯克于社交媒体上公布了特斯拉第二代人形机器人的产品演示,并预计将于本月内发布。在视频中,Optimus-Gen 2相比上一代有了大幅改进,不仅拥有AI大模型的加持,并在没有其他性能影响的前提下(相比上一代)将体重减少10kg,更包含:由特斯拉设计的
    艾迈斯欧司朗 2024-12-18 12:50 45浏览
  • 上汽大通G90是一款集豪华、科技与舒适于一身的中大型MPV,号称“国产埃尔法”。在国内市场,作为“卷王”的G90主要面向中大型MPV市场,满足家庭出行、商务接待和客运租赁等多元化场景需求,在国内市场上取得了不错的销售成绩。在海外市场,上汽大通G90也展现出了强大的竞争力,通过技术创新和品质提升,上汽大通的产品在国际市场上获得了广泛认可,出口量持续增长,如果你去过泰国,你就应该可以了解到,上汽的品牌出海战略,他们在泰国有建立工厂,上汽大通G90作为品牌的旗舰车型之一,自然也在海外市场上占据了重要地
    lauguo2013 2024-12-18 10:11 68浏览
  • 车载光纤通信随着ADAS(高阶驾驶辅助系统)、汽车智能网联、V2X和信息娱乐技术的不断发展,车载电子系统和应用数量迅速增加。不断增长的车内传输数据量对车载通信网络造成了巨大的数据带宽和安全性需求,传统的车载总线技术已经不能满足当今高速传输的要求。铜缆的广泛使用导致了严重的电磁干扰(EMI),同时也存在CAN、LIN、FlexRay等传统总线技术不太容易解决的问题。在此背景下,车载光纤通信技术逐渐受到关注和重视,除了大大提高数据传输率外,还具有抗电磁干扰、减少电缆空间和车辆质量等优点,在未来具有很
    广电计量 2024-12-18 13:31 59浏览
  • 户外照明的“璀璨王者”,艾迈斯欧司朗OSCONIQ® C3030降临啦全球领先的光学解决方案供应商艾迈斯欧司朗(瑞士证券交易所股票代码:AMS)近日宣布,推出新一代高性能LED——OSCONIQ® C 3030。这款尖端LED系列专为严苛的户外及体育场照明环境而设计,兼具出色的发光强度与卓越的散热效能。其支持高达3A的驱动电流及最大9W的功率输出,以紧凑扁平封装呈现卓越亮度和可靠性,确保高强度照明持久耐用且性能出众。应用领域01体育场及高杆照明OSCONIQ® C 3030以卓越的光通量密度、出
    艾迈斯欧司朗 2024-12-18 14:25 41浏览
  • 随着国家对环保要求日趋严格。以铅酸电池为动力的电动自行车、电动摩托车,将逐渐受到环保管制。而能量密度更高的磷酸铁锂等锂电池成为优先的选择,锂电池以其高能量密度、快速充电、轻量化等特点,已经大量应用于电动车领域。光耦在锂电池系统PMU中的应用,能提供完善的安全保护和系统支撑。BMS和电池被封装成安装所需要的尺寸外形,高速的CAN以及RS-485等通信总线,被应用在与控制器、中控之间通信。晶台光耦,被广泛应用于通信隔离、双MCU系统应用地隔离、电机驱动隔离等。下图例举在电动摩托车上的应用中包含的部件
    晶台光耦 2024-12-17 13:47 57浏览
  • 随着现代汽车工业的不断发展,驾驶安全与舒适性成为消费者关注的焦点。在这个追求极致体验的时代,汽车ASF随动转向LED大灯技术应运而生,它不仅代表了车辆操控辅助系统的最新进展,更是对未来智能安全出行愿景的一次大胆探索。擎耀将深入探讨ASF随动转向技术的原理及落地方案,旨在为汽车LED照明升级行业提供一份详尽且实用的参考。首先,ASF随动转向技术不是什么高精尖的技术,一般的汽车大灯制造厂商都可能完成,通过软硬件的逻辑加上传感器,基本就可以实时监测车辆的行驶状态,包括但不限于车速、转向角度等关键参数。
    lauguo2013 2024-12-17 14:43 51浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦