由于嵌入在CPU内部,TCM有一个 哈佛架构,所以有一个ITCM(指令TCM) 和DTCM(数据TCM)。 DTCM不能包含任何内容 说明,但ITCM实际上可以包含数据。 DTCM或ITCM的尺寸最小为4KiB,因此是典型的 最低配置为4KiB ITCM和4KiB DTCM。
看起来tcm与缓存内存的目的相同。
没有。他们没有在解释中使用缓存这个词
答案 0 :(得分:8)
缓存使用访问模式填充缓存中的数据。它具有额外的硬件来跟踪备份地址,并且可以与其他系统实体(SMP)进行通信,以跟踪缓存行脏(其他人已向主存储器写入内容)。
'TCM'(紧耦合存储器)速度很快,可能是SRAM多晶体管存储器,就像高速缓存一样。两者都具有到CPU的快速专用连接。但是,实现TCM的开销远远低于缓存。通常,TCM位于低端(可能深度嵌入的Cortex-M)ARM设备上。
大多数CPU缓存具有锁定功能,使其能够像TCM一样运行。但是,TCM没有动态功能来缓冲高使用率的代码和数据。因此,TCM(和锁定缓存)可能更具确定性,可能有助于实现实时应用程序。
答案 1 :(得分:2)
这是我发现我觉得更简洁,更重要的。
高速缓冲存储器通过片上存储器和控制逻辑实现。紧密耦合的存储器通过片上存储器和专用连接实现。
紧密耦合的内存在地址映射中具有固定的跨度。缓存不存在于地址映射中(......它确实有点....只是不要把它当作物理内存)而是充当处理器和内存之间的中间层(希望如此) )提供更有效的内存访问。
紧密耦合的内存具有确定的访问时间。通过缓存访问不是确定性的,因为数据将存在于缓存中(命中)或数据必须从主存储器中获取(未命中)。
另一个
虽然两者都是访问速度非常快的存储器,但与连接到全局Avalon矩阵的标准存储器相比,缓存存储最近使用的数据/代码,以提高访问速度。每次需要存储器访问时,处理器检查所需数据是否已存在于高速缓存中或必须从存储器中新获取;与此同时,旧的未使用的缓存数据不断被新数据替换。 紧耦合内存也是一种快速访问内存,因为它利用专用端口,但它具有静态内容:您可以决定需要什么,并在链接描述文件中指定它。
答案 2 :(得分:0)
TCM已经分配了地址空间,因此您可以在内存映射中找到它。您可以在链接时控制将存储在那里的数据。只需将其视为具有与缓存类似的访问时间的普通系统内存。通常来自TCM的数据是不可缓存的。
答案 3 :(得分:0)
如果我们忽略双重可配置的缓存暨TCM,则缓存内存应连接到总线接口(BIU)以连接外部内存,而TCM则不应该。原因是中医本身就有原始数据。而缓存是外部存储器内容的临时存储(用于速度)。