重新定位gcc / llvm用于新的哈佛架构RISC

时间:2015-12-18 14:10:14

标签: gcc compiler-construction llvm harvard-architecture

我想知道有编译器经验的人是否可以告诉我我的想法是否可行。

基本上,我将向我的一位教授提出一个项目构想,并参加一个"项目课程" - 我在这里不太详细说明这个过程,只是说它是一个本科项目课程,我可以提出这个想法。

我将制作一个新的RISC ISA(类似于MIPS但没有延迟插槽,没有浮点......)并为它编写软件模拟器,因为这完全是用软件完成的。

但我要把它变成哈佛架构CPU - 这意味着,数据无法执行;代码和数据是分开的。

为它制作ISA和模拟器相对容易,我不希望遇到任何我不熟悉的事情。

然后我想为我的新ISA创建一个gcc或llvm后端,以便可以为我的新ISA编译C程序。

现在我从未编写过编译器。鉴于我的ISA主要是在MIPS之后建模的,我可以在MIPS(或其他一些RISC)后端之后建模后端。

我的问题是哈佛建筑部分。我是否应该在这里遇到重大问题?这会如何使代码生成部分复杂化?

最后,我将编写一份关于我模拟的哈佛CPU的报告并分析它的一些安全方面(即不允许数据执行可以防止缓冲区溢出攻击等等......)。

如果我滥用了“哈佛建筑”这个术语"在这里,让我澄清一下我的意思。我不是在谈论内部缓存或类似的东西。我只是指让CPU保持代码和数据分开,以便无法执行数据。

0 个答案:

没有答案