1

我有一个紧急项目,我应该在其中实施 bignum。我只有在 IA-32 工作的经验,任何基本建议都会有所帮助。

4

3 回答 3

1

如果您没有硬件来学习架构,也许SPIM可以提供帮助。

于 2010-11-10T02:12:02.973 回答
0

我会把它写进去,C或者C++使用编译器来生成汇编代码。您可以寻找要修复的东西(如果它不是一个出色的编译器),并且在此过程中,您将了解汇编语言的工作原理、CPU 功能等。

于 2010-11-10T02:10:56.380 回答
0

首先,不要这样做。相反,请使用现有的库,例如GMP。Wikipedia 引用了具有各种许可证的此类库的完整列表。有些甚至在公共领域发布。

现在,让我们假设您由于某种原因不能容忍使用现有的库。那么我的建议是:用 C 语言来做。MIPS32 是一种类似 RISC 的架构,旨在提高编译效率。由于 C 编译器并不完美,因此可以通过手动汇编来获得一些性能提升,但收益并不大(根据经验,与优化的 C 相比,优化的汇编速度有望提高 30% ——而且开发规模要大得多成本,也是)。

话虽如此,您可能想知道 MIPS32 可以做什么,以便您可以更好地优化 C 源代码,并检查编译器生成的内容,以确定您是否正确。一个很好的来源是“MIPS32® 程序员架构”,可以从这个页面下载。你会想看看第一卷和第二卷。

于 2010-11-11T14:28:04.313 回答