gpt4 book ai didi

optimization - 是否有用于在产生自修改代码的简单处理器上使用高级语言的现代编译器?

转载 作者:行者123 更新时间:2023-12-03 17:18:19 24 4
gpt4 key购买 nike

早在缓存和分支预测之前的日子,如果不鼓励为某些类型的优化编写自修改代码,这是相对普遍的。在从8位到早期32位的时代(例如Amiga),用汇编器编写的游戏和演示中最常见。

我不确定当时是否有任何编译器发出了可自我修改的汇编程序或机器代码。

我想知道的是是否存在任何当前/现代的编译器。显然,在具有高速缓存的功能强大的处理器上这将毫无用处或太困难。

但是,诸如嵌入式系统中使用的许多简单处理器呢?对于任何简单的/ 8位/嵌入式处理器,任何现代编译器都认为自我修改代码是可行的优化策略吗?



有一个标题相似的问题,“ Is there any self-improving compiler around?
”,但请注意,这不是同一主题:


请注意,我所说的是一种可以自我改进的编译器,而不是一种可以提高其编译代码的编译器。

最佳答案

如今,所有嵌入式系统都使用闪存ROM。我相信Amiga和类似的产品都是基于RAM的系统。嵌入式系统中存在“自我修改”的唯一方法是安装引导加载程序,根据需要使用的程序和/或功能对闪存的某些部分进行重新编程。

除此之外,程序在运行时修改自身没有任何意义。出于安全原因(可能由错误引起的意外修改)和出于电气原因(RAM易失,并且对EMC的敏感度远高于闪存),通常不建议从RAM中运行代码。

关于optimization - 是否有用于在产生自修改代码的简单处理器上使用高级语言的现代编译器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13051443/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com