ARM紧致内存TCM的解释

发布者:SereneNature7最新更新时间:2020-09-15 来源: elecfans关键字:ARM  紧致内存  TCM 手机看文章 扫描二维码
随时随地手机看文章

  TCM简介

  TCM :TIghtly Coupled Memory的缩写。为了弥补Cache访问的不确定性,而增加的OnChip Memory.有的CPU含有分立的InstrucTIon TCM / Data TCM.TCM包含在存储器的地址映射空间中,可以作为快速存储器来访问。TCM使用物理地址,对TCM的写访问,受到MMU内部保护信息的控制。向TCM中的内存位置写入时,不会发生任何外部写入。


  TCM用于向处理器提供低延迟内存,它没有高速缓存特有的不可预测性。 可以使用 TCM 来存放重要例程,如中断处理例程或者极需要避免高速缓存不确定性的实时任务。此外,可以使用 TCM 来保存暂时寄存器数据、局部属性不适合高速缓存的数据类型,以及中断堆栈等重要数据结构。


  ARM的ram包括静态ram,动态ram, TCM---紧耦合内存(TCM: TIghtly Coup ledMemories)。


  TCM是一个固定大小的RAM,紧密地耦合至处理器内核,提供与cache相当的性能,相比于cache的优点是,程序代码可以精确地控制什么函数或代码放在哪儿(RAM里)。当然TCM永远不会被踢出主存储器,因此,他会有一个被用户预设的性能,而不是象cache那样是统计特性的性能提高。


  紧致内存介绍

  紧致内存是指片上快速存储区,与片上缓存具有同等的性能,但因为程序可完全控制紧致内存,因而比统计复用的缓存有更好的可预测性。这是ARM5TE引入的特性,目的是通过这一快速的存储区,一方面提高某些关键代码(如中断处理函数)的性能,另方面使存储访问延迟保持一致,这是实时性应用所要求的。ARM6对TCM操作做了进一步的规范。


  TCM的应用领域

  可预测的实时处理(中断处理)、避免缓存分析(加密算法)、或单纯的性能提高(处理器侧编解码)等。


  如同缓存的哈佛结构,指令TCM和数据TCM是分开的。TCM有两种使用方式:作为快缓存使用,和作为本地内存使用。


  本地内存

  这时,TCM被用作更快速的内存,如同一般的RAM。因为指令段有时也是数据访问的对象,指令TCM实际上是指令数据一体化TCM。对TCM写操作后和后续对此写操作的依赖指令之间必须跟一个阻塞操作。


  快缓存(smartcache)

  TCM可以配置成当作外部RAM的缓存使用,对应的外部RAM也要设置可缓存标志。如果被缓存的外部RAM可以由多处理器共享,那么TCM是否与共享数据保持一致并没有规定,而由具体实现厂家决定。


  TCM与缓存的内容不会自动保持一致,这意味着TCM映射到的内存区域必须是不缓存的区域。如果一个地址同时落在缓存和TCM内,那么访问这一地址的结果是不能预测的。另一个限制是各个TCM必须要配置成不相交的。


  TCM的配置

  通过CP15的0、1、9号寄存器进行:

  0号寄存器

  读CP15的0号寄存器,opcode2为2:

  MRC p15, 0, Rd, C0, C0, 2

  返回TCM状态寄存器的内容,其中,16-18位代表数据TCM个数,0-3代表指令TCM个数。


  1号寄存器

  ARM6之前,1号寄存器的16位和18位用于使能数据TCM和指令TCM(ARM946,ARM966),ARM6因为可以使用9号寄存器控制每一块TCM的使能状态,所以1号寄存器的这两个位就过时了,应该置1。


  9号寄存器

  每个TCM都有一个TCM区域寄存器,设置这个寄存器就可以设置TCM的基址和大小。在设置TCM区域寄存器前,需要设置TCM选择寄存器。


  下面是访问这些相关寄存器的指令:

  ARM InstrucTIon TCM Region Register

  MRC/MCR P15, 0, Rd, C9, C1, 0 Data TCM Region Register

  MRC/MCR P15, 0, Rd, C9, C1, 1 Instruction/Unified TCM Region Register

  MRC/MCR P15, 0, Rd, C9, C2, 0 TCM Selection Register

  TCM区域寄存器的结构:

  Base Address (Physical Address)[31-12] SBZ/UNP[11-7] Size[6-2] SC[1] En[0]

  其中:

  En位是使能位,置1时使能此TCM;

  SC位置位表示此TCM被用作快缓存(smartcache),清零表示本地内存;

  Size字段是只读的,含义如下:

  Size Memory Size Memory

  filed size field size

  0b00000 0K 0b01101 4M

  0b00011 4K 0b01110 8M

  0b00100 8K 0b01111 16M

  0b00101 16K 0b10000 32M

  0b00110 32K 0b10001 64M

  0b00111 64K 0b10010 128M

  0b01000 128K 0b10011 256M

  0b01001 256K 0b10100 512M

  0b01010 512K 0b10101 1G

  0b01011 1M 0b10110 2G

  0b01100 2M 0b10111 4G

  注意TCM区域寄存器配置出来的各个TCM块不能相交,否则后果不可预测

关键字:ARM  紧致内存  TCM 引用地址:ARM紧致内存TCM的解释

上一篇:ARM处理器中的寄存器基本知识详解
下一篇:基于ARM处理器实现GPS数据信号的接收与解码详细解析

推荐阅读最新更新时间:2024-11-06 19:11

基于ARM和Linux交叉开发环境的搭建
摘要:交叉开发环境是嵌入式Linux开发的基础.后续的开发过程几乎都是基于此环境的。而ARM作为一种高性能、低成本的嵌入式RISC微处理器。已成为应用最广泛的嵌入式处理器。本文内容包括基于32位ARM920T核“GEC2410”开发板的硬件结构和嵌入式Linux交叉开发环境的概念和配置.开发工具的使用以及交叉调试器制作的方法。利用虚拟机在Windows操作系统下,为“GEC2410”开发板搭建了一个嵌入式Linux的运行平台。 关键词:交叉开发环境;ARM;Linux 0 引言 目前,随着ARM技术的日益成熟和广泛应用,基于ARM核的微处理器已经成为嵌入式市场的主流。而建立面向ARM构架的嵌入式操作系统也就成为当前研究的
[工业控制]
基于<font color='red'>ARM</font>和Linux交叉开发环境的搭建
基于ARM的某机载电台检测控制器的设计
机载电台担负着空空和地空之间通信,为保证电台性能,需要对其进行定检。基于单片机的检测仪存在测量速度慢、可扩展性差的问题;而基于PXI仪器或VXI仪器的检测仪存在着功耗大、体积大、价格高等缺点。为解决上述问题,利用基于ARM处理器来实现电台检测控制器成为重要的发展方向,ARM是一种高性能、低功耗的RISC结构处理器,由于其出色的性能被广泛应用于工业控制、无线通讯、成像和安全、网络应用等方面,采用基于ARM的电台检测控制器具有可移植性强、可扩展性好、抗干扰能力强等优点。   1 硬件设计   良好的硬件设计是是解决基于单片机、PXI、VXI等系统的电台检测仪问题的关键。为实现硬件结构的模块化设计,硬件主要分为两大部分:主控制器电路
[工业控制]
基于<font color='red'>ARM</font>的某机载电台检测控制器的设计
ARM探索之旅 | 二、ARM Cortex-M 用什么指令集?
引言 笔者接触嵌入式领域软件开发已近五年,几乎用的都是 ARM Cortex M 内核系列的微控制器。在这五年期间,感谢C语言编译器的存在,让我不用接触汇编即可进行开发,但是彷佛也错过了一些风景,没有领域到编译器之美和CPU之美,所以决定周末无聊的休息时间通过寻找资料、动手实验、得出结论的方法来探索 ARM CPU 架构的美妙,以及C语言编译器的奥秘。(因为我个人实在是不赞同学校中微机原理类课程的教学方法)。 ARM探索之旅 | 一、带你认识ARM Cortex-M阵营 一、Arm指令集架构 ARM指令集架构简称为ISA,支持三种指令集:A64、A32、T32。 A64指令集在 Armv8-A 中,用于支持64位架构
[单片机]
<font color='red'>ARM</font>探索之旅 | 二、<font color='red'>ARM</font> Cortex-M 用什么指令集?
基于ARM的Ad Hoc网络平台的实现
功能概述 由于Ad Hoc网络无中心、动态拓扑等特点,它需要各个节点都具有路由转发功能。本文开发的Ad Hoc网络节点通过在ARM平台上移植路由协议而实现了数据包转发功能。 以图1所示的网络进行功能示意,其中A、B、D是普通的移动电脑终端,C是本文开发的ARM平台。A和D是通信的端点,D不在A的一跳范围之内(A的覆盖范围如图中虚线所示)。假设开始时B成为了A和D的中继节点,完成A、D之间的数据转发功能。当B节点出现故障时,C能自动代替B成为新的中继节点,维持A、D之间的通信。 图1 节点转发 该ARM平台除了路由协议以外,同时完成了ftp、iptables等工具的移植,还可以继续增添语音、视频等服务。
[单片机]
基于<font color='red'>ARM</font>的Ad Hoc网络平台的实现
Cadence优化全流程数字与签核及验证套装
楷登电子(美国Cadence公司,NASDAQ: CDNS)今日宣布,其全流程数字签核工具和Cadence®验证套装的优化工作已经发布,支持最新Arm® Cortex®-A75和Cortex-A55 CP,基于Arm DynamIQ™技术的设计,及Arm Mali™-G72 GPU,可广泛用于最新一代的高端移动应用、机器学习及消费电子类芯片。下面就随手机便携小编一起来了解一下相关内容吧。 为加速针对Arm最新处理器的设计,Cadence为Cortex-A75和Cortex-A55 CPU量身开发全新7nm快速应用工具(RAK),包括可实现CPU间互联和3级缓存共享的DynamIQ共享单元(DSU),以及专为Mali-G72 GP
[手机便携]
Intel最新技术曲高和寡 与ARM竞争陷入僵持
《巴伦周刊》近日刊文称,Intel在本周的IDF开发者大会上展示了该公司的最新创新,不过这些创新能否为Intel指明未来仍有待观察。在过去1年多的时间内,苹果iPad的销量达到上千万台,因此有业内人士认为,Intel已错失良机。即使Intel仍然为苹果Mac电脑和笔记本提供处理器,但iPad已经将Intel处理器排除在外。此外,Intel处理器也没有获得其他平板电脑厂商,例如三星电子的青睐。 在此次IDF大会上,Intel展示了一款48核心处理器的原型产品。目前已商用的处理器最多仅包含8个核心,因此该处理器距离商用还有很远。Intel首席技术官贾斯汀·莱特纳(JustinRattner)还谈论了处理器的“近阈值电压”技术,该技
[单片机]
arm-linux-objdump 参数
arm-linux-objdump 用来显示二进制文件信息 和查看反汇编代码 arm-linux-objdump D elf_file dis_file (elf 可执行文件的格式) arm-linux-objdump D b binary m arm bin_file dis_file 常用选项: 1.-b bfdname 指定目标码格式 2. disassemble或者-d 反汇编可执行段 3. dissassemble-all或者-D 反汇编所有段 4.-EB,-EL指定字节序 5. file-headers或者-f 显示文件的整体头部摘要信息 6. section-headers,--headers或者-h 显
[单片机]
基于ARM 7 的S3C44B0X 与多路模拟器控制板通讯接口设计与实现
  0 引言   ARM (Advanced RISC Machines)是近年来在各个领域日益得到广泛应用的32 位微处理器,它既是一个公司的名称,也同样是一类微处理器的通称,包括ARM7、ARM9、ARM9E、ARM10E、SecurCore 等系列。其中ARM7 系列处理器是低功耗的32 位RISC 处理器,它主要用于对功耗和成本要求比较苛刻的产品,它支持16 位的Thumb指令集,使用Thumb 指令集能以16 位的系统开销得到32 位的系统性能。   以ARM 作为微处理器核心嵌入式系统,因其功耗极低,主频高,具有进行高速运算处理能力,完成绝大多数复杂应用的特点。采用SamsungS3C44B0X 微处理器的嵌入式操
[单片机]
基于<font color='red'>ARM</font> 7 的S3C44B0X 与多路模拟器控制板通讯接口设计与实现
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved