【ARMv8/v9 系统寄存 3 -- system counter CNTPCT_EL0】

文章目录

    • ARMv8/v9 system counter
      • system counter读取函数实现

ARMv8/v9 system counter

所有使用Arm处理器的系统中都会包含一个标准化的通用定时器(Generic Timer)框架。这个通用定时器系统提供了一个系统计数器(System Counter)和一组定时器(Timer)。其结构类似下图:
在这里插入图片描述
系统计数器是全局唯一的,并且全局共享,对系统中的所有Arm核心进行广播。

  • ARMv8.0 到 ARMv8.5(含):位宽:至少56位宽。任何64位读取的计数器值都会被零扩展到64位。频率:以固定频率递增,该频率通常在1-50MHz范围内。它可以支持一个或多个备选操作模式,在这些模式中,计数器以较大的数额递增,频率较低,通常用于节能。
  • 从 ARMv8.6 开始 位宽:必须是64位宽,频率:以固定的1GHz频率递增,翻转时间:不少于40年。

这个系统计数器还是一直存在的,哪怕系统处于待机状态,所有内核都被关闭了,它仍然可以工作。

需要注意的是system counter必须实现于always-on power domian. 在 ARMv8.0 到 ARMv8.5期间,为了配合低功耗的工作,system counter 如果运行低频率下,那么每个时钟周期可以增长一个相对较大的值,例如:在10M的时候每个时钟周期增长步长为1,但是在低功耗模式下运行在20KHz的时候,每个时钟周期增长步长为500。

从ARMv8.6 开始system counter运在固定的1GHz, ARM 解释说 尽管它的时钟周期为1ns,但是这并不需要每过1ns counter的值就增加1,它的增长步长不能低于200。

system counter读取函数实现

global syscnt
syscnt:STP X29, X30, [SP, #-16]!MOV X29, SPMRS X0, CNTPCT_EL0LDP X29, X30, [SP], #16RET

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/5678.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

环形链表的经典问题

环形链表 环形链表的介绍链表中是否带环返回链表开始入环的第一个节点 本文主要介绍如何判断一个链表是否是环形链表,以及如何得到环形链表中的第一个节点。 环形链表的介绍 环形链表是一种链表数据结构,环形链表是某个节点的next指针指向前面的节点或指…

ctfshow-web入门-102

这个题我想记录一下,主要是这个方法属实是有点惊艳到我了。故而进行记录,也为了方便大家阅读理解。 看题目,根据题目我写一下我的分析: $_POST传入一个v1,$_GET传入一个v2,一个v3。 赋值符号 优先级高于…

微软如何打造数字零售力航母系列科普05 - Azure中计算机视觉的视觉指南

Azure中计算机视觉的视觉指南 什么是计算机视觉?如何使用Microsoft Azure将计算机视觉功能集成到应用程序和工作流中? 作者:Nitya Narasimhan 编辑:数字化营销工兵 •11分钟阅读 什么是计算机视觉?如何使用Microso…

WORD排版常见问题与解决方案

前言 近期使用word软件进行论文排版工作,遇到了一些常见的问题,记录一下,避免遗忘。 基本配置 系统环境:win10/win11 word版本:Microsoft Office LTSC 专业增强版 2021 问题与解决方案 问题1:页眉显示内…

[华为OD]C卷 机场航班调度 ,XX市机场停放了多架飞机,每架飞机都有自己的航班号100

题目: XX市机场停放了多架飞机,每架飞机都有自己的航班号CA3385, CZ6678, SC6508 等,航班号的前2个大写字母(或数字)代表航空公司的缩写,后面4个数字代表航班信息。 但是XX市机场只有一条起飞用跑道&am…

【网络原理】IP协议的地址管理和路由选择

系列文章目录 【网络通信基础】网络中的常见基本概念 【网络编程】网络编程中的基本概念及Java实现UDP、TCP客户端服务器程序(万字博文) 【网络原理】UDP协议的报文结构 及 校验和字段的错误检测机制(CRC算法、MD5算法) 【网络…

LeetCode LCR 179. 和为s的两个数字

原题链接:LCR 179. 查找总价格为目标值的两个商品 - 力扣(LeetCode) 题目的意思:通过给定的数组,找出两个值,相加并等于目标值。 第一种思路,暴力枚举,伪代码如下: for (…

关于智慧校园,你知道多少?

智慧校园是指运用现代信息技术,如物联网(IoT)、大数据、云计算、人工智能(AI)等,对传统校园进行智能化改造和升级,旨在创建一个高度集成、信息共享、服务全面的校园生态系统。智慧校园不仅仅是技…

python web开发开源规范

Hello , 大家好。首先在五一假期给所有劳动者创造者们送上祝福, 本文聊聊我对python web开源相关的规范 PEP 8 Python编程风格指南:PEP 8是Python编程的官方风格指南,提供了关于代码格式、命名规范、注释等方面的建议。遵循PEP 8可以使代码更易于阅读和…

Gateway结合Nacos使用!!!

一、本地结合使用 1. 引入依赖 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> 2. bootstarp.yml配置文件 如果Nacos中配置使用yaml格式&…

Dockerfile部署LNMP

目录 一、项目模拟 1. 项目环境 2. 服务器环境 3. 任务需求 二、Linux系统基础镜像 三、Nginx 1. 建立工作目录 2. 编写Dockerfile脚本 3. 准备nginx.conf配置文件 4. 生成镜像 5. 创建自定义网络 6. 启动镜像容器 7. 验证nginx 四、Mysql 1. 建立工作目录 2. …

19 做好微服务间依赖的治理和分布式事务

在前两讲里&#xff0c;分别从微服务的对外接口、消息消费以及微服务自身的相关编码规范上阐述了“防备上游、做好自己”这两个准则如何落地。 在本讲里&#xff0c;将会讲解为什么要“怀疑下游”&#xff0c;以及有哪些手段可以落地此条准则。此外&#xff0c;还会介绍在进行…

基于springboot实现迪迈手机商城设计系统项目【项目源码+论文说明】

基于springboot实现迪迈手机商城设计系统演示 研究背景 当前社会各行业领域竞争压力非常大&#xff0c;随着当前时代的信息化&#xff0c;科学化发展&#xff0c;让社会各行业领域都争相使用新的信息技术&#xff0c;对行业内的各种相关数据进行科学化&#xff0c;规范化管理。…

Java面试重点之反射机制

一、 反射是什么&#xff1f; 允许程序在运行时查询和操作对象的类型信息。通过反射&#xff0c;程序能够在运行时获取对象的类定义信息&#xff0c;如类的名称、方法、字段、注解等&#xff0c;并且可以动态地调用对象的方法或访问其字段&#xff0c;而无需在编译时具体知道对…

编写你的第一个 golang 的应用程序

进行你的第一个golang的程序 当你把程序都安装好以后 环境变量配置 好 vscode 插件下载好以后 1. 创建一个test.go 的文件 //主包&#xff0c;可执行文件所在包 package main//导入包 import "fmt"//主函数&#xff0c;入口函数 func main() { }2.解释 需要导入包 …

WPF之border标签边框控件、设置弧度、图片

border标签在WPF中承担着边框的角色又称之为边框标签&#xff0c;使用嵌套的方法去给一些标签添加边框&#xff0c;border标签包裹目标标签(border不能有多个子元素)。一般在给标签添加弧度时可以使用border。 常用属性 CornerRadius边框拐角的弧度&#xff0c;当宽高是一样的…

Alibaba Cloud Linux 3.2104 LTS 64位安装mysql 8.0报错

问题描述 Alibaba Cloud Linux 3.2104 LTS 64位安装mysql 8.0提示 Error&#xff1a; GPG check FAILED 问题原因 官方 MySQL 存储库的 GPG 密钥已过期&#xff0c;无法安装或更新 MySQL 包 mysql官网也提交了该bug&#xff1a; https://bugs.mysql.com/bug.php?id106188 …

动态增删表格

期望目标&#xff1a;实现一个能通过按钮来动态增加表格栏&#xff0c;每次能添加一行&#xff0c;每行末尾有一个删减按钮。 <el-button type"text" class"primary"click"addMember()">添加</el-button> <el-table:data"m…

Pandas Series的运算原来这么简单

Series的运算主要包括加法、减法、乘法和除法等基本算术运算。这些运算通常是按照索引对应计算的&#xff0c;如果两个Series的索引不同&#xff0c;则结果中对应位置将填充为NaN&#xff08;空值&#xff09;。 需要注意的是&#xff0c;在进行Series运算时&#xff0c;需要确…

【linux】进程(深入理解linux进程状态)

开始之前先说一个与本文无关的小知识&#xff0c;chdir命令可以更改当前进程的工作目录哦。 目录 linux具体进程状态&#xff1a;R && S&#xff1a;T && t&#xff1a;D&#xff1a;僵尸进程 && 孤儿进程&#xff1a; OS的理论线&#xff1a;运行&…