单片机/MCU论坛
直播中

华强一条街

9年用户 761经验值
擅长:处理器/DSP
私信 关注
[问答]

在TC387微控制器上实现内存映射,负载增加的原因是什么?

我正在 TC387 微控制器上实现内存映射。
关于内存映射,在 Linker 脚本中定义了新区域,并将数据映射到这些区域。
从功能上看,在有内存映射和没有内存映射的情况下,内核特定内存区域中的所有代码和数据都是一样的。 唯一的变化是链接器脚本中定义的新区域取代了旧的内存区域,观察到核心 1 的 CPU 负载增加了近 6%。 其余内核的 CPU 负载保持不变。
核心 1 的 CPU 负载增加的原因是什么?  

回帖(1)

姬盼希

2024-3-4 16:36:48
在TC387微控制器上实现内存映射可能导致核心1的CPU负载增加的原因有几个可能的原因:

1. 内存映射可能引入了更多的内存访问延迟。当代码或数据在新的内存区域中进行访问时,可能需要额外的时间来处理映射和访问新的区域。这种额外的延迟可能导致核心1的CPU需要更多的时间来完成相同的工作量,从而导致负载增加。

2. 内存映射可能导致缓存利用率下降。当代码和数据分布在不同的内存区域时,可能会导致缓存行命中率下降。这是因为同一条指令或数据可能需要访问不同的内存区域,从而导致缓存失效。缓存失效会导致更频繁地访问内存,从而增加了CPU的负载。

3. 内存映射可能导致数据传输量增加。当代码和数据在内存中的不同区域之间进行传输时,可能需要更多的数据传输操作。这可能涉及更多的总线传输,以及复制和移动数据的额外开销。这些额外的数据传输操作和开销可能导致核心1的CPU负载增加。

以上是可能导致核心1的CPU负载增加的原因之一,具体的原因还需要进一步的调查和分析。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分