摘要: 1. 前言 2.可配置的指令使能/禁用控制和trap控制 指令使能/禁用 当指令被禁用,则这条指令就会变成未定义 指令Trap控制 控制某条或某些指令在运行时进入陷阱,进入陷阱的指令会产生trap异常,路由规则如下: (1)当前为EL1,则陷阱异常传递给EL1(HCR_EL2.TGE定义为1时,会路 阅读全文
posted @ 2017-05-12 23:01 jasonactions 阅读(3393) 评论(0) 推荐(0) 编辑
摘要: 1.前言 本文介绍异常相关内容,包括异常类型,异常进入,异常返回,异常层次结构,异常的路由等 2. RESET ARMV8体系结构支持两种类型的RESET Cold reset:Reset PE所有的逻辑,包括集成的debug功能 Warm reset:Reset PE所有的逻辑,不包括集成的deb 阅读全文
posted @ 2017-05-12 16:21 jasonactions 阅读(6337) 评论(0) 推荐(0) 编辑
摘要: 1. 前言 2. 指令运行与异常处理寄存器 ARM体系结构的寄存器分为两类: (1)系统控制和状态报告寄存器 (2)指令处理寄存器,如累加、异常处理 本部分将主要介绍如上第(2)部分的寄存器,分为AARCH64 state和AARCH32 state 2.1 AARCH64下指令运行与异常处理寄存器 阅读全文
posted @ 2017-05-12 13:36 jasonactions 阅读(6544) 评论(0) 推荐(0) 编辑
摘要: 1.前言 ARMV8系统级编程模型主要包括异常级别、运行状态、安全状态、同步异常、异步异常、DEBUG 本文主要对系统级编程模型做一个概要介绍 2. 异常级别 2.1 Exception level概述 ELx(x<4),x越大等级越高,执行特权越高 执行在EL0称为非特权执行 EL2 没有Secu 阅读全文
posted @ 2017-05-12 13:05 jasonactions 阅读(8514) 评论(0) 推荐(2) 编辑
摘要: 1.前言 本文主要介绍原子变量的实现原理,对原子变量的修改有一套特殊的机制 2. Local monitor和Global monitor UP时执行Load EX和Store EX时仅需关注Local Monitor的状态即可 图 UP时Local Monitor和Global Monitor S 阅读全文
posted @ 2017-05-12 10:48 jasonactions 阅读(2600) 评论(0) 推荐(0) 编辑
摘要: 1.前言 2. Memory类型和属性 memory分为normal memory和device memory,两种类型的Memory有各自的属性,除了下面介绍的几种属性外,还有其他一些杂项属性 2.1 Normal Memory Shareable Normal Memory 可以被所有的PE访问 阅读全文
posted @ 2017-05-12 09:57 jasonactions 阅读(4460) 评论(0) 推荐(0) 编辑
摘要: 1.前言 2.基本概念 Observer 可以发起对memory read/write访问的都是observer; Observability 是一种观察能力,通过read可以感知到别的observer的write,通过感知到别的observer的read而不能write的这种能力; observe 阅读全文
posted @ 2017-05-12 09:43 jasonactions 阅读(1942) 评论(0) 推荐(0) 编辑
摘要: 1.前言 Atomicity是内存访问的一个属性,描述为原子性访问,包括single-copy atomicity和multi-copy atomicity 2.基本概念 observer 可以发起对memory read/write访问的都是observer Coherent order 全局一致 阅读全文
posted @ 2017-05-12 09:25 jasonactions 阅读(3339) 评论(0) 推荐(0) 编辑
摘要: 1.前言 本文主要从应用的角度介绍ARMV8的编程模型和存储模型 2. AArch64应用级编程模型 从应用的角度看到的ARM处理器元素: 可见的元素(寄存器/指令) 说明 可见的寄存器 R0-R30、SP、 PC、 V0-V31、 FPCR、 FPSR 可见的PSTATE位 NZCV DAIF 可 阅读全文
posted @ 2017-05-11 15:21 jasonactions 阅读(7178) 评论(0) 推荐(0) 编辑
摘要: 1. 前言 本文主要概括的介绍ARMV8体系结构定义了哪些内容,概括的说: ARM体系结构定义了PE的行为,不会定义具体的实现 ARM体系结构也定义了debug体系结构和trace体系结构 ARM体系结构采用RISC指令集 (1)长度一致的寄存器; (2)load/store架构,数据处理操作只能对 阅读全文
posted @ 2017-05-11 14:35 jasonactions 阅读(3289) 评论(0) 推荐(0) 编辑