Cache内存与TCM内存的对比
本帖子重点聊一下Cache与TCM的不同点:
TCM | Cache |
由内核通过专用的总线直接连接。像STM32H7系列的Cortex-M7内核下,有两条专用的连接,一条我们称为I-TCM,操作指令;一条我们称为D-TCM,操作数据。 | Cache内存是集成在Cortex-M7内核内部。比如部分MCU包含了16KB的I-Cache与16KB的D-cache。 |
TCM是系统内存的一部分,即其有独立的内存访问地址与空间。 | Cache不是系统内存的一部分。它也没有物理地址可供访问。 |
程序员可以将指定数据内容存入到TCM的位置。 | Cache的内容更多是内核控制逻辑来决定什么数据或指令保存到Cache内存中,而非程序员所能左右 |
TCM对软件是开放的,预置的。 | 在程序执行阶段,Cache用来保存指令或数据以供内核快速读取与写入 |
TCM是可以通过DMA访问 | Cache不允许DMA访问 |
TCM有固定的访问时间,通常是单周期指令访问 | 高速缓存存储器作为处理器和存储器之间的中间缓冲区,以减少存储器访问时间。访问内存位置所需的周期数因缓存命中和缓存未命中而不同。 |