TCM介绍

1. 简介

        TCM(Tightly Coupled Memories,紧耦合内存)是一个固定大小的RAM,紧密地耦合在处理器内核,为处理器提供确定的低延时数据访问。因为程序可完全控制紧致内存,因而比统计复用的cache有更好的可预测性。目的是通过这一快速的存储区,一方面提高某些关键代码(如中断处理函数)的性能,另方面使存储访问延迟保持一致,这是实时性应用所要求的。当然TCM永远不会被踢出主存储器,因此,他会有一个被用户预设的性能,而不是象cache那样是统计特性的性能提高。

        TCM对于以下几种情况的代码是非常有用、也是需要的:可预见的实时处理(中断处理)时间可预见(加密算法)避免cache分析(加密算法)、或者只是要求高性能的代码(编解码功能)。随着cache大小的增加以及总线性能的规模,TCM将会变得越来越不重要,但是他提供了一个让你权衡的机会。

        如同缓存的哈佛结构,指令TCM和数据TCM是分开的。TCM有两种使用方式:作为本地内存和快缓存使用ATCM通常包含必须高速访问的中断或异常代码,不会有任何潜在的延迟去造成缓存丢失。 BTCM则通常用于存储需要密集处理的数据块,如音频或视频处理。

2. TCM用作本地内存

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

3. TCM用作快缓存(smartcache)

        TCM可以配置成当作外部RAM的缓存使用,对应的外部RAM也要设置可缓存标志。如果被缓存的外部RAM可以由多处理器共享,那么TCM是否与共享数据保持一致并没有规定,而由具体实现厂家决定。TCM与缓存的内容不会自动保持一致,这意味着TCM映射到的内存区域必须是不缓存的区域。如果一个地址同时落在缓存和TCM内,那么访问这一地址的结果是不能预测的。另一个限制是各个TCM必须要配置成不相交的。

你可能感兴趣的:(arm开发)