• 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

  • 相关阅读:
    MariaDB · 版本特性 · MariaDB 的 GTID 介绍
    stm8s 中断重复进入
    PCB积累
    链表的创建、增加、删除、改数据、遍历
    百度文库文字下载工具指引
    防倒灌的开关电路
    AD快速从原理图查找pcb中元件
    三目运算符填坑
    嵌入式结构化分层思想
    原码,反码,补码
  • 原文地址:https://www.cnblogs.com/smartjourneys/p/6848154.html
Copyright © 2020-2023  润新知