zoukankan      html  css  js  c++  java
  • ARMV8 datasheet学习笔记4:AArch64系统级体系结构之Generic timer

    1.前言

    2.generate timer

    2.1 概述

    1. 提供了一个系统计数器,用来实时测量流逝的时间;
    2. 提供了一个虚拟计数器,用来测量某个虚拟机上流逝的虚拟时间;
    3. 定时器,每隔一段时间会触发事件,支持正向计时和倒计时;
    4. 通用timer实现必须包含一个内存映射的系统组件:提供system counter;

     2.2 完整的generic timer组件

    • System counter
    • Generic timer的PE实现

    (1)一个物理的counter,它访问system counter的计数值;

    (2)一个虚拟的counter,它访问虚拟时间;

    (3)一组timers,所有的异常级别都实现了一个timer:

    EL1物理timer;

    EL2物理timer;

    EL3物理timer;

    虚拟timer

    • Generic timer系统级的内存映射实现

    (1)内存映射的counter模块(必须),控制了system counter;

    (2)内存映射的timer模块(必须),控制system timer;

    (3)内存映射的timers(可选)

    2.3 System Counter

     

    概述

    1. 规格

    (1)       Width:至少56bit;

    (2)       频率:支持固定频率,典型是1-50MHZ;

    (3)       ROLL-OVER:翻转时间不少于40 years;

    (4)       Accuracy:未指定,24小时不多于10S;

    (5)       Start-up:从0开始。

    1. System counter一旦配置并运行,必须提供统一的 system time view;
    2. System counter电源域必须常开;
    3. 为了支持低功耗,低频率可以一个时钟累加一个比1大的数;

    初始化并读取system counter频率

    系统启动阶段,初始化system counter的时钟;

    System counter的内存映射控制

    需要通过内存映射(ioremap??)的方式对system counter进行控制:

    1. 使能和禁用计数器;
    2. 设置计数器的值;
    3. 改变操作模式,更新频率或步长值;
    4. 使能halt-on-debug,可以用来suspend counting.

    3. AArch64 generic timer

    3.1 Physical counter(包含system connter的count值)

    访问physical counter

    通过访问CNTPCT_EL0来获取64bit物理count值

    虚拟counter

    指示虚拟时间

    事件流

    通过system counter周期性的产生事件

     3.2 多个定时器

    实现的timers

    如果EL3使用AArch64则实现的定时器有:

    1. EL1物理定时器;
    2. Non-secure EL2物理定时器;
    3. Secure EL3物理定时器;

    timer的输出

    1. 提供一个输出信号给sysem;
    2. 如果PE连到GIC,会想PE发送PPI信号

    Timer regs

    1. 一个64bit compare值寄存器,提供了64bit无符加计数器;
    2. 一个32bit timer寄存器,提供了32bit有符号减计数器;
    3. 一个32bit control寄存器

    4. 参考文档

    [1] DDI0487A_k_armv8_arm_iss10775.pdf

  • 相关阅读:
    vue 鼠标移入移出事件执行多次(尤其ie)
    jquery input file 多图上传,单张删除,查看
    pc端vue 滚动到底部翻页
    element-ui默认样式修改
    element-ui上传一张图片后隐藏上传按钮
    echarts字体适配
    SQLServer之查询当前服务器下所有目录视图表
    SQLServer之服务器连接
    React学习之路之创建项目
    SQLServer之列数据转换为行数据
  • 原文地址:https://www.cnblogs.com/smartjourneys/p/6848154.html
Copyright © 2011-2022 走看看