随笔分类 - ARM
摘要:ARM的ACE(AXI Coherency Extensions)和ACE-Lite是ARM的AXI(Advanced eXtensible Interface)总线协议的扩展版本,用于实现多核处理器系统中的缓存一致性。 ARM提供了ACP和ACE-lite接口,这两个接口都有device cohe
阅读全文
摘要:如果将block的内存属性配置成Non-cacheable,那么数据就不会被缓存到cache,那么所有observer看到的内存是一致的,也就说此时也相当于Outer Shareable。 其实官方文档,也有这一句的描述: 在B2.7.2章节 “Data accesses to memory loc
阅读全文
摘要:1. 从ARM32到ARM64 从ARM32到ARM64不止将处理器从32位升级到了64位,还有许多性能的技术也得到了极大的提升,光是个头长了可不行啊!能耐也得跟着长啊!哈哈哈 1.1 ARM32的TLB机制 如上图所示,上一讲我们讲了TLB的每一条表项都有一个bit用来表示自己是全局的(内核空间)
阅读全文
摘要:本文主要介绍 Armv8/v9 指令集架构中常用部分,详细的还是要看 Arm architecture reference manual. ARMv8 架构 ARMv8 架构支持3种指令集: T32, A32, A64 ARMv8 架构有两种执行状态: AArch32, AArch64 一个App
阅读全文
摘要:Exception levels ARMv8-A系列定义了一系列的异常等级,从EL0到EL3,下面具体说明其含义: ELn中,随着n的增加,软件的执行权限也相应的增加; EL0被称为无特权执行; EL2提供了对虚拟化的支持 EL3提供了安全状态切换功能(安全状态与非安装状态之间的切换) 异常级别的切
阅读全文
摘要:aarch64 和 ARMv8 是紧密相关但涵义不同的术语,在解释他们的区别之前,让我们先简单理解它们各自的含义: ARMv8: ARMv8 是指 ARM 架构的第八个版本,这是由 ARM Holdings 设计的一种处理器架构(也称为 ARMv8-A)。这个版本首次引入了对 64 位处理器的支持,
阅读全文
摘要:于是乎,我们想到了总线,用一个统一的接口协议,设计出一个符合要求的总线,然后将ARM核和各种外设模块挂载在总线上,这样,命令和数据似乎便可以在CPU和外设之间自由穿梭。 1 AMBA总线 AMBA,英文全称为Advanced Microcontroller Bus Architecture,即高级微
阅读全文
摘要:0.AMBA总线概括 AMBA(Advanced Microcontroller Bus Architecture) 总线是由ARM公司提出的一种开放性的片上总线标准,它独立于处理器和工艺技术,具有高速度低功耗等特点。 系统芯片中各个模块之间需要有接口来连接; 总线作为子系统之间共享的通信链路; 其
阅读全文
摘要:CCI(Cache Coherent Interconnect)是ARM中的cache一致性控制器。 CCI-400将互连和一致性功能结合到一个模块中。它支持多达两个ACE 主节点的连接,例如: Cortex®-A7 processor Cortex-A15 processor Cortex-A17
阅读全文
摘要:armv8 1.前言 本文的主要内容来源于ARMV8白皮书v5,对ARMV8做一个概述。包含如下的内容: 首先从背景谈起,讲述ARM的发展历程; 之后介绍ARMV8体系结构的基本特征; 介绍A64指令集 介绍异常级别 介绍内存管理单元 介绍编程寄存器 介绍DEBUG相关 ARMV8生态系统的演化 2
阅读全文
摘要:从ARMv7指令集开始,ARM提供3条内存屏障指令。 (1)数据存储屏障( Data Memory Barrier,DMB) 数据存储器隔离。DMB指令保证:仅当所有在它前面的存储器访问操作都执行完毕后,才提交( commit)在它后面的存取访问操作指令。当位于此指令前的所有内存访问均完成时,DMB
阅读全文
摘要:前言 本文涉及的硬件平台是X86,如果是其他平台的话,如ARM,是会使用到MMU,但是没有使用到分段机制; 最近在学习Linux内核,读到《深入理解Linux内核》的内存寻址一章。原本以为自己对分段分页机制已经理解了,结果发现其实是一知半解。于是,查找了很多资料,最终理顺了内存寻址的知识。现在把我的
阅读全文
摘要:一、必须知道的几个概念。 1、链接地址和运行地址。 ①运行地址,顾名思义就是程序运行的时候的地址,也就是你用工具将代码下载到RAM的那个地址,也叫加载地址。 ②链接地址,由链接脚本指定的地址。为什么需要链接脚本指定地址呢?你想一下,在c语言编程中,当我们需要调用一个A函数的时候,编译器是怎么找到这个
阅读全文
摘要:1. 处理器架构和处理器指令集的关系式什么? 2. 是否指令集决定了处理器的架构? 3. MIPS属于处理器架构还是还是指令集的一种? 4. 汇编语言的种类和处理器架构的关系? 处理器架构就是处理器的硬件架构,称为微架构。是一堆硬件电路,去实现指令集所规定的操作运算。 是的,指令集决定了处理器的架构
阅读全文
摘要:MMU是Memory Management Unit的缩写,中文名是内存管理单元,它是中央处理器(CPU)中用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权,多用户多进程操作系统。TLB(Translation Lookaside Buffe
阅读全文
摘要:1、NAND Flash 是一种存储介质,要在上面读写数据,外部要加主控和电路设计。 2、eMMC是NAND flash+主控IC ,对外的接口协议与SD、TF卡类似;对厂家而言简化了电路设计,降低了成本。 3、使用emmc的好处是,除了得到大容量的空间(这一点,只用NAND FLASH多堆叠也可以
阅读全文
摘要:总线是CPU与存储器和设备通信的机制,是计算机各部分之间传送数据、地址和控制信息的公共通道。 按照相对于CPU的位置来划分,总线可分为片内总线和片外总线。片内总线用来连接CPU内部各主要功能部件,而片外总线则用作CPU与存储器和I/O接口之间进行信息交换的通道。如果按照功能和信号类型划分,总线可分为
阅读全文
摘要:以s3c2440 ARM9核为例: 一:s3c2440 ARM处理器特性: 1、S3C2440支持60个中断源,含子中断源; 2、ARM9采用五级流水线方式; 3、支持外部中断和内部中断; 二、s3c2440 支持的寄存器: 2.1 外部中断寄存器 24个外部中断占用GPF0-GPF7(EINT0-
阅读全文
摘要:http://blog.chinaunix.net/uid-20698426-id-136197.html 一、MMU的产生 许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳
阅读全文