Assembly 禁用Leon3微处理器的缓存

Assembly 禁用Leon3微处理器的缓存,assembly,embedded,cpu-cache,sparc,Assembly,Embedded,Cpu Cache,Sparc,对于个人研究,我想比较两种微处理器的性能: 英特尔8051和Sparc Leon3。为了评估这些功能,通过ISS(指令集模拟器)执行一组具有代表性的功能。然后,我收集统计数据,并对从模拟中得出的数据进行简单的推理 由于我使用的8051微控制器的核心没有外部存储器,也没有高速缓存,因此我想禁用Leon3上的指令高速缓存和数据高速缓存,以获得与第一个控制器可比的数据 我用TSIM模拟Leon 3。我在数据表上看到,它使用一个控制寄存器来设置缓存的行为。所以我在基准测试中使用的函数中添加了一条内联汇编

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

由于我使用的8051微控制器的核心没有外部存储器,也没有高速缓存,因此我想禁用Leon3上的指令高速缓存和数据高速缓存,以获得与第一个控制器可比的数据

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


我来这里是想问你是否能帮我解决这个问题,或者你有什么想法,因为我被卡住了

我不太明白一个竞争者证明了什么,而经典的8051 MCU确实有一个外部内存总线(而现代的实现通常只有有限的闪存缓存)。一般来说,SPARC在复杂且计算成本高昂的工作负载和作为高级语言目标方面表现出色,而现代8051的优势在于低功耗和低延迟应用以及低门计数(如大小/面积)。事实上,他们针对的是不同的市场,对于现实世界的应用程序来说,两个竞争对手的选择是极不可能的。什么样的模拟器会给你周期精确的结果?这是一个rtl(verilog/vhdl)工具吗?我也不明白这个练习的意义,一些大型高端处理器(不是mcu)与经典mcu,就像半卡车与皮卡车,两者都有利弊,但在任何形式的竞争中都不能相互比较。这可能更像是一个模拟器问题,而不是处理器问题。如果在引导过程中,您只是不启动主代码并停留在循环中或进行一些内存访问,那么是否正在访问模拟缓存?如果是这样的话,那么模拟器可能离现实太远,无法用于任何类型的性能测量任务。“它们针对不同的市场,在现实世界的应用程序中,两个竞争选择的可能性很小。”在我看来,这是一件有趣的事情。考虑到市场,我可以比较哪些微处理器?我有兴趣了解更多关于8051和Leon3市场的信息。你有消息来源吗?另外,如果你们有关于微处理器及其市场的消息来源,我会很高兴,这样我可以深入思考选择。我认为这对嵌入式系统设计师来说是一项有用的研究,他们必须在设计的早期阶段在微处理器之间进行选择。既然缓存是使其更快的架构差异之一,为什么禁用它会使测试“可比”。您还可以询问如何或禁用数据总线的高24位,使其与8051一样为8位。你所比较的是Trabant和法拉利。Leon3有1.4MIPS/MHz,而现代8051是