linux-kernel - Linux的“时基频率”和“时钟频率”有什么区别
问题描述
我正在使用基于 arm 的 linux,并开始转向 risc-v,我经常在 dts 中看到类似以下的 CPU 节点:
cpus {
#address-cells = <0x1>;
#size-cells = <0x0>;
timebase-frequency = <0x989680>;
cpu@0 {
device_type = "cpu";
reg = <0x0>;
status = "okay";
compatible = "riscv";
riscv,isa = "rv64imafdcsu";
mmu-type = "riscv,sv48";
clock-frequency = <0x3b9aca00>;
interrupt-controller {
#interrupt-cells = <0x1>;
interrupt-controller;
compatible = "riscv,cpu-intc";
linux,phandle = <0x1>;
phandle = <0x1>;
};
};
};
我想知道timebase-frequency
和clock-frequency
指的是什么,两者之间有什么不同?
解决方案
我最初以为您是在询问配置条目的含义;对于那些这样做的人,它们在Documentation/devicetree/booting-without-of.txt中进行了描述。
但是,由于您是在询问这个概念;
时基寄存器是以与实现相关的频率递增的寄存器 - 不一定每个时钟周期一次。它的目的是用作时钟源(与 jiffies 等相反)。PowerPC 经常遇到这种情况。
推荐阅读
- windows - Jenkins 可以在每次任何 svn 用户提交代码时检测到吗?
- neo4j - 使用 APOC 批处理加载程序在 Neo4j 中获取不明确的错误消息
- user-interface - 禁用 phpMyAdmin 对 Ctrl+箭头键的覆盖
- python - 跨多个记录更新对象的postgresql jsonb数组中的属性值
- dataframe - PySpark 创建带有浮点类型错误的 DataFrame
- sql-server - 解析 XML 的更高效方式
- c# - 为什么登录尝试在 PasswordSignInAsync 方法(ASP.NET)中返回 {NotAllowed}
- java - 检查项目 lore 是否包含字符串 (loren.contains("§eSigned from "))
- python - Python 通过从两个字典/列表中选择项目来解决优化问题
- python-3.x - 为什么不能在 selenium 中运行 geckodriver?