ARMV8 datasheet学习笔记3:AArch64应用级体系结构之Synchronization and semapores

1.前言

2. Exclusive access instructions and Non-shareable memory locations

  • Load-Exclusive

Load-Exclusive指令执行时local monitor标记PE执行load EX的地址为独占,local monitor由Open Access状态转换为Exclusive Access状态;

  • Store-Exclusive

依赖local monitor的状态:

(1)如果local monitor 为Exclusive Access状态

如果store的地址为先前load EX访问时的地址,则store EX会发生,并清空独占地址标记,否则由各个厂商自己定义,状态值会返回给寄存器,如果store EX发生则状态值为0,否则状态值为1;

(2)如果local monitor为Open Access状态:

不会有store EX发生;状态值1返回给寄存器,表示store EX没有发生;状态local monitor保持open access状态

一个Local monitor对应一个PE,会检查PE对内存地址是否设置了独占标记。

参考文档

[1] Linux内核ARM构架中原子变量的底层实现研究

时间: 2024-11-07 15:09:23

ARMV8 datasheet学习笔记3:AArch64应用级体系结构之Synchronization and semapores的相关文章

ARMV8 datasheet学习笔记5:异常模型

1.前言 2.异常类型描述 见 ARMV8 datasheet学习笔记4:AArch64系统级体系结构之编程模型(1)-EL/ET/ST 一文 3. 异常处理路由对比 AArch32.AArch64架构下IRQ 和Data Abort 异常处理流程图对比. 3.1 IRQ 路由 3.1.1.   AArch32 IRQ 路由 图 AArch32 IRQ 路由 3.1.2.    AArch64 IRQ 路由 图 AArch64 IRQ路由 图 AArch64 IRQ向量查找 3.2.     D

ARMV8 datasheet学习笔记4:AArch64系统级体系结构之编程模型(4)- 其它

1. 前言 2.可配置的指令使能/禁用控制和trap控制 指令使能/禁用 当指令被禁用,则这条指令就会变成未定义 指令Trap控制 控制某条或某些指令在运行时进入陷阱,进入陷阱的指令会产生trap异常,路由规则如下: (1)当前为EL1,则陷阱异常传递给EL1(HCR_EL2.TGE定义为1时,会路由到EL2); (2)当前为EL2,则陷阱异常传递给EL2; (3)当前为EL3,则陷阱异常传递给EL3; 3. 系统调用 SVC 默认情况下SVC产生supervisor call,同步异常目标级别

ARMV8 datasheet学习笔记4:AArch64系统级体系结构之VMSA

1. 前言 2. VMSA概述 2.1 ARMv8 VMSA naming VMSAv8 整个转换机中,地址转换有一个或两个stage VMSAv8-32 由运行AArch32的异常级别来管理 VMSAv8-64 由运行AArch64的异常级别来管理 2.2 某些异常级别使用AArch32的ARMv8 VMSA EL3运行AArch32时的地址转换stages和转换regimes; EL3运行AArch64时任何运行AArch32的异常级别的的地址转换stages和转换regimes; 当EL0

ARMV8 datasheet学习笔记4:AArch64系统级体系结构之系统级存储模型

1.前言 关于存储系统体系架构,可以概述如下: 存储系统体系结构的形式 VMSA 存储属性   2. 存储系统体系结构 2.1.    地址空间 指令地址空间溢出 指令地址计算((address_of_current_instruction) + (size_of_executed_instruction))超过0xFFFF FFFF FFFF FFFF,PC变成不可知 2.2    Cache支持 Caches的一般行为 (1)Cache中已解锁的项不会一直驻留在cache; (2)Cache

ARMV8 datasheet学习笔记4:AArch64系统级体系结构之Generic timer

1.前言 2.generate timer 2.1 概述 提供了一个系统计数器,用来实时测量流逝的时间: 提供了一个虚拟计数器,用来测量某个虚拟机上流逝的虚拟时间: 定时器,每隔一段时间会触发事件,支持正向计时和倒计时: 通用timer实现必须包含一个内存映射的系统组件:提供system counter; 2.2 完整的generic timer组件 System counter Generic timer的PE实现 (1)一个物理的counter,它访问system counter的计数值:

ARMV8 datasheet学习笔记4:AArch64系统级体系结构之编程模型(3)- 异常

1.前言 本文介绍异常相关内容,包括异常类型,异常进入,异常返回,异常层次结构,异常的路由等 2.  RESET ARMV8体系结构支持两种类型的RESET Cold reset:Reset PE所有的逻辑,包括集成的debug功能 Warm reset:Reset PE所有的逻辑,不包括集成的debug功能 注:ARMV8也支持外部debug reset Reset时pe进入最高的异常级别 运行状态 (1)Reset后最高异常级别可以选用任何一种运行状态 (2)cold reset由输入信号配

ARMV8 datasheet学习笔记4:AArch64系统级体系结构之编程模型(5)- Self-hosted debug

1. 前言 2. 关于self-hosted debug Debugger调试器 是操作系统或系统软件的一部分,它会处理debug exception或修改debug system register,debugger运行在EL0,提供了用户debugger接口; Debugger异常 Debugger异常是在程序正常运行过程中由debugger编程PE来产生,满足如下两个条件,PE可以产生某个特定的异常: (1)当前的异常级别和安全状态下使能了debug异常: (2)Debugger使能了某个特

ARMV8 datasheet学习笔记1:概述

1. 前言 ARMv8的架构继承以往ARMv7与之前处理器技术的基础; 除了支持现有的16/32bit的Thumb2指令外,也向前兼容现有的A32(ARM 32bit)指令集. 基于64bit的AArch64架构,除了新增A64(ARM 64bit)指令集外,也扩充了现有的A32(ARM 32bit)和T32(Thumb2 32bit)指令集,另外还新增加了CRYPTO(加密)模块支持.

Hadoop学习笔记(一)——Hadoop体系结构

HDFS和MapReduce是Hadoop的两大核心.整个Hadoop体系结构主要是通过HDFS来实现分布式存储的底层支持的,并且通过MapReduce来实现分布式并行任务处理的程序支持. 一.HDFS体系结构 HDFS采用了主从(Master/Slave)结构模型.一个HDFS集群是由一个NameNode和若干个DataNode组成的.其中,NameNode作为主服务器,管理文件系统的命名空间和客户端对文件的访问操作:集群中的DataNode管理存储的数据.HDFS典型的部署是在一个专门的机器