首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用Leon3微处理器的缓存

禁用Leon3微处理器的缓存
EN

Stack Overflow用户
提问于 2017-07-08 19:21:56
回答 1查看 201关注 0票数 0

对于个人研究,我想比较两种微处理器的性能:Intel8051和Sparc Leon3。为了评估这些功能,通过ISS (指令集模拟器)执行一组具有代表性的功能。然后,我收集统计数据,并对从模拟中得出的数据进行简单的推理。

由于我使用的8051微控制器的内核既没有外部存储器,也没有高速缓存,所以我想禁用Leon3上的指令高速缓存和数据高速缓存,以获得与第一个类似的数据。

我正在使用TSIM来模拟Leon 3。我在数据表上看到,这使用了一个控制寄存器来设置缓存的行为。因此,我在基准测试中使用的函数中添加了内联汇编指令,该指令写入此寄存器并将高速缓存设置为禁用。我确信寄存器中的位被更改了,但当我进行模拟时,我看到缓存被写入。我可以看到这一点,因为我可以告诉模拟器的命令。

我来这里是想问你是否可以帮助解决这个问题,或者你有什么想法,因为我被困住了。

EN

回答 1

Stack Overflow用户

发布于 2021-10-22 06:42:06

我没有使用过TSIM,但我用下面的代码测试了实际的leon3硬件。

它可能不是您想要的,但我希望您可以将您的代码与我的代码进行比较,以便至少正确禁用缓存:)

代码语言:javascript
复制
I_cache_disable() {
  asm(" set 0x0c, %g1;");
  asm(" sta %g1, [%g0] 2 ");
}

D_cache_disable() {
  asm(" set 0x03, %g1");
  asm(" sta %g0, [%g0] 2 ");
}

我希望这段代码能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44985654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档